From bf9a73328b01f794334b2f75eaa60f1579543e17 Mon Sep 17 00:00:00 2001 From: Fanis Tharropoulos Date: Wed, 21 Aug 2024 11:39:47 +0300 Subject: [PATCH 01/21] build: homogenize build pipeline build: add tsup build system Modernize build system and package configuration - Migrate from webpack to tsup for improved build process. - Update package.json with new exports configuration and dependencies. - Add tsup.config.ts for flexible bundling options. - Target both cjs and esm. - Use minified versions of bundle by default. build: add cjs plugin or esbuild fix: import from cjs on `require` build: add esbuild options for bundling UMD dependencies - `loglevel` is written as a UMD module and has to be handled differently from axios fix: avoid reusing logger import from `loglevel` chore: remove uneeded common-js dependency for esbuild chore: remove build artifacts from source control chore: remove build artifact folders chore: add prepare script to run before package publishing chore: update package-lock based on changes --- .gitignore | 4 +- dist/typesense.js | 10504 ---------------- dist/typesense.js.map | 1 - dist/typesense.min.js | 3 - dist/typesense.min.js.LICENSE.txt | 1 - dist/typesense.min.js.map | 1 - lib/Typesense.d.ts | 10 - lib/Typesense.js | 12 - lib/Typesense.js.map | 1 - lib/Typesense/Alias.d.ts | 10 - lib/Typesense/Alias.js | 30 - lib/Typesense/Alias.js.map | 1 - lib/Typesense/Aliases.d.ts | 18 - lib/Typesense/Aliases.js | 36 - lib/Typesense/Aliases.js.map | 1 - lib/Typesense/Analytics.d.ts | 14 - lib/Typesense/Analytics.js | 40 - lib/Typesense/Analytics.js.map | 1 - lib/Typesense/AnalyticsEvent.d.ts | 5 - lib/Typesense/AnalyticsEvent.js | 3 - lib/Typesense/AnalyticsEvent.js.map | 1 - lib/Typesense/AnalyticsEvents.d.ts | 9 - lib/Typesense/AnalyticsEvents.js | 30 - lib/Typesense/AnalyticsEvents.js.map | 1 - lib/Typesense/AnalyticsRule.d.ts | 34 - lib/Typesense/AnalyticsRule.js | 30 - lib/Typesense/AnalyticsRule.js.map | 1 - lib/Typesense/AnalyticsRules.d.ts | 13 - lib/Typesense/AnalyticsRules.js | 37 - lib/Typesense/AnalyticsRules.js.map | 1 - lib/Typesense/ApiCall.d.ts | 48 - lib/Typesense/ApiCall.js | 384 - lib/Typesense/ApiCall.js.map | 1 - lib/Typesense/Client.d.ts | 57 - lib/Typesense/Client.js | 121 - lib/Typesense/Client.js.map | 1 - lib/Typesense/Collection.d.ts | 58 - lib/Typesense/Collection.js | 108 - lib/Typesense/Collection.js.map | 1 - lib/Typesense/Collections.d.ts | 27 - lib/Typesense/Collections.js | 35 - lib/Typesense/Collections.js.map | 1 - lib/Typesense/Configuration.d.ts | 104 - lib/Typesense/Configuration.js | 112 - lib/Typesense/Configuration.js.map | 1 - lib/Typesense/Conversation.d.ts | 22 - lib/Typesense/Conversation.js | 37 - lib/Typesense/Conversation.js.map | 1 - lib/Typesense/ConversationModel.d.ts | 24 - lib/Typesense/ConversationModel.js | 37 - lib/Typesense/ConversationModel.js.map | 1 - lib/Typesense/ConversationModels.d.ts | 10 - lib/Typesense/ConversationModels.js | 37 - lib/Typesense/ConversationModels.js.map | 1 - lib/Typesense/Conversations.d.ts | 17 - lib/Typesense/Conversations.js | 42 - lib/Typesense/Conversations.js.map | 1 - lib/Typesense/Debug.d.ts | 10 - lib/Typesense/Debug.js | 19 - lib/Typesense/Debug.js.map | 1 - lib/Typesense/Document.d.ts | 12 - lib/Typesense/Document.js | 41 - lib/Typesense/Document.js.map | 1 - lib/Typesense/Documents.d.ts | 239 - lib/Typesense/Documents.js | 182 - lib/Typesense/Documents.js.map | 1 - lib/Typesense/Errors/HTTPError.d.ts | 3 - lib/Typesense/Errors/HTTPError.js | 13 - lib/Typesense/Errors/HTTPError.js.map | 1 - lib/Typesense/Errors/ImportError.d.ts | 6 - lib/Typesense/Errors/ImportError.js | 15 - lib/Typesense/Errors/ImportError.js.map | 1 - .../Errors/MissingConfigurationError.d.ts | 3 - .../Errors/MissingConfigurationError.js | 13 - .../Errors/MissingConfigurationError.js.map | 1 - lib/Typesense/Errors/ObjectAlreadyExists.d.ts | 3 - lib/Typesense/Errors/ObjectAlreadyExists.js | 13 - .../Errors/ObjectAlreadyExists.js.map | 1 - lib/Typesense/Errors/ObjectNotFound.d.ts | 3 - lib/Typesense/Errors/ObjectNotFound.js | 13 - lib/Typesense/Errors/ObjectNotFound.js.map | 1 - lib/Typesense/Errors/ObjectUnprocessable.d.ts | 3 - lib/Typesense/Errors/ObjectUnprocessable.js | 13 - .../Errors/ObjectUnprocessable.js.map | 1 - lib/Typesense/Errors/RequestMalformed.d.ts | 3 - lib/Typesense/Errors/RequestMalformed.js | 13 - lib/Typesense/Errors/RequestMalformed.js.map | 1 - lib/Typesense/Errors/RequestUnauthorized.d.ts | 3 - lib/Typesense/Errors/RequestUnauthorized.js | 13 - .../Errors/RequestUnauthorized.js.map | 1 - lib/Typesense/Errors/ServerError.d.ts | 3 - lib/Typesense/Errors/ServerError.js | 13 - lib/Typesense/Errors/ServerError.js.map | 1 - lib/Typesense/Errors/TypesenseError.d.ts | 4 - lib/Typesense/Errors/TypesenseError.js | 17 - lib/Typesense/Errors/TypesenseError.js.map | 1 - lib/Typesense/Errors/index.d.ts | 11 - lib/Typesense/Errors/index.js | 25 - lib/Typesense/Errors/index.js.map | 1 - lib/Typesense/Health.d.ts | 9 - lib/Typesense/Health.js | 19 - lib/Typesense/Health.js.map | 1 - lib/Typesense/Key.d.ts | 23 - lib/Typesense/Key.js | 30 - lib/Typesense/Key.js.map | 1 - lib/Typesense/Keys.d.ts | 19 - lib/Typesense/Keys.js | 44 - lib/Typesense/Keys.js.map | 1 - lib/Typesense/Metrics.d.ts | 25 - lib/Typesense/Metrics.js | 19 - lib/Typesense/Metrics.js.map | 1 - lib/Typesense/MultiSearch.d.ts | 32 - lib/Typesense/MultiSearch.js | 40 - lib/Typesense/MultiSearch.js.map | 1 - lib/Typesense/Operations.d.ts | 6 - lib/Typesense/Operations.js | 20 - lib/Typesense/Operations.js.map | 1 - lib/Typesense/Override.d.ts | 17 - lib/Typesense/Override.js | 32 - lib/Typesense/Override.js.map | 1 - lib/Typesense/Overrides.d.ts | 43 - lib/Typesense/Overrides.js | 38 - lib/Typesense/Overrides.js.map | 1 - lib/Typesense/Preset.d.ts | 16 - lib/Typesense/Preset.js | 30 - lib/Typesense/Preset.js.map | 1 - lib/Typesense/Presets.d.ts | 18 - lib/Typesense/Presets.js | 36 - lib/Typesense/Presets.js.map | 1 - lib/Typesense/RequestWithCache.d.ts | 11 - lib/Typesense/RequestWithCache.js | 84 - lib/Typesense/RequestWithCache.js.map | 1 - lib/Typesense/SearchClient.d.ts | 13 - lib/Typesense/SearchClient.js | 45 - lib/Typesense/SearchClient.js.map | 1 - lib/Typesense/SearchOnlyCollection.d.ts | 10 - lib/Typesense/SearchOnlyCollection.js | 18 - lib/Typesense/SearchOnlyCollection.js.map | 1 - lib/Typesense/SearchOnlyDocuments.d.ts | 15 - lib/Typesense/SearchOnlyDocuments.js | 53 - lib/Typesense/SearchOnlyDocuments.js.map | 1 - lib/Typesense/Stats.d.ts | 24 - lib/Typesense/Stats.js | 19 - lib/Typesense/Stats.js.map | 1 - lib/Typesense/Stopword.d.ts | 18 - lib/Typesense/Stopword.js | 30 - lib/Typesense/Stopword.js.map | 1 - lib/Typesense/Stopwords.d.ts | 17 - lib/Typesense/Stopwords.js | 36 - lib/Typesense/Stopwords.js.map | 1 - lib/Typesense/Synonym.d.ts | 17 - lib/Typesense/Synonym.js | 32 - lib/Typesense/Synonym.js.map | 1 - lib/Typesense/Synonyms.d.ts | 20 - lib/Typesense/Synonyms.js | 38 - lib/Typesense/Synonyms.js.map | 1 - package-lock.json | 1726 ++- package.json | 22 +- src/Typesense/Configuration.ts | 11 +- tsup.config.ts | 53 + 160 files changed, 1755 insertions(+), 13957 deletions(-) delete mode 100644 dist/typesense.js delete mode 100644 dist/typesense.js.map delete mode 100644 dist/typesense.min.js delete mode 100644 dist/typesense.min.js.LICENSE.txt delete mode 100644 dist/typesense.min.js.map delete mode 100644 lib/Typesense.d.ts delete mode 100644 lib/Typesense.js delete mode 100644 lib/Typesense.js.map delete mode 100644 lib/Typesense/Alias.d.ts delete mode 100644 lib/Typesense/Alias.js delete mode 100644 lib/Typesense/Alias.js.map delete mode 100644 lib/Typesense/Aliases.d.ts delete mode 100644 lib/Typesense/Aliases.js delete mode 100644 lib/Typesense/Aliases.js.map delete mode 100644 lib/Typesense/Analytics.d.ts delete mode 100644 lib/Typesense/Analytics.js delete mode 100644 lib/Typesense/Analytics.js.map delete mode 100644 lib/Typesense/AnalyticsEvent.d.ts delete mode 100644 lib/Typesense/AnalyticsEvent.js delete mode 100644 lib/Typesense/AnalyticsEvent.js.map delete mode 100644 lib/Typesense/AnalyticsEvents.d.ts delete mode 100644 lib/Typesense/AnalyticsEvents.js delete mode 100644 lib/Typesense/AnalyticsEvents.js.map delete mode 100644 lib/Typesense/AnalyticsRule.d.ts delete mode 100644 lib/Typesense/AnalyticsRule.js delete mode 100644 lib/Typesense/AnalyticsRule.js.map delete mode 100644 lib/Typesense/AnalyticsRules.d.ts delete mode 100644 lib/Typesense/AnalyticsRules.js delete mode 100644 lib/Typesense/AnalyticsRules.js.map delete mode 100644 lib/Typesense/ApiCall.d.ts delete mode 100644 lib/Typesense/ApiCall.js delete mode 100644 lib/Typesense/ApiCall.js.map delete mode 100644 lib/Typesense/Client.d.ts delete mode 100644 lib/Typesense/Client.js delete mode 100644 lib/Typesense/Client.js.map delete mode 100644 lib/Typesense/Collection.d.ts delete mode 100644 lib/Typesense/Collection.js delete mode 100644 lib/Typesense/Collection.js.map delete mode 100644 lib/Typesense/Collections.d.ts delete mode 100644 lib/Typesense/Collections.js delete mode 100644 lib/Typesense/Collections.js.map delete mode 100644 lib/Typesense/Configuration.d.ts delete mode 100644 lib/Typesense/Configuration.js delete mode 100644 lib/Typesense/Configuration.js.map delete mode 100644 lib/Typesense/Conversation.d.ts delete mode 100644 lib/Typesense/Conversation.js delete mode 100644 lib/Typesense/Conversation.js.map delete mode 100644 lib/Typesense/ConversationModel.d.ts delete mode 100644 lib/Typesense/ConversationModel.js delete mode 100644 lib/Typesense/ConversationModel.js.map delete mode 100644 lib/Typesense/ConversationModels.d.ts delete mode 100644 lib/Typesense/ConversationModels.js delete mode 100644 lib/Typesense/ConversationModels.js.map delete mode 100644 lib/Typesense/Conversations.d.ts delete mode 100644 lib/Typesense/Conversations.js delete mode 100644 lib/Typesense/Conversations.js.map delete mode 100644 lib/Typesense/Debug.d.ts delete mode 100644 lib/Typesense/Debug.js delete mode 100644 lib/Typesense/Debug.js.map delete mode 100644 lib/Typesense/Document.d.ts delete mode 100644 lib/Typesense/Document.js delete mode 100644 lib/Typesense/Document.js.map delete mode 100644 lib/Typesense/Documents.d.ts delete mode 100644 lib/Typesense/Documents.js delete mode 100644 lib/Typesense/Documents.js.map delete mode 100644 lib/Typesense/Errors/HTTPError.d.ts delete mode 100644 lib/Typesense/Errors/HTTPError.js delete mode 100644 lib/Typesense/Errors/HTTPError.js.map delete mode 100644 lib/Typesense/Errors/ImportError.d.ts delete mode 100644 lib/Typesense/Errors/ImportError.js delete mode 100644 lib/Typesense/Errors/ImportError.js.map delete mode 100644 lib/Typesense/Errors/MissingConfigurationError.d.ts delete mode 100644 lib/Typesense/Errors/MissingConfigurationError.js delete mode 100644 lib/Typesense/Errors/MissingConfigurationError.js.map delete mode 100644 lib/Typesense/Errors/ObjectAlreadyExists.d.ts delete mode 100644 lib/Typesense/Errors/ObjectAlreadyExists.js delete mode 100644 lib/Typesense/Errors/ObjectAlreadyExists.js.map delete mode 100644 lib/Typesense/Errors/ObjectNotFound.d.ts delete mode 100644 lib/Typesense/Errors/ObjectNotFound.js delete mode 100644 lib/Typesense/Errors/ObjectNotFound.js.map delete mode 100644 lib/Typesense/Errors/ObjectUnprocessable.d.ts delete mode 100644 lib/Typesense/Errors/ObjectUnprocessable.js delete mode 100644 lib/Typesense/Errors/ObjectUnprocessable.js.map delete mode 100644 lib/Typesense/Errors/RequestMalformed.d.ts delete mode 100644 lib/Typesense/Errors/RequestMalformed.js delete mode 100644 lib/Typesense/Errors/RequestMalformed.js.map delete mode 100644 lib/Typesense/Errors/RequestUnauthorized.d.ts delete mode 100644 lib/Typesense/Errors/RequestUnauthorized.js delete mode 100644 lib/Typesense/Errors/RequestUnauthorized.js.map delete mode 100644 lib/Typesense/Errors/ServerError.d.ts delete mode 100644 lib/Typesense/Errors/ServerError.js delete mode 100644 lib/Typesense/Errors/ServerError.js.map delete mode 100644 lib/Typesense/Errors/TypesenseError.d.ts delete mode 100644 lib/Typesense/Errors/TypesenseError.js delete mode 100644 lib/Typesense/Errors/TypesenseError.js.map delete mode 100644 lib/Typesense/Errors/index.d.ts delete mode 100644 lib/Typesense/Errors/index.js delete mode 100644 lib/Typesense/Errors/index.js.map delete mode 100644 lib/Typesense/Health.d.ts delete mode 100644 lib/Typesense/Health.js delete mode 100644 lib/Typesense/Health.js.map delete mode 100644 lib/Typesense/Key.d.ts delete mode 100644 lib/Typesense/Key.js delete mode 100644 lib/Typesense/Key.js.map delete mode 100644 lib/Typesense/Keys.d.ts delete mode 100644 lib/Typesense/Keys.js delete mode 100644 lib/Typesense/Keys.js.map delete mode 100644 lib/Typesense/Metrics.d.ts delete mode 100644 lib/Typesense/Metrics.js delete mode 100644 lib/Typesense/Metrics.js.map delete mode 100644 lib/Typesense/MultiSearch.d.ts delete mode 100644 lib/Typesense/MultiSearch.js delete mode 100644 lib/Typesense/MultiSearch.js.map delete mode 100644 lib/Typesense/Operations.d.ts delete mode 100644 lib/Typesense/Operations.js delete mode 100644 lib/Typesense/Operations.js.map delete mode 100644 lib/Typesense/Override.d.ts delete mode 100644 lib/Typesense/Override.js delete mode 100644 lib/Typesense/Override.js.map delete mode 100644 lib/Typesense/Overrides.d.ts delete mode 100644 lib/Typesense/Overrides.js delete mode 100644 lib/Typesense/Overrides.js.map delete mode 100644 lib/Typesense/Preset.d.ts delete mode 100644 lib/Typesense/Preset.js delete mode 100644 lib/Typesense/Preset.js.map delete mode 100644 lib/Typesense/Presets.d.ts delete mode 100644 lib/Typesense/Presets.js delete mode 100644 lib/Typesense/Presets.js.map delete mode 100644 lib/Typesense/RequestWithCache.d.ts delete mode 100644 lib/Typesense/RequestWithCache.js delete mode 100644 lib/Typesense/RequestWithCache.js.map delete mode 100644 lib/Typesense/SearchClient.d.ts delete mode 100644 lib/Typesense/SearchClient.js delete mode 100644 lib/Typesense/SearchClient.js.map delete mode 100644 lib/Typesense/SearchOnlyCollection.d.ts delete mode 100644 lib/Typesense/SearchOnlyCollection.js delete mode 100644 lib/Typesense/SearchOnlyCollection.js.map delete mode 100644 lib/Typesense/SearchOnlyDocuments.d.ts delete mode 100644 lib/Typesense/SearchOnlyDocuments.js delete mode 100644 lib/Typesense/SearchOnlyDocuments.js.map delete mode 100644 lib/Typesense/Stats.d.ts delete mode 100644 lib/Typesense/Stats.js delete mode 100644 lib/Typesense/Stats.js.map delete mode 100644 lib/Typesense/Stopword.d.ts delete mode 100644 lib/Typesense/Stopword.js delete mode 100644 lib/Typesense/Stopword.js.map delete mode 100644 lib/Typesense/Stopwords.d.ts delete mode 100644 lib/Typesense/Stopwords.js delete mode 100644 lib/Typesense/Stopwords.js.map delete mode 100644 lib/Typesense/Synonym.d.ts delete mode 100644 lib/Typesense/Synonym.js delete mode 100644 lib/Typesense/Synonym.js.map delete mode 100644 lib/Typesense/Synonyms.d.ts delete mode 100644 lib/Typesense/Synonyms.js delete mode 100644 lib/Typesense/Synonyms.js.map create mode 100644 tsup.config.ts diff --git a/.gitignore b/.gitignore index b6a47bef..95b3a844 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,6 @@ typesense-server-nodes *.log .DS_Store test-results.xml -test-files \ No newline at end of file +test-files +dist/ +lib/ diff --git a/dist/typesense.js b/dist/typesense.js deleted file mode 100644 index 7247f872..00000000 --- a/dist/typesense.js +++ /dev/null @@ -1,10504 +0,0 @@ -var Typesense; -/******/ (() => { // webpackBootstrap -/******/ var __webpack_modules__ = ({ - -/***/ "./src/Typesense/Alias.ts": -/*!********************************!*\ - !*** ./src/Typesense/Alias.ts ***! - \********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Alias) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _Aliases__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Aliases */ "./src/Typesense/Aliases.ts"); - - - - - -var Alias = /*#__PURE__*/function () { - function Alias(name, apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Alias); - this.name = name; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Alias, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "delete", - value: function () { - var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.delete(this.endpointPath())); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function _delete() { - return _delete2.apply(this, arguments); - } - return _delete; - }() - }, { - key: "endpointPath", - value: function endpointPath() { - return "".concat(_Aliases__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(this.name); - } - }]); - return Alias; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Aliases.ts": -/*!**********************************!*\ - !*** ./src/Typesense/Aliases.ts ***! - \**********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Aliases) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); - - - - -var RESOURCEPATH = "/aliases"; -var Aliases = /*#__PURE__*/function () { - function Aliases(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Aliases); - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Aliases, [{ - key: "upsert", - value: function () { - var _upsert = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(name, mapping) { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.put(this.endpointPath(name), mapping)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function upsert(_x, _x2) { - return _upsert.apply(this, arguments); - } - return upsert; - }() - }, { - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.get(RESOURCEPATH)); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "endpointPath", - value: function endpointPath(aliasName) { - return "".concat(Aliases.RESOURCEPATH, "/").concat(aliasName); - } - }], [{ - key: "RESOURCEPATH", - get: function get() { - return RESOURCEPATH; - } - }]); - return Aliases; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Analytics.ts": -/*!************************************!*\ - !*** ./src/Typesense/Analytics.ts ***! - \************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Analytics) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js"); -/* harmony import */ var _AnalyticsRules__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./AnalyticsRules */ "./src/Typesense/AnalyticsRules.ts"); -/* harmony import */ var _AnalyticsRule__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./AnalyticsRule */ "./src/Typesense/AnalyticsRule.ts"); -/* harmony import */ var _AnalyticsEvents__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./AnalyticsEvents */ "./src/Typesense/AnalyticsEvents.ts"); - - - - - - -var RESOURCEPATH = "/analytics"; -var Analytics = /*#__PURE__*/function () { - function Analytics(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__["default"])(this, Analytics); - (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__["default"])(this, "individualAnalyticsRules", {}); - this.apiCall = apiCall; - this.apiCall = apiCall; - this._analyticsRules = new _AnalyticsRules__WEBPACK_IMPORTED_MODULE_3__["default"](this.apiCall); - this._analyticsEvents = new _AnalyticsEvents__WEBPACK_IMPORTED_MODULE_5__["default"](this.apiCall); - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__["default"])(Analytics, [{ - key: "rules", - value: function rules(id) { - if (id === undefined) { - return this._analyticsRules; - } else { - if (this.individualAnalyticsRules[id] === undefined) { - this.individualAnalyticsRules[id] = new _AnalyticsRule__WEBPACK_IMPORTED_MODULE_4__["default"](id, this.apiCall); - } - return this.individualAnalyticsRules[id]; - } - } - }, { - key: "events", - value: function events() { - return this._analyticsEvents; - } - }], [{ - key: "RESOURCEPATH", - get: function get() { - return RESOURCEPATH; - } - }]); - return Analytics; -}(); - - -/***/ }), - -/***/ "./src/Typesense/AnalyticsEvents.ts": -/*!******************************************!*\ - !*** ./src/Typesense/AnalyticsEvents.ts ***! - \******************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ AnalyticsEvents) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); - - - - -var RESOURCEPATH = "/analytics/events"; -var AnalyticsEvents = /*#__PURE__*/function () { - function AnalyticsEvents(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, AnalyticsEvents); - this.apiCall = apiCall; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(AnalyticsEvents, [{ - key: "create", - value: function () { - var _create = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(params) { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.post(this.endpointPath(), params)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function create(_x) { - return _create.apply(this, arguments); - } - return create; - }() - }, { - key: "endpointPath", - value: function endpointPath(operation) { - return "".concat(AnalyticsEvents.RESOURCEPATH).concat(operation === undefined ? "" : "/" + operation); - } - }], [{ - key: "RESOURCEPATH", - get: function get() { - return RESOURCEPATH; - } - }]); - return AnalyticsEvents; -}(); - - -/***/ }), - -/***/ "./src/Typesense/AnalyticsRule.ts": -/*!****************************************!*\ - !*** ./src/Typesense/AnalyticsRule.ts ***! - \****************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ AnalyticsRule) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _AnalyticsRules__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./AnalyticsRules */ "./src/Typesense/AnalyticsRules.ts"); - - - - - -var AnalyticsRule = /*#__PURE__*/function () { - function AnalyticsRule(name, apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, AnalyticsRule); - this.name = name; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(AnalyticsRule, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "delete", - value: function () { - var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.delete(this.endpointPath())); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function _delete() { - return _delete2.apply(this, arguments); - } - return _delete; - }() - }, { - key: "endpointPath", - value: function endpointPath() { - return "".concat(_AnalyticsRules__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(this.name); - } - }]); - return AnalyticsRule; -}(); - - -/***/ }), - -/***/ "./src/Typesense/AnalyticsRules.ts": -/*!*****************************************!*\ - !*** ./src/Typesense/AnalyticsRules.ts ***! - \*****************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ AnalyticsRules) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); - - - - -var RESOURCEPATH = "/analytics/rules"; -var AnalyticsRules = /*#__PURE__*/function () { - function AnalyticsRules(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, AnalyticsRules); - this.apiCall = apiCall; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(AnalyticsRules, [{ - key: "upsert", - value: function () { - var _upsert = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(name, params) { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.put(this.endpointPath(name), params)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function upsert(_x, _x2) { - return _upsert.apply(this, arguments); - } - return upsert; - }() - }, { - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "endpointPath", - value: function endpointPath(operation) { - return "".concat(AnalyticsRules.RESOURCEPATH).concat(operation === undefined ? "" : "/" + operation); - } - }], [{ - key: "RESOURCEPATH", - get: function get() { - return RESOURCEPATH; - } - }]); - return AnalyticsRules; -}(); - - -/***/ }), - -/***/ "./src/Typesense/ApiCall.ts": -/*!**********************************!*\ - !*** ./src/Typesense/ApiCall.ts ***! - \**********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ ApiCall) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "./node_modules/@babel/runtime/helpers/esm/typeof.js"); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! axios */ "./node_modules/axios/lib/axios.js"); -/* harmony import */ var _Errors__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Errors */ "./src/Typesense/Errors/index.ts"); -/* harmony import */ var _Errors_TypesenseError__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Errors/TypesenseError */ "./src/Typesense/Errors/TypesenseError.ts"); -/* harmony import */ var http__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! http */ "?e89d"); -/* harmony import */ var http__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(http__WEBPACK_IMPORTED_MODULE_7__); -/* harmony import */ var https__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! https */ "?77e4"); -/* harmony import */ var https__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(https__WEBPACK_IMPORTED_MODULE_8__); - - - - - - - - - - -var APIKEYHEADERNAME = "X-TYPESENSE-API-KEY"; -var HEALTHY = true; -var UNHEALTHY = false; -var isNodeJSEnvironment = typeof process !== "undefined" && process.versions != null && process.versions.node != null; -var ApiCall = /*#__PURE__*/function () { - function ApiCall(configuration) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__["default"])(this, ApiCall); - this.configuration = configuration; - this.apiKey = this.configuration.apiKey; - this.nodes = this.configuration.nodes == null ? this.configuration.nodes : JSON.parse(JSON.stringify(this.configuration.nodes)); // Make a copy, since we'll be adding additional metadata to the nodes - this.nearestNode = this.configuration.nearestNode == null ? this.configuration.nearestNode : JSON.parse(JSON.stringify(this.configuration.nearestNode)); - this.connectionTimeoutSeconds = this.configuration.connectionTimeoutSeconds; - this.healthcheckIntervalSeconds = this.configuration.healthcheckIntervalSeconds; - this.numRetriesPerRequest = this.configuration.numRetries; - this.retryIntervalSeconds = this.configuration.retryIntervalSeconds; - this.sendApiKeyAsQueryParam = this.configuration.sendApiKeyAsQueryParam; - this.additionalUserHeaders = this.configuration.additionalHeaders; - this.logger = this.configuration.logger; - this.initializeMetadataForNodes(); - this.currentNodeIndex = -1; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__["default"])(ApiCall, [{ - key: "get", - value: function () { - var _get = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee(endpoint) { - var queryParameters, - _ref, - _ref$abortSignal, - abortSignal, - _ref$responseType, - responseType, - _args = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - queryParameters = _args.length > 1 && _args[1] !== undefined ? _args[1] : {}; - _ref = _args.length > 2 && _args[2] !== undefined ? _args[2] : {}, _ref$abortSignal = _ref.abortSignal, abortSignal = _ref$abortSignal === void 0 ? null : _ref$abortSignal, _ref$responseType = _ref.responseType, responseType = _ref$responseType === void 0 ? undefined : _ref$responseType; - return _context.abrupt("return", this.performRequest("get", endpoint, { - queryParameters: queryParameters, - abortSignal: abortSignal, - responseType: responseType - })); - case 3: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function get(_x) { - return _get.apply(this, arguments); - } - return get; - }() - }, { - key: "delete", - value: function () { - var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee2(endpoint) { - var queryParameters, - _args2 = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - queryParameters = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : {}; - return _context2.abrupt("return", this.performRequest("delete", endpoint, { - queryParameters: queryParameters - })); - case 2: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function _delete(_x2) { - return _delete2.apply(this, arguments); - } - return _delete; - }() - }, { - key: "post", - value: function () { - var _post = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee3(endpoint) { - var bodyParameters, - queryParameters, - additionalHeaders, - _args3 = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee3$(_context3) { - while (1) switch (_context3.prev = _context3.next) { - case 0: - bodyParameters = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : {}; - queryParameters = _args3.length > 2 && _args3[2] !== undefined ? _args3[2] : {}; - additionalHeaders = _args3.length > 3 && _args3[3] !== undefined ? _args3[3] : {}; - return _context3.abrupt("return", this.performRequest("post", endpoint, { - queryParameters: queryParameters, - bodyParameters: bodyParameters, - additionalHeaders: additionalHeaders - })); - case 4: - case "end": - return _context3.stop(); - } - }, _callee3, this); - })); - function post(_x3) { - return _post.apply(this, arguments); - } - return post; - }() - }, { - key: "put", - value: function () { - var _put = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee4(endpoint) { - var bodyParameters, - queryParameters, - _args4 = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee4$(_context4) { - while (1) switch (_context4.prev = _context4.next) { - case 0: - bodyParameters = _args4.length > 1 && _args4[1] !== undefined ? _args4[1] : {}; - queryParameters = _args4.length > 2 && _args4[2] !== undefined ? _args4[2] : {}; - return _context4.abrupt("return", this.performRequest("put", endpoint, { - queryParameters: queryParameters, - bodyParameters: bodyParameters - })); - case 3: - case "end": - return _context4.stop(); - } - }, _callee4, this); - })); - function put(_x4) { - return _put.apply(this, arguments); - } - return put; - }() - }, { - key: "patch", - value: function () { - var _patch = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee5(endpoint) { - var bodyParameters, - queryParameters, - _args5 = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee5$(_context5) { - while (1) switch (_context5.prev = _context5.next) { - case 0: - bodyParameters = _args5.length > 1 && _args5[1] !== undefined ? _args5[1] : {}; - queryParameters = _args5.length > 2 && _args5[2] !== undefined ? _args5[2] : {}; - return _context5.abrupt("return", this.performRequest("patch", endpoint, { - queryParameters: queryParameters, - bodyParameters: bodyParameters - })); - case 3: - case "end": - return _context5.stop(); - } - }, _callee5, this); - })); - function patch(_x5) { - return _patch.apply(this, arguments); - } - return patch; - }() - }, { - key: "performRequest", - value: function () { - var _performRequest = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee6(requestType, endpoint, _ref2) { - var _this = this; - var _ref2$queryParameters, queryParameters, _ref2$bodyParameters, bodyParameters, _ref2$additionalHeade, additionalHeaders, _ref2$abortSignal, abortSignal, _ref2$responseType, responseType, _ref2$skipConnectionT, skipConnectionTimeout, _ref2$enableKeepAlive, enableKeepAlive, requestNumber, lastException, _loop, _ret, numTries; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee6$(_context7) { - while (1) switch (_context7.prev = _context7.next) { - case 0: - _ref2$queryParameters = _ref2.queryParameters, queryParameters = _ref2$queryParameters === void 0 ? null : _ref2$queryParameters, _ref2$bodyParameters = _ref2.bodyParameters, bodyParameters = _ref2$bodyParameters === void 0 ? null : _ref2$bodyParameters, _ref2$additionalHeade = _ref2.additionalHeaders, additionalHeaders = _ref2$additionalHeade === void 0 ? {} : _ref2$additionalHeade, _ref2$abortSignal = _ref2.abortSignal, abortSignal = _ref2$abortSignal === void 0 ? null : _ref2$abortSignal, _ref2$responseType = _ref2.responseType, responseType = _ref2$responseType === void 0 ? undefined : _ref2$responseType, _ref2$skipConnectionT = _ref2.skipConnectionTimeout, skipConnectionTimeout = _ref2$skipConnectionT === void 0 ? false : _ref2$skipConnectionT, _ref2$enableKeepAlive = _ref2.enableKeepAlive, enableKeepAlive = _ref2$enableKeepAlive === void 0 ? undefined : _ref2$enableKeepAlive; - this.configuration.validate(); - requestNumber = Date.now(); - this.logger.debug("Request #".concat(requestNumber, ": Performing ").concat(requestType.toUpperCase(), " request: ").concat(endpoint)); - _loop = /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _loop() { - var node, abortListener, requestOptions, cancelToken, source, response, _response$data, _response$data2, _error$response; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _loop$(_context6) { - while (1) switch (_context6.prev = _context6.next) { - case 0: - node = _this.getNextNode(requestNumber); - _this.logger.debug("Request #".concat(requestNumber, ": Attempting ").concat(requestType.toUpperCase(), " request Try #").concat(numTries, " to Node ").concat(node.index)); - if (!(abortSignal && abortSignal.aborted)) { - _context6.next = 4; - break; - } - return _context6.abrupt("return", { - v: Promise.reject(new Error("Request aborted by caller.")) - }); - case 4: - _context6.prev = 4; - requestOptions = { - method: requestType, - url: _this.uriFor(endpoint, node), - headers: Object.assign({}, _this.defaultHeaders(), additionalHeaders, _this.additionalUserHeaders), - maxContentLength: Infinity, - maxBodyLength: Infinity, - responseType: responseType, - validateStatus: function validateStatus(status) { - /* Override default validateStatus, which only considers 2xx a success. - In our case, if the server returns any HTTP code, we will handle it below. - We do this to be able to raise custom errors based on response code. - */ - return status > 0; - }, - transformResponse: [function (data, headers) { - var transformedData = data; - if (headers !== undefined && typeof data === "string" && headers["content-type"] && headers["content-type"].startsWith("application/json")) { - transformedData = JSON.parse(data); - } - return transformedData; - }] - }; - if (skipConnectionTimeout !== true) { - requestOptions.timeout = _this.connectionTimeoutSeconds * 1000; - } - if (queryParameters && Object.keys(queryParameters).length !== 0) { - requestOptions.params = queryParameters; - } - if (_this.sendApiKeyAsQueryParam) { - requestOptions.params = requestOptions.params || {}; - requestOptions.params["x-typesense-api-key"] = _this.apiKey; - } - if (_this.configuration.httpAgent) { - _this.logger.debug("Request #".concat(requestNumber, ": Using custom httpAgent")); - requestOptions.httpAgent = _this.configuration.httpAgent; - } else if (enableKeepAlive === true) { - if (!isNodeJSEnvironment) { - _this.logger.warn("Request #".concat(requestNumber, ": Cannot use custom httpAgent in a browser environment to enable keepAlive")); - } else { - _this.logger.debug("Request #".concat(requestNumber, ": Enabling KeepAlive")); - requestOptions.httpAgent = new http__WEBPACK_IMPORTED_MODULE_7__.Agent({ - keepAlive: true - }); - } - } - if (_this.configuration.httpsAgent) { - _this.logger.debug("Request #".concat(requestNumber, ": Using custom httpsAgent")); - requestOptions.httpsAgent = _this.configuration.httpsAgent; - } else if (enableKeepAlive === true) { - if (!isNodeJSEnvironment) { - _this.logger.warn("Request #".concat(requestNumber, ": Cannot use custom httpAgent in a browser environment to enable keepAlive")); - } else { - _this.logger.debug("Request #".concat(requestNumber, ": Enabling keepAlive")); - requestOptions.httpsAgent = new https__WEBPACK_IMPORTED_MODULE_8__.Agent({ - keepAlive: true - }); - } - } - if (_this.configuration.paramsSerializer) { - _this.logger.debug("Request #".concat(requestNumber, ": Using custom paramsSerializer")); - requestOptions.paramsSerializer = _this.configuration.paramsSerializer; - } - if (bodyParameters && (typeof bodyParameters === "string" && bodyParameters.length !== 0 || (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__["default"])(bodyParameters) === "object" && Object.keys(bodyParameters).length !== 0)) { - requestOptions.data = bodyParameters; - } - - // Translate from user-provided AbortController to the Axios request cancel mechanism. - if (abortSignal) { - cancelToken = axios__WEBPACK_IMPORTED_MODULE_9__["default"].CancelToken; - source = cancelToken.source(); - abortListener = function abortListener() { - return source.cancel(); - }; - abortSignal.addEventListener("abort", abortListener); - requestOptions.cancelToken = source.token; - } - _context6.next = 16; - return (0,axios__WEBPACK_IMPORTED_MODULE_9__["default"])(requestOptions); - case 16: - response = _context6.sent; - if (response.status >= 1 && response.status <= 499) { - // Treat any status code > 0 and < 500 to be an indication that node is healthy - // We exclude 0 since some clients return 0 when request fails - _this.setNodeHealthcheck(node, HEALTHY); - } - _this.logger.debug("Request #".concat(requestNumber, ": Request to Node ").concat(node.index, " was made. Response Code was ").concat(response.status, ".")); - if (!(response.status >= 200 && response.status < 300)) { - _context6.next = 23; - break; - } - return _context6.abrupt("return", { - v: Promise.resolve(response.data) - }); - case 23: - if (!(response.status < 500)) { - _context6.next = 27; - break; - } - return _context6.abrupt("return", { - v: Promise.reject(_this.customErrorForResponse(response, (_response$data = response.data) === null || _response$data === void 0 ? void 0 : _response$data.message)) - }); - case 27: - throw _this.customErrorForResponse(response, (_response$data2 = response.data) === null || _response$data2 === void 0 ? void 0 : _response$data2.message); - case 28: - _context6.next = 38; - break; - case 30: - _context6.prev = 30; - _context6.t0 = _context6["catch"](4); - // This block handles retries for HTTPStatus > 500 and network layer issues like connection timeouts - _this.setNodeHealthcheck(node, UNHEALTHY); - lastException = _context6.t0; - _this.logger.warn("Request #".concat(requestNumber, ": Request to Node ").concat(node.index, " failed due to \"").concat(_context6.t0.code, " ").concat(_context6.t0.message).concat(_context6.t0.response == null ? "" : " - " + JSON.stringify((_error$response = _context6.t0.response) === null || _error$response === void 0 ? void 0 : _error$response.data), "\"")); - // this.logger.debug(error.stack) - _this.logger.warn("Request #".concat(requestNumber, ": Sleeping for ").concat(_this.retryIntervalSeconds, "s and then retrying request...")); - _context6.next = 38; - return _this.timer(_this.retryIntervalSeconds); - case 38: - _context6.prev = 38; - if (abortSignal && abortListener) { - abortSignal.removeEventListener("abort", abortListener); - } - return _context6.finish(38); - case 41: - case "end": - return _context6.stop(); - } - }, _loop, null, [[4, 30, 38, 41]]); - }); - numTries = 1; - case 6: - if (!(numTries <= this.numRetriesPerRequest + 1)) { - _context7.next = 14; - break; - } - return _context7.delegateYield(_loop(), "t0", 8); - case 8: - _ret = _context7.t0; - if (!_ret) { - _context7.next = 11; - break; - } - return _context7.abrupt("return", _ret.v); - case 11: - numTries++; - _context7.next = 6; - break; - case 14: - this.logger.debug("Request #".concat(requestNumber, ": No retries left. Raising last error")); - return _context7.abrupt("return", Promise.reject(lastException)); - case 16: - case "end": - return _context7.stop(); - } - }, _callee6, this); - })); - function performRequest(_x6, _x7, _x8) { - return _performRequest.apply(this, arguments); - } - return performRequest; - }() // Attempts to find the next healthy node, looping through the list of nodes once. - // But if no healthy nodes are found, it will just return the next node, even if it's unhealthy - // so we can try the request for good measure, in case that node has become healthy since - }, { - key: "getNextNode", - value: function getNextNode() { - var requestNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; - // Check if nearestNode is set and is healthy, if so return it - if (this.nearestNode != null) { - this.logger.debug("Request #".concat(requestNumber, ": Nodes Health: Node ").concat(this.nearestNode.index, " is ").concat(this.nearestNode.isHealthy === true ? "Healthy" : "Unhealthy")); - if (this.nearestNode.isHealthy === true || this.nodeDueForHealthcheck(this.nearestNode, requestNumber)) { - this.logger.debug("Request #".concat(requestNumber, ": Updated current node to Node ").concat(this.nearestNode.index)); - return this.nearestNode; - } - this.logger.debug("Request #".concat(requestNumber, ": Falling back to individual nodes")); - } - - // Fallback to nodes as usual - this.logger.debug("Request #".concat(requestNumber, ": Nodes Health: ").concat(this.nodes.map(function (node) { - return "Node ".concat(node.index, " is ").concat(node.isHealthy === true ? "Healthy" : "Unhealthy"); - }).join(" || "))); - var candidateNode = this.nodes[0]; - for (var i = 0; i <= this.nodes.length; i++) { - this.currentNodeIndex = (this.currentNodeIndex + 1) % this.nodes.length; - candidateNode = this.nodes[this.currentNodeIndex]; - if (candidateNode.isHealthy === true || this.nodeDueForHealthcheck(candidateNode, requestNumber)) { - this.logger.debug("Request #".concat(requestNumber, ": Updated current node to Node ").concat(candidateNode.index)); - return candidateNode; - } - } - - // None of the nodes are marked healthy, but some of them could have become healthy since last health check. - // So we will just return the next node. - this.logger.debug("Request #".concat(requestNumber, ": No healthy nodes were found. Returning the next node, Node ").concat(candidateNode.index)); - return candidateNode; - } - }, { - key: "nodeDueForHealthcheck", - value: function nodeDueForHealthcheck(node) { - var requestNumber = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; - var isDueForHealthcheck = Date.now() - node.lastAccessTimestamp > this.healthcheckIntervalSeconds * 1000; - if (isDueForHealthcheck) { - this.logger.debug("Request #".concat(requestNumber, ": Node ").concat(node.index, " has exceeded healtcheckIntervalSeconds of ").concat(this.healthcheckIntervalSeconds, ". Adding it back into rotation.")); - } - return isDueForHealthcheck; - } - }, { - key: "initializeMetadataForNodes", - value: function initializeMetadataForNodes() { - var _this2 = this; - if (this.nearestNode != null) { - this.nearestNode.index = "nearestNode"; - this.setNodeHealthcheck(this.nearestNode, HEALTHY); - } - this.nodes.forEach(function (node, i) { - node.index = i; - _this2.setNodeHealthcheck(node, HEALTHY); - }); - } - }, { - key: "setNodeHealthcheck", - value: function setNodeHealthcheck(node, isHealthy) { - node.isHealthy = isHealthy; - node.lastAccessTimestamp = Date.now(); - } - }, { - key: "uriFor", - value: function uriFor(endpoint, node) { - if (node.url != null) { - return "".concat(node.url).concat(endpoint); - } - return "".concat(node.protocol, "://").concat(node.host, ":").concat(node.port).concat(node.path).concat(endpoint); - } - }, { - key: "defaultHeaders", - value: function defaultHeaders() { - var defaultHeaders = {}; - if (!this.sendApiKeyAsQueryParam) { - defaultHeaders[APIKEYHEADERNAME] = this.apiKey; - } - defaultHeaders["Content-Type"] = "application/json"; - return defaultHeaders; - } - }, { - key: "timer", - value: function () { - var _timer = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee7(seconds) { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee7$(_context8) { - while (1) switch (_context8.prev = _context8.next) { - case 0: - return _context8.abrupt("return", new Promise(function (resolve) { - return setTimeout(resolve, seconds * 1000); - })); - case 1: - case "end": - return _context8.stop(); - } - }, _callee7); - })); - function timer(_x9) { - return _timer.apply(this, arguments); - } - return timer; - }() - }, { - key: "customErrorForResponse", - value: function customErrorForResponse(response, messageFromServer) { - var errorMessage = "Request failed with HTTP code ".concat(response.status); - if (typeof messageFromServer === "string" && messageFromServer.trim() !== "") { - errorMessage += " | Server said: ".concat(messageFromServer); - } - var error = new _Errors_TypesenseError__WEBPACK_IMPORTED_MODULE_6__["default"](errorMessage); - if (response.status === 400) { - error = new _Errors__WEBPACK_IMPORTED_MODULE_5__.RequestMalformed(errorMessage); - } else if (response.status === 401) { - error = new _Errors__WEBPACK_IMPORTED_MODULE_5__.RequestUnauthorized(errorMessage); - } else if (response.status === 404) { - error = new _Errors__WEBPACK_IMPORTED_MODULE_5__.ObjectNotFound(errorMessage); - } else if (response.status === 409) { - error = new _Errors__WEBPACK_IMPORTED_MODULE_5__.ObjectAlreadyExists(errorMessage); - } else if (response.status === 422) { - error = new _Errors__WEBPACK_IMPORTED_MODULE_5__.ObjectUnprocessable(errorMessage); - } else if (response.status >= 500 && response.status <= 599) { - error = new _Errors__WEBPACK_IMPORTED_MODULE_5__.ServerError(errorMessage); - } else { - error = new _Errors__WEBPACK_IMPORTED_MODULE_5__.HTTPError(errorMessage); - } - error.httpStatus = response.status; - return error; - } - }]); - return ApiCall; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Client.ts": -/*!*********************************!*\ - !*** ./src/Typesense/Client.ts ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Client) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _Configuration__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Configuration */ "./src/Typesense/Configuration.ts"); -/* harmony import */ var _ApiCall__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ApiCall */ "./src/Typesense/ApiCall.ts"); -/* harmony import */ var _Collections__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Collections */ "./src/Typesense/Collections.ts"); -/* harmony import */ var _Collection__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Collection */ "./src/Typesense/Collection.ts"); -/* harmony import */ var _Aliases__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Aliases */ "./src/Typesense/Aliases.ts"); -/* harmony import */ var _Alias__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Alias */ "./src/Typesense/Alias.ts"); -/* harmony import */ var _Keys__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Keys */ "./src/Typesense/Keys.ts"); -/* harmony import */ var _Key__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Key */ "./src/Typesense/Key.ts"); -/* harmony import */ var _Debug__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Debug */ "./src/Typesense/Debug.ts"); -/* harmony import */ var _Metrics__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Metrics */ "./src/Typesense/Metrics.ts"); -/* harmony import */ var _Stats__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./Stats */ "./src/Typesense/Stats.ts"); -/* harmony import */ var _Health__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./Health */ "./src/Typesense/Health.ts"); -/* harmony import */ var _Operations__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./Operations */ "./src/Typesense/Operations.ts"); -/* harmony import */ var _MultiSearch__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./MultiSearch */ "./src/Typesense/MultiSearch.ts"); -/* harmony import */ var _Presets__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./Presets */ "./src/Typesense/Presets.ts"); -/* harmony import */ var _Preset__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./Preset */ "./src/Typesense/Preset.ts"); -/* harmony import */ var _Analytics__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./Analytics */ "./src/Typesense/Analytics.ts"); -/* harmony import */ var _Stopwords__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./Stopwords */ "./src/Typesense/Stopwords.ts"); -/* harmony import */ var _Stopword__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./Stopword */ "./src/Typesense/Stopword.ts"); -/* harmony import */ var _Conversations__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./Conversations */ "./src/Typesense/Conversations.ts"); -/* harmony import */ var _Conversation__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./Conversation */ "./src/Typesense/Conversation.ts"); - - -/* eslint-disable no-dupe-class-members */ - - - - - - - - - - - - - - - - - - - - - - -var Client = /*#__PURE__*/function () { - function Client(options) { - var _options$sendApiKeyAs; - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__["default"])(this, Client); - options.sendApiKeyAsQueryParam = (_options$sendApiKeyAs = options.sendApiKeyAsQueryParam) !== null && _options$sendApiKeyAs !== void 0 ? _options$sendApiKeyAs : false; - this.configuration = new _Configuration__WEBPACK_IMPORTED_MODULE_2__["default"](options); - this.apiCall = new _ApiCall__WEBPACK_IMPORTED_MODULE_3__["default"](this.configuration); - this.debug = new _Debug__WEBPACK_IMPORTED_MODULE_10__["default"](this.apiCall); - this.metrics = new _Metrics__WEBPACK_IMPORTED_MODULE_11__["default"](this.apiCall); - this.stats = new _Stats__WEBPACK_IMPORTED_MODULE_12__["default"](this.apiCall); - this.health = new _Health__WEBPACK_IMPORTED_MODULE_13__["default"](this.apiCall); - this.operations = new _Operations__WEBPACK_IMPORTED_MODULE_14__["default"](this.apiCall); - this.multiSearch = new _MultiSearch__WEBPACK_IMPORTED_MODULE_15__["default"](this.apiCall, this.configuration); - this._collections = new _Collections__WEBPACK_IMPORTED_MODULE_4__["default"](this.apiCall); - this.individualCollections = {}; - this._aliases = new _Aliases__WEBPACK_IMPORTED_MODULE_6__["default"](this.apiCall); - this.individualAliases = {}; - this._keys = new _Keys__WEBPACK_IMPORTED_MODULE_8__["default"](this.apiCall); - this.individualKeys = {}; - this._presets = new _Presets__WEBPACK_IMPORTED_MODULE_16__["default"](this.apiCall); - this.individualPresets = {}; - this._stopwords = new _Stopwords__WEBPACK_IMPORTED_MODULE_19__["default"](this.apiCall); - this.individualStopwords = {}; - this.analytics = new _Analytics__WEBPACK_IMPORTED_MODULE_18__["default"](this.apiCall); - this._conversations = new _Conversations__WEBPACK_IMPORTED_MODULE_21__["default"](this.apiCall); - this.individualConversations = {}; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__["default"])(Client, [{ - key: "collections", - value: function collections(collectionName) { - if (collectionName === undefined) { - return this._collections; - } else { - if (this.individualCollections[collectionName] === undefined) { - this.individualCollections[collectionName] = new _Collection__WEBPACK_IMPORTED_MODULE_5__["default"](collectionName, this.apiCall, this.configuration); - } - return this.individualCollections[collectionName]; - } - } - }, { - key: "aliases", - value: function aliases(aliasName) { - if (aliasName === undefined) { - return this._aliases; - } else { - if (this.individualAliases[aliasName] === undefined) { - this.individualAliases[aliasName] = new _Alias__WEBPACK_IMPORTED_MODULE_7__["default"](aliasName, this.apiCall); - } - return this.individualAliases[aliasName]; - } - } - }, { - key: "keys", - value: function keys(id) { - if (id === undefined) { - return this._keys; - } else { - if (this.individualKeys[id] === undefined) { - this.individualKeys[id] = new _Key__WEBPACK_IMPORTED_MODULE_9__["default"](id, this.apiCall); - } - return this.individualKeys[id]; - } - } - }, { - key: "presets", - value: function presets(id) { - if (id === undefined) { - return this._presets; - } else { - if (this.individualPresets[id] === undefined) { - this.individualPresets[id] = new _Preset__WEBPACK_IMPORTED_MODULE_17__["default"](id, this.apiCall); - } - return this.individualPresets[id]; - } - } - }, { - key: "stopwords", - value: function stopwords(id) { - if (id === undefined) { - return this._stopwords; - } else { - if (this.individualStopwords[id] === undefined) { - this.individualStopwords[id] = new _Stopword__WEBPACK_IMPORTED_MODULE_20__["default"](id, this.apiCall); - } - return this.individualStopwords[id]; - } - } - }, { - key: "conversations", - value: function conversations(id) { - if (id === undefined) { - return this._conversations; - } else { - if (this.individualConversations[id] === undefined) { - this.individualConversations[id] = new _Conversation__WEBPACK_IMPORTED_MODULE_22__["default"](id, this.apiCall); - } - return this.individualConversations[id]; - } - } - }]); - return Client; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Collection.ts": -/*!*************************************!*\ - !*** ./src/Typesense/Collection.ts ***! - \*************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Collection) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var _Collections__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Collections */ "./src/Typesense/Collections.ts"); -/* harmony import */ var _Documents__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Documents */ "./src/Typesense/Documents.ts"); -/* harmony import */ var _Errors__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Errors */ "./src/Typesense/Errors/index.ts"); -/* harmony import */ var _Overrides__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Overrides */ "./src/Typesense/Overrides.ts"); -/* harmony import */ var _Override__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Override */ "./src/Typesense/Override.ts"); -/* harmony import */ var _Synonyms__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Synonyms */ "./src/Typesense/Synonyms.ts"); -/* harmony import */ var _Synonym__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Synonym */ "./src/Typesense/Synonym.ts"); -/* harmony import */ var _Document__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./Document */ "./src/Typesense/Document.ts"); - - - - - - - - - - - - - -var Collection = /*#__PURE__*/function () { - function Collection(name, apiCall, configuration) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Collection); - (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_3__["default"])(this, "individualDocuments", {}); - (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_3__["default"])(this, "individualOverrides", {}); - (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_3__["default"])(this, "individualSynonyms", {}); - this.name = name; - this.apiCall = apiCall; - this.configuration = configuration; - this.name = name; - this.apiCall = apiCall; - this.configuration = configuration; - this._documents = new _Documents__WEBPACK_IMPORTED_MODULE_6__["default"](this.name, this.apiCall, this.configuration); - this._overrides = new _Overrides__WEBPACK_IMPORTED_MODULE_8__["default"](this.name, this.apiCall); - this._synonyms = new _Synonyms__WEBPACK_IMPORTED_MODULE_10__["default"](this.name, this.apiCall); - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Collection, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "update", - value: function () { - var _update = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee2(schema) { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.patch(this.endpointPath(), schema)); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function update(_x) { - return _update.apply(this, arguments); - } - return update; - }() - }, { - key: "delete", - value: function () { - var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee3() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee3$(_context3) { - while (1) switch (_context3.prev = _context3.next) { - case 0: - return _context3.abrupt("return", this.apiCall.delete(this.endpointPath())); - case 1: - case "end": - return _context3.stop(); - } - }, _callee3, this); - })); - function _delete() { - return _delete2.apply(this, arguments); - } - return _delete; - }() - }, { - key: "exists", - value: function () { - var _exists = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee4() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee4$(_context4) { - while (1) switch (_context4.prev = _context4.next) { - case 0: - _context4.prev = 0; - _context4.next = 3; - return this.retrieve(); - case 3: - return _context4.abrupt("return", true); - case 6: - _context4.prev = 6; - _context4.t0 = _context4["catch"](0); - if (!(_context4.t0 instanceof _Errors__WEBPACK_IMPORTED_MODULE_7__.ObjectNotFound)) { - _context4.next = 10; - break; - } - return _context4.abrupt("return", false); - case 10: - throw _context4.t0; - case 11: - case "end": - return _context4.stop(); - } - }, _callee4, this, [[0, 6]]); - })); - function exists() { - return _exists.apply(this, arguments); - } - return exists; - }() - }, { - key: "documents", - value: function documents(documentId) { - if (!documentId) { - return this._documents; - } else { - if (this.individualDocuments[documentId] === undefined) { - this.individualDocuments[documentId] = new _Document__WEBPACK_IMPORTED_MODULE_12__.Document(this.name, documentId, this.apiCall); - } - return this.individualDocuments[documentId]; - } - } - }, { - key: "overrides", - value: function overrides(overrideId) { - if (overrideId === undefined) { - return this._overrides; - } else { - if (this.individualOverrides[overrideId] === undefined) { - this.individualOverrides[overrideId] = new _Override__WEBPACK_IMPORTED_MODULE_9__["default"](this.name, overrideId, this.apiCall); - } - return this.individualOverrides[overrideId]; - } - } - }, { - key: "synonyms", - value: function synonyms(synonymId) { - if (synonymId === undefined) { - return this._synonyms; - } else { - if (this.individualSynonyms[synonymId] === undefined) { - this.individualSynonyms[synonymId] = new _Synonym__WEBPACK_IMPORTED_MODULE_11__["default"](this.name, synonymId, this.apiCall); - } - return this.individualSynonyms[synonymId]; - } - } - }, { - key: "endpointPath", - value: function endpointPath() { - return "".concat(_Collections__WEBPACK_IMPORTED_MODULE_5__["default"].RESOURCEPATH, "/").concat(this.name); - } - }]); - return Collection; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Collections.ts": -/*!**************************************!*\ - !*** ./src/Typesense/Collections.ts ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Collections) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); - - - - -var RESOURCEPATH = "/collections"; -var Collections = /*#__PURE__*/function () { - function Collections(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Collections); - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Collections, [{ - key: "create", - value: function () { - var _create = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(schema) { - var options, - _args = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - options = _args.length > 1 && _args[1] !== undefined ? _args[1] : {}; - return _context.abrupt("return", this.apiCall.post(RESOURCEPATH, schema, options)); - case 2: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function create(_x) { - return _create.apply(this, arguments); - } - return create; - }() - }, { - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - var options, - _args2 = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - options = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : {}; - return _context2.abrupt("return", this.apiCall.get(RESOURCEPATH, options)); - case 2: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }], [{ - key: "RESOURCEPATH", - get: function get() { - return RESOURCEPATH; - } - }]); - return Collections; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Configuration.ts": -/*!****************************************!*\ - !*** ./src/Typesense/Configuration.ts ***! - \****************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Configuration) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var loglevel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! loglevel */ "./node_modules/loglevel/lib/loglevel.js"); -/* harmony import */ var loglevel__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(loglevel__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _Errors__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Errors */ "./src/Typesense/Errors/index.ts"); - - - -function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } -function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } - - -var Configuration = /*#__PURE__*/function () { - function Configuration(options) { - var _this = this; - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Configuration); - this.nodes = options.nodes || []; - this.nodes = this.nodes.map(function (node) { - return _this.setDefaultPathInNode(node); - }).map(function (node) { - return _this.setDefaultPortInNode(node); - }).map(function (node) { - return _objectSpread({}, node); - }); // Make a deep copy - - if (options.randomizeNodes == null) { - options.randomizeNodes = true; - } - if (options.randomizeNodes === true) { - this.shuffleArray(this.nodes); - } - this.nearestNode = options.nearestNode; - this.nearestNode = this.setDefaultPathInNode(this.nearestNode); - this.nearestNode = this.setDefaultPortInNode(this.nearestNode); - this.connectionTimeoutSeconds = options.connectionTimeoutSeconds || options.timeoutSeconds || 5; - this.healthcheckIntervalSeconds = options.healthcheckIntervalSeconds || 60; - this.numRetries = options.numRetries || this.nodes.length + (this.nearestNode == null ? 0 : 1) || 3; - this.retryIntervalSeconds = options.retryIntervalSeconds || 0.1; - this.apiKey = options.apiKey; - this.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam; // We will set a default for this in Client and SearchClient - - this.cacheSearchResultsForSeconds = options.cacheSearchResultsForSeconds || 0; // Disable client-side cache by default - this.useServerSideSearchCache = options.useServerSideSearchCache || false; - this.logger = options.logger || loglevel__WEBPACK_IMPORTED_MODULE_3__; - this.logLevel = options.logLevel || "warn"; - this.logger.setLevel(this.logLevel); - this.additionalHeaders = options.additionalHeaders; - this.httpAgent = options.httpAgent; - this.httpsAgent = options.httpsAgent; - this.paramsSerializer = options.paramsSerializer; - this.showDeprecationWarnings(options); - this.validate(); - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Configuration, [{ - key: "validate", - value: function validate() { - if (this.nodes == null || this.nodes.length === 0 || this.validateNodes()) { - throw new _Errors__WEBPACK_IMPORTED_MODULE_4__.MissingConfigurationError("Ensure that nodes[].protocol, nodes[].host and nodes[].port are set"); - } - if (this.nearestNode != null && this.isNodeMissingAnyParameters(this.nearestNode)) { - throw new _Errors__WEBPACK_IMPORTED_MODULE_4__.MissingConfigurationError("Ensure that nearestNodes.protocol, nearestNodes.host and nearestNodes.port are set"); - } - if (this.apiKey == null) { - throw new _Errors__WEBPACK_IMPORTED_MODULE_4__.MissingConfigurationError("Ensure that apiKey is set"); - } - return true; - } - }, { - key: "validateNodes", - value: function validateNodes() { - var _this2 = this; - return this.nodes.some(function (node) { - return _this2.isNodeMissingAnyParameters(node); - }); - } - }, { - key: "isNodeMissingAnyParameters", - value: function isNodeMissingAnyParameters(node) { - return !["protocol", "host", "port", "path"].every(function (key) { - return node.hasOwnProperty(key); - }) && node["url"] == null; - } - }, { - key: "setDefaultPathInNode", - value: function setDefaultPathInNode(node) { - if (node != null && !node.hasOwnProperty("path")) { - node["path"] = ""; - } - return node; - } - }, { - key: "setDefaultPortInNode", - value: function setDefaultPortInNode(node) { - if (node != null && !node.hasOwnProperty("port") && node.hasOwnProperty("protocol")) { - switch (node["protocol"]) { - case "https": - node["port"] = 443; - break; - case "http": - node["port"] = 80; - break; - } - } - return node; - } - }, { - key: "showDeprecationWarnings", - value: function showDeprecationWarnings(options) { - if (options.timeoutSeconds) { - this.logger.warn("Deprecation warning: timeoutSeconds is now renamed to connectionTimeoutSeconds"); - } - if (options.masterNode) { - this.logger.warn("Deprecation warning: masterNode is now consolidated to nodes, starting with Typesense Server v0.12"); - } - if (options.readReplicaNodes) { - this.logger.warn("Deprecation warning: readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12"); - } - } - }, { - key: "shuffleArray", - value: function shuffleArray(array) { - for (var i = array.length - 1; i > 0; i--) { - var j = Math.floor(Math.random() * (i + 1)); - var _ref = [array[j], array[i]]; - array[i] = _ref[0]; - array[j] = _ref[1]; - } - } - }]); - return Configuration; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Conversation.ts": -/*!***************************************!*\ - !*** ./src/Typesense/Conversation.ts ***! - \***************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Conversation) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _Conversations__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Conversations */ "./src/Typesense/Conversations.ts"); - - - - - -var Conversation = /*#__PURE__*/function () { - function Conversation(id, apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Conversation); - this.id = id; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Conversation, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "update", - value: function () { - var _update = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2(params) { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.put(this.endpointPath(), params)); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function update(_x) { - return _update.apply(this, arguments); - } - return update; - }() - }, { - key: "delete", - value: function () { - var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee3() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee3$(_context3) { - while (1) switch (_context3.prev = _context3.next) { - case 0: - return _context3.abrupt("return", this.apiCall.delete(this.endpointPath())); - case 1: - case "end": - return _context3.stop(); - } - }, _callee3, this); - })); - function _delete() { - return _delete2.apply(this, arguments); - } - return _delete; - }() - }, { - key: "endpointPath", - value: function endpointPath() { - return "".concat(_Conversations__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(this.id); - } - }]); - return Conversation; -}(); - - -/***/ }), - -/***/ "./src/Typesense/ConversationModel.ts": -/*!********************************************!*\ - !*** ./src/Typesense/ConversationModel.ts ***! - \********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ ConversationModel) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _ConversationModels__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ConversationModels */ "./src/Typesense/ConversationModels.ts"); - - - - - -var ConversationModel = /*#__PURE__*/function () { - function ConversationModel(id, apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, ConversationModel); - this.id = id; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(ConversationModel, [{ - key: "update", - value: function () { - var _update = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(params) { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.put(this.endpointPath(), params)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function update(_x) { - return _update.apply(this, arguments); - } - return update; - }() - }, { - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "delete", - value: function () { - var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee3() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee3$(_context3) { - while (1) switch (_context3.prev = _context3.next) { - case 0: - return _context3.abrupt("return", this.apiCall.delete(this.endpointPath())); - case 1: - case "end": - return _context3.stop(); - } - }, _callee3, this); - })); - function _delete() { - return _delete2.apply(this, arguments); - } - return _delete; - }() - }, { - key: "endpointPath", - value: function endpointPath() { - return "".concat(_ConversationModels__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(this.id); - } - }]); - return ConversationModel; -}(); - - -/***/ }), - -/***/ "./src/Typesense/ConversationModels.ts": -/*!*********************************************!*\ - !*** ./src/Typesense/ConversationModels.ts ***! - \*********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ ConversationModels) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); - - - - -var RESOURCEPATH = "/conversations/models"; -var ConversationModels = /*#__PURE__*/function () { - function ConversationModels(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, ConversationModels); - this.apiCall = apiCall; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(ConversationModels, [{ - key: "create", - value: function () { - var _create = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(params) { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.post(this.endpointPath(), params)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function create(_x) { - return _create.apply(this, arguments); - } - return create; - }() - }, { - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "endpointPath", - value: function endpointPath(operation) { - return "".concat(ConversationModels.RESOURCEPATH).concat(operation === undefined ? "" : "/" + operation); - } - }], [{ - key: "RESOURCEPATH", - get: function get() { - return RESOURCEPATH; - } - }]); - return ConversationModels; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Conversations.ts": -/*!****************************************!*\ - !*** ./src/Typesense/Conversations.ts ***! - \****************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Conversations) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var _ConversationModels__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ConversationModels */ "./src/Typesense/ConversationModels.ts"); -/* harmony import */ var _ConversationModel__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ConversationModel */ "./src/Typesense/ConversationModel.ts"); - - - - - - - -var RESOURCEPATH = "/conversations"; -var Conversations = /*#__PURE__*/function () { - function Conversations(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Conversations); - (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_3__["default"])(this, "individualConversationModels", {}); - this.apiCall = apiCall; - this.apiCall = apiCall; - this._conversationsModels = new _ConversationModels__WEBPACK_IMPORTED_MODULE_5__["default"](this.apiCall); - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Conversations, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(RESOURCEPATH)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "models", - value: function models(id) { - if (id === undefined) { - return this._conversationsModels; - } else { - if (this.individualConversationModels[id] === undefined) { - this.individualConversationModels[id] = new _ConversationModel__WEBPACK_IMPORTED_MODULE_6__["default"](id, this.apiCall); - } - return this.individualConversationModels[id]; - } - } - }], [{ - key: "RESOURCEPATH", - get: function get() { - return RESOURCEPATH; - } - }]); - return Conversations; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Debug.ts": -/*!********************************!*\ - !*** ./src/Typesense/Debug.ts ***! - \********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Debug) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); - - - - -var RESOURCEPATH = "/debug"; -var Debug = /*#__PURE__*/function () { - function Debug(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Debug); - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Debug, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(RESOURCEPATH)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }]); - return Debug; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Document.ts": -/*!***********************************!*\ - !*** ./src/Typesense/Document.ts ***! - \***********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ Document: () => (/* binding */ Document) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _Collections__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Collections */ "./src/Typesense/Collections.ts"); -/* harmony import */ var _Documents__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Documents */ "./src/Typesense/Documents.ts"); - - - - - - -var Document = /*#__PURE__*/function () { - function Document(collectionName, documentId, apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Document); - this.collectionName = collectionName; - this.documentId = documentId; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Document, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "delete", - value: function () { - var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2(options) { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.delete(this.endpointPath(), options)); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function _delete(_x) { - return _delete2.apply(this, arguments); - } - return _delete; - }() - }, { - key: "update", - value: function () { - var _update = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee3(partialDocument) { - var options, - _args3 = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee3$(_context3) { - while (1) switch (_context3.prev = _context3.next) { - case 0: - options = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : {}; - return _context3.abrupt("return", this.apiCall.patch(this.endpointPath(), partialDocument, options)); - case 2: - case "end": - return _context3.stop(); - } - }, _callee3, this); - })); - function update(_x2) { - return _update.apply(this, arguments); - } - return update; - }() - }, { - key: "endpointPath", - value: function endpointPath() { - return "".concat(_Collections__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(this.collectionName).concat(_Documents__WEBPACK_IMPORTED_MODULE_5__["default"].RESOURCEPATH, "/").concat(this.documentId); - } - }]); - return Document; -}(); - -/***/ }), - -/***/ "./src/Typesense/Documents.ts": -/*!************************************!*\ - !*** ./src/Typesense/Documents.ts ***! - \************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Documents) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"); -/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); -/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var _Errors__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Errors */ "./src/Typesense/Errors/index.ts"); -/* harmony import */ var _SearchOnlyDocuments__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./SearchOnlyDocuments */ "./src/Typesense/SearchOnlyDocuments.ts"); - - - - - - - -function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__["default"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__["default"])(t).constructor) : o.apply(t, e)); } -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } - - - -// Todo: use generic to extract filter_by values - -// Todo: we could infer whether this is a grouped response by adding the search params as a generic - -var isNodeJSEnvironment = typeof process !== "undefined" && process.versions != null && process.versions.node != null; -var Documents = /*#__PURE__*/function (_ref) { - (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__["default"])(Documents, _ref); - function Documents(collectionName, apiCall, configuration) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Documents); - return _callSuper(this, Documents, [collectionName, apiCall, configuration]); - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Documents, [{ - key: "create", - value: function () { - var _create = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().mark(function _callee(document) { - var options, - _args = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - options = _args.length > 1 && _args[1] !== undefined ? _args[1] : {}; - if (document) { - _context.next = 3; - break; - } - throw new Error("No document provided"); - case 3: - return _context.abrupt("return", this.apiCall.post(this.endpointPath(), document, options)); - case 4: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function create(_x) { - return _create.apply(this, arguments); - } - return create; - }() - }, { - key: "upsert", - value: function () { - var _upsert = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().mark(function _callee2(document) { - var options, - _args2 = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - options = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : {}; - if (document) { - _context2.next = 3; - break; - } - throw new Error("No document provided"); - case 3: - return _context2.abrupt("return", this.apiCall.post(this.endpointPath(), document, Object.assign({}, options, { - action: "upsert" - }))); - case 4: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function upsert(_x2) { - return _upsert.apply(this, arguments); - } - return upsert; - }() - }, { - key: "update", - value: function () { - var _update = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().mark(function _callee3(document) { - var options, - _args3 = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().wrap(function _callee3$(_context3) { - while (1) switch (_context3.prev = _context3.next) { - case 0: - options = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : {}; - if (document) { - _context3.next = 3; - break; - } - throw new Error("No document provided"); - case 3: - if (!(options["filter_by"] != null)) { - _context3.next = 7; - break; - } - return _context3.abrupt("return", this.apiCall.patch(this.endpointPath(), document, Object.assign({}, options))); - case 7: - return _context3.abrupt("return", this.apiCall.post(this.endpointPath(), document, Object.assign({}, options, { - action: "update" - }))); - case 8: - case "end": - return _context3.stop(); - } - }, _callee3, this); - })); - function update(_x3) { - return _update.apply(this, arguments); - } - return update; - }() - }, { - key: "delete", - value: function () { - var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().mark(function _callee4() { - var query, - _args4 = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().wrap(function _callee4$(_context4) { - while (1) switch (_context4.prev = _context4.next) { - case 0: - query = _args4.length > 0 && _args4[0] !== undefined ? _args4[0] : {}; - return _context4.abrupt("return", this.apiCall.delete(this.endpointPath(), query)); - case 2: - case "end": - return _context4.stop(); - } - }, _callee4, this); - })); - function _delete() { - return _delete2.apply(this, arguments); - } - return _delete; - }() - }, { - key: "createMany", - value: function () { - var _createMany = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().mark(function _callee5(documents) { - var options, - _args5 = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().wrap(function _callee5$(_context5) { - while (1) switch (_context5.prev = _context5.next) { - case 0: - options = _args5.length > 1 && _args5[1] !== undefined ? _args5[1] : {}; - 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"); - return _context5.abrupt("return", this.import(documents, options)); - case 3: - case "end": - return _context5.stop(); - } - }, _callee5, this); - })); - function createMany(_x4) { - return _createMany.apply(this, arguments); - } - return createMany; - }() - /** - * Import a set of documents in a batch. - * @param {string|Array} documents - Can be a JSONL string of documents or an array of document objects. - * @param options - * @return {string|Array} Returns a JSONL string if the input was a JSONL string, otherwise it returns an array of results. - */ - }, { - key: "import", - value: function () { - var _import2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().mark(function _callee6(documents) { - var options, - documentsInJSONLFormat, - resultsInJSONLFormat, - resultsInJSONFormat, - failedItems, - _args6 = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().wrap(function _callee6$(_context6) { - while (1) switch (_context6.prev = _context6.next) { - case 0: - options = _args6.length > 1 && _args6[1] !== undefined ? _args6[1] : {}; - if (!Array.isArray(documents)) { - _context6.next = 13; - break; - } - _context6.prev = 2; - documentsInJSONLFormat = documents.map(function (document) { - return JSON.stringify(document); - }).join("\n"); - _context6.next = 11; - break; - case 6: - _context6.prev = 6; - _context6.t0 = _context6["catch"](2); - if (!(_context6.t0 instanceof RangeError && _context6.t0.message.includes("Too many properties to enumerate"))) { - _context6.next = 10; - break; - } - throw new Error("".concat(_context6.t0, "\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 ")); - case 10: - throw new Error(_context6.t0); - case 11: - _context6.next = 14; - break; - case 13: - documentsInJSONLFormat = documents; - case 14: - _context6.next = 16; - return this.apiCall.performRequest("post", this.endpointPath("import"), { - queryParameters: options, - bodyParameters: documentsInJSONLFormat, - additionalHeaders: { - "Content-Type": "text/plain" - }, - 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 - enableKeepAlive: isNodeJSEnvironment ? true : false // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991 - }); - case 16: - resultsInJSONLFormat = _context6.sent; - if (!Array.isArray(documents)) { - _context6.next = 27; - break; - } - resultsInJSONFormat = resultsInJSONLFormat.split("\n").map(function (r) { - return JSON.parse(r); - }); - failedItems = resultsInJSONFormat.filter(function (r) { - return r.success === false; - }); - if (!(failedItems.length > 0)) { - _context6.next = 24; - break; - } - throw new _Errors__WEBPACK_IMPORTED_MODULE_7__.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); - case 24: - return _context6.abrupt("return", resultsInJSONFormat); - case 25: - _context6.next = 28; - break; - case 27: - return _context6.abrupt("return", resultsInJSONLFormat); - case 28: - case "end": - return _context6.stop(); - } - }, _callee6, this, [[2, 6]]); - })); - function _import(_x5) { - return _import2.apply(this, arguments); - } - return _import; - }() - /** - * Imports documents from a NodeJS readable stream of JSONL. - */ - }, { - key: "importStream", - value: (function () { - var _importStream = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().mark(function _callee7(readableStream) { - var options, - resultsInJSONLFormat, - resultsInJSONFormat, - failedItems, - _args7 = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().wrap(function _callee7$(_context7) { - while (1) switch (_context7.prev = _context7.next) { - case 0: - options = _args7.length > 1 && _args7[1] !== undefined ? _args7[1] : {}; - _context7.next = 3; - return this.apiCall.performRequest("post", this.endpointPath("import"), { - queryParameters: options, - bodyParameters: readableStream, - additionalHeaders: { - "Content-Type": "text/plain" - }, - 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 - enableKeepAlive: isNodeJSEnvironment ? true : false // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991 - }); - case 3: - resultsInJSONLFormat = _context7.sent; - resultsInJSONFormat = resultsInJSONLFormat.split("\n").map(function (r) { - return JSON.parse(r); - }); - failedItems = resultsInJSONFormat.filter(function (r) { - return r.success === false; - }); - if (!(failedItems.length > 0)) { - _context7.next = 10; - break; - } - throw new _Errors__WEBPACK_IMPORTED_MODULE_7__.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); - case 10: - return _context7.abrupt("return", resultsInJSONFormat); - case 11: - case "end": - return _context7.stop(); - } - }, _callee7, this); - })); - function importStream(_x6) { - return _importStream.apply(this, arguments); - } - return importStream; - }() - /** - * Returns a JSONL string for all the documents in this collection - */ - ) - }, { - key: "export", - value: (function () { - var _export2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().mark(function _callee8() { - var options, - _args8 = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().wrap(function _callee8$(_context8) { - while (1) switch (_context8.prev = _context8.next) { - case 0: - options = _args8.length > 0 && _args8[0] !== undefined ? _args8[0] : {}; - return _context8.abrupt("return", this.apiCall.get(this.endpointPath("export"), options)); - case 2: - case "end": - return _context8.stop(); - } - }, _callee8, this); - })); - function _export() { - return _export2.apply(this, arguments); - } - return _export; - }() - /** - * Returns a NodeJS readable stream of JSONL for all the documents in this collection. - */ - ) - }, { - key: "exportStream", - value: (function () { - var _exportStream = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().mark(function _callee9() { - var options, - _args9 = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().wrap(function _callee9$(_context9) { - while (1) switch (_context9.prev = _context9.next) { - case 0: - options = _args9.length > 0 && _args9[0] !== undefined ? _args9[0] : {}; - return _context9.abrupt("return", this.apiCall.get(this.endpointPath("export"), options, { - responseType: "stream" - })); - case 2: - case "end": - return _context9.stop(); - } - }, _callee9, this); - })); - function exportStream() { - return _exportStream.apply(this, arguments); - } - return exportStream; - }()) - }]); - return Documents; -}(_SearchOnlyDocuments__WEBPACK_IMPORTED_MODULE_8__.SearchOnlyDocuments); - - -/***/ }), - -/***/ "./src/Typesense/Errors/HTTPError.ts": -/*!*******************************************!*\ - !*** ./src/Typesense/Errors/HTTPError.ts ***! - \*******************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ HTTPError) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"); -/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); -/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js"); -/* harmony import */ var _TypesenseError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./TypesenseError */ "./src/Typesense/Errors/TypesenseError.ts"); - - - - - -function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(t).constructor) : o.apply(t, e)); } -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } - -var HTTPError = /*#__PURE__*/function (_TypesenseError) { - (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__["default"])(HTTPError, _TypesenseError); - function HTTPError() { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, HTTPError); - return _callSuper(this, HTTPError, arguments); - } - return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__["default"])(HTTPError); -}(_TypesenseError__WEBPACK_IMPORTED_MODULE_5__["default"]); - - -/***/ }), - -/***/ "./src/Typesense/Errors/ImportError.ts": -/*!*********************************************!*\ - !*** ./src/Typesense/Errors/ImportError.ts ***! - \*********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ ImportError) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"); -/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); -/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js"); -/* harmony import */ var _TypesenseError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./TypesenseError */ "./src/Typesense/Errors/TypesenseError.ts"); - - - - - -function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(t).constructor) : o.apply(t, e)); } -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } - -var ImportError = /*#__PURE__*/function (_TypesenseError) { - (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__["default"])(ImportError, _TypesenseError); - function ImportError(message, importResults) { - var _this; - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, ImportError); - _this = _callSuper(this, ImportError, [message]); - _this.importResults = importResults; - return _this; - } - return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__["default"])(ImportError); -}(_TypesenseError__WEBPACK_IMPORTED_MODULE_5__["default"]); - - -/***/ }), - -/***/ "./src/Typesense/Errors/MissingConfigurationError.ts": -/*!***********************************************************!*\ - !*** ./src/Typesense/Errors/MissingConfigurationError.ts ***! - \***********************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ MissingConfigurationError) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"); -/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); -/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js"); -/* harmony import */ var _TypesenseError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./TypesenseError */ "./src/Typesense/Errors/TypesenseError.ts"); - - - - - -function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(t).constructor) : o.apply(t, e)); } -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } - -var MissingConfigurationError = /*#__PURE__*/function (_TypesenseError) { - (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__["default"])(MissingConfigurationError, _TypesenseError); - function MissingConfigurationError() { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, MissingConfigurationError); - return _callSuper(this, MissingConfigurationError, arguments); - } - return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__["default"])(MissingConfigurationError); -}(_TypesenseError__WEBPACK_IMPORTED_MODULE_5__["default"]); - - -/***/ }), - -/***/ "./src/Typesense/Errors/ObjectAlreadyExists.ts": -/*!*****************************************************!*\ - !*** ./src/Typesense/Errors/ObjectAlreadyExists.ts ***! - \*****************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ ObjectAlreadyExists) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"); -/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); -/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js"); -/* harmony import */ var _TypesenseError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./TypesenseError */ "./src/Typesense/Errors/TypesenseError.ts"); - - - - - -function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(t).constructor) : o.apply(t, e)); } -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } - -var ObjectAlreadyExists = /*#__PURE__*/function (_TypesenseError) { - (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__["default"])(ObjectAlreadyExists, _TypesenseError); - function ObjectAlreadyExists() { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, ObjectAlreadyExists); - return _callSuper(this, ObjectAlreadyExists, arguments); - } - return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__["default"])(ObjectAlreadyExists); -}(_TypesenseError__WEBPACK_IMPORTED_MODULE_5__["default"]); - - -/***/ }), - -/***/ "./src/Typesense/Errors/ObjectNotFound.ts": -/*!************************************************!*\ - !*** ./src/Typesense/Errors/ObjectNotFound.ts ***! - \************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ ObjectNotFound) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"); -/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); -/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js"); -/* harmony import */ var _TypesenseError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./TypesenseError */ "./src/Typesense/Errors/TypesenseError.ts"); - - - - - -function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(t).constructor) : o.apply(t, e)); } -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } - -var ObjectNotFound = /*#__PURE__*/function (_TypesenseError) { - (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__["default"])(ObjectNotFound, _TypesenseError); - function ObjectNotFound() { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, ObjectNotFound); - return _callSuper(this, ObjectNotFound, arguments); - } - return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__["default"])(ObjectNotFound); -}(_TypesenseError__WEBPACK_IMPORTED_MODULE_5__["default"]); - - -/***/ }), - -/***/ "./src/Typesense/Errors/ObjectUnprocessable.ts": -/*!*****************************************************!*\ - !*** ./src/Typesense/Errors/ObjectUnprocessable.ts ***! - \*****************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ ObjectUnprocessable) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"); -/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); -/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js"); -/* harmony import */ var _TypesenseError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./TypesenseError */ "./src/Typesense/Errors/TypesenseError.ts"); - - - - - -function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(t).constructor) : o.apply(t, e)); } -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } - -var ObjectUnprocessable = /*#__PURE__*/function (_TypesenseError) { - (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__["default"])(ObjectUnprocessable, _TypesenseError); - function ObjectUnprocessable() { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, ObjectUnprocessable); - return _callSuper(this, ObjectUnprocessable, arguments); - } - return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__["default"])(ObjectUnprocessable); -}(_TypesenseError__WEBPACK_IMPORTED_MODULE_5__["default"]); - - -/***/ }), - -/***/ "./src/Typesense/Errors/RequestMalformed.ts": -/*!**************************************************!*\ - !*** ./src/Typesense/Errors/RequestMalformed.ts ***! - \**************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ RequestMalformed) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"); -/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); -/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js"); -/* harmony import */ var _TypesenseError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./TypesenseError */ "./src/Typesense/Errors/TypesenseError.ts"); - - - - - -function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(t).constructor) : o.apply(t, e)); } -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } - -var RequestMalformed = /*#__PURE__*/function (_TypesenseError) { - (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__["default"])(RequestMalformed, _TypesenseError); - function RequestMalformed() { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, RequestMalformed); - return _callSuper(this, RequestMalformed, arguments); - } - return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__["default"])(RequestMalformed); -}(_TypesenseError__WEBPACK_IMPORTED_MODULE_5__["default"]); - - -/***/ }), - -/***/ "./src/Typesense/Errors/RequestUnauthorized.ts": -/*!*****************************************************!*\ - !*** ./src/Typesense/Errors/RequestUnauthorized.ts ***! - \*****************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ RequestUnauthorized) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"); -/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); -/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js"); -/* harmony import */ var _TypesenseError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./TypesenseError */ "./src/Typesense/Errors/TypesenseError.ts"); - - - - - -function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(t).constructor) : o.apply(t, e)); } -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } - -var RequestUnauthorized = /*#__PURE__*/function (_TypesenseError) { - (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__["default"])(RequestUnauthorized, _TypesenseError); - function RequestUnauthorized() { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, RequestUnauthorized); - return _callSuper(this, RequestUnauthorized, arguments); - } - return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__["default"])(RequestUnauthorized); -}(_TypesenseError__WEBPACK_IMPORTED_MODULE_5__["default"]); - - -/***/ }), - -/***/ "./src/Typesense/Errors/ServerError.ts": -/*!*********************************************!*\ - !*** ./src/Typesense/Errors/ServerError.ts ***! - \*********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ ServerError) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"); -/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); -/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js"); -/* harmony import */ var _TypesenseError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./TypesenseError */ "./src/Typesense/Errors/TypesenseError.ts"); - - - - - -function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(t).constructor) : o.apply(t, e)); } -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } - -var ServerError = /*#__PURE__*/function (_TypesenseError) { - (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__["default"])(ServerError, _TypesenseError); - function ServerError() { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, ServerError); - return _callSuper(this, ServerError, arguments); - } - return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__["default"])(ServerError); -}(_TypesenseError__WEBPACK_IMPORTED_MODULE_5__["default"]); - - -/***/ }), - -/***/ "./src/Typesense/Errors/TypesenseError.ts": -/*!************************************************!*\ - !*** ./src/Typesense/Errors/TypesenseError.ts ***! - \************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ TypesenseError) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"); -/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); -/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ "./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js"); -/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js"); -/* harmony import */ var _babel_runtime_helpers_wrapNativeSuper__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/wrapNativeSuper */ "./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js"); - - - - - - - -function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(t).constructor) : o.apply(t, e)); } -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } -var TypesenseError = /*#__PURE__*/function (_Error) { - (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__["default"])(TypesenseError, _Error); - // Source: https://stackoverflow.com/a/58417721/123545 - function TypesenseError(message) { - var _this; - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, TypesenseError); - _this = _callSuper(this, TypesenseError, [message]); - _this.name = (this instanceof TypesenseError ? this.constructor : void 0).name; - Object.setPrototypeOf((0,_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4__["default"])(_this), (this instanceof TypesenseError ? this.constructor : void 0).prototype); - return _this; - } - return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__["default"])(TypesenseError); -}( /*#__PURE__*/(0,_babel_runtime_helpers_wrapNativeSuper__WEBPACK_IMPORTED_MODULE_6__["default"])(Error)); - - -/***/ }), - -/***/ "./src/Typesense/Errors/index.ts": -/*!***************************************!*\ - !*** ./src/Typesense/Errors/index.ts ***! - \***************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ HTTPError: () => (/* reexport safe */ _HTTPError__WEBPACK_IMPORTED_MODULE_0__["default"]), -/* harmony export */ ImportError: () => (/* reexport safe */ _ImportError__WEBPACK_IMPORTED_MODULE_8__["default"]), -/* harmony export */ MissingConfigurationError: () => (/* reexport safe */ _MissingConfigurationError__WEBPACK_IMPORTED_MODULE_1__["default"]), -/* harmony export */ ObjectAlreadyExists: () => (/* reexport safe */ _ObjectAlreadyExists__WEBPACK_IMPORTED_MODULE_2__["default"]), -/* harmony export */ ObjectNotFound: () => (/* reexport safe */ _ObjectNotFound__WEBPACK_IMPORTED_MODULE_3__["default"]), -/* harmony export */ ObjectUnprocessable: () => (/* reexport safe */ _ObjectUnprocessable__WEBPACK_IMPORTED_MODULE_4__["default"]), -/* harmony export */ RequestMalformed: () => (/* reexport safe */ _RequestMalformed__WEBPACK_IMPORTED_MODULE_5__["default"]), -/* harmony export */ RequestUnauthorized: () => (/* reexport safe */ _RequestUnauthorized__WEBPACK_IMPORTED_MODULE_6__["default"]), -/* harmony export */ ServerError: () => (/* reexport safe */ _ServerError__WEBPACK_IMPORTED_MODULE_7__["default"]), -/* harmony export */ TypesenseError: () => (/* reexport safe */ _TypesenseError__WEBPACK_IMPORTED_MODULE_9__["default"]) -/* harmony export */ }); -/* harmony import */ var _HTTPError__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./HTTPError */ "./src/Typesense/Errors/HTTPError.ts"); -/* harmony import */ var _MissingConfigurationError__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./MissingConfigurationError */ "./src/Typesense/Errors/MissingConfigurationError.ts"); -/* harmony import */ var _ObjectAlreadyExists__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ObjectAlreadyExists */ "./src/Typesense/Errors/ObjectAlreadyExists.ts"); -/* harmony import */ var _ObjectNotFound__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ObjectNotFound */ "./src/Typesense/Errors/ObjectNotFound.ts"); -/* harmony import */ var _ObjectUnprocessable__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ObjectUnprocessable */ "./src/Typesense/Errors/ObjectUnprocessable.ts"); -/* harmony import */ var _RequestMalformed__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./RequestMalformed */ "./src/Typesense/Errors/RequestMalformed.ts"); -/* harmony import */ var _RequestUnauthorized__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./RequestUnauthorized */ "./src/Typesense/Errors/RequestUnauthorized.ts"); -/* harmony import */ var _ServerError__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./ServerError */ "./src/Typesense/Errors/ServerError.ts"); -/* harmony import */ var _ImportError__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./ImportError */ "./src/Typesense/Errors/ImportError.ts"); -/* harmony import */ var _TypesenseError__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./TypesenseError */ "./src/Typesense/Errors/TypesenseError.ts"); - - - - - - - - - - - - -/***/ }), - -/***/ "./src/Typesense/Health.ts": -/*!*********************************!*\ - !*** ./src/Typesense/Health.ts ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Health) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); - - - - -var RESOURCEPATH = "/health"; -var Health = /*#__PURE__*/function () { - function Health(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Health); - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Health, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(RESOURCEPATH)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }]); - return Health; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Key.ts": -/*!******************************!*\ - !*** ./src/Typesense/Key.ts ***! - \******************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Key) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _Keys__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Keys */ "./src/Typesense/Keys.ts"); - - - - - -var Key = /*#__PURE__*/function () { - function Key(id, apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Key); - this.id = id; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Key, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "delete", - value: function () { - var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.delete(this.endpointPath())); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function _delete() { - return _delete2.apply(this, arguments); - } - return _delete; - }() - }, { - key: "endpointPath", - value: function endpointPath() { - return "".concat(_Keys__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(this.id); - } - }]); - return Key; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Keys.ts": -/*!*******************************!*\ - !*** ./src/Typesense/Keys.ts ***! - \*******************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Keys) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var crypto__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! crypto */ "?4bf0"); -/* harmony import */ var crypto__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(crypto__WEBPACK_IMPORTED_MODULE_4__); - - - - - -var RESOURCEPATH = "/keys"; -var Keys = /*#__PURE__*/function () { - function Keys(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Keys); - this.apiCall = apiCall; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Keys, [{ - key: "create", - value: function () { - var _create = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(params) { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.post(Keys.RESOURCEPATH, params)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function create(_x) { - return _create.apply(this, arguments); - } - return create; - }() - }, { - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.get(RESOURCEPATH)); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "generateScopedSearchKey", - value: function generateScopedSearchKey(searchKey, parameters) { - // Note: only a key generated with the `documents:search` action will be - // accepted by the server, when usined with the search endpoint. - var paramsJSON = JSON.stringify(parameters); - var digest = Buffer.from((0,crypto__WEBPACK_IMPORTED_MODULE_4__.createHmac)("sha256", searchKey).update(paramsJSON).digest("base64")); - var keyPrefix = searchKey.substr(0, 4); - var rawScopedKey = "".concat(digest).concat(keyPrefix).concat(paramsJSON); - return Buffer.from(rawScopedKey).toString("base64"); - } - }], [{ - key: "RESOURCEPATH", - get: function get() { - return RESOURCEPATH; - } - }]); - return Keys; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Metrics.ts": -/*!**********************************!*\ - !*** ./src/Typesense/Metrics.ts ***! - \**********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Metrics) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); - - - - -var RESOURCEPATH = "/metrics.json"; -var Metrics = /*#__PURE__*/function () { - function Metrics(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Metrics); - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Metrics, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(RESOURCEPATH)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }]); - return Metrics; -}(); - - -/***/ }), - -/***/ "./src/Typesense/MultiSearch.ts": -/*!**************************************!*\ - !*** ./src/Typesense/MultiSearch.ts ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ MultiSearch) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _RequestWithCache__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./RequestWithCache */ "./src/Typesense/RequestWithCache.ts"); - - - - - -var RESOURCEPATH = "/multi_search"; -var MultiSearch = /*#__PURE__*/function () { - function MultiSearch(apiCall, configuration) { - var useTextContentType = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, MultiSearch); - this.apiCall = apiCall; - this.configuration = configuration; - this.useTextContentType = useTextContentType; - this.requestWithCache = new _RequestWithCache__WEBPACK_IMPORTED_MODULE_4__["default"](); - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(MultiSearch, [{ - key: "clearCache", - value: function clearCache() { - this.requestWithCache.clearCache(); - } - }, { - key: "perform", - value: function () { - var _perform = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(searchRequests) { - var commonParams, - _ref, - _ref$cacheSearchResul, - cacheSearchResultsForSeconds, - additionalHeaders, - additionalQueryParams, - queryParams, - _args = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - commonParams = _args.length > 1 && _args[1] !== undefined ? _args[1] : {}; - _ref = _args.length > 2 && _args[2] !== undefined ? _args[2] : {}, _ref$cacheSearchResul = _ref.cacheSearchResultsForSeconds, cacheSearchResultsForSeconds = _ref$cacheSearchResul === void 0 ? this.configuration.cacheSearchResultsForSeconds : _ref$cacheSearchResul; - additionalHeaders = {}; - if (this.useTextContentType) { - additionalHeaders["content-type"] = "text/plain"; - } - additionalQueryParams = {}; - if (this.configuration.useServerSideSearchCache === true) { - additionalQueryParams["use_cache"] = true; - } - queryParams = Object.assign({}, commonParams, additionalQueryParams); - return _context.abrupt("return", this.requestWithCache.perform(this.apiCall, this.apiCall.post, [RESOURCEPATH, searchRequests, queryParams, additionalHeaders], { - cacheResponseForSeconds: cacheSearchResultsForSeconds - })); - case 8: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function perform(_x) { - return _perform.apply(this, arguments); - } - return perform; - }() - }]); - return MultiSearch; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Operations.ts": -/*!*************************************!*\ - !*** ./src/Typesense/Operations.ts ***! - \*************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Operations) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); - - - - -var RESOURCEPATH = "/operations"; -var Operations = /*#__PURE__*/function () { - function Operations(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Operations); - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Operations, [{ - key: "perform", - value: function () { - var _perform = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(operationName) { - var queryParameters, - _args = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - queryParameters = _args.length > 1 && _args[1] !== undefined ? _args[1] : {}; - return _context.abrupt("return", this.apiCall.post("".concat(RESOURCEPATH, "/").concat(operationName), {}, queryParameters)); - case 2: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function perform(_x) { - return _perform.apply(this, arguments); - } - return perform; - }() - }]); - return Operations; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Override.ts": -/*!***********************************!*\ - !*** ./src/Typesense/Override.ts ***! - \***********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Override) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _Collections__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Collections */ "./src/Typesense/Collections.ts"); -/* harmony import */ var _Overrides__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Overrides */ "./src/Typesense/Overrides.ts"); - - - - - - -var Override = /*#__PURE__*/function () { - function Override(collectionName, overrideId, apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Override); - this.collectionName = collectionName; - this.overrideId = overrideId; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Override, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "delete", - value: function () { - var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.delete(this.endpointPath())); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function _delete() { - return _delete2.apply(this, arguments); - } - return _delete; - }() - }, { - key: "endpointPath", - value: function endpointPath() { - return "".concat(_Collections__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(this.collectionName).concat(_Overrides__WEBPACK_IMPORTED_MODULE_5__["default"].RESOURCEPATH, "/").concat(this.overrideId); - } - }]); - return Override; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Overrides.ts": -/*!************************************!*\ - !*** ./src/Typesense/Overrides.ts ***! - \************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Overrides) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _Collections__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Collections */ "./src/Typesense/Collections.ts"); - - - - - -var RESOURCEPATH = "/overrides"; -var Overrides = /*#__PURE__*/function () { - function Overrides(collectionName, apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Overrides); - this.collectionName = collectionName; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Overrides, [{ - key: "upsert", - value: function () { - var _upsert = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(overrideId, params) { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.put(this.endpointPath(overrideId), params)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function upsert(_x, _x2) { - return _upsert.apply(this, arguments); - } - return upsert; - }() - }, { - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "endpointPath", - value: function endpointPath(operation) { - return "".concat(_Collections__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(this.collectionName).concat(Overrides.RESOURCEPATH).concat(operation === undefined ? "" : "/" + operation); - } - }], [{ - key: "RESOURCEPATH", - get: function get() { - return RESOURCEPATH; - } - }]); - return Overrides; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Preset.ts": -/*!*********************************!*\ - !*** ./src/Typesense/Preset.ts ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Preset) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _Presets__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Presets */ "./src/Typesense/Presets.ts"); - - - - - -var Preset = /*#__PURE__*/function () { - function Preset(presetId, apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Preset); - this.presetId = presetId; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Preset, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "delete", - value: function () { - var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.delete(this.endpointPath())); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function _delete() { - return _delete2.apply(this, arguments); - } - return _delete; - }() - }, { - key: "endpointPath", - value: function endpointPath() { - return "".concat(_Presets__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(this.presetId); - } - }]); - return Preset; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Presets.ts": -/*!**********************************!*\ - !*** ./src/Typesense/Presets.ts ***! - \**********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Presets) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); - - - - -var RESOURCEPATH = "/presets"; -var Presets = /*#__PURE__*/function () { - function Presets(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Presets); - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Presets, [{ - key: "upsert", - value: function () { - var _upsert = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(presetId, params) { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.put(this.endpointPath(presetId), params)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function upsert(_x, _x2) { - return _upsert.apply(this, arguments); - } - return upsert; - }() - }, { - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "endpointPath", - value: function endpointPath(operation) { - return "".concat(Presets.RESOURCEPATH).concat(operation === undefined ? "" : "/" + operation); - } - }], [{ - key: "RESOURCEPATH", - get: function get() { - return RESOURCEPATH; - } - }]); - return Presets; -}(); - - -/***/ }), - -/***/ "./src/Typesense/RequestWithCache.ts": -/*!*******************************************!*\ - !*** ./src/Typesense/RequestWithCache.ts ***! - \*******************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ RequestWithCache) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js"); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_5__); - - - - - - -var defaultCacheResponseForSeconds = 2 * 60; -var defaultMaxSize = 100; -var RequestWithCache = /*#__PURE__*/function () { - function RequestWithCache() { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__["default"])(this, RequestWithCache); - (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_4__["default"])(this, "responseCache", new Map()); - (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_4__["default"])(this, "responsePromiseCache", new Map()); - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__["default"])(RequestWithCache, [{ - key: "clearCache", - value: function clearCache() { - this.responseCache = new Map(); - this.responsePromiseCache = new Map(); - } - - // Todo: should probably be passed a callback instead, or an apiCall instance. Types are messy this way - }, { - key: "perform", - value: function () { - var _perform = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_5___default().mark(function _callee(requestContext, requestFunction, requestFunctionArguments, cacheOptions) { - var _cacheOptions$cacheRe, cacheResponseForSeconds, _cacheOptions$maxSize, maxSize, isCacheDisabled, requestFunctionArgumentsJSON, cacheEntry, now, isEntryValid, cachePromiseEntry, _isEntryValid, responsePromise, response, isCacheOverMaxSize, oldestEntry, isResponsePromiseCacheOverMaxSize, _oldestEntry; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_5___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - _cacheOptions$cacheRe = cacheOptions.cacheResponseForSeconds, cacheResponseForSeconds = _cacheOptions$cacheRe === void 0 ? defaultCacheResponseForSeconds : _cacheOptions$cacheRe, _cacheOptions$maxSize = cacheOptions.maxSize, maxSize = _cacheOptions$maxSize === void 0 ? defaultMaxSize : _cacheOptions$maxSize; - isCacheDisabled = cacheResponseForSeconds <= 0 || maxSize <= 0; - if (!isCacheDisabled) { - _context.next = 4; - break; - } - return _context.abrupt("return", requestFunction.call.apply(requestFunction, [requestContext].concat((0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__["default"])(requestFunctionArguments)))); - case 4: - requestFunctionArgumentsJSON = JSON.stringify(requestFunctionArguments); - cacheEntry = this.responseCache.get(requestFunctionArgumentsJSON); - now = Date.now(); - if (!cacheEntry) { - _context.next = 16; - break; - } - isEntryValid = now - cacheEntry.requestTimestamp < cacheResponseForSeconds * 1000; - if (!isEntryValid) { - _context.next = 15; - break; - } - this.responseCache.delete(requestFunctionArgumentsJSON); - this.responseCache.set(requestFunctionArgumentsJSON, cacheEntry); - return _context.abrupt("return", Promise.resolve(cacheEntry.response)); - case 15: - this.responseCache.delete(requestFunctionArgumentsJSON); - case 16: - cachePromiseEntry = this.responsePromiseCache.get(requestFunctionArgumentsJSON); - if (!cachePromiseEntry) { - _context.next = 26; - break; - } - _isEntryValid = now - cachePromiseEntry.requestTimestamp < cacheResponseForSeconds * 1000; - if (!_isEntryValid) { - _context.next = 25; - break; - } - this.responsePromiseCache.delete(requestFunctionArgumentsJSON); - this.responsePromiseCache.set(requestFunctionArgumentsJSON, cachePromiseEntry); - return _context.abrupt("return", cachePromiseEntry.responsePromise); - case 25: - this.responsePromiseCache.delete(requestFunctionArgumentsJSON); - case 26: - responsePromise = requestFunction.call.apply(requestFunction, [requestContext].concat((0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__["default"])(requestFunctionArguments))); - this.responsePromiseCache.set(requestFunctionArgumentsJSON, { - requestTimestamp: now, - responsePromise: responsePromise - }); - _context.next = 30; - return responsePromise; - case 30: - response = _context.sent; - this.responseCache.set(requestFunctionArgumentsJSON, { - requestTimestamp: now, - response: response - }); - isCacheOverMaxSize = this.responseCache.size > maxSize; - if (isCacheOverMaxSize) { - oldestEntry = this.responseCache.keys().next().value; - this.responseCache.delete(oldestEntry); - } - isResponsePromiseCacheOverMaxSize = this.responsePromiseCache.size > maxSize; - if (isResponsePromiseCacheOverMaxSize) { - _oldestEntry = this.responsePromiseCache.keys().next().value; - this.responsePromiseCache.delete(_oldestEntry); - } - return _context.abrupt("return", response); - case 37: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function perform(_x, _x2, _x3, _x4) { - return _perform.apply(this, arguments); - } - return perform; - }() - }]); - return RequestWithCache; -}(); - - -/***/ }), - -/***/ "./src/Typesense/SearchClient.ts": -/*!***************************************!*\ - !*** ./src/Typesense/SearchClient.ts ***! - \***************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ SearchClient) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "./node_modules/@babel/runtime/helpers/esm/slicedToArray.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _Configuration__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Configuration */ "./src/Typesense/Configuration.ts"); -/* harmony import */ var _ApiCall__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ApiCall */ "./src/Typesense/ApiCall.ts"); -/* harmony import */ var _MultiSearch__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./MultiSearch */ "./src/Typesense/MultiSearch.ts"); -/* harmony import */ var _SearchOnlyCollection__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./SearchOnlyCollection */ "./src/Typesense/SearchOnlyCollection.ts"); - - - - - - - -var SearchClient = /*#__PURE__*/function () { - function SearchClient(options) { - var _options$sendApiKeyAs; - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, SearchClient); - options.sendApiKeyAsQueryParam = (_options$sendApiKeyAs = options.sendApiKeyAsQueryParam) !== null && _options$sendApiKeyAs !== void 0 ? _options$sendApiKeyAs : true; - if (options.sendApiKeyAsQueryParam === true && (options.apiKey || "").length > 2000) { - console.warn("[typesense] API Key is longer than 2000 characters which is over the allowed limit, so disabling sending it as a query parameter."); - options.sendApiKeyAsQueryParam = false; - } - this.configuration = new _Configuration__WEBPACK_IMPORTED_MODULE_3__["default"](options); - this.apiCall = new _ApiCall__WEBPACK_IMPORTED_MODULE_4__["default"](this.configuration); - this.multiSearch = new _MultiSearch__WEBPACK_IMPORTED_MODULE_5__["default"](this.apiCall, this.configuration, true); - this.individualCollections = {}; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(SearchClient, [{ - key: "clearCache", - value: function clearCache() { - this.multiSearch.clearCache(); - - // eslint-disable-next-line @typescript-eslint/no-unused-vars - Object.entries(this.individualCollections).forEach(function (_ref) { - var _ref2 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__["default"])(_ref, 2), - _ = _ref2[0], - collection = _ref2[1]; - collection.documents().clearCache(); - }); - } - }, { - key: "collections", - value: function collections(collectionName) { - if (!collectionName) { - 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."); - } else { - if (this.individualCollections[collectionName] === undefined) { - this.individualCollections[collectionName] = new _SearchOnlyCollection__WEBPACK_IMPORTED_MODULE_6__.SearchOnlyCollection(collectionName, this.apiCall, this.configuration); - } - return this.individualCollections[collectionName]; - } - } - }]); - return SearchClient; -}(); - - -/***/ }), - -/***/ "./src/Typesense/SearchOnlyCollection.ts": -/*!***********************************************!*\ - !*** ./src/Typesense/SearchOnlyCollection.ts ***! - \***********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ SearchOnlyCollection: () => (/* binding */ SearchOnlyCollection) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _SearchOnlyDocuments__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./SearchOnlyDocuments */ "./src/Typesense/SearchOnlyDocuments.ts"); - - - -var SearchOnlyCollection = /*#__PURE__*/function () { - function SearchOnlyCollection(name, apiCall, configuration) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__["default"])(this, SearchOnlyCollection); - this.name = name; - this.apiCall = apiCall; - this.configuration = configuration; - this._documents = new _SearchOnlyDocuments__WEBPACK_IMPORTED_MODULE_2__.SearchOnlyDocuments(this.name, this.apiCall, this.configuration); - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__["default"])(SearchOnlyCollection, [{ - key: "documents", - value: function documents() { - return this._documents; - } - }]); - return SearchOnlyCollection; -}(); - -/***/ }), - -/***/ "./src/Typesense/SearchOnlyDocuments.ts": -/*!**********************************************!*\ - !*** ./src/Typesense/SearchOnlyDocuments.ts ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ SearchOnlyDocuments: () => (/* binding */ SearchOnlyDocuments) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var _RequestWithCache__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./RequestWithCache */ "./src/Typesense/RequestWithCache.ts"); -/* harmony import */ var _Collections__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Collections */ "./src/Typesense/Collections.ts"); - - - - - - - -var RESOURCEPATH = "/documents"; -var SearchOnlyDocuments = /*#__PURE__*/function () { - function SearchOnlyDocuments(collectionName, apiCall, configuration) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, SearchOnlyDocuments); - (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_3__["default"])(this, "requestWithCache", new _RequestWithCache__WEBPACK_IMPORTED_MODULE_5__["default"]()); - this.collectionName = collectionName; - this.apiCall = apiCall; - this.configuration = configuration; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(SearchOnlyDocuments, [{ - key: "clearCache", - value: function clearCache() { - this.requestWithCache.clearCache(); - } - }, { - key: "search", - value: function () { - var _search = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee(searchParameters) { - var _ref, - _ref$cacheSearchResul, - cacheSearchResultsForSeconds, - _ref$abortSignal, - abortSignal, - additionalQueryParams, - key, - queryParams, - _args = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - _ref = _args.length > 1 && _args[1] !== undefined ? _args[1] : {}, _ref$cacheSearchResul = _ref.cacheSearchResultsForSeconds, cacheSearchResultsForSeconds = _ref$cacheSearchResul === void 0 ? this.configuration.cacheSearchResultsForSeconds : _ref$cacheSearchResul, _ref$abortSignal = _ref.abortSignal, abortSignal = _ref$abortSignal === void 0 ? null : _ref$abortSignal; - additionalQueryParams = {}; - if (this.configuration.useServerSideSearchCache === true) { - additionalQueryParams["use_cache"] = true; - } - for (key in searchParameters) { - if (Array.isArray(searchParameters[key])) { - additionalQueryParams[key] = searchParameters[key].join(","); - } - } - queryParams = Object.assign({}, searchParameters, additionalQueryParams); - return _context.abrupt("return", this.requestWithCache.perform(this.apiCall, this.apiCall.get, [this.endpointPath("search"), queryParams, { - abortSignal: abortSignal - }], { - cacheResponseForSeconds: cacheSearchResultsForSeconds - })); - case 6: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function search(_x) { - return _search.apply(this, arguments); - } - return search; - }() - }, { - key: "endpointPath", - value: function endpointPath(operation) { - return "".concat(_Collections__WEBPACK_IMPORTED_MODULE_6__["default"].RESOURCEPATH, "/").concat(this.collectionName).concat(RESOURCEPATH).concat(operation === undefined ? "" : "/" + operation); - } - }], [{ - key: "RESOURCEPATH", - get: function get() { - return RESOURCEPATH; - } - }]); - return SearchOnlyDocuments; -}(); - -/***/ }), - -/***/ "./src/Typesense/Stats.ts": -/*!********************************!*\ - !*** ./src/Typesense/Stats.ts ***! - \********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Metrics) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); - - - - -var RESOURCEPATH = "/stats.json"; -var Metrics = /*#__PURE__*/function () { - function Metrics(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Metrics); - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Metrics, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(RESOURCEPATH)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }]); - return Metrics; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Stopword.ts": -/*!***********************************!*\ - !*** ./src/Typesense/Stopword.ts ***! - \***********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Stopword) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _Stopwords__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Stopwords */ "./src/Typesense/Stopwords.ts"); - - - - - -var Stopword = /*#__PURE__*/function () { - function Stopword(stopwordId, apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Stopword); - this.stopwordId = stopwordId; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Stopword, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "delete", - value: function () { - var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.delete(this.endpointPath())); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function _delete() { - return _delete2.apply(this, arguments); - } - return _delete; - }() - }, { - key: "endpointPath", - value: function endpointPath() { - return "".concat(_Stopwords__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(this.stopwordId); - } - }]); - return Stopword; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Stopwords.ts": -/*!************************************!*\ - !*** ./src/Typesense/Stopwords.ts ***! - \************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Stopwords) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); - - - - -var RESOURCEPATH = "/stopwords"; -var Stopwords = /*#__PURE__*/function () { - function Stopwords(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Stopwords); - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Stopwords, [{ - key: "upsert", - value: function () { - var _upsert = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(stopwordId, params) { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.put(this.endpointPath(stopwordId), params)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function upsert(_x, _x2) { - return _upsert.apply(this, arguments); - } - return upsert; - }() - }, { - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "endpointPath", - value: function endpointPath(operation) { - return "".concat(Stopwords.RESOURCEPATH).concat(operation === undefined ? "" : "/" + operation); - } - }], [{ - key: "RESOURCEPATH", - get: function get() { - return RESOURCEPATH; - } - }]); - return Stopwords; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Synonym.ts": -/*!**********************************!*\ - !*** ./src/Typesense/Synonym.ts ***! - \**********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Synonym) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _Collections__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Collections */ "./src/Typesense/Collections.ts"); -/* harmony import */ var _Synonyms__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Synonyms */ "./src/Typesense/Synonyms.ts"); - - - - - - -var Synonym = /*#__PURE__*/function () { - function Synonym(collectionName, synonymId, apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Synonym); - this.collectionName = collectionName; - this.synonymId = synonymId; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Synonym, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "delete", - value: function () { - var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.delete(this.endpointPath())); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function _delete() { - return _delete2.apply(this, arguments); - } - return _delete; - }() - }, { - key: "endpointPath", - value: function endpointPath() { - return "".concat(_Collections__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(this.collectionName).concat(_Synonyms__WEBPACK_IMPORTED_MODULE_5__["default"].RESOURCEPATH, "/").concat(this.synonymId); - } - }]); - return Synonym; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Synonyms.ts": -/*!***********************************!*\ - !*** ./src/Typesense/Synonyms.ts ***! - \***********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Synonyms) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _Collections__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Collections */ "./src/Typesense/Collections.ts"); - - - - - -var RESOURCEPATH = "/synonyms"; -var Synonyms = /*#__PURE__*/function () { - function Synonyms(collectionName, apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Synonyms); - this.collectionName = collectionName; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Synonyms, [{ - key: "upsert", - value: function () { - var _upsert = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(synonymId, params) { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.put(this.endpointPath(synonymId), params)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function upsert(_x, _x2) { - return _upsert.apply(this, arguments); - } - return upsert; - }() - }, { - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "endpointPath", - value: function endpointPath(operation) { - return "".concat(_Collections__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(this.collectionName).concat(Synonyms.RESOURCEPATH).concat(operation === undefined ? "" : "/" + operation); - } - }], [{ - key: "RESOURCEPATH", - get: function get() { - return RESOURCEPATH; - } - }]); - return Synonyms; -}(); - - -/***/ }), - -/***/ "./node_modules/loglevel/lib/loglevel.js": -/*!***********************************************!*\ - !*** ./node_modules/loglevel/lib/loglevel.js ***! - \***********************************************/ -/***/ (function(module, exports, __webpack_require__) { - -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/* -* loglevel - https://github.com/pimterry/loglevel -* -* Copyright (c) 2013 Tim Perry -* Licensed under the MIT license. -*/ -(function (root, definition) { - "use strict"; - if (true) { - !(__WEBPACK_AMD_DEFINE_FACTORY__ = (definition), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) : - __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); - } else {} -}(this, function () { - "use strict"; - - // Slightly dubious tricks to cut down minimized file size - var noop = function() {}; - var undefinedType = "undefined"; - var isIE = (typeof window !== undefinedType) && (typeof window.navigator !== undefinedType) && ( - /Trident\/|MSIE /.test(window.navigator.userAgent) - ); - - var logMethods = [ - "trace", - "debug", - "info", - "warn", - "error" - ]; - - var _loggersByName = {}; - var defaultLogger = null; - - // Cross-browser bind equivalent that works at least back to IE6 - function bindMethod(obj, methodName) { - var method = obj[methodName]; - if (typeof method.bind === 'function') { - return method.bind(obj); - } else { - try { - return Function.prototype.bind.call(method, obj); - } catch (e) { - // Missing bind shim or IE8 + Modernizr, fallback to wrapping - return function() { - return Function.prototype.apply.apply(method, [obj, arguments]); - }; - } - } - } - - // Trace() doesn't print the message in IE, so for that case we need to wrap it - function traceForIE() { - if (console.log) { - if (console.log.apply) { - console.log.apply(console, arguments); - } else { - // In old IE, native console methods themselves don't have apply(). - Function.prototype.apply.apply(console.log, [console, arguments]); - } - } - if (console.trace) console.trace(); - } - - // Build the best logging method possible for this env - // Wherever possible we want to bind, not wrap, to preserve stack traces - function realMethod(methodName) { - if (methodName === 'debug') { - methodName = 'log'; - } - - if (typeof console === undefinedType) { - return false; // No method possible, for now - fixed later by enableLoggingWhenConsoleArrives - } else if (methodName === 'trace' && isIE) { - return traceForIE; - } else if (console[methodName] !== undefined) { - return bindMethod(console, methodName); - } else if (console.log !== undefined) { - return bindMethod(console, 'log'); - } else { - return noop; - } - } - - // These private functions always need `this` to be set properly - - function replaceLoggingMethods() { - /*jshint validthis:true */ - var level = this.getLevel(); - - // Replace the actual methods. - for (var i = 0; i < logMethods.length; i++) { - var methodName = logMethods[i]; - this[methodName] = (i < level) ? - noop : - this.methodFactory(methodName, level, this.name); - } - - // Define log.log as an alias for log.debug - this.log = this.debug; - - // Return any important warnings. - if (typeof console === undefinedType && level < this.levels.SILENT) { - return "No console available for logging"; - } - } - - // In old IE versions, the console isn't present until you first open it. - // We build realMethod() replacements here that regenerate logging methods - function enableLoggingWhenConsoleArrives(methodName) { - return function () { - if (typeof console !== undefinedType) { - replaceLoggingMethods.call(this); - this[methodName].apply(this, arguments); - } - }; - } - - // By default, we use closely bound real methods wherever possible, and - // otherwise we wait for a console to appear, and then try again. - function defaultMethodFactory(methodName, _level, _loggerName) { - /*jshint validthis:true */ - return realMethod(methodName) || - enableLoggingWhenConsoleArrives.apply(this, arguments); - } - - function Logger(name, factory) { - // Private instance variables. - var self = this; - /** - * The level inherited from a parent logger (or a global default). We - * cache this here rather than delegating to the parent so that it stays - * in sync with the actual logging methods that we have installed (the - * parent could change levels but we might not have rebuilt the loggers - * in this child yet). - * @type {number} - */ - var inheritedLevel; - /** - * The default level for this logger, if any. If set, this overrides - * `inheritedLevel`. - * @type {number|null} - */ - var defaultLevel; - /** - * A user-specific level for this logger. If set, this overrides - * `defaultLevel`. - * @type {number|null} - */ - var userLevel; - - var storageKey = "loglevel"; - if (typeof name === "string") { - storageKey += ":" + name; - } else if (typeof name === "symbol") { - storageKey = undefined; - } - - function persistLevelIfPossible(levelNum) { - var levelName = (logMethods[levelNum] || 'silent').toUpperCase(); - - if (typeof window === undefinedType || !storageKey) return; - - // Use localStorage if available - try { - window.localStorage[storageKey] = levelName; - return; - } catch (ignore) {} - - // Use session cookie as fallback - try { - window.document.cookie = - encodeURIComponent(storageKey) + "=" + levelName + ";"; - } catch (ignore) {} - } - - function getPersistedLevel() { - var storedLevel; - - if (typeof window === undefinedType || !storageKey) return; - - try { - storedLevel = window.localStorage[storageKey]; - } catch (ignore) {} - - // Fallback to cookies if local storage gives us nothing - if (typeof storedLevel === undefinedType) { - try { - var cookie = window.document.cookie; - var cookieName = encodeURIComponent(storageKey); - var location = cookie.indexOf(cookieName + "="); - if (location !== -1) { - storedLevel = /^([^;]+)/.exec( - cookie.slice(location + cookieName.length + 1) - )[1]; - } - } catch (ignore) {} - } - - // If the stored level is not valid, treat it as if nothing was stored. - if (self.levels[storedLevel] === undefined) { - storedLevel = undefined; - } - - return storedLevel; - } - - function clearPersistedLevel() { - if (typeof window === undefinedType || !storageKey) return; - - // Use localStorage if available - try { - window.localStorage.removeItem(storageKey); - } catch (ignore) {} - - // Use session cookie as fallback - try { - window.document.cookie = - encodeURIComponent(storageKey) + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC"; - } catch (ignore) {} - } - - function normalizeLevel(input) { - var level = input; - if (typeof level === "string" && self.levels[level.toUpperCase()] !== undefined) { - level = self.levels[level.toUpperCase()]; - } - if (typeof level === "number" && level >= 0 && level <= self.levels.SILENT) { - return level; - } else { - throw new TypeError("log.setLevel() called with invalid level: " + input); - } - } - - /* - * - * Public logger API - see https://github.com/pimterry/loglevel for details - * - */ - - self.name = name; - - self.levels = { "TRACE": 0, "DEBUG": 1, "INFO": 2, "WARN": 3, - "ERROR": 4, "SILENT": 5}; - - self.methodFactory = factory || defaultMethodFactory; - - self.getLevel = function () { - if (userLevel != null) { - return userLevel; - } else if (defaultLevel != null) { - return defaultLevel; - } else { - return inheritedLevel; - } - }; - - self.setLevel = function (level, persist) { - userLevel = normalizeLevel(level); - if (persist !== false) { // defaults to true - persistLevelIfPossible(userLevel); - } - - // NOTE: in v2, this should call rebuild(), which updates children. - return replaceLoggingMethods.call(self); - }; - - self.setDefaultLevel = function (level) { - defaultLevel = normalizeLevel(level); - if (!getPersistedLevel()) { - self.setLevel(level, false); - } - }; - - self.resetLevel = function () { - userLevel = null; - clearPersistedLevel(); - replaceLoggingMethods.call(self); - }; - - self.enableAll = function(persist) { - self.setLevel(self.levels.TRACE, persist); - }; - - self.disableAll = function(persist) { - self.setLevel(self.levels.SILENT, persist); - }; - - self.rebuild = function () { - if (defaultLogger !== self) { - inheritedLevel = normalizeLevel(defaultLogger.getLevel()); - } - replaceLoggingMethods.call(self); - - if (defaultLogger === self) { - for (var childName in _loggersByName) { - _loggersByName[childName].rebuild(); - } - } - }; - - // Initialize all the internal levels. - inheritedLevel = normalizeLevel( - defaultLogger ? defaultLogger.getLevel() : "WARN" - ); - var initialLevel = getPersistedLevel(); - if (initialLevel != null) { - userLevel = normalizeLevel(initialLevel); - } - replaceLoggingMethods.call(self); - } - - /* - * - * Top-level API - * - */ - - defaultLogger = new Logger(); - - defaultLogger.getLogger = function getLogger(name) { - if ((typeof name !== "symbol" && typeof name !== "string") || name === "") { - throw new TypeError("You must supply a name when creating a logger."); - } - - var logger = _loggersByName[name]; - if (!logger) { - logger = _loggersByName[name] = new Logger( - name, - defaultLogger.methodFactory - ); - } - return logger; - }; - - // Grab the current global log variable in case of overwrite - var _log = (typeof window !== undefinedType) ? window.log : undefined; - defaultLogger.noConflict = function() { - if (typeof window !== undefinedType && - window.log === defaultLogger) { - window.log = _log; - } - - return defaultLogger; - }; - - defaultLogger.getLoggers = function getLoggers() { - return _loggersByName; - }; - - // ES6 default export, for compatibility - defaultLogger['default'] = defaultLogger; - - return defaultLogger; -})); - - -/***/ }), - -/***/ "?4bf0": -/*!************************!*\ - !*** crypto (ignored) ***! - \************************/ -/***/ (() => { - -/* (ignored) */ - -/***/ }), - -/***/ "?e89d": -/*!**********************!*\ - !*** http (ignored) ***! - \**********************/ -/***/ (() => { - -/* (ignored) */ - -/***/ }), - -/***/ "?77e4": -/*!***********************!*\ - !*** https (ignored) ***! - \***********************/ -/***/ (() => { - -/* (ignored) */ - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/regeneratorRuntime.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/regeneratorRuntime.js ***! - \*******************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -var _typeof = (__webpack_require__(/*! ./typeof.js */ "./node_modules/@babel/runtime/helpers/typeof.js")["default"]); -function _regeneratorRuntime() { - "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ - module.exports = _regeneratorRuntime = function _regeneratorRuntime() { - return e; - }, module.exports.__esModule = true, module.exports["default"] = module.exports; - var t, - e = {}, - r = Object.prototype, - n = r.hasOwnProperty, - o = Object.defineProperty || function (t, e, r) { - t[e] = r.value; - }, - i = "function" == typeof Symbol ? Symbol : {}, - a = i.iterator || "@@iterator", - c = i.asyncIterator || "@@asyncIterator", - u = i.toStringTag || "@@toStringTag"; - function define(t, e, r) { - return Object.defineProperty(t, e, { - value: r, - enumerable: !0, - configurable: !0, - writable: !0 - }), t[e]; - } - try { - define({}, ""); - } catch (t) { - define = function define(t, e, r) { - return t[e] = r; - }; - } - function wrap(t, e, r, n) { - var i = e && e.prototype instanceof Generator ? e : Generator, - a = Object.create(i.prototype), - c = new Context(n || []); - return o(a, "_invoke", { - value: makeInvokeMethod(t, r, c) - }), a; - } - function tryCatch(t, e, r) { - try { - return { - type: "normal", - arg: t.call(e, r) - }; - } catch (t) { - return { - type: "throw", - arg: t - }; - } - } - e.wrap = wrap; - var h = "suspendedStart", - l = "suspendedYield", - f = "executing", - s = "completed", - y = {}; - function Generator() {} - function GeneratorFunction() {} - function GeneratorFunctionPrototype() {} - var p = {}; - define(p, a, function () { - return this; - }); - var d = Object.getPrototypeOf, - v = d && d(d(values([]))); - v && v !== r && n.call(v, a) && (p = v); - var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); - function defineIteratorMethods(t) { - ["next", "throw", "return"].forEach(function (e) { - define(t, e, function (t) { - return this._invoke(e, t); - }); - }); - } - function AsyncIterator(t, e) { - function invoke(r, o, i, a) { - var c = tryCatch(t[r], t, o); - if ("throw" !== c.type) { - var u = c.arg, - h = u.value; - return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { - invoke("next", t, i, a); - }, function (t) { - invoke("throw", t, i, a); - }) : e.resolve(h).then(function (t) { - u.value = t, i(u); - }, function (t) { - return invoke("throw", t, i, a); - }); - } - a(c.arg); - } - var r; - o(this, "_invoke", { - value: function value(t, n) { - function callInvokeWithMethodAndArg() { - return new e(function (e, r) { - invoke(t, n, e, r); - }); - } - return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); - } - }); - } - function makeInvokeMethod(e, r, n) { - var o = h; - return function (i, a) { - if (o === f) throw new Error("Generator is already running"); - if (o === s) { - if ("throw" === i) throw a; - return { - value: t, - done: !0 - }; - } - for (n.method = i, n.arg = a;;) { - var c = n.delegate; - if (c) { - var u = maybeInvokeDelegate(c, n); - if (u) { - if (u === y) continue; - return u; - } - } - if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { - if (o === h) throw o = s, n.arg; - n.dispatchException(n.arg); - } else "return" === n.method && n.abrupt("return", n.arg); - o = f; - var p = tryCatch(e, r, n); - if ("normal" === p.type) { - if (o = n.done ? s : l, p.arg === y) continue; - return { - value: p.arg, - done: n.done - }; - } - "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); - } - }; - } - function maybeInvokeDelegate(e, r) { - var n = r.method, - o = e.iterator[n]; - if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; - var i = tryCatch(o, e.iterator, r.arg); - if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; - var a = i.arg; - return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); - } - function pushTryEntry(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 resetTryEntry(t) { - var e = t.completion || {}; - e.type = "normal", delete e.arg, t.completion = e; - } - function Context(t) { - this.tryEntries = [{ - tryLoc: "root" - }], t.forEach(pushTryEntry, this), this.reset(!0); - } - function values(e) { - if (e || "" === e) { - var r = e[a]; - if (r) return r.call(e); - if ("function" == typeof e.next) return e; - if (!isNaN(e.length)) { - var o = -1, - i = function next() { - for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; - return next.value = t, next.done = !0, next; - }; - return i.next = i; - } - } - throw new TypeError(_typeof(e) + " is not iterable"); - } - return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { - value: GeneratorFunctionPrototype, - configurable: !0 - }), o(GeneratorFunctionPrototype, "constructor", { - value: GeneratorFunction, - configurable: !0 - }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { - var e = "function" == typeof t && t.constructor; - return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); - }, e.mark = function (t) { - return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; - }, e.awrap = function (t) { - return { - __await: t - }; - }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { - return this; - }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { - void 0 === i && (i = Promise); - var a = new AsyncIterator(wrap(t, r, n, o), i); - return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { - return t.done ? t.value : a.next(); - }); - }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { - return this; - }), define(g, "toString", function () { - return "[object Generator]"; - }), e.keys = function (t) { - var e = Object(t), - r = []; - for (var n in e) r.push(n); - return r.reverse(), function next() { - for (; r.length;) { - var t = r.pop(); - if (t in e) return next.value = t, next.done = !1, next; - } - return next.done = !0, next; - }; - }, e.values = values, Context.prototype = { - constructor: Context, - reset: function reset(e) { - if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); - }, - stop: function stop() { - this.done = !0; - var t = this.tryEntries[0].completion; - if ("throw" === t.type) throw t.arg; - return this.rval; - }, - dispatchException: function dispatchException(e) { - if (this.done) throw e; - var r = this; - function handle(n, o) { - return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; - } - for (var o = this.tryEntries.length - 1; o >= 0; --o) { - var i = this.tryEntries[o], - a = i.completion; - if ("root" === i.tryLoc) return handle("end"); - if (i.tryLoc <= this.prev) { - var c = n.call(i, "catchLoc"), - u = n.call(i, "finallyLoc"); - if (c && u) { - if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); - if (this.prev < i.finallyLoc) return handle(i.finallyLoc); - } else if (c) { - if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); - } else { - if (!u) throw new Error("try statement without catch or finally"); - if (this.prev < i.finallyLoc) return handle(i.finallyLoc); - } - } - } - }, - abrupt: function abrupt(t, e) { - for (var r = this.tryEntries.length - 1; r >= 0; --r) { - var o = this.tryEntries[r]; - if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { - var i = o; - break; - } - } - i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); - var a = i ? i.completion : {}; - return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); - }, - complete: function complete(t, e) { - if ("throw" === t.type) throw t.arg; - return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; - }, - finish: function finish(t) { - for (var e = this.tryEntries.length - 1; e >= 0; --e) { - var r = this.tryEntries[e]; - if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; - } - }, - "catch": function _catch(t) { - for (var e = this.tryEntries.length - 1; e >= 0; --e) { - var r = this.tryEntries[e]; - if (r.tryLoc === t) { - var n = r.completion; - if ("throw" === n.type) { - var o = n.arg; - resetTryEntry(r); - } - return o; - } - } - throw new Error("illegal catch attempt"); - }, - delegateYield: function delegateYield(e, r, n) { - return this.delegate = { - iterator: values(e), - resultName: r, - nextLoc: n - }, "next" === this.method && (this.arg = t), y; - } - }, e; -} -module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports; - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/typeof.js": -/*!*******************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/typeof.js ***! - \*******************************************************/ -/***/ ((module) => { - -function _typeof(o) { - "@babel/helpers - typeof"; - - return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { - return typeof o; - } : function (o) { - return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; - }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(o); -} -module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports; - -/***/ }), - -/***/ "./node_modules/@babel/runtime/regenerator/index.js": -/*!**********************************************************!*\ - !*** ./node_modules/@babel/runtime/regenerator/index.js ***! - \**********************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -// TODO(Babel 8): Remove this file. - -var runtime = __webpack_require__(/*! ../helpers/regeneratorRuntime */ "./node_modules/@babel/runtime/helpers/regeneratorRuntime.js")(); -module.exports = runtime; - -// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736= -try { - regeneratorRuntime = runtime; -} catch (accidentalStrictMode) { - if (typeof globalThis === "object") { - globalThis.regeneratorRuntime = runtime; - } else { - Function("r", "regeneratorRuntime = r")(runtime); - } -} - - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js ***! - \*********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _arrayLikeToArray) -/* harmony export */ }); -function _arrayLikeToArray(arr, len) { - if (len == null || len > arr.length) len = arr.length; - for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; - return arr2; -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js ***! - \*******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _arrayWithHoles) -/* harmony export */ }); -function _arrayWithHoles(arr) { - if (Array.isArray(arr)) return arr; -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js ***! - \**********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _arrayWithoutHoles) -/* harmony export */ }); -/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ "./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js"); - -function _arrayWithoutHoles(arr) { - if (Array.isArray(arr)) return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(arr); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js": -/*!**************************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js ***! - \**************************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _assertThisInitialized) -/* harmony export */ }); -function _assertThisInitialized(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - return self; -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js ***! - \*********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _asyncToGenerator) -/* harmony export */ }); -function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { - try { - var info = gen[key](arg); - var value = info.value; - } catch (error) { - reject(error); - return; - } - if (info.done) { - resolve(value); - } else { - Promise.resolve(value).then(_next, _throw); - } -} -function _asyncToGenerator(fn) { - return function () { - var self = this, - args = arguments; - return new Promise(function (resolve, reject) { - var gen = fn.apply(self, args); - function _next(value) { - asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); - } - function _throw(err) { - asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); - } - _next(undefined); - }); - }; -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js ***! - \*******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _classCallCheck) -/* harmony export */ }); -function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/construct.js": -/*!**************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/construct.js ***! - \**************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _construct) -/* harmony export */ }); -/* harmony import */ var _setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setPrototypeOf.js */ "./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js"); -/* harmony import */ var _isNativeReflectConstruct_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isNativeReflectConstruct.js */ "./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js"); - - -function _construct(t, e, r) { - if ((0,_isNativeReflectConstruct_js__WEBPACK_IMPORTED_MODULE_1__["default"])()) return Reflect.construct.apply(null, arguments); - var o = [null]; - o.push.apply(o, e); - var p = new (t.bind.apply(t, o))(); - return r && (0,_setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__["default"])(p, r.prototype), p; -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/createClass.js": -/*!****************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/createClass.js ***! - \****************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _createClass) -/* harmony export */ }); -/* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ "./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js"); - -function _defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i]; - descriptor.enumerable = descriptor.enumerable || false; - descriptor.configurable = true; - if ("value" in descriptor) descriptor.writable = true; - Object.defineProperty(target, (0,_toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__["default"])(descriptor.key), descriptor); - } -} -function _createClass(Constructor, protoProps, staticProps) { - if (protoProps) _defineProperties(Constructor.prototype, protoProps); - if (staticProps) _defineProperties(Constructor, staticProps); - Object.defineProperty(Constructor, "prototype", { - writable: false - }); - return Constructor; -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/defineProperty.js ***! - \*******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _defineProperty) -/* harmony export */ }); -/* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ "./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js"); - -function _defineProperty(obj, key, value) { - key = (0,_toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__["default"])(key); - if (key in obj) { - Object.defineProperty(obj, key, { - value: value, - enumerable: true, - configurable: true, - writable: true - }); - } else { - obj[key] = value; - } - return obj; -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js ***! - \*******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _getPrototypeOf) -/* harmony export */ }); -function _getPrototypeOf(o) { - _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { - return o.__proto__ || Object.getPrototypeOf(o); - }; - return _getPrototypeOf(o); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/inherits.js": -/*!*************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/inherits.js ***! - \*************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _inherits) -/* harmony export */ }); -/* harmony import */ var _setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setPrototypeOf.js */ "./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js"); - -function _inherits(subClass, superClass) { - if (typeof superClass !== "function" && superClass !== null) { - throw new TypeError("Super expression must either be null or a function"); - } - subClass.prototype = Object.create(superClass && superClass.prototype, { - constructor: { - value: subClass, - writable: true, - configurable: true - } - }); - Object.defineProperty(subClass, "prototype", { - writable: false - }); - if (superClass) (0,_setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__["default"])(subClass, superClass); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js ***! - \*********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _isNativeFunction) -/* harmony export */ }); -function _isNativeFunction(fn) { - try { - return Function.toString.call(fn).indexOf("[native code]") !== -1; - } catch (e) { - return typeof fn === "function"; - } -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js ***! - \*****************************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _isNativeReflectConstruct) -/* harmony export */ }); -function _isNativeReflectConstruct() { - try { - var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); - } catch (t) {} - return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { - return !!t; - })(); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/iterableToArray.js": -/*!********************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js ***! - \********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _iterableToArray) -/* harmony export */ }); -function _iterableToArray(iter) { - if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js": -/*!*************************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js ***! - \*************************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _iterableToArrayLimit) -/* harmony export */ }); -function _iterableToArrayLimit(r, l) { - var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; - if (null != t) { - var e, - n, - i, - u, - a = [], - f = !0, - o = !1; - try { - if (i = (t = t.call(r)).next, 0 === l) { - if (Object(t) !== t) return; - f = !1; - } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); - } catch (r) { - o = !0, n = r; - } finally { - try { - if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; - } finally { - if (o) throw n; - } - } - return a; - } -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js": -/*!********************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js ***! - \********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _nonIterableRest) -/* harmony export */ }); -function _nonIterableRest() { - throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js ***! - \**********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _nonIterableSpread) -/* harmony export */ }); -function _nonIterableSpread() { - throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js": -/*!******************************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js ***! - \******************************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _possibleConstructorReturn) -/* harmony export */ }); -/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "./node_modules/@babel/runtime/helpers/esm/typeof.js"); -/* harmony import */ var _assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./assertThisInitialized.js */ "./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js"); - - -function _possibleConstructorReturn(self, call) { - if (call && ((0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(call) === "object" || typeof call === "function")) { - return call; - } else if (call !== void 0) { - throw new TypeError("Derived constructors may only return object or undefined"); - } - return (0,_assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_1__["default"])(self); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js ***! - \*******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _setPrototypeOf) -/* harmony export */ }); -function _setPrototypeOf(o, p) { - _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { - o.__proto__ = p; - return o; - }; - return _setPrototypeOf(o, p); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/slicedToArray.js": -/*!******************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js ***! - \******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _slicedToArray) -/* harmony export */ }); -/* harmony import */ var _arrayWithHoles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayWithHoles.js */ "./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js"); -/* harmony import */ var _iterableToArrayLimit_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterableToArrayLimit.js */ "./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js"); -/* harmony import */ var _unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js"); -/* harmony import */ var _nonIterableRest_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./nonIterableRest.js */ "./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js"); - - - - -function _slicedToArray(arr, i) { - return (0,_arrayWithHoles_js__WEBPACK_IMPORTED_MODULE_0__["default"])(arr) || (0,_iterableToArrayLimit_js__WEBPACK_IMPORTED_MODULE_1__["default"])(arr, i) || (0,_unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__["default"])(arr, i) || (0,_nonIterableRest_js__WEBPACK_IMPORTED_MODULE_3__["default"])(); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js ***! - \**********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _toConsumableArray) -/* harmony export */ }); -/* harmony import */ var _arrayWithoutHoles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayWithoutHoles.js */ "./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js"); -/* harmony import */ var _iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterableToArray.js */ "./node_modules/@babel/runtime/helpers/esm/iterableToArray.js"); -/* harmony import */ var _unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js"); -/* harmony import */ var _nonIterableSpread_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./nonIterableSpread.js */ "./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js"); - - - - -function _toConsumableArray(arr) { - return (0,_arrayWithoutHoles_js__WEBPACK_IMPORTED_MODULE_0__["default"])(arr) || (0,_iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__["default"])(arr) || (0,_unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__["default"])(arr) || (0,_nonIterableSpread_js__WEBPACK_IMPORTED_MODULE_3__["default"])(); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/toPrimitive.js": -/*!****************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/toPrimitive.js ***! - \****************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ toPrimitive) -/* harmony export */ }); -/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "./node_modules/@babel/runtime/helpers/esm/typeof.js"); - -function toPrimitive(t, r) { - if ("object" != (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(t) || !t) return t; - var e = t[Symbol.toPrimitive]; - if (void 0 !== e) { - var i = e.call(t, r || "default"); - if ("object" != (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(i)) return i; - throw new TypeError("@@toPrimitive must return a primitive value."); - } - return ("string" === r ? String : Number)(t); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js": -/*!******************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js ***! - \******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ toPropertyKey) -/* harmony export */ }); -/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "./node_modules/@babel/runtime/helpers/esm/typeof.js"); -/* harmony import */ var _toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toPrimitive.js */ "./node_modules/@babel/runtime/helpers/esm/toPrimitive.js"); - - -function toPropertyKey(t) { - var i = (0,_toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__["default"])(t, "string"); - return "symbol" == (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(i) ? i : String(i); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/typeof.js": -/*!***********************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/typeof.js ***! - \***********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _typeof) -/* harmony export */ }); -function _typeof(o) { - "@babel/helpers - typeof"; - - return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { - return typeof o; - } : function (o) { - return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; - }, _typeof(o); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js ***! - \*******************************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _unsupportedIterableToArray) -/* harmony export */ }); -/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ "./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js"); - -function _unsupportedIterableToArray(o, minLen) { - if (!o) return; - if (typeof o === "string") return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(o, minLen); - var n = Object.prototype.toString.call(o).slice(8, -1); - if (n === "Object" && o.constructor) n = o.constructor.name; - if (n === "Map" || n === "Set") return Array.from(o); - if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(o, minLen); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js": -/*!********************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js ***! - \********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _wrapNativeSuper) -/* harmony export */ }); -/* harmony import */ var _getPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getPrototypeOf.js */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); -/* harmony import */ var _setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./setPrototypeOf.js */ "./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js"); -/* harmony import */ var _isNativeFunction_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isNativeFunction.js */ "./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js"); -/* harmony import */ var _construct_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./construct.js */ "./node_modules/@babel/runtime/helpers/esm/construct.js"); - - - - -function _wrapNativeSuper(Class) { - var _cache = typeof Map === "function" ? new Map() : undefined; - _wrapNativeSuper = function _wrapNativeSuper(Class) { - if (Class === null || !(0,_isNativeFunction_js__WEBPACK_IMPORTED_MODULE_2__["default"])(Class)) return Class; - if (typeof Class !== "function") { - throw new TypeError("Super expression must either be null or a function"); - } - if (typeof _cache !== "undefined") { - if (_cache.has(Class)) return _cache.get(Class); - _cache.set(Class, Wrapper); - } - function Wrapper() { - return (0,_construct_js__WEBPACK_IMPORTED_MODULE_3__["default"])(Class, arguments, (0,_getPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__["default"])(this).constructor); - } - Wrapper.prototype = Object.create(Class.prototype, { - constructor: { - value: Wrapper, - enumerable: false, - writable: true, - configurable: true - } - }); - return (0,_setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_1__["default"])(Wrapper, Class); - }; - return _wrapNativeSuper(Class); -} - -/***/ }), - -/***/ "./node_modules/axios/lib/adapters/adapters.js": -/*!*****************************************************!*\ - !*** ./node_modules/axios/lib/adapters/adapters.js ***! - \*****************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _http_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./http.js */ "./node_modules/axios/lib/helpers/null.js"); -/* harmony import */ var _xhr_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./xhr.js */ "./node_modules/axios/lib/adapters/xhr.js"); -/* harmony import */ var _fetch_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./fetch.js */ "./node_modules/axios/lib/adapters/fetch.js"); -/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); - - - - - - -const knownAdapters = { - http: _http_js__WEBPACK_IMPORTED_MODULE_0__["default"], - xhr: _xhr_js__WEBPACK_IMPORTED_MODULE_1__["default"], - fetch: _fetch_js__WEBPACK_IMPORTED_MODULE_2__["default"] -} - -_utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].forEach(knownAdapters, (fn, value) => { - if (fn) { - try { - Object.defineProperty(fn, 'name', {value}); - } catch (e) { - // eslint-disable-next-line no-empty - } - Object.defineProperty(fn, 'adapterName', {value}); - } -}); - -const renderReason = (reason) => `- ${reason}`; - -const isResolvedHandle = (adapter) => _utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].isFunction(adapter) || adapter === null || adapter === false; - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ - getAdapter: (adapters) => { - adapters = _utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].isArray(adapters) ? adapters : [adapters]; - - const {length} = adapters; - let nameOrAdapter; - let adapter; - - const rejectedReasons = {}; - - for (let i = 0; i < length; i++) { - nameOrAdapter = adapters[i]; - let id; - - adapter = nameOrAdapter; - - if (!isResolvedHandle(nameOrAdapter)) { - adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()]; - - if (adapter === undefined) { - throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_4__["default"](`Unknown adapter '${id}'`); - } - } - - if (adapter) { - break; - } - - rejectedReasons[id || '#' + i] = adapter; - } - - if (!adapter) { - - const reasons = Object.entries(rejectedReasons) - .map(([id, state]) => `adapter ${id} ` + - (state === false ? 'is not supported by the environment' : 'is not available in the build') - ); - - let s = length ? - (reasons.length > 1 ? 'since :\n' + reasons.map(renderReason).join('\n') : ' ' + renderReason(reasons[0])) : - 'as no adapter specified'; - - throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_4__["default"]( - `There is no suitable adapter to dispatch the request ` + s, - 'ERR_NOT_SUPPORT' - ); - } - - return adapter; - }, - adapters: knownAdapters -}); - - -/***/ }), - -/***/ "./node_modules/axios/lib/adapters/fetch.js": -/*!**************************************************!*\ - !*** ./node_modules/axios/lib/adapters/fetch.js ***! - \**************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js"); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); -/* harmony import */ var _helpers_composeSignals_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../helpers/composeSignals.js */ "./node_modules/axios/lib/helpers/composeSignals.js"); -/* harmony import */ var _helpers_trackStream_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../helpers/trackStream.js */ "./node_modules/axios/lib/helpers/trackStream.js"); -/* harmony import */ var _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../core/AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); -/* harmony import */ var _helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../helpers/progressEventReducer.js */ "./node_modules/axios/lib/helpers/progressEventReducer.js"); -/* harmony import */ var _helpers_resolveConfig_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../helpers/resolveConfig.js */ "./node_modules/axios/lib/helpers/resolveConfig.js"); -/* harmony import */ var _core_settle_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../core/settle.js */ "./node_modules/axios/lib/core/settle.js"); - - - - - - - - - - -const fetchProgressDecorator = (total, fn) => { - const lengthComputable = total != null; - return (loaded) => setTimeout(() => fn({ - lengthComputable, - total, - loaded - })); -} - -const isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function'; -const isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function'; - -// used only inside the fetch adapter -const encodeText = isFetchSupported && (typeof TextEncoder === 'function' ? - ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) : - async (str) => new Uint8Array(await new Response(str).arrayBuffer()) -); - -const supportsRequestStream = isReadableStreamSupported && (() => { - let duplexAccessed = false; - - const hasContentType = new Request(_platform_index_js__WEBPACK_IMPORTED_MODULE_0__["default"].origin, { - body: new ReadableStream(), - method: 'POST', - get duplex() { - duplexAccessed = true; - return 'half'; - }, - }).headers.has('Content-Type'); - - return duplexAccessed && !hasContentType; -})(); - -const DEFAULT_CHUNK_SIZE = 64 * 1024; - -const supportsResponseStream = isReadableStreamSupported && !!(()=> { - try { - return _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isReadableStream(new Response('').body); - } catch(err) { - // return undefined - } -})(); - -const resolvers = { - stream: supportsResponseStream && ((res) => res.body) -}; - -isFetchSupported && (((res) => { - ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => { - !resolvers[type] && (resolvers[type] = _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isFunction(res[type]) ? (res) => res[type]() : - (_, config) => { - throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_2__["default"](`Response type '${type}' is not supported`, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_2__["default"].ERR_NOT_SUPPORT, config); - }) - }); -})(new Response)); - -const getBodyLength = async (body) => { - if (body == null) { - return 0; - } - - if(_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isBlob(body)) { - return body.size; - } - - if(_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isSpecCompliantForm(body)) { - return (await new Request(body).arrayBuffer()).byteLength; - } - - if(_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isArrayBufferView(body)) { - return body.byteLength; - } - - if(_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isURLSearchParams(body)) { - body = body + ''; - } - - if(_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isString(body)) { - return (await encodeText(body)).byteLength; - } -} - -const resolveBodyLength = async (headers, body) => { - const length = _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].toFiniteNumber(headers.getContentLength()); - - return length == null ? getBodyLength(body) : length; -} - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isFetchSupported && (async (config) => { - let { - url, - method, - data, - signal, - cancelToken, - timeout, - onDownloadProgress, - onUploadProgress, - responseType, - headers, - withCredentials = 'same-origin', - fetchOptions - } = (0,_helpers_resolveConfig_js__WEBPACK_IMPORTED_MODULE_3__["default"])(config); - - responseType = responseType ? (responseType + '').toLowerCase() : 'text'; - - let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ? - (0,_helpers_composeSignals_js__WEBPACK_IMPORTED_MODULE_4__["default"])([signal, cancelToken], timeout) : []; - - let finished, request; - - const onFinish = () => { - !finished && setTimeout(() => { - composedSignal && composedSignal.unsubscribe(); - }); - - finished = true; - } - - let requestContentLength; - - try { - if ( - onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' && - (requestContentLength = await resolveBodyLength(headers, data)) !== 0 - ) { - let _request = new Request(url, { - method: 'POST', - body: data, - duplex: "half" - }); - - let contentTypeHeader; - - if (_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) { - headers.setContentType(contentTypeHeader) - } - - if (_request.body) { - data = (0,_helpers_trackStream_js__WEBPACK_IMPORTED_MODULE_5__.trackStream)(_request.body, DEFAULT_CHUNK_SIZE, fetchProgressDecorator( - requestContentLength, - (0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_6__["default"])(onUploadProgress) - ), null, encodeText); - } - } - - if (!_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isString(withCredentials)) { - withCredentials = withCredentials ? 'cors' : 'omit'; - } - - request = new Request(url, { - ...fetchOptions, - signal: composedSignal, - method: method.toUpperCase(), - headers: headers.normalize().toJSON(), - body: data, - duplex: "half", - withCredentials - }); - - let response = await fetch(request); - - const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response'); - - if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) { - const options = {}; - - ['status', 'statusText', 'headers'].forEach(prop => { - options[prop] = response[prop]; - }); - - const responseContentLength = _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].toFiniteNumber(response.headers.get('content-length')); - - response = new Response( - (0,_helpers_trackStream_js__WEBPACK_IMPORTED_MODULE_5__.trackStream)(response.body, DEFAULT_CHUNK_SIZE, onDownloadProgress && fetchProgressDecorator( - responseContentLength, - (0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_6__["default"])(onDownloadProgress, true) - ), isStreamResponse && onFinish, encodeText), - options - ); - } - - responseType = responseType || 'text'; - - let responseData = await resolvers[_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].findKey(resolvers, responseType) || 'text'](response, config); - - !isStreamResponse && onFinish(); - - stopTimeout && stopTimeout(); - - return await new Promise((resolve, reject) => { - (0,_core_settle_js__WEBPACK_IMPORTED_MODULE_7__["default"])(resolve, reject, { - data: responseData, - headers: _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_8__["default"].from(response.headers), - status: response.status, - statusText: response.statusText, - config, - request - }) - }) - } catch (err) { - onFinish(); - - if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) { - throw Object.assign( - new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_2__["default"]('Network Error', _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_2__["default"].ERR_NETWORK, config, request), - { - cause: err.cause || err - } - ) - } - - throw _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_2__["default"].from(err, err && err.code, config, request); - } -})); - - - - -/***/ }), - -/***/ "./node_modules/axios/lib/adapters/xhr.js": -/*!************************************************!*\ - !*** ./node_modules/axios/lib/adapters/xhr.js ***! - \************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _core_settle_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../core/settle.js */ "./node_modules/axios/lib/core/settle.js"); -/* harmony import */ var _defaults_transitional_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../defaults/transitional.js */ "./node_modules/axios/lib/defaults/transitional.js"); -/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); -/* harmony import */ var _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../cancel/CanceledError.js */ "./node_modules/axios/lib/cancel/CanceledError.js"); -/* harmony import */ var _helpers_parseProtocol_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../helpers/parseProtocol.js */ "./node_modules/axios/lib/helpers/parseProtocol.js"); -/* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js"); -/* harmony import */ var _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); -/* harmony import */ var _helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../helpers/progressEventReducer.js */ "./node_modules/axios/lib/helpers/progressEventReducer.js"); -/* harmony import */ var _helpers_resolveConfig_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../helpers/resolveConfig.js */ "./node_modules/axios/lib/helpers/resolveConfig.js"); - - - - - - - - - - - -const isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined'; - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isXHRAdapterSupported && function (config) { - return new Promise(function dispatchXhrRequest(resolve, reject) { - const _config = (0,_helpers_resolveConfig_js__WEBPACK_IMPORTED_MODULE_0__["default"])(config); - let requestData = _config.data; - const requestHeaders = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"].from(_config.headers).normalize(); - let {responseType} = _config; - let onCanceled; - function done() { - if (_config.cancelToken) { - _config.cancelToken.unsubscribe(onCanceled); - } - - if (_config.signal) { - _config.signal.removeEventListener('abort', onCanceled); - } - } - - let request = new XMLHttpRequest(); - - request.open(_config.method.toUpperCase(), _config.url, true); - - // Set the request timeout in MS - request.timeout = _config.timeout; - - function onloadend() { - if (!request) { - return; - } - // Prepare the response - const responseHeaders = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"].from( - 'getAllResponseHeaders' in request && request.getAllResponseHeaders() - ); - const responseData = !responseType || responseType === 'text' || responseType === 'json' ? - request.responseText : request.response; - const response = { - data: responseData, - status: request.status, - statusText: request.statusText, - headers: responseHeaders, - config, - request - }; - - (0,_core_settle_js__WEBPACK_IMPORTED_MODULE_2__["default"])(function _resolve(value) { - resolve(value); - done(); - }, function _reject(err) { - reject(err); - done(); - }, response); - - // Clean up request - request = null; - } - - if ('onloadend' in request) { - // Use onloadend if available - request.onloadend = onloadend; - } else { - // Listen for ready state to emulate onloadend - request.onreadystatechange = function handleLoad() { - if (!request || request.readyState !== 4) { - return; - } - - // The request errored out and we didn't get a response, this will be - // handled by onerror instead - // With one exception: request that using file: protocol, most browsers - // will return status as 0 even though it's a successful request - if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) { - return; - } - // readystate handler is calling before onerror or ontimeout handlers, - // so we should call onloadend on the next 'tick' - setTimeout(onloadend); - }; - } - - // Handle browser request cancellation (as opposed to a manual cancellation) - request.onabort = function handleAbort() { - if (!request) { - return; - } - - reject(new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"]('Request aborted', _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"].ECONNABORTED, _config, request)); - - // Clean up request - request = null; - }; - - // Handle low level network errors - request.onerror = function handleError() { - // Real errors are hidden from us by the browser - // onerror should only fire if it's a network error - reject(new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"]('Network Error', _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"].ERR_NETWORK, _config, request)); - - // Clean up request - request = null; - }; - - // Handle timeout - request.ontimeout = function handleTimeout() { - let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded'; - const transitional = _config.transitional || _defaults_transitional_js__WEBPACK_IMPORTED_MODULE_4__["default"]; - if (_config.timeoutErrorMessage) { - timeoutErrorMessage = _config.timeoutErrorMessage; - } - reject(new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"]( - timeoutErrorMessage, - transitional.clarifyTimeoutError ? _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"].ETIMEDOUT : _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"].ECONNABORTED, - _config, - request)); - - // Clean up request - request = null; - }; - - // Remove Content-Type if data is undefined - requestData === undefined && requestHeaders.setContentType(null); - - // Add headers to the request - if ('setRequestHeader' in request) { - _utils_js__WEBPACK_IMPORTED_MODULE_5__["default"].forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) { - request.setRequestHeader(key, val); - }); - } - - // Add withCredentials to request if needed - if (!_utils_js__WEBPACK_IMPORTED_MODULE_5__["default"].isUndefined(_config.withCredentials)) { - request.withCredentials = !!_config.withCredentials; - } - - // Add responseType to request if needed - if (responseType && responseType !== 'json') { - request.responseType = _config.responseType; - } - - // Handle progress if needed - if (typeof _config.onDownloadProgress === 'function') { - request.addEventListener('progress', (0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_6__["default"])(_config.onDownloadProgress, true)); - } - - // Not all browsers support upload events - if (typeof _config.onUploadProgress === 'function' && request.upload) { - request.upload.addEventListener('progress', (0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_6__["default"])(_config.onUploadProgress)); - } - - if (_config.cancelToken || _config.signal) { - // Handle cancellation - // eslint-disable-next-line func-names - onCanceled = cancel => { - if (!request) { - return; - } - reject(!cancel || cancel.type ? new _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_7__["default"](null, config, request) : cancel); - request.abort(); - request = null; - }; - - _config.cancelToken && _config.cancelToken.subscribe(onCanceled); - if (_config.signal) { - _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled); - } - } - - const protocol = (0,_helpers_parseProtocol_js__WEBPACK_IMPORTED_MODULE_8__["default"])(_config.url); - - if (protocol && _platform_index_js__WEBPACK_IMPORTED_MODULE_9__["default"].protocols.indexOf(protocol) === -1) { - reject(new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"]('Unsupported protocol ' + protocol + ':', _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"].ERR_BAD_REQUEST, config)); - return; - } - - - // Send the request - request.send(requestData || null); - }); -}); - - -/***/ }), - -/***/ "./node_modules/axios/lib/axios.js": -/*!*****************************************!*\ - !*** ./node_modules/axios/lib/axios.js ***! - \*****************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _helpers_bind_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./helpers/bind.js */ "./node_modules/axios/lib/helpers/bind.js"); -/* harmony import */ var _core_Axios_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./core/Axios.js */ "./node_modules/axios/lib/core/Axios.js"); -/* harmony import */ var _core_mergeConfig_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./core/mergeConfig.js */ "./node_modules/axios/lib/core/mergeConfig.js"); -/* harmony import */ var _defaults_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./defaults/index.js */ "./node_modules/axios/lib/defaults/index.js"); -/* harmony import */ var _helpers_formDataToJSON_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./helpers/formDataToJSON.js */ "./node_modules/axios/lib/helpers/formDataToJSON.js"); -/* harmony import */ var _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./cancel/CanceledError.js */ "./node_modules/axios/lib/cancel/CanceledError.js"); -/* harmony import */ var _cancel_CancelToken_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./cancel/CancelToken.js */ "./node_modules/axios/lib/cancel/CancelToken.js"); -/* harmony import */ var _cancel_isCancel_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./cancel/isCancel.js */ "./node_modules/axios/lib/cancel/isCancel.js"); -/* harmony import */ var _env_data_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./env/data.js */ "./node_modules/axios/lib/env/data.js"); -/* harmony import */ var _helpers_toFormData_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./helpers/toFormData.js */ "./node_modules/axios/lib/helpers/toFormData.js"); -/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); -/* harmony import */ var _helpers_spread_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./helpers/spread.js */ "./node_modules/axios/lib/helpers/spread.js"); -/* harmony import */ var _helpers_isAxiosError_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./helpers/isAxiosError.js */ "./node_modules/axios/lib/helpers/isAxiosError.js"); -/* harmony import */ var _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./core/AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); -/* harmony import */ var _adapters_adapters_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./adapters/adapters.js */ "./node_modules/axios/lib/adapters/adapters.js"); -/* harmony import */ var _helpers_HttpStatusCode_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./helpers/HttpStatusCode.js */ "./node_modules/axios/lib/helpers/HttpStatusCode.js"); - - - - - - - - - - - - - - - - - - - - -/** - * Create an instance of Axios - * - * @param {Object} defaultConfig The default config for the instance - * - * @returns {Axios} A new instance of Axios - */ -function createInstance(defaultConfig) { - const context = new _core_Axios_js__WEBPACK_IMPORTED_MODULE_0__["default"](defaultConfig); - const instance = (0,_helpers_bind_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_core_Axios_js__WEBPACK_IMPORTED_MODULE_0__["default"].prototype.request, context); - - // Copy axios.prototype to instance - _utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].extend(instance, _core_Axios_js__WEBPACK_IMPORTED_MODULE_0__["default"].prototype, context, {allOwnKeys: true}); - - // Copy context to instance - _utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].extend(instance, context, null, {allOwnKeys: true}); - - // Factory for creating new instances - instance.create = function create(instanceConfig) { - return createInstance((0,_core_mergeConfig_js__WEBPACK_IMPORTED_MODULE_3__["default"])(defaultConfig, instanceConfig)); - }; - - return instance; -} - -// Create the default instance to be exported -const axios = createInstance(_defaults_index_js__WEBPACK_IMPORTED_MODULE_4__["default"]); - -// Expose Axios class to allow class inheritance -axios.Axios = _core_Axios_js__WEBPACK_IMPORTED_MODULE_0__["default"]; - -// Expose Cancel & CancelToken -axios.CanceledError = _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_5__["default"]; -axios.CancelToken = _cancel_CancelToken_js__WEBPACK_IMPORTED_MODULE_6__["default"]; -axios.isCancel = _cancel_isCancel_js__WEBPACK_IMPORTED_MODULE_7__["default"]; -axios.VERSION = _env_data_js__WEBPACK_IMPORTED_MODULE_8__.VERSION; -axios.toFormData = _helpers_toFormData_js__WEBPACK_IMPORTED_MODULE_9__["default"]; - -// Expose AxiosError class -axios.AxiosError = _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_10__["default"]; - -// alias for CanceledError for backward compatibility -axios.Cancel = axios.CanceledError; - -// Expose all/spread -axios.all = function all(promises) { - return Promise.all(promises); -}; - -axios.spread = _helpers_spread_js__WEBPACK_IMPORTED_MODULE_11__["default"]; - -// Expose isAxiosError -axios.isAxiosError = _helpers_isAxiosError_js__WEBPACK_IMPORTED_MODULE_12__["default"]; - -// Expose mergeConfig -axios.mergeConfig = _core_mergeConfig_js__WEBPACK_IMPORTED_MODULE_3__["default"]; - -axios.AxiosHeaders = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_13__["default"]; - -axios.formToJSON = thing => (0,_helpers_formDataToJSON_js__WEBPACK_IMPORTED_MODULE_14__["default"])(_utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].isHTMLForm(thing) ? new FormData(thing) : thing); - -axios.getAdapter = _adapters_adapters_js__WEBPACK_IMPORTED_MODULE_15__["default"].getAdapter; - -axios.HttpStatusCode = _helpers_HttpStatusCode_js__WEBPACK_IMPORTED_MODULE_16__["default"]; - -axios.default = axios; - -// this module should only have a default export -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (axios); - - -/***/ }), - -/***/ "./node_modules/axios/lib/cancel/CancelToken.js": -/*!******************************************************!*\ - !*** ./node_modules/axios/lib/cancel/CancelToken.js ***! - \******************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _CanceledError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CanceledError.js */ "./node_modules/axios/lib/cancel/CanceledError.js"); - - - - -/** - * A `CancelToken` is an object that can be used to request cancellation of an operation. - * - * @param {Function} executor The executor function. - * - * @returns {CancelToken} - */ -class CancelToken { - constructor(executor) { - if (typeof executor !== 'function') { - throw new TypeError('executor must be a function.'); - } - - let resolvePromise; - - this.promise = new Promise(function promiseExecutor(resolve) { - resolvePromise = resolve; - }); - - const token = this; - - // eslint-disable-next-line func-names - this.promise.then(cancel => { - if (!token._listeners) return; - - let i = token._listeners.length; - - while (i-- > 0) { - token._listeners[i](cancel); - } - token._listeners = null; - }); - - // eslint-disable-next-line func-names - this.promise.then = onfulfilled => { - let _resolve; - // eslint-disable-next-line func-names - const promise = new Promise(resolve => { - token.subscribe(resolve); - _resolve = resolve; - }).then(onfulfilled); - - promise.cancel = function reject() { - token.unsubscribe(_resolve); - }; - - return promise; - }; - - executor(function cancel(message, config, request) { - if (token.reason) { - // Cancellation has already been requested - return; - } - - token.reason = new _CanceledError_js__WEBPACK_IMPORTED_MODULE_0__["default"](message, config, request); - resolvePromise(token.reason); - }); - } - - /** - * Throws a `CanceledError` if cancellation has been requested. - */ - throwIfRequested() { - if (this.reason) { - throw this.reason; - } - } - - /** - * Subscribe to the cancel signal - */ - - subscribe(listener) { - if (this.reason) { - listener(this.reason); - return; - } - - if (this._listeners) { - this._listeners.push(listener); - } else { - this._listeners = [listener]; - } - } - - /** - * Unsubscribe from the cancel signal - */ - - unsubscribe(listener) { - if (!this._listeners) { - return; - } - const index = this._listeners.indexOf(listener); - if (index !== -1) { - this._listeners.splice(index, 1); - } - } - - /** - * Returns an object that contains a new `CancelToken` and a function that, when called, - * cancels the `CancelToken`. - */ - static source() { - let cancel; - const token = new CancelToken(function executor(c) { - cancel = c; - }); - return { - token, - cancel - }; - } -} - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (CancelToken); - - -/***/ }), - -/***/ "./node_modules/axios/lib/cancel/CanceledError.js": -/*!********************************************************!*\ - !*** ./node_modules/axios/lib/cancel/CanceledError.js ***! - \********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); - - - - - -/** - * A `CanceledError` is an object that is thrown when an operation is canceled. - * - * @param {string=} message The message. - * @param {Object=} config The config. - * @param {Object=} request The request. - * - * @returns {CanceledError} The created error. - */ -function CanceledError(message, config, request) { - // eslint-disable-next-line no-eq-null,eqeqeq - _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"].call(this, message == null ? 'canceled' : message, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"].ERR_CANCELED, config, request); - this.name = 'CanceledError'; -} - -_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].inherits(CanceledError, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"], { - __CANCEL__: true -}); - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (CanceledError); - - -/***/ }), - -/***/ "./node_modules/axios/lib/cancel/isCancel.js": -/*!***************************************************!*\ - !*** ./node_modules/axios/lib/cancel/isCancel.js ***! - \***************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ isCancel) -/* harmony export */ }); - - -function isCancel(value) { - return !!(value && value.__CANCEL__); -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/core/Axios.js": -/*!**********************************************!*\ - !*** ./node_modules/axios/lib/core/Axios.js ***! - \**********************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _helpers_buildURL_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../helpers/buildURL.js */ "./node_modules/axios/lib/helpers/buildURL.js"); -/* harmony import */ var _InterceptorManager_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./InterceptorManager.js */ "./node_modules/axios/lib/core/InterceptorManager.js"); -/* harmony import */ var _dispatchRequest_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./dispatchRequest.js */ "./node_modules/axios/lib/core/dispatchRequest.js"); -/* harmony import */ var _mergeConfig_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./mergeConfig.js */ "./node_modules/axios/lib/core/mergeConfig.js"); -/* harmony import */ var _buildFullPath_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./buildFullPath.js */ "./node_modules/axios/lib/core/buildFullPath.js"); -/* harmony import */ var _helpers_validator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../helpers/validator.js */ "./node_modules/axios/lib/helpers/validator.js"); -/* harmony import */ var _AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); - - - - - - - - - - - -const validators = _helpers_validator_js__WEBPACK_IMPORTED_MODULE_0__["default"].validators; - -/** - * Create a new instance of Axios - * - * @param {Object} instanceConfig The default config for the instance - * - * @return {Axios} A new instance of Axios - */ -class Axios { - constructor(instanceConfig) { - this.defaults = instanceConfig; - this.interceptors = { - request: new _InterceptorManager_js__WEBPACK_IMPORTED_MODULE_1__["default"](), - response: new _InterceptorManager_js__WEBPACK_IMPORTED_MODULE_1__["default"]() - }; - } - - /** - * Dispatch a request - * - * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults) - * @param {?Object} config - * - * @returns {Promise} The Promise to be fulfilled - */ - async request(configOrUrl, config) { - try { - return await this._request(configOrUrl, config); - } catch (err) { - if (err instanceof Error) { - let dummy; - - Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error()); - - // slice off the Error: ... line - const stack = dummy.stack ? dummy.stack.replace(/^.+\n/, '') : ''; - try { - if (!err.stack) { - err.stack = stack; - // match without the 2 top stack lines - } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\n.+\n/, ''))) { - err.stack += '\n' + stack - } - } catch (e) { - // ignore the case where "stack" is an un-writable property - } - } - - throw err; - } - } - - _request(configOrUrl, config) { - /*eslint no-param-reassign:0*/ - // Allow for axios('example/url'[, config]) a la fetch API - if (typeof configOrUrl === 'string') { - config = config || {}; - config.url = configOrUrl; - } else { - config = configOrUrl || {}; - } - - config = (0,_mergeConfig_js__WEBPACK_IMPORTED_MODULE_2__["default"])(this.defaults, config); - - const {transitional, paramsSerializer, headers} = config; - - if (transitional !== undefined) { - _helpers_validator_js__WEBPACK_IMPORTED_MODULE_0__["default"].assertOptions(transitional, { - silentJSONParsing: validators.transitional(validators.boolean), - forcedJSONParsing: validators.transitional(validators.boolean), - clarifyTimeoutError: validators.transitional(validators.boolean) - }, false); - } - - if (paramsSerializer != null) { - if (_utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].isFunction(paramsSerializer)) { - config.paramsSerializer = { - serialize: paramsSerializer - } - } else { - _helpers_validator_js__WEBPACK_IMPORTED_MODULE_0__["default"].assertOptions(paramsSerializer, { - encode: validators.function, - serialize: validators.function - }, true); - } - } - - // Set config.method - config.method = (config.method || this.defaults.method || 'get').toLowerCase(); - - // Flatten headers - let contextHeaders = headers && _utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].merge( - headers.common, - headers[config.method] - ); - - headers && _utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].forEach( - ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], - (method) => { - delete headers[method]; - } - ); - - config.headers = _AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_4__["default"].concat(contextHeaders, headers); - - // filter out skipped interceptors - const requestInterceptorChain = []; - let synchronousRequestInterceptors = true; - this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { - if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) { - return; - } - - synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; - - requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected); - }); - - const responseInterceptorChain = []; - this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { - responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); - }); - - let promise; - let i = 0; - let len; - - if (!synchronousRequestInterceptors) { - const chain = [_dispatchRequest_js__WEBPACK_IMPORTED_MODULE_5__["default"].bind(this), undefined]; - chain.unshift.apply(chain, requestInterceptorChain); - chain.push.apply(chain, responseInterceptorChain); - len = chain.length; - - promise = Promise.resolve(config); - - while (i < len) { - promise = promise.then(chain[i++], chain[i++]); - } - - return promise; - } - - len = requestInterceptorChain.length; - - let newConfig = config; - - i = 0; - - while (i < len) { - const onFulfilled = requestInterceptorChain[i++]; - const onRejected = requestInterceptorChain[i++]; - try { - newConfig = onFulfilled(newConfig); - } catch (error) { - onRejected.call(this, error); - break; - } - } - - try { - promise = _dispatchRequest_js__WEBPACK_IMPORTED_MODULE_5__["default"].call(this, newConfig); - } catch (error) { - return Promise.reject(error); - } - - i = 0; - len = responseInterceptorChain.length; - - while (i < len) { - promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]); - } - - return promise; - } - - getUri(config) { - config = (0,_mergeConfig_js__WEBPACK_IMPORTED_MODULE_2__["default"])(this.defaults, config); - const fullPath = (0,_buildFullPath_js__WEBPACK_IMPORTED_MODULE_6__["default"])(config.baseURL, config.url); - return (0,_helpers_buildURL_js__WEBPACK_IMPORTED_MODULE_7__["default"])(fullPath, config.params, config.paramsSerializer); - } -} - -// Provide aliases for supported request methods -_utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { - /*eslint func-names:0*/ - Axios.prototype[method] = function(url, config) { - return this.request((0,_mergeConfig_js__WEBPACK_IMPORTED_MODULE_2__["default"])(config || {}, { - method, - url, - data: (config || {}).data - })); - }; -}); - -_utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { - /*eslint func-names:0*/ - - function generateHTTPMethod(isForm) { - return function httpMethod(url, data, config) { - return this.request((0,_mergeConfig_js__WEBPACK_IMPORTED_MODULE_2__["default"])(config || {}, { - method, - headers: isForm ? { - 'Content-Type': 'multipart/form-data' - } : {}, - url, - data - })); - }; - } - - Axios.prototype[method] = generateHTTPMethod(); - - Axios.prototype[method + 'Form'] = generateHTTPMethod(true); -}); - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Axios); - - -/***/ }), - -/***/ "./node_modules/axios/lib/core/AxiosError.js": -/*!***************************************************!*\ - !*** ./node_modules/axios/lib/core/AxiosError.js ***! - \***************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); - - - - -/** - * Create an Error with the specified message, config, error code, request and response. - * - * @param {string} message The error message. - * @param {string} [code] The error code (for example, 'ECONNABORTED'). - * @param {Object} [config] The config. - * @param {Object} [request] The request. - * @param {Object} [response] The response. - * - * @returns {Error} The created error. - */ -function AxiosError(message, code, config, request, response) { - Error.call(this); - - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } else { - this.stack = (new Error()).stack; - } - - this.message = message; - this.name = 'AxiosError'; - code && (this.code = code); - config && (this.config = config); - request && (this.request = request); - response && (this.response = response); -} - -_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].inherits(AxiosError, Error, { - toJSON: function toJSON() { - return { - // Standard - message: this.message, - name: this.name, - // Microsoft - description: this.description, - number: this.number, - // Mozilla - fileName: this.fileName, - lineNumber: this.lineNumber, - columnNumber: this.columnNumber, - stack: this.stack, - // Axios - config: _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toJSONObject(this.config), - code: this.code, - status: this.response && this.response.status ? this.response.status : null - }; - } -}); - -const prototype = AxiosError.prototype; -const descriptors = {}; - -[ - 'ERR_BAD_OPTION_VALUE', - 'ERR_BAD_OPTION', - 'ECONNABORTED', - 'ETIMEDOUT', - 'ERR_NETWORK', - 'ERR_FR_TOO_MANY_REDIRECTS', - 'ERR_DEPRECATED', - 'ERR_BAD_RESPONSE', - 'ERR_BAD_REQUEST', - 'ERR_CANCELED', - 'ERR_NOT_SUPPORT', - 'ERR_INVALID_URL' -// eslint-disable-next-line func-names -].forEach(code => { - descriptors[code] = {value: code}; -}); - -Object.defineProperties(AxiosError, descriptors); -Object.defineProperty(prototype, 'isAxiosError', {value: true}); - -// eslint-disable-next-line func-names -AxiosError.from = (error, code, config, request, response, customProps) => { - const axiosError = Object.create(prototype); - - _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toFlatObject(error, axiosError, function filter(obj) { - return obj !== Error.prototype; - }, prop => { - return prop !== 'isAxiosError'; - }); - - AxiosError.call(axiosError, error.message, code, config, request, response); - - axiosError.cause = error; - - axiosError.name = error.name; - - customProps && Object.assign(axiosError, customProps); - - return axiosError; -}; - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AxiosError); - - -/***/ }), - -/***/ "./node_modules/axios/lib/core/AxiosHeaders.js": -/*!*****************************************************!*\ - !*** ./node_modules/axios/lib/core/AxiosHeaders.js ***! - \*****************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _helpers_parseHeaders_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../helpers/parseHeaders.js */ "./node_modules/axios/lib/helpers/parseHeaders.js"); - - - - - -const $internals = Symbol('internals'); - -function normalizeHeader(header) { - return header && String(header).trim().toLowerCase(); -} - -function normalizeValue(value) { - if (value === false || value == null) { - return value; - } - - return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(value) ? value.map(normalizeValue) : String(value); -} - -function parseTokens(str) { - const tokens = Object.create(null); - const tokensRE = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g; - let match; - - while ((match = tokensRE.exec(str))) { - tokens[match[1]] = match[2]; - } - - return tokens; -} - -const isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim()); - -function matchHeaderValue(context, value, header, filter, isHeaderNameFilter) { - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFunction(filter)) { - return filter.call(this, value, header); - } - - if (isHeaderNameFilter) { - value = header; - } - - if (!_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(value)) return; - - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(filter)) { - return value.indexOf(filter) !== -1; - } - - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isRegExp(filter)) { - return filter.test(value); - } -} - -function formatHeader(header) { - return header.trim() - .toLowerCase().replace(/([a-z\d])(\w*)/g, (w, char, str) => { - return char.toUpperCase() + str; - }); -} - -function buildAccessors(obj, header) { - const accessorName = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toCamelCase(' ' + header); - - ['get', 'set', 'has'].forEach(methodName => { - Object.defineProperty(obj, methodName + accessorName, { - value: function(arg1, arg2, arg3) { - return this[methodName].call(this, header, arg1, arg2, arg3); - }, - configurable: true - }); - }); -} - -class AxiosHeaders { - constructor(headers) { - headers && this.set(headers); - } - - set(header, valueOrRewrite, rewrite) { - const self = this; - - function setHeader(_value, _header, _rewrite) { - const lHeader = normalizeHeader(_header); - - if (!lHeader) { - throw new Error('header name must be a non-empty string'); - } - - const key = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].findKey(self, lHeader); - - if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) { - self[key || _header] = normalizeValue(_value); - } - } - - const setHeaders = (headers, _rewrite) => - _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite)); - - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isPlainObject(header) || header instanceof this.constructor) { - setHeaders(header, valueOrRewrite) - } else if(_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(header) && (header = header.trim()) && !isValidHeaderName(header)) { - setHeaders((0,_helpers_parseHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"])(header), valueOrRewrite); - } else if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isHeaders(header)) { - for (const [key, value] of header.entries()) { - setHeader(value, key, rewrite); - } - } else { - header != null && setHeader(valueOrRewrite, header, rewrite); - } - - return this; - } - - get(header, parser) { - header = normalizeHeader(header); - - if (header) { - const key = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].findKey(this, header); - - if (key) { - const value = this[key]; - - if (!parser) { - return value; - } - - if (parser === true) { - return parseTokens(value); - } - - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFunction(parser)) { - return parser.call(this, value, key); - } - - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isRegExp(parser)) { - return parser.exec(value); - } - - throw new TypeError('parser must be boolean|regexp|function'); - } - } - } - - has(header, matcher) { - header = normalizeHeader(header); - - if (header) { - const key = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].findKey(this, header); - - return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher))); - } - - return false; - } - - delete(header, matcher) { - const self = this; - let deleted = false; - - function deleteHeader(_header) { - _header = normalizeHeader(_header); - - if (_header) { - const key = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].findKey(self, _header); - - if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) { - delete self[key]; - - deleted = true; - } - } - } - - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(header)) { - header.forEach(deleteHeader); - } else { - deleteHeader(header); - } - - return deleted; - } - - clear(matcher) { - const keys = Object.keys(this); - let i = keys.length; - let deleted = false; - - while (i--) { - const key = keys[i]; - if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) { - delete this[key]; - deleted = true; - } - } - - return deleted; - } - - normalize(format) { - const self = this; - const headers = {}; - - _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(this, (value, header) => { - const key = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].findKey(headers, header); - - if (key) { - self[key] = normalizeValue(value); - delete self[header]; - return; - } - - const normalized = format ? formatHeader(header) : String(header).trim(); - - if (normalized !== header) { - delete self[header]; - } - - self[normalized] = normalizeValue(value); - - headers[normalized] = true; - }); - - return this; - } - - concat(...targets) { - return this.constructor.concat(this, ...targets); - } - - toJSON(asStrings) { - const obj = Object.create(null); - - _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(this, (value, header) => { - value != null && value !== false && (obj[header] = asStrings && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(value) ? value.join(', ') : value); - }); - - return obj; - } - - [Symbol.iterator]() { - return Object.entries(this.toJSON())[Symbol.iterator](); - } - - toString() { - return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\n'); - } - - get [Symbol.toStringTag]() { - return 'AxiosHeaders'; - } - - static from(thing) { - return thing instanceof this ? thing : new this(thing); - } - - static concat(first, ...targets) { - const computed = new this(first); - - targets.forEach((target) => computed.set(target)); - - return computed; - } - - static accessor(header) { - const internals = this[$internals] = (this[$internals] = { - accessors: {} - }); - - const accessors = internals.accessors; - const prototype = this.prototype; - - function defineAccessor(_header) { - const lHeader = normalizeHeader(_header); - - if (!accessors[lHeader]) { - buildAccessors(prototype, _header); - accessors[lHeader] = true; - } - } - - _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header); - - return this; - } -} - -AxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']); - -// reserved names hotfix -_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => { - let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set` - return { - get: () => value, - set(headerValue) { - this[mapped] = headerValue; - } - } -}); - -_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].freezeMethods(AxiosHeaders); - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AxiosHeaders); - - -/***/ }), - -/***/ "./node_modules/axios/lib/core/InterceptorManager.js": -/*!***********************************************************!*\ - !*** ./node_modules/axios/lib/core/InterceptorManager.js ***! - \***********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); - - - - -class InterceptorManager { - constructor() { - this.handlers = []; - } - - /** - * Add a new interceptor to the stack - * - * @param {Function} fulfilled The function to handle `then` for a `Promise` - * @param {Function} rejected The function to handle `reject` for a `Promise` - * - * @return {Number} An ID used to remove interceptor later - */ - use(fulfilled, rejected, options) { - this.handlers.push({ - fulfilled, - rejected, - synchronous: options ? options.synchronous : false, - runWhen: options ? options.runWhen : null - }); - return this.handlers.length - 1; - } - - /** - * Remove an interceptor from the stack - * - * @param {Number} id The ID that was returned by `use` - * - * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise - */ - eject(id) { - if (this.handlers[id]) { - this.handlers[id] = null; - } - } - - /** - * Clear all interceptors from the stack - * - * @returns {void} - */ - clear() { - if (this.handlers) { - this.handlers = []; - } - } - - /** - * Iterate over all the registered interceptors - * - * This method is particularly useful for skipping over any - * interceptors that may have become `null` calling `eject`. - * - * @param {Function} fn The function to call for each interceptor - * - * @returns {void} - */ - forEach(fn) { - _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(this.handlers, function forEachHandler(h) { - if (h !== null) { - fn(h); - } - }); - } -} - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (InterceptorManager); - - -/***/ }), - -/***/ "./node_modules/axios/lib/core/buildFullPath.js": -/*!******************************************************!*\ - !*** ./node_modules/axios/lib/core/buildFullPath.js ***! - \******************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ buildFullPath) -/* harmony export */ }); -/* harmony import */ var _helpers_isAbsoluteURL_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../helpers/isAbsoluteURL.js */ "./node_modules/axios/lib/helpers/isAbsoluteURL.js"); -/* harmony import */ var _helpers_combineURLs_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../helpers/combineURLs.js */ "./node_modules/axios/lib/helpers/combineURLs.js"); - - - - - -/** - * Creates a new URL by combining the baseURL with the requestedURL, - * only when the requestedURL is not already an absolute URL. - * If the requestURL is absolute, this function returns the requestedURL untouched. - * - * @param {string} baseURL The base URL - * @param {string} requestedURL Absolute or relative URL to combine - * - * @returns {string} The combined full path - */ -function buildFullPath(baseURL, requestedURL) { - if (baseURL && !(0,_helpers_isAbsoluteURL_js__WEBPACK_IMPORTED_MODULE_0__["default"])(requestedURL)) { - return (0,_helpers_combineURLs_js__WEBPACK_IMPORTED_MODULE_1__["default"])(baseURL, requestedURL); - } - return requestedURL; -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/core/dispatchRequest.js": -/*!********************************************************!*\ - !*** ./node_modules/axios/lib/core/dispatchRequest.js ***! - \********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ dispatchRequest) -/* harmony export */ }); -/* harmony import */ var _transformData_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./transformData.js */ "./node_modules/axios/lib/core/transformData.js"); -/* harmony import */ var _cancel_isCancel_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../cancel/isCancel.js */ "./node_modules/axios/lib/cancel/isCancel.js"); -/* harmony import */ var _defaults_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../defaults/index.js */ "./node_modules/axios/lib/defaults/index.js"); -/* harmony import */ var _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../cancel/CanceledError.js */ "./node_modules/axios/lib/cancel/CanceledError.js"); -/* harmony import */ var _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); -/* harmony import */ var _adapters_adapters_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../adapters/adapters.js */ "./node_modules/axios/lib/adapters/adapters.js"); - - - - - - - - - -/** - * Throws a `CanceledError` if cancellation has been requested. - * - * @param {Object} config The config that is to be used for the request - * - * @returns {void} - */ -function throwIfCancellationRequested(config) { - if (config.cancelToken) { - config.cancelToken.throwIfRequested(); - } - - if (config.signal && config.signal.aborted) { - throw new _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_0__["default"](null, config); - } -} - -/** - * Dispatch a request to the server using the configured adapter. - * - * @param {object} config The config that is to be used for the request - * - * @returns {Promise} The Promise to be fulfilled - */ -function dispatchRequest(config) { - throwIfCancellationRequested(config); - - config.headers = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"].from(config.headers); - - // Transform request data - config.data = _transformData_js__WEBPACK_IMPORTED_MODULE_2__["default"].call( - config, - config.transformRequest - ); - - if (['post', 'put', 'patch'].indexOf(config.method) !== -1) { - config.headers.setContentType('application/x-www-form-urlencoded', false); - } - - const adapter = _adapters_adapters_js__WEBPACK_IMPORTED_MODULE_3__["default"].getAdapter(config.adapter || _defaults_index_js__WEBPACK_IMPORTED_MODULE_4__["default"].adapter); - - return adapter(config).then(function onAdapterResolution(response) { - throwIfCancellationRequested(config); - - // Transform response data - response.data = _transformData_js__WEBPACK_IMPORTED_MODULE_2__["default"].call( - config, - config.transformResponse, - response - ); - - response.headers = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"].from(response.headers); - - return response; - }, function onAdapterRejection(reason) { - if (!(0,_cancel_isCancel_js__WEBPACK_IMPORTED_MODULE_5__["default"])(reason)) { - throwIfCancellationRequested(config); - - // Transform response data - if (reason && reason.response) { - reason.response.data = _transformData_js__WEBPACK_IMPORTED_MODULE_2__["default"].call( - config, - config.transformResponse, - reason.response - ); - reason.response.headers = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"].from(reason.response.headers); - } - } - - return Promise.reject(reason); - }); -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/core/mergeConfig.js": -/*!****************************************************!*\ - !*** ./node_modules/axios/lib/core/mergeConfig.js ***! - \****************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ mergeConfig) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); - - - - - -const headersToObject = (thing) => thing instanceof _AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_0__["default"] ? { ...thing } : thing; - -/** - * Config-specific merge-function which creates a new config-object - * by merging two configuration objects together. - * - * @param {Object} config1 - * @param {Object} config2 - * - * @returns {Object} New object resulting from merging config2 to config1 - */ -function mergeConfig(config1, config2) { - // eslint-disable-next-line no-param-reassign - config2 = config2 || {}; - const config = {}; - - function getMergedValue(target, source, caseless) { - if (_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isPlainObject(target) && _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isPlainObject(source)) { - return _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].merge.call({caseless}, target, source); - } else if (_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isPlainObject(source)) { - return _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].merge({}, source); - } else if (_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isArray(source)) { - return source.slice(); - } - return source; - } - - // eslint-disable-next-line consistent-return - function mergeDeepProperties(a, b, caseless) { - if (!_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isUndefined(b)) { - return getMergedValue(a, b, caseless); - } else if (!_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isUndefined(a)) { - return getMergedValue(undefined, a, caseless); - } - } - - // eslint-disable-next-line consistent-return - function valueFromConfig2(a, b) { - if (!_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isUndefined(b)) { - return getMergedValue(undefined, b); - } - } - - // eslint-disable-next-line consistent-return - function defaultToConfig2(a, b) { - if (!_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isUndefined(b)) { - return getMergedValue(undefined, b); - } else if (!_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isUndefined(a)) { - return getMergedValue(undefined, a); - } - } - - // eslint-disable-next-line consistent-return - function mergeDirectKeys(a, b, prop) { - if (prop in config2) { - return getMergedValue(a, b); - } else if (prop in config1) { - return getMergedValue(undefined, a); - } - } - - const mergeMap = { - url: valueFromConfig2, - method: valueFromConfig2, - data: valueFromConfig2, - baseURL: defaultToConfig2, - transformRequest: defaultToConfig2, - transformResponse: defaultToConfig2, - paramsSerializer: defaultToConfig2, - timeout: defaultToConfig2, - timeoutMessage: defaultToConfig2, - withCredentials: defaultToConfig2, - withXSRFToken: defaultToConfig2, - adapter: defaultToConfig2, - responseType: defaultToConfig2, - xsrfCookieName: defaultToConfig2, - xsrfHeaderName: defaultToConfig2, - onUploadProgress: defaultToConfig2, - onDownloadProgress: defaultToConfig2, - decompress: defaultToConfig2, - maxContentLength: defaultToConfig2, - maxBodyLength: defaultToConfig2, - beforeRedirect: defaultToConfig2, - transport: defaultToConfig2, - httpAgent: defaultToConfig2, - httpsAgent: defaultToConfig2, - cancelToken: defaultToConfig2, - socketPath: defaultToConfig2, - responseEncoding: defaultToConfig2, - validateStatus: mergeDirectKeys, - headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true) - }; - - _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) { - const merge = mergeMap[prop] || mergeDeepProperties; - const configValue = merge(config1[prop], config2[prop], prop); - (_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue); - }); - - return config; -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/core/settle.js": -/*!***********************************************!*\ - !*** ./node_modules/axios/lib/core/settle.js ***! - \***********************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ settle) -/* harmony export */ }); -/* harmony import */ var _AxiosError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); - - - - -/** - * Resolve or reject a Promise based on response status. - * - * @param {Function} resolve A function that resolves the promise. - * @param {Function} reject A function that rejects the promise. - * @param {object} response The response. - * - * @returns {object} The response. - */ -function settle(resolve, reject, response) { - const validateStatus = response.config.validateStatus; - if (!response.status || !validateStatus || validateStatus(response.status)) { - resolve(response); - } else { - reject(new _AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"]( - 'Request failed with status code ' + response.status, - [_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"].ERR_BAD_REQUEST, _AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"].ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4], - response.config, - response.request, - response - )); - } -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/core/transformData.js": -/*!******************************************************!*\ - !*** ./node_modules/axios/lib/core/transformData.js ***! - \******************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ transformData) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _defaults_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../defaults/index.js */ "./node_modules/axios/lib/defaults/index.js"); -/* harmony import */ var _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); - - - - - - -/** - * Transform the data for a request or a response - * - * @param {Array|Function} fns A single function or Array of functions - * @param {?Object} response The response object - * - * @returns {*} The resulting transformed data - */ -function transformData(fns, response) { - const config = this || _defaults_index_js__WEBPACK_IMPORTED_MODULE_0__["default"]; - const context = response || config; - const headers = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"].from(context.headers); - let data = context.data; - - _utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].forEach(fns, function transform(fn) { - data = fn.call(config, data, headers.normalize(), response ? response.status : undefined); - }); - - headers.normalize(); - - return data; -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/defaults/index.js": -/*!**************************************************!*\ - !*** ./node_modules/axios/lib/defaults/index.js ***! - \**************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); -/* harmony import */ var _transitional_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./transitional.js */ "./node_modules/axios/lib/defaults/transitional.js"); -/* harmony import */ var _helpers_toFormData_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../helpers/toFormData.js */ "./node_modules/axios/lib/helpers/toFormData.js"); -/* harmony import */ var _helpers_toURLEncodedForm_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../helpers/toURLEncodedForm.js */ "./node_modules/axios/lib/helpers/toURLEncodedForm.js"); -/* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js"); -/* harmony import */ var _helpers_formDataToJSON_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../helpers/formDataToJSON.js */ "./node_modules/axios/lib/helpers/formDataToJSON.js"); - - - - - - - - - - -/** - * It takes a string, tries to parse it, and if it fails, it returns the stringified version - * of the input - * - * @param {any} rawValue - The value to be stringified. - * @param {Function} parser - A function that parses a string into a JavaScript object. - * @param {Function} encoder - A function that takes a value and returns a string. - * - * @returns {string} A stringified version of the rawValue. - */ -function stringifySafely(rawValue, parser, encoder) { - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(rawValue)) { - try { - (parser || JSON.parse)(rawValue); - return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].trim(rawValue); - } catch (e) { - if (e.name !== 'SyntaxError') { - throw e; - } - } - } - - return (encoder || JSON.stringify)(rawValue); -} - -const defaults = { - - transitional: _transitional_js__WEBPACK_IMPORTED_MODULE_1__["default"], - - adapter: ['xhr', 'http', 'fetch'], - - transformRequest: [function transformRequest(data, headers) { - const contentType = headers.getContentType() || ''; - const hasJSONContentType = contentType.indexOf('application/json') > -1; - const isObjectPayload = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isObject(data); - - if (isObjectPayload && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isHTMLForm(data)) { - data = new FormData(data); - } - - const isFormData = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFormData(data); - - if (isFormData) { - return hasJSONContentType ? JSON.stringify((0,_helpers_formDataToJSON_js__WEBPACK_IMPORTED_MODULE_2__["default"])(data)) : data; - } - - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArrayBuffer(data) || - _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isBuffer(data) || - _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isStream(data) || - _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFile(data) || - _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isBlob(data) || - _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isReadableStream(data) - ) { - return data; - } - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArrayBufferView(data)) { - return data.buffer; - } - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isURLSearchParams(data)) { - headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false); - return data.toString(); - } - - let isFileList; - - if (isObjectPayload) { - if (contentType.indexOf('application/x-www-form-urlencoded') > -1) { - return (0,_helpers_toURLEncodedForm_js__WEBPACK_IMPORTED_MODULE_3__["default"])(data, this.formSerializer).toString(); - } - - if ((isFileList = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) { - const _FormData = this.env && this.env.FormData; - - return (0,_helpers_toFormData_js__WEBPACK_IMPORTED_MODULE_4__["default"])( - isFileList ? {'files[]': data} : data, - _FormData && new _FormData(), - this.formSerializer - ); - } - } - - if (isObjectPayload || hasJSONContentType ) { - headers.setContentType('application/json', false); - return stringifySafely(data); - } - - return data; - }], - - transformResponse: [function transformResponse(data) { - const transitional = this.transitional || defaults.transitional; - const forcedJSONParsing = transitional && transitional.forcedJSONParsing; - const JSONRequested = this.responseType === 'json'; - - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isResponse(data) || _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isReadableStream(data)) { - return data; - } - - if (data && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) { - const silentJSONParsing = transitional && transitional.silentJSONParsing; - const strictJSONParsing = !silentJSONParsing && JSONRequested; - - try { - return JSON.parse(data); - } catch (e) { - if (strictJSONParsing) { - if (e.name === 'SyntaxError') { - throw _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_5__["default"].from(e, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_5__["default"].ERR_BAD_RESPONSE, this, null, this.response); - } - throw e; - } - } - } - - return data; - }], - - /** - * A timeout in milliseconds to abort a request. If set to 0 (default) a - * timeout is not created. - */ - timeout: 0, - - xsrfCookieName: 'XSRF-TOKEN', - xsrfHeaderName: 'X-XSRF-TOKEN', - - maxContentLength: -1, - maxBodyLength: -1, - - env: { - FormData: _platform_index_js__WEBPACK_IMPORTED_MODULE_6__["default"].classes.FormData, - Blob: _platform_index_js__WEBPACK_IMPORTED_MODULE_6__["default"].classes.Blob - }, - - validateStatus: function validateStatus(status) { - return status >= 200 && status < 300; - }, - - headers: { - common: { - 'Accept': 'application/json, text/plain, */*', - 'Content-Type': undefined - } - } -}; - -_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => { - defaults.headers[method] = {}; -}); - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (defaults); - - -/***/ }), - -/***/ "./node_modules/axios/lib/defaults/transitional.js": -/*!*********************************************************!*\ - !*** ./node_modules/axios/lib/defaults/transitional.js ***! - \*********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); - - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ - silentJSONParsing: true, - forcedJSONParsing: true, - clarifyTimeoutError: false -}); - - -/***/ }), - -/***/ "./node_modules/axios/lib/env/data.js": -/*!********************************************!*\ - !*** ./node_modules/axios/lib/env/data.js ***! - \********************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ VERSION: () => (/* binding */ VERSION) -/* harmony export */ }); -const VERSION = "1.7.2"; - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/AxiosURLSearchParams.js": -/*!****************************************************************!*\ - !*** ./node_modules/axios/lib/helpers/AxiosURLSearchParams.js ***! - \****************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _toFormData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toFormData.js */ "./node_modules/axios/lib/helpers/toFormData.js"); - - - - -/** - * It encodes a string by replacing all characters that are not in the unreserved set with - * their percent-encoded equivalents - * - * @param {string} str - The string to encode. - * - * @returns {string} The encoded string. - */ -function encode(str) { - const charMap = { - '!': '%21', - "'": '%27', - '(': '%28', - ')': '%29', - '~': '%7E', - '%20': '+', - '%00': '\x00' - }; - return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) { - return charMap[match]; - }); -} - -/** - * It takes a params object and converts it to a FormData object - * - * @param {Object} params - The parameters to be converted to a FormData object. - * @param {Object} options - The options object passed to the Axios constructor. - * - * @returns {void} - */ -function AxiosURLSearchParams(params, options) { - this._pairs = []; - - params && (0,_toFormData_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params, this, options); -} - -const prototype = AxiosURLSearchParams.prototype; - -prototype.append = function append(name, value) { - this._pairs.push([name, value]); -}; - -prototype.toString = function toString(encoder) { - const _encode = encoder ? function(value) { - return encoder.call(this, value, encode); - } : encode; - - return this._pairs.map(function each(pair) { - return _encode(pair[0]) + '=' + _encode(pair[1]); - }, '').join('&'); -}; - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AxiosURLSearchParams); - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/HttpStatusCode.js": -/*!**********************************************************!*\ - !*** ./node_modules/axios/lib/helpers/HttpStatusCode.js ***! - \**********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -const HttpStatusCode = { - Continue: 100, - SwitchingProtocols: 101, - Processing: 102, - EarlyHints: 103, - Ok: 200, - Created: 201, - Accepted: 202, - NonAuthoritativeInformation: 203, - NoContent: 204, - ResetContent: 205, - PartialContent: 206, - MultiStatus: 207, - AlreadyReported: 208, - ImUsed: 226, - MultipleChoices: 300, - MovedPermanently: 301, - Found: 302, - SeeOther: 303, - NotModified: 304, - UseProxy: 305, - Unused: 306, - TemporaryRedirect: 307, - PermanentRedirect: 308, - BadRequest: 400, - Unauthorized: 401, - PaymentRequired: 402, - Forbidden: 403, - NotFound: 404, - MethodNotAllowed: 405, - NotAcceptable: 406, - ProxyAuthenticationRequired: 407, - RequestTimeout: 408, - Conflict: 409, - Gone: 410, - LengthRequired: 411, - PreconditionFailed: 412, - PayloadTooLarge: 413, - UriTooLong: 414, - UnsupportedMediaType: 415, - RangeNotSatisfiable: 416, - ExpectationFailed: 417, - ImATeapot: 418, - MisdirectedRequest: 421, - UnprocessableEntity: 422, - Locked: 423, - FailedDependency: 424, - TooEarly: 425, - UpgradeRequired: 426, - PreconditionRequired: 428, - TooManyRequests: 429, - RequestHeaderFieldsTooLarge: 431, - UnavailableForLegalReasons: 451, - InternalServerError: 500, - NotImplemented: 501, - BadGateway: 502, - ServiceUnavailable: 503, - GatewayTimeout: 504, - HttpVersionNotSupported: 505, - VariantAlsoNegotiates: 506, - InsufficientStorage: 507, - LoopDetected: 508, - NotExtended: 510, - NetworkAuthenticationRequired: 511, -}; - -Object.entries(HttpStatusCode).forEach(([key, value]) => { - HttpStatusCode[value] = key; -}); - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (HttpStatusCode); - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/bind.js": -/*!************************************************!*\ - !*** ./node_modules/axios/lib/helpers/bind.js ***! - \************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ bind) -/* harmony export */ }); - - -function bind(fn, thisArg) { - return function wrap() { - return fn.apply(thisArg, arguments); - }; -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/buildURL.js": -/*!****************************************************!*\ - !*** ./node_modules/axios/lib/helpers/buildURL.js ***! - \****************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ buildURL) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _helpers_AxiosURLSearchParams_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../helpers/AxiosURLSearchParams.js */ "./node_modules/axios/lib/helpers/AxiosURLSearchParams.js"); - - - - - -/** - * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their - * URI encoded counterparts - * - * @param {string} val The value to be encoded. - * - * @returns {string} The encoded value. - */ -function encode(val) { - return encodeURIComponent(val). - replace(/%3A/gi, ':'). - replace(/%24/g, '$'). - replace(/%2C/gi, ','). - replace(/%20/g, '+'). - replace(/%5B/gi, '['). - replace(/%5D/gi, ']'); -} - -/** - * Build a URL by appending params to the end - * - * @param {string} url The base of the url (e.g., http://www.google.com) - * @param {object} [params] The params to be appended - * @param {?object} options - * - * @returns {string} The formatted url - */ -function buildURL(url, params, options) { - /*eslint no-param-reassign:0*/ - if (!params) { - return url; - } - - const _encode = options && options.encode || encode; - - const serializeFn = options && options.serialize; - - let serializedParams; - - if (serializeFn) { - serializedParams = serializeFn(params, options); - } else { - serializedParams = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isURLSearchParams(params) ? - params.toString() : - new _helpers_AxiosURLSearchParams_js__WEBPACK_IMPORTED_MODULE_1__["default"](params, options).toString(_encode); - } - - if (serializedParams) { - const hashmarkIndex = url.indexOf("#"); - - if (hashmarkIndex !== -1) { - url = url.slice(0, hashmarkIndex); - } - url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams; - } - - return url; -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/combineURLs.js": -/*!*******************************************************!*\ - !*** ./node_modules/axios/lib/helpers/combineURLs.js ***! - \*******************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ combineURLs) -/* harmony export */ }); - - -/** - * Creates a new URL by combining the specified URLs - * - * @param {string} baseURL The base URL - * @param {string} relativeURL The relative URL - * - * @returns {string} The combined URL - */ -function combineURLs(baseURL, relativeURL) { - return relativeURL - ? baseURL.replace(/\/?\/$/, '') + '/' + relativeURL.replace(/^\/+/, '') - : baseURL; -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/composeSignals.js": -/*!**********************************************************!*\ - !*** ./node_modules/axios/lib/helpers/composeSignals.js ***! - \**********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../cancel/CanceledError.js */ "./node_modules/axios/lib/cancel/CanceledError.js"); -/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); - - - -const composeSignals = (signals, timeout) => { - let controller = new AbortController(); - - let aborted; - - const onabort = function (cancel) { - if (!aborted) { - aborted = true; - unsubscribe(); - const err = cancel instanceof Error ? cancel : this.reason; - controller.abort(err instanceof _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"] ? err : new _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_1__["default"](err instanceof Error ? err.message : err)); - } - } - - let timer = timeout && setTimeout(() => { - onabort(new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"](`timeout ${timeout} of ms exceeded`, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"].ETIMEDOUT)) - }, timeout) - - const unsubscribe = () => { - if (signals) { - timer && clearTimeout(timer); - timer = null; - signals.forEach(signal => { - signal && - (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort)); - }); - signals = null; - } - } - - signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort)); - - const {signal} = controller; - - signal.unsubscribe = unsubscribe; - - return [signal, () => { - timer && clearTimeout(timer); - timer = null; - }]; -} - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (composeSignals); - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/cookies.js": -/*!***************************************************!*\ - !*** ./node_modules/axios/lib/helpers/cookies.js ***! - \***************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js"); - - - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_platform_index_js__WEBPACK_IMPORTED_MODULE_0__["default"].hasStandardBrowserEnv ? - - // Standard browser envs support document.cookie - { - write(name, value, expires, path, domain, secure) { - const cookie = [name + '=' + encodeURIComponent(value)]; - - _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString()); - - _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isString(path) && cookie.push('path=' + path); - - _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isString(domain) && cookie.push('domain=' + domain); - - secure === true && cookie.push('secure'); - - document.cookie = cookie.join('; '); - }, - - read(name) { - const match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)')); - return (match ? decodeURIComponent(match[3]) : null); - }, - - remove(name) { - this.write(name, '', Date.now() - 86400000); - } - } - - : - - // Non-standard browser env (web workers, react-native) lack needed support. - { - write() {}, - read() { - return null; - }, - remove() {} - }); - - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/formDataToJSON.js": -/*!**********************************************************!*\ - !*** ./node_modules/axios/lib/helpers/formDataToJSON.js ***! - \**********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); - - - - -/** - * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z'] - * - * @param {string} name - The name of the property to get. - * - * @returns An array of strings. - */ -function parsePropPath(name) { - // foo[x][y][z] - // foo.x.y.z - // foo-x-y-z - // foo x y z - return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].matchAll(/\w+|\[(\w*)]/g, name).map(match => { - return match[0] === '[]' ? '' : match[1] || match[0]; - }); -} - -/** - * Convert an array to an object. - * - * @param {Array} arr - The array to convert to an object. - * - * @returns An object with the same keys and values as the array. - */ -function arrayToObject(arr) { - const obj = {}; - const keys = Object.keys(arr); - let i; - const len = keys.length; - let key; - for (i = 0; i < len; i++) { - key = keys[i]; - obj[key] = arr[key]; - } - return obj; -} - -/** - * It takes a FormData object and returns a JavaScript object - * - * @param {string} formData The FormData object to convert to JSON. - * - * @returns {Object | null} The converted object. - */ -function formDataToJSON(formData) { - function buildPath(path, value, target, index) { - let name = path[index++]; - - if (name === '__proto__') return true; - - const isNumericKey = Number.isFinite(+name); - const isLast = index >= path.length; - name = !name && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(target) ? target.length : name; - - if (isLast) { - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].hasOwnProp(target, name)) { - target[name] = [target[name], value]; - } else { - target[name] = value; - } - - return !isNumericKey; - } - - if (!target[name] || !_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isObject(target[name])) { - target[name] = []; - } - - const result = buildPath(path, value, target[name], index); - - if (result && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(target[name])) { - target[name] = arrayToObject(target[name]); - } - - return !isNumericKey; - } - - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFormData(formData) && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFunction(formData.entries)) { - const obj = {}; - - _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEachEntry(formData, (name, value) => { - buildPath(parsePropPath(name), value, obj, 0); - }); - - return obj; - } - - return null; -} - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (formDataToJSON); - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/isAbsoluteURL.js": -/*!*********************************************************!*\ - !*** ./node_modules/axios/lib/helpers/isAbsoluteURL.js ***! - \*********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ isAbsoluteURL) -/* harmony export */ }); - - -/** - * Determines whether the specified URL is absolute - * - * @param {string} url The URL to test - * - * @returns {boolean} True if the specified URL is absolute, otherwise false - */ -function isAbsoluteURL(url) { - // A URL is considered absolute if it begins with "://" or "//" (protocol-relative URL). - // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed - // by any combination of letters, digits, plus, period, or hyphen. - return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url); -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/isAxiosError.js": -/*!********************************************************!*\ - !*** ./node_modules/axios/lib/helpers/isAxiosError.js ***! - \********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ isAxiosError) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); - - - - -/** - * Determines whether the payload is an error thrown by Axios - * - * @param {*} payload The value to test - * - * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false - */ -function isAxiosError(payload) { - return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isObject(payload) && (payload.isAxiosError === true); -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/isURLSameOrigin.js": -/*!***********************************************************!*\ - !*** ./node_modules/axios/lib/helpers/isURLSameOrigin.js ***! - \***********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js"); - - - - - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_platform_index_js__WEBPACK_IMPORTED_MODULE_0__["default"].hasStandardBrowserEnv ? - -// Standard browser envs have full support of the APIs needed to test -// whether the request URL is of the same origin as current location. - (function standardBrowserEnv() { - const msie = /(msie|trident)/i.test(navigator.userAgent); - const urlParsingNode = document.createElement('a'); - let originURL; - - /** - * Parse a URL to discover its components - * - * @param {String} url The URL to be parsed - * @returns {Object} - */ - function resolveURL(url) { - let href = url; - - if (msie) { - // IE needs attribute set twice to normalize properties - urlParsingNode.setAttribute('href', href); - href = urlParsingNode.href; - } - - urlParsingNode.setAttribute('href', href); - - // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils - return { - href: urlParsingNode.href, - protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '', - host: urlParsingNode.host, - search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '', - hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '', - hostname: urlParsingNode.hostname, - port: urlParsingNode.port, - pathname: (urlParsingNode.pathname.charAt(0) === '/') ? - urlParsingNode.pathname : - '/' + urlParsingNode.pathname - }; - } - - originURL = resolveURL(window.location.href); - - /** - * Determine if a URL shares the same origin as the current location - * - * @param {String} requestURL The URL to test - * @returns {boolean} True if URL shares the same origin, otherwise false - */ - return function isURLSameOrigin(requestURL) { - const parsed = (_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isString(requestURL)) ? resolveURL(requestURL) : requestURL; - return (parsed.protocol === originURL.protocol && - parsed.host === originURL.host); - }; - })() : - - // Non standard browser envs (web workers, react-native) lack needed support. - (function nonStandardBrowserEnv() { - return function isURLSameOrigin() { - return true; - }; - })()); - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/null.js": -/*!************************************************!*\ - !*** ./node_modules/axios/lib/helpers/null.js ***! - \************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -// eslint-disable-next-line strict -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (null); - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/parseHeaders.js": -/*!********************************************************!*\ - !*** ./node_modules/axios/lib/helpers/parseHeaders.js ***! - \********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); - - - - -// RawAxiosHeaders whose duplicates are ignored by node -// c.f. https://nodejs.org/api/http.html#http_message_headers -const ignoreDuplicateOf = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toObjectSet([ - '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' -]); - -/** - * Parse headers into an object - * - * ``` - * Date: Wed, 27 Aug 2014 08:58:49 GMT - * Content-Type: application/json - * Connection: keep-alive - * Transfer-Encoding: chunked - * ``` - * - * @param {String} rawHeaders Headers needing to be parsed - * - * @returns {Object} Headers parsed into an object - */ -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (rawHeaders => { - const parsed = {}; - let key; - let val; - let i; - - rawHeaders && rawHeaders.split('\n').forEach(function parser(line) { - i = line.indexOf(':'); - key = line.substring(0, i).trim().toLowerCase(); - val = line.substring(i + 1).trim(); - - if (!key || (parsed[key] && ignoreDuplicateOf[key])) { - return; - } - - if (key === 'set-cookie') { - if (parsed[key]) { - parsed[key].push(val); - } else { - parsed[key] = [val]; - } - } else { - parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val; - } - }); - - return parsed; -}); - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/parseProtocol.js": -/*!*********************************************************!*\ - !*** ./node_modules/axios/lib/helpers/parseProtocol.js ***! - \*********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ parseProtocol) -/* harmony export */ }); - - -function parseProtocol(url) { - const match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url); - return match && match[1] || ''; -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/progressEventReducer.js": -/*!****************************************************************!*\ - !*** ./node_modules/axios/lib/helpers/progressEventReducer.js ***! - \****************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _speedometer_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./speedometer.js */ "./node_modules/axios/lib/helpers/speedometer.js"); -/* harmony import */ var _throttle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./throttle.js */ "./node_modules/axios/lib/helpers/throttle.js"); - - - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((listener, isDownloadStream, freq = 3) => { - let bytesNotified = 0; - const _speedometer = (0,_speedometer_js__WEBPACK_IMPORTED_MODULE_0__["default"])(50, 250); - - return (0,_throttle_js__WEBPACK_IMPORTED_MODULE_1__["default"])(e => { - const loaded = e.loaded; - const total = e.lengthComputable ? e.total : undefined; - const progressBytes = loaded - bytesNotified; - const rate = _speedometer(progressBytes); - const inRange = loaded <= total; - - bytesNotified = loaded; - - const data = { - loaded, - total, - progress: total ? (loaded / total) : undefined, - bytes: progressBytes, - rate: rate ? rate : undefined, - estimated: rate && total && inRange ? (total - loaded) / rate : undefined, - event: e, - lengthComputable: total != null - }; - - data[isDownloadStream ? 'download' : 'upload'] = true; - - listener(data); - }, freq); -}); - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/resolveConfig.js": -/*!*********************************************************!*\ - !*** ./node_modules/axios/lib/helpers/resolveConfig.js ***! - \*********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js"); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _isURLSameOrigin_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./isURLSameOrigin.js */ "./node_modules/axios/lib/helpers/isURLSameOrigin.js"); -/* harmony import */ var _cookies_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./cookies.js */ "./node_modules/axios/lib/helpers/cookies.js"); -/* harmony import */ var _core_buildFullPath_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../core/buildFullPath.js */ "./node_modules/axios/lib/core/buildFullPath.js"); -/* harmony import */ var _core_mergeConfig_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/mergeConfig.js */ "./node_modules/axios/lib/core/mergeConfig.js"); -/* harmony import */ var _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); -/* harmony import */ var _buildURL_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./buildURL.js */ "./node_modules/axios/lib/helpers/buildURL.js"); - - - - - - - - - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((config) => { - const newConfig = (0,_core_mergeConfig_js__WEBPACK_IMPORTED_MODULE_0__["default"])({}, config); - - let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig; - - newConfig.headers = headers = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"].from(headers); - - newConfig.url = (0,_buildURL_js__WEBPACK_IMPORTED_MODULE_2__["default"])((0,_core_buildFullPath_js__WEBPACK_IMPORTED_MODULE_3__["default"])(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer); - - // HTTP basic authentication - if (auth) { - headers.set('Authorization', 'Basic ' + - btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : '')) - ); - } - - let contentType; - - if (_utils_js__WEBPACK_IMPORTED_MODULE_4__["default"].isFormData(data)) { - if (_platform_index_js__WEBPACK_IMPORTED_MODULE_5__["default"].hasStandardBrowserEnv || _platform_index_js__WEBPACK_IMPORTED_MODULE_5__["default"].hasStandardBrowserWebWorkerEnv) { - headers.setContentType(undefined); // Let the browser set it - } else if ((contentType = headers.getContentType()) !== false) { - // fix semicolon duplication issue for ReactNative FormData implementation - const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : []; - headers.setContentType([type || 'multipart/form-data', ...tokens].join('; ')); - } - } - - // Add xsrf header - // This is only done if running in a standard browser environment. - // Specifically not if we're in a web worker, or react-native. - - if (_platform_index_js__WEBPACK_IMPORTED_MODULE_5__["default"].hasStandardBrowserEnv) { - withXSRFToken && _utils_js__WEBPACK_IMPORTED_MODULE_4__["default"].isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig)); - - if (withXSRFToken || (withXSRFToken !== false && (0,_isURLSameOrigin_js__WEBPACK_IMPORTED_MODULE_6__["default"])(newConfig.url))) { - // Add xsrf header - const xsrfValue = xsrfHeaderName && xsrfCookieName && _cookies_js__WEBPACK_IMPORTED_MODULE_7__["default"].read(xsrfCookieName); - - if (xsrfValue) { - headers.set(xsrfHeaderName, xsrfValue); - } - } - } - - return newConfig; -}); - - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/speedometer.js": -/*!*******************************************************!*\ - !*** ./node_modules/axios/lib/helpers/speedometer.js ***! - \*******************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); - - -/** - * Calculate data maxRate - * @param {Number} [samplesCount= 10] - * @param {Number} [min= 1000] - * @returns {Function} - */ -function speedometer(samplesCount, min) { - samplesCount = samplesCount || 10; - const bytes = new Array(samplesCount); - const timestamps = new Array(samplesCount); - let head = 0; - let tail = 0; - let firstSampleTS; - - min = min !== undefined ? min : 1000; - - return function push(chunkLength) { - const now = Date.now(); - - const startedAt = timestamps[tail]; - - if (!firstSampleTS) { - firstSampleTS = now; - } - - bytes[head] = chunkLength; - timestamps[head] = now; - - let i = tail; - let bytesCount = 0; - - while (i !== head) { - bytesCount += bytes[i++]; - i = i % samplesCount; - } - - head = (head + 1) % samplesCount; - - if (head === tail) { - tail = (tail + 1) % samplesCount; - } - - if (now - firstSampleTS < min) { - return; - } - - const passed = startedAt && now - startedAt; - - return passed ? Math.round(bytesCount * 1000 / passed) : undefined; - }; -} - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (speedometer); - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/spread.js": -/*!**************************************************!*\ - !*** ./node_modules/axios/lib/helpers/spread.js ***! - \**************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ spread) -/* harmony export */ }); - - -/** - * Syntactic sugar for invoking a function and expanding an array for arguments. - * - * Common use case would be to use `Function.prototype.apply`. - * - * ```js - * function f(x, y, z) {} - * var args = [1, 2, 3]; - * f.apply(null, args); - * ``` - * - * With `spread` this example can be re-written. - * - * ```js - * spread(function(x, y, z) {})([1, 2, 3]); - * ``` - * - * @param {Function} callback - * - * @returns {Function} - */ -function spread(callback) { - return function wrap(arr) { - return callback.apply(null, arr); - }; -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/throttle.js": -/*!****************************************************!*\ - !*** ./node_modules/axios/lib/helpers/throttle.js ***! - \****************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); - - -/** - * Throttle decorator - * @param {Function} fn - * @param {Number} freq - * @return {Function} - */ -function throttle(fn, freq) { - let timestamp = 0; - const threshold = 1000 / freq; - let timer = null; - return function throttled() { - const force = this === true; - - const now = Date.now(); - if (force || now - timestamp > threshold) { - if (timer) { - clearTimeout(timer); - timer = null; - } - timestamp = now; - return fn.apply(null, arguments); - } - if (!timer) { - timer = setTimeout(() => { - timer = null; - timestamp = Date.now(); - return fn.apply(null, arguments); - }, threshold - (now - timestamp)); - } - }; -} - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (throttle); - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/toFormData.js": -/*!******************************************************!*\ - !*** ./node_modules/axios/lib/helpers/toFormData.js ***! - \******************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); -/* harmony import */ var _platform_node_classes_FormData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../platform/node/classes/FormData.js */ "./node_modules/axios/lib/helpers/null.js"); - - - - -// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored - - -/** - * Determines if the given thing is a array or js object. - * - * @param {string} thing - The object or array to be visited. - * - * @returns {boolean} - */ -function isVisitable(thing) { - return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isPlainObject(thing) || _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(thing); -} - -/** - * It removes the brackets from the end of a string - * - * @param {string} key - The key of the parameter. - * - * @returns {string} the key without the brackets. - */ -function removeBrackets(key) { - return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].endsWith(key, '[]') ? key.slice(0, -2) : key; -} - -/** - * It takes a path, a key, and a boolean, and returns a string - * - * @param {string} path - The path to the current key. - * @param {string} key - The key of the current object being iterated over. - * @param {string} dots - If true, the key will be rendered with dots instead of brackets. - * - * @returns {string} The path to the current key. - */ -function renderKey(path, key, dots) { - if (!path) return key; - return path.concat(key).map(function each(token, i) { - // eslint-disable-next-line no-param-reassign - token = removeBrackets(token); - return !dots && i ? '[' + token + ']' : token; - }).join(dots ? '.' : ''); -} - -/** - * If the array is an array and none of its elements are visitable, then it's a flat array. - * - * @param {Array} arr - The array to check - * - * @returns {boolean} - */ -function isFlatArray(arr) { - return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(arr) && !arr.some(isVisitable); -} - -const predicates = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toFlatObject(_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"], {}, null, function filter(prop) { - return /^is[A-Z]/.test(prop); -}); - -/** - * Convert a data object to FormData - * - * @param {Object} obj - * @param {?Object} [formData] - * @param {?Object} [options] - * @param {Function} [options.visitor] - * @param {Boolean} [options.metaTokens = true] - * @param {Boolean} [options.dots = false] - * @param {?Boolean} [options.indexes = false] - * - * @returns {Object} - **/ - -/** - * It converts an object into a FormData object - * - * @param {Object} obj - The object to convert to form data. - * @param {string} formData - The FormData object to append to. - * @param {Object} options - * - * @returns - */ -function toFormData(obj, formData, options) { - if (!_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isObject(obj)) { - throw new TypeError('target must be an object'); - } - - // eslint-disable-next-line no-param-reassign - formData = formData || new (_platform_node_classes_FormData_js__WEBPACK_IMPORTED_MODULE_1__["default"] || FormData)(); - - // eslint-disable-next-line no-param-reassign - options = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toFlatObject(options, { - metaTokens: true, - dots: false, - indexes: false - }, false, function defined(option, source) { - // eslint-disable-next-line no-eq-null,eqeqeq - return !_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isUndefined(source[option]); - }); - - const metaTokens = options.metaTokens; - // eslint-disable-next-line no-use-before-define - const visitor = options.visitor || defaultVisitor; - const dots = options.dots; - const indexes = options.indexes; - const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob; - const useBlob = _Blob && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isSpecCompliantForm(formData); - - if (!_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFunction(visitor)) { - throw new TypeError('visitor must be a function'); - } - - function convertValue(value) { - if (value === null) return ''; - - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isDate(value)) { - return value.toISOString(); - } - - if (!useBlob && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isBlob(value)) { - throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_2__["default"]('Blob is not supported. Use a Buffer instead.'); - } - - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArrayBuffer(value) || _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isTypedArray(value)) { - return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value); - } - - return value; - } - - /** - * Default visitor. - * - * @param {*} value - * @param {String|Number} key - * @param {Array} path - * @this {FormData} - * - * @returns {boolean} return true to visit the each prop of the value recursively - */ - function defaultVisitor(value, key, path) { - let arr = value; - - if (value && !path && typeof value === 'object') { - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].endsWith(key, '{}')) { - // eslint-disable-next-line no-param-reassign - key = metaTokens ? key : key.slice(0, -2); - // eslint-disable-next-line no-param-reassign - value = JSON.stringify(value); - } else if ( - (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(value) && isFlatArray(value)) || - ((_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFileList(value) || _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].endsWith(key, '[]')) && (arr = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toArray(value)) - )) { - // eslint-disable-next-line no-param-reassign - key = removeBrackets(key); - - arr.forEach(function each(el, index) { - !(_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isUndefined(el) || el === null) && formData.append( - // eslint-disable-next-line no-nested-ternary - indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'), - convertValue(el) - ); - }); - return false; - } - } - - if (isVisitable(value)) { - return true; - } - - formData.append(renderKey(path, key, dots), convertValue(value)); - - return false; - } - - const stack = []; - - const exposedHelpers = Object.assign(predicates, { - defaultVisitor, - convertValue, - isVisitable - }); - - function build(value, path) { - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isUndefined(value)) return; - - if (stack.indexOf(value) !== -1) { - throw Error('Circular reference detected in ' + path.join('.')); - } - - stack.push(value); - - _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(value, function each(el, key) { - const result = !(_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isUndefined(el) || el === null) && visitor.call( - formData, el, _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(key) ? key.trim() : key, path, exposedHelpers - ); - - if (result === true) { - build(el, path ? path.concat(key) : [key]); - } - }); - - stack.pop(); - } - - if (!_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isObject(obj)) { - throw new TypeError('data must be an object'); - } - - build(obj); - - return formData; -} - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (toFormData); - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/toURLEncodedForm.js": -/*!************************************************************!*\ - !*** ./node_modules/axios/lib/helpers/toURLEncodedForm.js ***! - \************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ toURLEncodedForm) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _toFormData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toFormData.js */ "./node_modules/axios/lib/helpers/toFormData.js"); -/* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js"); - - - - - - -function toURLEncodedForm(data, options) { - return (0,_toFormData_js__WEBPACK_IMPORTED_MODULE_0__["default"])(data, new _platform_index_js__WEBPACK_IMPORTED_MODULE_1__["default"].classes.URLSearchParams(), Object.assign({ - visitor: function(value, key, path, helpers) { - if (_platform_index_js__WEBPACK_IMPORTED_MODULE_1__["default"].isNode && _utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].isBuffer(value)) { - this.append(key, value.toString('base64')); - return false; - } - - return helpers.defaultVisitor.apply(this, arguments); - } - }, options)); -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/trackStream.js": -/*!*******************************************************!*\ - !*** ./node_modules/axios/lib/helpers/trackStream.js ***! - \*******************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ readBytes: () => (/* binding */ readBytes), -/* harmony export */ streamChunk: () => (/* binding */ streamChunk), -/* harmony export */ trackStream: () => (/* binding */ trackStream) -/* harmony export */ }); - - -const streamChunk = function* (chunk, chunkSize) { - let len = chunk.byteLength; - - if (!chunkSize || len < chunkSize) { - yield chunk; - return; - } - - let pos = 0; - let end; - - while (pos < len) { - end = pos + chunkSize; - yield chunk.slice(pos, end); - pos = end; - } -} - -const readBytes = async function* (iterable, chunkSize, encode) { - for await (const chunk of iterable) { - yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize); - } -} - -const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => { - const iterator = readBytes(stream, chunkSize, encode); - - let bytes = 0; - - return new ReadableStream({ - type: 'bytes', - - async pull(controller) { - const {done, value} = await iterator.next(); - - if (done) { - controller.close(); - onFinish(); - return; - } - - let len = value.byteLength; - onProgress && onProgress(bytes += len); - controller.enqueue(new Uint8Array(value)); - }, - cancel(reason) { - onFinish(reason); - return iterator.return(); - } - }, { - highWaterMark: 2 - }) -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/validator.js": -/*!*****************************************************!*\ - !*** ./node_modules/axios/lib/helpers/validator.js ***! - \*****************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _env_data_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../env/data.js */ "./node_modules/axios/lib/env/data.js"); -/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); - - - - - -const validators = {}; - -// eslint-disable-next-line func-names -['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => { - validators[type] = function validator(thing) { - return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type; - }; -}); - -const deprecatedWarnings = {}; - -/** - * Transitional option validator - * - * @param {function|boolean?} validator - set to false if the transitional option has been removed - * @param {string?} version - deprecated version / removed since version - * @param {string?} message - some message with additional info - * - * @returns {function} - */ -validators.transitional = function transitional(validator, version, message) { - function formatMessage(opt, desc) { - return '[Axios v' + _env_data_js__WEBPACK_IMPORTED_MODULE_0__.VERSION + '] Transitional option \'' + opt + '\'' + desc + (message ? '. ' + message : ''); - } - - // eslint-disable-next-line func-names - return (value, opt, opts) => { - if (validator === false) { - throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"]( - formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')), - _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"].ERR_DEPRECATED - ); - } - - if (version && !deprecatedWarnings[opt]) { - deprecatedWarnings[opt] = true; - // eslint-disable-next-line no-console - console.warn( - formatMessage( - opt, - ' has been deprecated since v' + version + ' and will be removed in the near future' - ) - ); - } - - return validator ? validator(value, opt, opts) : true; - }; -}; - -/** - * Assert object's properties type - * - * @param {object} options - * @param {object} schema - * @param {boolean?} allowUnknown - * - * @returns {object} - */ - -function assertOptions(options, schema, allowUnknown) { - if (typeof options !== 'object') { - throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"]('options must be an object', _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"].ERR_BAD_OPTION_VALUE); - } - const keys = Object.keys(options); - let i = keys.length; - while (i-- > 0) { - const opt = keys[i]; - const validator = schema[opt]; - if (validator) { - const value = options[opt]; - const result = value === undefined || validator(value, opt, options); - if (result !== true) { - throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"]('option ' + opt + ' must be ' + result, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"].ERR_BAD_OPTION_VALUE); - } - continue; - } - if (allowUnknown !== true) { - throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"]('Unknown option ' + opt, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"].ERR_BAD_OPTION); - } - } -} - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ - assertOptions, - validators -}); - - -/***/ }), - -/***/ "./node_modules/axios/lib/platform/browser/classes/Blob.js": -/*!*****************************************************************!*\ - !*** ./node_modules/axios/lib/platform/browser/classes/Blob.js ***! - \*****************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); - - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (typeof Blob !== 'undefined' ? Blob : null); - - -/***/ }), - -/***/ "./node_modules/axios/lib/platform/browser/classes/FormData.js": -/*!*********************************************************************!*\ - !*** ./node_modules/axios/lib/platform/browser/classes/FormData.js ***! - \*********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); - - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (typeof FormData !== 'undefined' ? FormData : null); - - -/***/ }), - -/***/ "./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js": -/*!****************************************************************************!*\ - !*** ./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js ***! - \****************************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _helpers_AxiosURLSearchParams_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../helpers/AxiosURLSearchParams.js */ "./node_modules/axios/lib/helpers/AxiosURLSearchParams.js"); - - - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (typeof URLSearchParams !== 'undefined' ? URLSearchParams : _helpers_AxiosURLSearchParams_js__WEBPACK_IMPORTED_MODULE_0__["default"]); - - -/***/ }), - -/***/ "./node_modules/axios/lib/platform/browser/index.js": -/*!**********************************************************!*\ - !*** ./node_modules/axios/lib/platform/browser/index.js ***! - \**********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _classes_URLSearchParams_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./classes/URLSearchParams.js */ "./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js"); -/* harmony import */ var _classes_FormData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./classes/FormData.js */ "./node_modules/axios/lib/platform/browser/classes/FormData.js"); -/* harmony import */ var _classes_Blob_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./classes/Blob.js */ "./node_modules/axios/lib/platform/browser/classes/Blob.js"); - - - - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ - isBrowser: true, - classes: { - URLSearchParams: _classes_URLSearchParams_js__WEBPACK_IMPORTED_MODULE_0__["default"], - FormData: _classes_FormData_js__WEBPACK_IMPORTED_MODULE_1__["default"], - Blob: _classes_Blob_js__WEBPACK_IMPORTED_MODULE_2__["default"] - }, - protocols: ['http', 'https', 'file', 'blob', 'url', 'data'] -}); - - -/***/ }), - -/***/ "./node_modules/axios/lib/platform/common/utils.js": -/*!*********************************************************!*\ - !*** ./node_modules/axios/lib/platform/common/utils.js ***! - \*********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ hasBrowserEnv: () => (/* binding */ hasBrowserEnv), -/* harmony export */ hasStandardBrowserEnv: () => (/* binding */ hasStandardBrowserEnv), -/* harmony export */ hasStandardBrowserWebWorkerEnv: () => (/* binding */ hasStandardBrowserWebWorkerEnv), -/* harmony export */ origin: () => (/* binding */ origin) -/* harmony export */ }); -const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined'; - -/** - * Determine if we're running in a standard browser environment - * - * This allows axios to run in a web worker, and react-native. - * Both environments support XMLHttpRequest, but not fully standard globals. - * - * web workers: - * typeof window -> undefined - * typeof document -> undefined - * - * react-native: - * navigator.product -> 'ReactNative' - * nativescript - * navigator.product -> 'NativeScript' or 'NS' - * - * @returns {boolean} - */ -const hasStandardBrowserEnv = ( - (product) => { - return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0 - })(typeof navigator !== 'undefined' && navigator.product); - -/** - * Determine if we're running in a standard browser webWorker environment - * - * Although the `isStandardBrowserEnv` method indicates that - * `allows axios to run in a web worker`, the WebWorker will still be - * filtered out due to its judgment standard - * `typeof window !== 'undefined' && typeof document !== 'undefined'`. - * This leads to a problem when axios post `FormData` in webWorker - */ -const hasStandardBrowserWebWorkerEnv = (() => { - return ( - typeof WorkerGlobalScope !== 'undefined' && - // eslint-disable-next-line no-undef - self instanceof WorkerGlobalScope && - typeof self.importScripts === 'function' - ); -})(); - -const origin = hasBrowserEnv && window.location.href || 'http://localhost'; - - - - -/***/ }), - -/***/ "./node_modules/axios/lib/platform/index.js": -/*!**************************************************!*\ - !*** ./node_modules/axios/lib/platform/index.js ***! - \**************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _node_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node/index.js */ "./node_modules/axios/lib/platform/browser/index.js"); -/* harmony import */ var _common_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./common/utils.js */ "./node_modules/axios/lib/platform/common/utils.js"); - - - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ - ..._common_utils_js__WEBPACK_IMPORTED_MODULE_0__, - ..._node_index_js__WEBPACK_IMPORTED_MODULE_1__["default"] -}); - - -/***/ }), - -/***/ "./node_modules/axios/lib/utils.js": -/*!*****************************************!*\ - !*** ./node_modules/axios/lib/utils.js ***! - \*****************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _helpers_bind_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helpers/bind.js */ "./node_modules/axios/lib/helpers/bind.js"); - - - - -// utils is a library of generic helper functions non-specific to axios - -const {toString} = Object.prototype; -const {getPrototypeOf} = Object; - -const kindOf = (cache => thing => { - const str = toString.call(thing); - return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase()); -})(Object.create(null)); - -const kindOfTest = (type) => { - type = type.toLowerCase(); - return (thing) => kindOf(thing) === type -} - -const typeOfTest = type => thing => typeof thing === type; - -/** - * Determine if a value is an Array - * - * @param {Object} val The value to test - * - * @returns {boolean} True if value is an Array, otherwise false - */ -const {isArray} = Array; - -/** - * Determine if a value is undefined - * - * @param {*} val The value to test - * - * @returns {boolean} True if the value is undefined, otherwise false - */ -const isUndefined = typeOfTest('undefined'); - -/** - * Determine if a value is a Buffer - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a Buffer, otherwise false - */ -function isBuffer(val) { - return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) - && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val); -} - -/** - * Determine if a value is an ArrayBuffer - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is an ArrayBuffer, otherwise false - */ -const isArrayBuffer = kindOfTest('ArrayBuffer'); - - -/** - * Determine if a value is a view on an ArrayBuffer - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false - */ -function isArrayBufferView(val) { - let result; - if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) { - result = ArrayBuffer.isView(val); - } else { - result = (val) && (val.buffer) && (isArrayBuffer(val.buffer)); - } - return result; -} - -/** - * Determine if a value is a String - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a String, otherwise false - */ -const isString = typeOfTest('string'); - -/** - * Determine if a value is a Function - * - * @param {*} val The value to test - * @returns {boolean} True if value is a Function, otherwise false - */ -const isFunction = typeOfTest('function'); - -/** - * Determine if a value is a Number - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a Number, otherwise false - */ -const isNumber = typeOfTest('number'); - -/** - * Determine if a value is an Object - * - * @param {*} thing The value to test - * - * @returns {boolean} True if value is an Object, otherwise false - */ -const isObject = (thing) => thing !== null && typeof thing === 'object'; - -/** - * Determine if a value is a Boolean - * - * @param {*} thing The value to test - * @returns {boolean} True if value is a Boolean, otherwise false - */ -const isBoolean = thing => thing === true || thing === false; - -/** - * Determine if a value is a plain Object - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a plain Object, otherwise false - */ -const isPlainObject = (val) => { - if (kindOf(val) !== 'object') { - return false; - } - - const prototype = getPrototypeOf(val); - return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val); -} - -/** - * Determine if a value is a Date - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a Date, otherwise false - */ -const isDate = kindOfTest('Date'); - -/** - * Determine if a value is a File - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a File, otherwise false - */ -const isFile = kindOfTest('File'); - -/** - * Determine if a value is a Blob - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a Blob, otherwise false - */ -const isBlob = kindOfTest('Blob'); - -/** - * Determine if a value is a FileList - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a File, otherwise false - */ -const isFileList = kindOfTest('FileList'); - -/** - * Determine if a value is a Stream - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a Stream, otherwise false - */ -const isStream = (val) => isObject(val) && isFunction(val.pipe); - -/** - * Determine if a value is a FormData - * - * @param {*} thing The value to test - * - * @returns {boolean} True if value is an FormData, otherwise false - */ -const isFormData = (thing) => { - let kind; - return thing && ( - (typeof FormData === 'function' && thing instanceof FormData) || ( - isFunction(thing.append) && ( - (kind = kindOf(thing)) === 'formdata' || - // detect form-data instance - (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]') - ) - ) - ) -} - -/** - * Determine if a value is a URLSearchParams object - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a URLSearchParams object, otherwise false - */ -const isURLSearchParams = kindOfTest('URLSearchParams'); - -const [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest); - -/** - * Trim excess whitespace off the beginning and end of a string - * - * @param {String} str The String to trim - * - * @returns {String} The String freed of excess whitespace - */ -const trim = (str) => str.trim ? - str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); - -/** - * Iterate over an Array or an Object invoking a function for each item. - * - * If `obj` is an Array callback will be called passing - * the value, index, and complete array for each item. - * - * If 'obj' is an Object callback will be called passing - * the value, key, and complete object for each property. - * - * @param {Object|Array} obj The object to iterate - * @param {Function} fn The callback to invoke for each item - * - * @param {Boolean} [allOwnKeys = false] - * @returns {any} - */ -function forEach(obj, fn, {allOwnKeys = false} = {}) { - // Don't bother if no value provided - if (obj === null || typeof obj === 'undefined') { - return; - } - - let i; - let l; - - // Force an array if not already something iterable - if (typeof obj !== 'object') { - /*eslint no-param-reassign:0*/ - obj = [obj]; - } - - if (isArray(obj)) { - // Iterate over array values - for (i = 0, l = obj.length; i < l; i++) { - fn.call(null, obj[i], i, obj); - } - } else { - // Iterate over object keys - const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj); - const len = keys.length; - let key; - - for (i = 0; i < len; i++) { - key = keys[i]; - fn.call(null, obj[key], key, obj); - } - } -} - -function findKey(obj, key) { - key = key.toLowerCase(); - const keys = Object.keys(obj); - let i = keys.length; - let _key; - while (i-- > 0) { - _key = keys[i]; - if (key === _key.toLowerCase()) { - return _key; - } - } - return null; -} - -const _global = (() => { - /*eslint no-undef:0*/ - if (typeof globalThis !== "undefined") return globalThis; - return typeof self !== "undefined" ? self : (typeof window !== 'undefined' ? window : global) -})(); - -const isContextDefined = (context) => !isUndefined(context) && context !== _global; - -/** - * Accepts varargs expecting each argument to be an object, then - * immutably merges the properties of each object and returns result. - * - * When multiple objects contain the same key the later object in - * the arguments list will take precedence. - * - * Example: - * - * ```js - * var result = merge({foo: 123}, {foo: 456}); - * console.log(result.foo); // outputs 456 - * ``` - * - * @param {Object} obj1 Object to merge - * - * @returns {Object} Result of all merge properties - */ -function merge(/* obj1, obj2, obj3, ... */) { - const {caseless} = isContextDefined(this) && this || {}; - const result = {}; - const assignValue = (val, key) => { - const targetKey = caseless && findKey(result, key) || key; - if (isPlainObject(result[targetKey]) && isPlainObject(val)) { - result[targetKey] = merge(result[targetKey], val); - } else if (isPlainObject(val)) { - result[targetKey] = merge({}, val); - } else if (isArray(val)) { - result[targetKey] = val.slice(); - } else { - result[targetKey] = val; - } - } - - for (let i = 0, l = arguments.length; i < l; i++) { - arguments[i] && forEach(arguments[i], assignValue); - } - return result; -} - -/** - * Extends object a by mutably adding to it the properties of object b. - * - * @param {Object} a The object to be extended - * @param {Object} b The object to copy properties from - * @param {Object} thisArg The object to bind function to - * - * @param {Boolean} [allOwnKeys] - * @returns {Object} The resulting value of object a - */ -const extend = (a, b, thisArg, {allOwnKeys}= {}) => { - forEach(b, (val, key) => { - if (thisArg && isFunction(val)) { - a[key] = (0,_helpers_bind_js__WEBPACK_IMPORTED_MODULE_0__["default"])(val, thisArg); - } else { - a[key] = val; - } - }, {allOwnKeys}); - return a; -} - -/** - * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM) - * - * @param {string} content with BOM - * - * @returns {string} content value without BOM - */ -const stripBOM = (content) => { - if (content.charCodeAt(0) === 0xFEFF) { - content = content.slice(1); - } - return content; -} - -/** - * Inherit the prototype methods from one constructor into another - * @param {function} constructor - * @param {function} superConstructor - * @param {object} [props] - * @param {object} [descriptors] - * - * @returns {void} - */ -const inherits = (constructor, superConstructor, props, descriptors) => { - constructor.prototype = Object.create(superConstructor.prototype, descriptors); - constructor.prototype.constructor = constructor; - Object.defineProperty(constructor, 'super', { - value: superConstructor.prototype - }); - props && Object.assign(constructor.prototype, props); -} - -/** - * Resolve object with deep prototype chain to a flat object - * @param {Object} sourceObj source object - * @param {Object} [destObj] - * @param {Function|Boolean} [filter] - * @param {Function} [propFilter] - * - * @returns {Object} - */ -const toFlatObject = (sourceObj, destObj, filter, propFilter) => { - let props; - let i; - let prop; - const merged = {}; - - destObj = destObj || {}; - // eslint-disable-next-line no-eq-null,eqeqeq - if (sourceObj == null) return destObj; - - do { - props = Object.getOwnPropertyNames(sourceObj); - i = props.length; - while (i-- > 0) { - prop = props[i]; - if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) { - destObj[prop] = sourceObj[prop]; - merged[prop] = true; - } - } - sourceObj = filter !== false && getPrototypeOf(sourceObj); - } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype); - - return destObj; -} - -/** - * Determines whether a string ends with the characters of a specified string - * - * @param {String} str - * @param {String} searchString - * @param {Number} [position= 0] - * - * @returns {boolean} - */ -const endsWith = (str, searchString, position) => { - str = String(str); - if (position === undefined || position > str.length) { - position = str.length; - } - position -= searchString.length; - const lastIndex = str.indexOf(searchString, position); - return lastIndex !== -1 && lastIndex === position; -} - - -/** - * Returns new array from array like object or null if failed - * - * @param {*} [thing] - * - * @returns {?Array} - */ -const toArray = (thing) => { - if (!thing) return null; - if (isArray(thing)) return thing; - let i = thing.length; - if (!isNumber(i)) return null; - const arr = new Array(i); - while (i-- > 0) { - arr[i] = thing[i]; - } - return arr; -} - -/** - * Checking if the Uint8Array exists and if it does, it returns a function that checks if the - * thing passed in is an instance of Uint8Array - * - * @param {TypedArray} - * - * @returns {Array} - */ -// eslint-disable-next-line func-names -const isTypedArray = (TypedArray => { - // eslint-disable-next-line func-names - return thing => { - return TypedArray && thing instanceof TypedArray; - }; -})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array)); - -/** - * For each entry in the object, call the function with the key and value. - * - * @param {Object} obj - The object to iterate over. - * @param {Function} fn - The function to call for each entry. - * - * @returns {void} - */ -const forEachEntry = (obj, fn) => { - const generator = obj && obj[Symbol.iterator]; - - const iterator = generator.call(obj); - - let result; - - while ((result = iterator.next()) && !result.done) { - const pair = result.value; - fn.call(obj, pair[0], pair[1]); - } -} - -/** - * It takes a regular expression and a string, and returns an array of all the matches - * - * @param {string} regExp - The regular expression to match against. - * @param {string} str - The string to search. - * - * @returns {Array} - */ -const matchAll = (regExp, str) => { - let matches; - const arr = []; - - while ((matches = regExp.exec(str)) !== null) { - arr.push(matches); - } - - return arr; -} - -/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */ -const isHTMLForm = kindOfTest('HTMLFormElement'); - -const toCamelCase = str => { - return str.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g, - function replacer(m, p1, p2) { - return p1.toUpperCase() + p2; - } - ); -}; - -/* Creating a function that will check if an object has a property. */ -const hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype); - -/** - * Determine if a value is a RegExp object - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a RegExp object, otherwise false - */ -const isRegExp = kindOfTest('RegExp'); - -const reduceDescriptors = (obj, reducer) => { - const descriptors = Object.getOwnPropertyDescriptors(obj); - const reducedDescriptors = {}; - - forEach(descriptors, (descriptor, name) => { - let ret; - if ((ret = reducer(descriptor, name, obj)) !== false) { - reducedDescriptors[name] = ret || descriptor; - } - }); - - Object.defineProperties(obj, reducedDescriptors); -} - -/** - * Makes all methods read-only - * @param {Object} obj - */ - -const freezeMethods = (obj) => { - reduceDescriptors(obj, (descriptor, name) => { - // skip restricted props in strict mode - if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) { - return false; - } - - const value = obj[name]; - - if (!isFunction(value)) return; - - descriptor.enumerable = false; - - if ('writable' in descriptor) { - descriptor.writable = false; - return; - } - - if (!descriptor.set) { - descriptor.set = () => { - throw Error('Can not rewrite read-only method \'' + name + '\''); - }; - } - }); -} - -const toObjectSet = (arrayOrString, delimiter) => { - const obj = {}; - - const define = (arr) => { - arr.forEach(value => { - obj[value] = true; - }); - } - - isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter)); - - return obj; -} - -const noop = () => {} - -const toFiniteNumber = (value, defaultValue) => { - return value != null && Number.isFinite(value = +value) ? value : defaultValue; -} - -const ALPHA = 'abcdefghijklmnopqrstuvwxyz' - -const DIGIT = '0123456789'; - -const ALPHABET = { - DIGIT, - ALPHA, - ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT -} - -const generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => { - let str = ''; - const {length} = alphabet; - while (size--) { - str += alphabet[Math.random() * length|0] - } - - return str; -} - -/** - * If the thing is a FormData object, return true, otherwise return false. - * - * @param {unknown} thing - The thing to check. - * - * @returns {boolean} - */ -function isSpecCompliantForm(thing) { - return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]); -} - -const toJSONObject = (obj) => { - const stack = new Array(10); - - const visit = (source, i) => { - - if (isObject(source)) { - if (stack.indexOf(source) >= 0) { - return; - } - - if(!('toJSON' in source)) { - stack[i] = source; - const target = isArray(source) ? [] : {}; - - forEach(source, (value, key) => { - const reducedValue = visit(value, i + 1); - !isUndefined(reducedValue) && (target[key] = reducedValue); - }); - - stack[i] = undefined; - - return target; - } - } - - return source; - } - - return visit(obj, 0); -} - -const isAsyncFn = kindOfTest('AsyncFunction'); - -const isThenable = (thing) => - thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch); - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ - isArray, - isArrayBuffer, - isBuffer, - isFormData, - isArrayBufferView, - isString, - isNumber, - isBoolean, - isObject, - isPlainObject, - isReadableStream, - isRequest, - isResponse, - isHeaders, - isUndefined, - isDate, - isFile, - isBlob, - isRegExp, - isFunction, - isStream, - isURLSearchParams, - isTypedArray, - isFileList, - forEach, - merge, - extend, - trim, - stripBOM, - inherits, - toFlatObject, - kindOf, - kindOfTest, - endsWith, - toArray, - forEachEntry, - matchAll, - isHTMLForm, - hasOwnProperty, - hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection - reduceDescriptors, - freezeMethods, - toObjectSet, - toCamelCase, - noop, - toFiniteNumber, - findKey, - global: _global, - isContextDefined, - ALPHABET, - generateString, - isSpecCompliantForm, - toJSONObject, - isAsyncFn, - isThenable -}); - - -/***/ }) - -/******/ }); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ var cachedModule = __webpack_module_cache__[moduleId]; -/******/ if (cachedModule !== undefined) { -/******/ return cachedModule.exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ // no module.id needed -/******/ // no module.loaded needed -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/************************************************************************/ -/******/ /* webpack/runtime/compat get default export */ -/******/ (() => { -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = (module) => { -/******/ var getter = module && module.__esModule ? -/******/ () => (module['default']) : -/******/ () => (module); -/******/ __webpack_require__.d(getter, { a: getter }); -/******/ return getter; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/define property getters */ -/******/ (() => { -/******/ // define getter functions for harmony exports -/******/ __webpack_require__.d = (exports, definition) => { -/******/ for(var key in definition) { -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); -/******/ } -/******/ } -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/hasOwnProperty shorthand */ -/******/ (() => { -/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) -/******/ })(); -/******/ -/******/ /* webpack/runtime/make namespace object */ -/******/ (() => { -/******/ // define __esModule on exports -/******/ __webpack_require__.r = (exports) => { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ })(); -/******/ -/************************************************************************/ -var __webpack_exports__ = {}; -// This entry need to be wrapped in an IIFE because it need to be in strict mode. -(() => { -"use strict"; -/*!**************************!*\ - !*** ./src/Typesense.ts ***! - \**************************/ -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ Client: () => (/* reexport safe */ _Typesense_Client__WEBPACK_IMPORTED_MODULE_0__["default"]), -/* harmony export */ Errors: () => (/* reexport module object */ _Typesense_Errors__WEBPACK_IMPORTED_MODULE_2__), -/* harmony export */ SearchClient: () => (/* reexport safe */ _Typesense_SearchClient__WEBPACK_IMPORTED_MODULE_1__["default"]), -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _Typesense_Client__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Typesense/Client */ "./src/Typesense/Client.ts"); -/* harmony import */ var _Typesense_SearchClient__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Typesense/SearchClient */ "./src/Typesense/SearchClient.ts"); -/* harmony import */ var _Typesense_Errors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Typesense/Errors */ "./src/Typesense/Errors/index.ts"); - - - - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ - Client: _Typesense_Client__WEBPACK_IMPORTED_MODULE_0__["default"], - SearchClient: _Typesense_SearchClient__WEBPACK_IMPORTED_MODULE_1__["default"], - Errors: _Typesense_Errors__WEBPACK_IMPORTED_MODULE_2__ -}); -})(); - -Typesense = __webpack_exports__; -/******/ })() -; -//# sourceMappingURL=typesense.js.map \ No newline at end of file diff --git a/dist/typesense.js.map b/dist/typesense.js.map deleted file mode 100644 index 430dfe7a..00000000 --- a/dist/typesense.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"typesense.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAA2D;AAAA,IAGtCC,KAAK;EACxB,SAAAA,MAAoBC,IAAY,EAAUC,OAAgB,EAAE;IAAAC,iFAAA,OAAAH,KAAA;IAAA,KAAxCC,IAAY,GAAZA,IAAY;IAAA,KAAUC,OAAgB,GAAhBA,OAAgB;EAAG;EAACE,8EAAA,CAAAJ,KAAA;IAAAK,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,eAAAC,sEAAA,CAE9D,SAAAE,QAAA;QAAA,OAAAF,sEAAA,UAAAI,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WACS,IAAI,CAACf,OAAO,CAACgB,GAAG,CAAwB,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAL,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAT,OAAA;MAAA,CACpE;MAAA,SAAAU,SAAA;QAAA,OAAAd,SAAA,CAAAe,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAF,QAAA;IAAA;EAAA;IAAAhB,GAAA;IAAAC,KAAA;MAAA,IAAAkB,QAAA,GAAAhB,mFAAA,eAAAC,sEAAA,CAED,SAAAgB,SAAA;QAAA,OAAAhB,sEAAA,UAAAiB,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAZ,IAAA,GAAAY,SAAA,CAAAX,IAAA;YAAA;cAAA,OAAAW,SAAA,CAAAV,MAAA,WACS,IAAI,CAACf,OAAO,CAAC0B,MAAM,CAAwB,IAAI,CAACT,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAQ,SAAA,CAAAP,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACvE;MAAA,SAAAI,QAAA;QAAA,OAAAL,QAAA,CAAAF,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAM,OAAA;IAAA;EAAA;IAAAxB,GAAA;IAAAC,KAAA,EAED,SAAAa,aAAA,EAA+B;MAC7B,UAAAW,MAAA,CAAU/B,gDAAO,CAACgC,YAAY,OAAAD,MAAA,CAAI,IAAI,CAAC7B,IAAI;IAC7C;EAAC;EAAA,OAAAD,KAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;ACdH,IAAM+B,YAAY,GAAG,UAAU;AAAC,IAcXhC,OAAO;EAC1B,SAAAA,QAAoBG,OAAgB,EAAE;IAAAC,iFAAA,OAAAJ,OAAA;IAAA,KAAlBG,OAAgB,GAAhBA,OAAgB;EAAG;EAACE,8EAAA,CAAAL,OAAA;IAAAM,GAAA;IAAAC,KAAA;MAAA,IAAA2B,OAAA,GAAAzB,mFAAA,eAAAC,sEAAA,CAExC,SAAAE,QACEV,IAAY,EACZiC,OAAoC;QAAA,OAAAzB,sEAAA,UAAAI,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WAE7B,IAAI,CAACf,OAAO,CAACiC,GAAG,CACrB,IAAI,CAAChB,YAAY,CAAClB,IAAI,CAAC,EACvBiC,OACF,CAAC;YAAA;YAAA;cAAA,OAAApB,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAT,OAAA;MAAA,CACF;MAAA,SAAAyB,OAAAC,EAAA,EAAAC,GAAA;QAAA,OAAAL,OAAA,CAAAX,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAa,MAAA;IAAA;EAAA;IAAA/B,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,eAAAC,sEAAA,CAED,SAAAgB,SAAA;QAAA,OAAAhB,sEAAA,UAAAiB,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAZ,IAAA,GAAAY,SAAA,CAAAX,IAAA;YAAA;cAAA,OAAAW,SAAA,CAAAV,MAAA,WACS,IAAI,CAACf,OAAO,CAACgB,GAAG,CAAkCa,YAAY,CAAC;YAAA;YAAA;cAAA,OAAAJ,SAAA,CAAAP,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACvE;MAAA,SAAAJ,SAAA;QAAA,OAAAd,SAAA,CAAAe,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAF,QAAA;IAAA;EAAA;IAAAhB,GAAA;IAAAC,KAAA,EAED,SAAAa,aAAqBoB,SAAS,EAAU;MACtC,UAAAT,MAAA,CAAU/B,OAAO,CAACgC,YAAY,OAAAD,MAAA,CAAIS,SAAS;IAC7C;EAAC;IAAAlC,GAAA;IAAAa,GAAA,EAED,SAAAA,IAAA,EAAkC;MAChC,OAAOa,YAAY;IACrB;EAAC;EAAA,OAAAhC,OAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;ACtC2C;AACF;AACI;AAEhD,IAAMgC,YAAY,GAAG,YAAY;AAAC,IAEbY,SAAS;EAK5B,SAAAA,UAA6BzC,OAAgB,EAAE;IAAAC,iFAAA,OAAAwC,SAAA;IAAAC,iFAAA,mCAH4B,CAAC,CAAC;IAAA,KAGhD1C,OAAgB,GAAhBA,OAAgB;IAC3C,IAAI,CAACA,OAAO,GAAGA,OAAO;IACtB,IAAI,CAAC2C,eAAe,GAAG,IAAIL,uDAAc,CAAC,IAAI,CAACtC,OAAO,CAAC;IACvD,IAAI,CAAC4C,gBAAgB,GAAG,IAAIJ,wDAAe,CAAC,IAAI,CAACxC,OAAO,CAAC;EAC3D;EAACE,8EAAA,CAAAuC,SAAA;IAAAtC,GAAA;IAAAC,KAAA,EAED,SAAAyC,MAAMC,EAAW,EAAkC;MACjD,IAAIA,EAAE,KAAKC,SAAS,EAAE;QACpB,OAAO,IAAI,CAACJ,eAAe;MAC7B,CAAC,MAAM;QACL,IAAI,IAAI,CAACK,wBAAwB,CAACF,EAAE,CAAC,KAAKC,SAAS,EAAE;UACnD,IAAI,CAACC,wBAAwB,CAACF,EAAE,CAAC,GAAG,IAAIP,sDAAa,CAACO,EAAE,EAAE,IAAI,CAAC9C,OAAO,CAAC;QACzE;QACA,OAAO,IAAI,CAACgD,wBAAwB,CAACF,EAAE,CAAC;MAC1C;IACF;EAAC;IAAA3C,GAAA;IAAAC,KAAA,EAED,SAAA6C,OAAA,EAA0B;MACxB,OAAO,IAAI,CAACL,gBAAgB;IAC9B;EAAC;IAAAzC,GAAA;IAAAa,GAAA,EAED,SAAAA,IAAA,EAA0B;MACxB,OAAOa,YAAY;IACrB;EAAC;EAAA,OAAAY,SAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;AChCH,IAAMZ,YAAY,GAAG,mBAAmB;AAAC,IAEpBW,eAAe;EAClC,SAAAA,gBAA6BxC,OAAgB,EAAE;IAAAC,iFAAA,OAAAuC,eAAA;IAAA,KAAlBxC,OAAgB,GAAhBA,OAAgB;IAC3C,IAAI,CAACA,OAAO,GAAGA,OAAO;EACxB;EAACE,8EAAA,CAAAsC,eAAA;IAAArC,GAAA;IAAAC,KAAA;MAAA,IAAA8C,OAAA,GAAA5C,mFAAA,eAAAC,sEAAA,CAED,SAAAE,QACE0C,MAAkC;QAAA,OAAA5C,sEAAA,UAAAI,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WAE3B,IAAI,CAACf,OAAO,CAACoD,IAAI,CACtB,IAAI,CAACnC,YAAY,CAAC,CAAC,EACnBkC,MACF,CAAC;YAAA;YAAA;cAAA,OAAAvC,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAT,OAAA;MAAA,CACF;MAAA,SAAA4C,OAAAlB,EAAA;QAAA,OAAAe,OAAA,CAAA9B,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAgC,MAAA;IAAA;EAAA;IAAAlD,GAAA;IAAAC,KAAA,EAED,SAAAa,aAAqBqC,SAAkB,EAAU;MAC/C,UAAA1B,MAAA,CAAUY,eAAe,CAACX,YAAY,EAAAD,MAAA,CACpC0B,SAAS,KAAKP,SAAS,GAAG,EAAE,GAAG,GAAG,GAAGO,SAAS;IAElD;EAAC;IAAAnD,GAAA;IAAAa,GAAA,EAED,SAAAA,IAAA,EAA0B;MACxB,OAAOa,YAAY;IACrB;EAAC;EAAA,OAAAW,eAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AC1B2C;AAAA,IA8BzBD,aAAa;EAChC,SAAAA,cACUxC,IAAY,EACZC,OAAgB,EACxB;IAAAC,iFAAA,OAAAsC,aAAA;IAAA,KAFQxC,IAAY,GAAZA,IAAY;IAAA,KACZC,OAAgB,GAAhBA,OAAgB;EACvB;EAACE,8EAAA,CAAAqC,aAAA;IAAApC,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,eAAAC,sEAAA,CAEJ,SAAAE,QAAA;QAAA,OAAAF,sEAAA,UAAAI,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WACS,IAAI,CAACf,OAAO,CAACgB,GAAG,CAAsB,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAL,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAT,OAAA;MAAA,CAClE;MAAA,SAAAU,SAAA;QAAA,OAAAd,SAAA,CAAAe,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAF,QAAA;IAAA;EAAA;IAAAhB,GAAA;IAAAC,KAAA;MAAA,IAAAkB,QAAA,GAAAhB,mFAAA,eAAAC,sEAAA,CAED,SAAAgB,SAAA;QAAA,OAAAhB,sEAAA,UAAAiB,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAZ,IAAA,GAAAY,SAAA,CAAAX,IAAA;YAAA;cAAA,OAAAW,SAAA,CAAAV,MAAA,WACS,IAAI,CAACf,OAAO,CAAC0B,MAAM,CAA4B,IAAI,CAACT,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAQ,SAAA,CAAAP,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CAC3E;MAAA,SAAAI,QAAA;QAAA,OAAAL,QAAA,CAAAF,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAM,OAAA;IAAA;EAAA;IAAAxB,GAAA;IAAAC,KAAA,EAED,SAAAa,aAAA,EAA+B;MAC7B,UAAAW,MAAA,CAAUU,uDAAc,CAACT,YAAY,OAAAD,MAAA,CAAI,IAAI,CAAC7B,IAAI;IACpD;EAAC;EAAA,OAAAwC,aAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;ACrCH,IAAMV,YAAY,GAAG,kBAAkB;AAAC,IAEnBS,cAAc;EACjC,SAAAA,eAA6BtC,OAAgB,EAAE;IAAAC,iFAAA,OAAAqC,cAAA;IAAA,KAAlBtC,OAAgB,GAAhBA,OAAgB;IAC3C,IAAI,CAACA,OAAO,GAAGA,OAAO;EACxB;EAACE,8EAAA,CAAAoC,cAAA;IAAAnC,GAAA;IAAAC,KAAA;MAAA,IAAA2B,OAAA,GAAAzB,mFAAA,eAAAC,sEAAA,CAED,SAAAE,QACEV,IAAY,EACZoD,MAAiC;QAAA,OAAA5C,sEAAA,UAAAI,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WAE1B,IAAI,CAACf,OAAO,CAACiC,GAAG,CACrB,IAAI,CAAChB,YAAY,CAAClB,IAAI,CAAC,EACvBoD,MACF,CAAC;YAAA;YAAA;cAAA,OAAAvC,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAT,OAAA;MAAA,CACF;MAAA,SAAAyB,OAAAC,EAAA,EAAAC,GAAA;QAAA,OAAAL,OAAA,CAAAX,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAa,MAAA;IAAA;EAAA;IAAA/B,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,eAAAC,sEAAA,CAED,SAAAgB,SAAA;QAAA,OAAAhB,sEAAA,UAAAiB,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAZ,IAAA,GAAAY,SAAA,CAAAX,IAAA;YAAA;cAAA,OAAAW,SAAA,CAAAV,MAAA,WACS,IAAI,CAACf,OAAO,CAACgB,GAAG,CAA+B,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAQ,SAAA,CAAAP,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CAC3E;MAAA,SAAAJ,SAAA;QAAA,OAAAd,SAAA,CAAAe,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAF,QAAA;IAAA;EAAA;IAAAhB,GAAA;IAAAC,KAAA,EAED,SAAAa,aAAqBqC,SAAkB,EAAU;MAC/C,UAAA1B,MAAA,CAAUU,cAAc,CAACT,YAAY,EAAAD,MAAA,CACnC0B,SAAS,KAAKP,SAAS,GAAG,EAAE,GAAG,GAAG,GAAGO,SAAS;IAElD;EAAC;IAAAnD,GAAA;IAAAa,GAAA,EAED,SAAAA,IAAA,EAA0B;MACxB,OAAOa,YAAY;IACrB;EAAC;EAAA,OAAAS,cAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvCsE;AAUvD;AACmC;AAEX;AACE;AAE5C,IAAM6B,gBAAgB,GAAG,qBAAqB;AAC9C,IAAMC,OAAO,GAAG,IAAI;AACpB,IAAMC,SAAS,GAAG,KAAK;AAOvB,IAAMC,mBAAmB,GACvB,OAAOC,OAAO,KAAK,WAAW,IAC9BA,OAAO,CAACC,QAAQ,IAAI,IAAI,IACxBD,OAAO,CAACC,QAAQ,CAACC,IAAI,IAAI,IAAI;AAAC,IAEXC,OAAO;EAc1B,SAAAA,QAAoBC,aAA4B,EAAE;IAAA1E,iFAAA,OAAAyE,OAAA;IAAA,KAA9BC,aAA4B,GAA5BA,aAA4B;IAC9C,IAAI,CAACC,MAAM,GAAG,IAAI,CAACD,aAAa,CAACC,MAAM;IACvC,IAAI,CAACC,KAAK,GACR,IAAI,CAACF,aAAa,CAACE,KAAK,IAAI,IAAI,GAC5B,IAAI,CAACF,aAAa,CAACE,KAAK,GACxBC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,SAAS,CAAC,IAAI,CAACL,aAAa,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5D,IAAI,CAACI,WAAW,GACd,IAAI,CAACN,aAAa,CAACM,WAAW,IAAI,IAAI,GAClC,IAAI,CAACN,aAAa,CAACM,WAAW,GAC9BH,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,SAAS,CAAC,IAAI,CAACL,aAAa,CAACM,WAAW,CAAC,CAAC;IAChE,IAAI,CAACC,wBAAwB,GAAG,IAAI,CAACP,aAAa,CAACO,wBAAwB;IAC3E,IAAI,CAACC,0BAA0B,GAC7B,IAAI,CAACR,aAAa,CAACQ,0BAA0B;IAC/C,IAAI,CAACC,oBAAoB,GAAG,IAAI,CAACT,aAAa,CAACU,UAAU;IACzD,IAAI,CAACC,oBAAoB,GAAG,IAAI,CAACX,aAAa,CAACW,oBAAoB;IACnE,IAAI,CAACC,sBAAsB,GAAG,IAAI,CAACZ,aAAa,CAACY,sBAAsB;IACvE,IAAI,CAACC,qBAAqB,GAAG,IAAI,CAACb,aAAa,CAACc,iBAAiB;IAEjE,IAAI,CAACC,MAAM,GAAG,IAAI,CAACf,aAAa,CAACe,MAAM;IAEvC,IAAI,CAACC,0BAA0B,CAAC,CAAC;IACjC,IAAI,CAACC,gBAAgB,GAAG,CAAC,CAAC;EAC5B;EAAC1F,8EAAA,CAAAwE,OAAA;IAAAvE,GAAA;IAAAC,KAAA;MAAA,IAAAyF,IAAA,GAAAvF,mFAAA,eAAAC,sEAAA,CAED,SAAAE,QACEqF,QAAgB;QAAA,IAAAC,eAAA;UAAAC,IAAA;UAAAC,gBAAA;UAAAC,WAAA;UAAAC,iBAAA;UAAAC,YAAA;UAAAC,KAAA,GAAAhF,SAAA;QAAA,OAAAd,sEAAA,UAAAI,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAChBiF,eAAoB,GAAAM,KAAA,CAAAC,MAAA,QAAAD,KAAA,QAAAtD,SAAA,GAAAsD,KAAA,MAAG,CAAC,CAAC;cAAAL,IAAA,GAAAK,KAAA,CAAAC,MAAA,QAAAD,KAAA,QAAAtD,SAAA,GAAAsD,KAAA,MAOrB,CAAC,CAAC,EAAAJ,gBAAA,GAAAD,IAAA,CALJE,WAAW,EAAXA,WAAW,GAAAD,gBAAA,cAAG,IAAI,GAAAA,gBAAA,EAAAE,iBAAA,GAAAH,IAAA,CAClBI,YAAY,EAAZA,YAAY,GAAAD,iBAAA,cAAGpD,SAAS,GAAAoD,iBAAA;cAAA,OAAAvF,QAAA,CAAAG,MAAA,WAMnB,IAAI,CAACwF,cAAc,CAAI,KAAK,EAAET,QAAQ,EAAE;gBAC7CC,eAAe,EAAfA,eAAe;gBACfG,WAAW,EAAXA,WAAW;gBACXE,YAAY,EAAZA;cACF,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAxF,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAT,OAAA;MAAA,CACH;MAAA,SAAAO,IAAAmB,EAAA;QAAA,OAAA0D,IAAA,CAAAzE,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAL,GAAA;IAAA;EAAA;IAAAb,GAAA;IAAAC,KAAA;MAAA,IAAAkB,QAAA,GAAAhB,mFAAA,eAAAC,sEAAA,CAED,SAAAgB,SAAgBuE,QAAgB;QAAA,IAAAC,eAAA;UAAAS,MAAA,GAAAnF,SAAA;QAAA,OAAAd,sEAAA,UAAAiB,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAZ,IAAA,GAAAY,SAAA,CAAAX,IAAA;YAAA;cAAEiF,eAAoB,GAAAS,MAAA,CAAAF,MAAA,QAAAE,MAAA,QAAAzD,SAAA,GAAAyD,MAAA,MAAG,CAAC,CAAC;cAAA,OAAA/E,SAAA,CAAAV,MAAA,WAClD,IAAI,CAACwF,cAAc,CAAI,QAAQ,EAAET,QAAQ,EAAE;gBAAEC,eAAe,EAAfA;cAAgB,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAtE,SAAA,CAAAP,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACvE;MAAA,SAAAI,QAAAS,GAAA;QAAA,OAAAd,QAAA,CAAAF,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAM,OAAA;IAAA;EAAA;IAAAxB,GAAA;IAAAC,KAAA;MAAA,IAAAqG,KAAA,GAAAnG,mFAAA,eAAAC,sEAAA,CAED,SAAAmG,SACEZ,QAAgB;QAAA,IAAAa,cAAA;UAAAZ,eAAA;UAAAN,iBAAA;UAAAmB,MAAA,GAAAvF,SAAA;QAAA,OAAAd,sEAAA,UAAAsG,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAjG,IAAA,GAAAiG,SAAA,CAAAhG,IAAA;YAAA;cAChB6F,cAAmB,GAAAC,MAAA,CAAAN,MAAA,QAAAM,MAAA,QAAA7D,SAAA,GAAA6D,MAAA,MAAG,CAAC,CAAC;cACxBb,eAAoB,GAAAa,MAAA,CAAAN,MAAA,QAAAM,MAAA,QAAA7D,SAAA,GAAA6D,MAAA,MAAG,CAAC,CAAC;cACzBnB,iBAAsB,GAAAmB,MAAA,CAAAN,MAAA,QAAAM,MAAA,QAAA7D,SAAA,GAAA6D,MAAA,MAAG,CAAC,CAAC;cAAA,OAAAE,SAAA,CAAA/F,MAAA,WAEpB,IAAI,CAACwF,cAAc,CAAI,MAAM,EAAET,QAAQ,EAAE;gBAC9CC,eAAe,EAAfA,eAAe;gBACfY,cAAc,EAAdA,cAAc;gBACdlB,iBAAiB,EAAjBA;cACF,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAqB,SAAA,CAAA5F,IAAA;UAAA;QAAA,GAAAwF,QAAA;MAAA,CACH;MAAA,SAAAtD,KAAA2D,GAAA;QAAA,OAAAN,KAAA,CAAArF,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAA+B,IAAA;IAAA;EAAA;IAAAjD,GAAA;IAAAC,KAAA;MAAA,IAAA4G,IAAA,GAAA1G,mFAAA,eAAAC,sEAAA,CAED,SAAA0G,SACEnB,QAAgB;QAAA,IAAAa,cAAA;UAAAZ,eAAA;UAAAmB,MAAA,GAAA7F,SAAA;QAAA,OAAAd,sEAAA,UAAA4G,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAvG,IAAA,GAAAuG,SAAA,CAAAtG,IAAA;YAAA;cAChB6F,cAAmB,GAAAO,MAAA,CAAAZ,MAAA,QAAAY,MAAA,QAAAnE,SAAA,GAAAmE,MAAA,MAAG,CAAC,CAAC;cACxBnB,eAAoB,GAAAmB,MAAA,CAAAZ,MAAA,QAAAY,MAAA,QAAAnE,SAAA,GAAAmE,MAAA,MAAG,CAAC,CAAC;cAAA,OAAAE,SAAA,CAAArG,MAAA,WAElB,IAAI,CAACwF,cAAc,CAAI,KAAK,EAAET,QAAQ,EAAE;gBAC7CC,eAAe,EAAfA,eAAe;gBACfY,cAAc,EAAdA;cACF,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAS,SAAA,CAAAlG,IAAA;UAAA;QAAA,GAAA+F,QAAA;MAAA,CACH;MAAA,SAAAhF,IAAAoF,GAAA;QAAA,OAAAL,IAAA,CAAA5F,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAY,GAAA;IAAA;EAAA;IAAA9B,GAAA;IAAAC,KAAA;MAAA,IAAAkH,MAAA,GAAAhH,mFAAA,eAAAC,sEAAA,CAED,SAAAgH,SACEzB,QAAgB;QAAA,IAAAa,cAAA;UAAAZ,eAAA;UAAAyB,MAAA,GAAAnG,SAAA;QAAA,OAAAd,sEAAA,UAAAkH,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAA7G,IAAA,GAAA6G,SAAA,CAAA5G,IAAA;YAAA;cAChB6F,cAAmB,GAAAa,MAAA,CAAAlB,MAAA,QAAAkB,MAAA,QAAAzE,SAAA,GAAAyE,MAAA,MAAG,CAAC,CAAC;cACxBzB,eAAoB,GAAAyB,MAAA,CAAAlB,MAAA,QAAAkB,MAAA,QAAAzE,SAAA,GAAAyE,MAAA,MAAG,CAAC,CAAC;cAAA,OAAAE,SAAA,CAAA3G,MAAA,WAElB,IAAI,CAACwF,cAAc,CAAI,OAAO,EAAET,QAAQ,EAAE;gBAC/CC,eAAe,EAAfA,eAAe;gBACfY,cAAc,EAAdA;cACF,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAe,SAAA,CAAAxG,IAAA;UAAA;QAAA,GAAAqG,QAAA;MAAA,CACH;MAAA,SAAAI,MAAAC,GAAA;QAAA,OAAAN,MAAA,CAAAlG,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAsG,KAAA;IAAA;EAAA;IAAAxH,GAAA;IAAAC,KAAA;MAAA,IAAAyH,eAAA,GAAAvH,mFAAA,eAAAC,sEAAA,CAED,SAAAuH,SACEC,WAAmB,EACnBjC,QAAgB,EAAAkC,KAAA;QAAA,IAAAC,KAAA;QAAA,IAAAC,qBAAA,EAAAnC,eAAA,EAAAoC,oBAAA,EAAAxB,cAAA,EAAAyB,qBAAA,EAAA3C,iBAAA,EAAA4C,iBAAA,EAAAnC,WAAA,EAAAoC,kBAAA,EAAAlC,YAAA,EAAAmC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,eAAA,EAAAC,aAAA,EAAAC,aAAA,EAAAC,KAAA,EAAAC,IAAA,EAAAC,QAAA;QAAA,OAAAxI,sEAAA,UAAAyI,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAApI,IAAA,GAAAoI,SAAA,CAAAnI,IAAA;YAAA;cAAAoH,qBAAA,GAAAF,KAAA,CAEdjC,eAAe,EAAfA,eAAe,GAAAmC,qBAAA,cAAG,IAAI,GAAAA,qBAAA,EAAAC,oBAAA,GAAAH,KAAA,CACtBrB,cAAc,EAAdA,cAAc,GAAAwB,oBAAA,cAAG,IAAI,GAAAA,oBAAA,EAAAC,qBAAA,GAAAJ,KAAA,CACrBvC,iBAAiB,EAAjBA,iBAAiB,GAAA2C,qBAAA,cAAG,CAAC,CAAC,GAAAA,qBAAA,EAAAC,iBAAA,GAAAL,KAAA,CACtB9B,WAAW,EAAXA,WAAW,GAAAmC,iBAAA,cAAG,IAAI,GAAAA,iBAAA,EAAAC,kBAAA,GAAAN,KAAA,CAClB5B,YAAY,EAAZA,YAAY,GAAAkC,kBAAA,cAAGvF,SAAS,GAAAuF,kBAAA,EAAAC,qBAAA,GAAAP,KAAA,CACxBQ,qBAAqB,EAArBA,qBAAqB,GAAAD,qBAAA,cAAG,KAAK,GAAAA,qBAAA,EAAAE,qBAAA,GAAAT,KAAA,CAC7BU,eAAe,EAAfA,eAAe,GAAAD,qBAAA,cAAG1F,SAAS,GAAA0F,qBAAA;cAW7B,IAAI,CAAC9D,aAAa,CAACuE,QAAQ,CAAC,CAAC;cAEvBP,aAAa,GAAGQ,IAAI,CAACC,GAAG,CAAC,CAAC;cAEhC,IAAI,CAAC1D,MAAM,CAAC2D,KAAK,aAAAzH,MAAA,CACH+G,aAAa,mBAAA/G,MAAA,CAAgBmG,WAAW,CAACuB,WAAW,CAAC,CAAC,gBAAA1H,MAAA,CAAakE,QAAQ,CACzF,CAAC;cAAC+C,KAAA,gBAAAtI,sEAAA,UAAAsI,MAAA;gBAAA,IAAApE,IAAA,EAAA8E,aAAA,EAAAC,cAAA,EAAAC,WAAA,EAAAC,MAAA,EAAAC,QAAA,EAAAC,cAAA,EAAAC,eAAA,EAAAC,eAAA;gBAAA,OAAAvJ,sEAAA,UAAAwJ,OAAAC,SAAA;kBAAA,kBAAAA,SAAA,CAAAnJ,IAAA,GAAAmJ,SAAA,CAAAlJ,IAAA;oBAAA;sBAMM2D,IAAI,GAAGwD,KAAI,CAACgC,WAAW,CAACtB,aAAa,CAAC;sBAC5CV,KAAI,CAACvC,MAAM,CAAC2D,KAAK,aAAAzH,MAAA,CACH+G,aAAa,mBAAA/G,MAAA,CAAgBmG,WAAW,CAACuB,WAAW,CAAC,CAAC,oBAAA1H,MAAA,CAAiBmH,QAAQ,eAAAnH,MAAA,CACzF6C,IAAI,CAACyF,KAAK,CAEd,CAAC;sBAAC,MAEEhE,WAAW,IAAIA,WAAW,CAACiE,OAAO;wBAAAH,SAAA,CAAAlJ,IAAA;wBAAA;sBAAA;sBAAA,OAAAkJ,SAAA,CAAAjJ,MAAA;wBAAAqJ,CAAA,EAC7BC,OAAO,CAACC,MAAM,CAAC,IAAIC,KAAK,CAAC,4BAA4B,CAAC;sBAAC;oBAAA;sBAAAP,SAAA,CAAAnJ,IAAA;sBAMxD2I,cAAkC,GAAG;wBACzCgB,MAAM,EAAEzC,WAAW;wBACnB0C,GAAG,EAAExC,KAAI,CAACyC,MAAM,CAAC5E,QAAQ,EAAErB,IAAI,CAAC;wBAChCkG,OAAO,EAAEC,MAAM,CAACC,MAAM,CACpB,CAAC,CAAC,EACF5C,KAAI,CAAC6C,cAAc,CAAC,CAAC,EACrBrF,iBAAiB,EACjBwC,KAAI,CAACzC,qBACP,CAAC;wBACDuF,gBAAgB,EAAEC,QAAQ;wBAC1BC,aAAa,EAAED,QAAQ;wBACvB5E,YAAY,EAAZA,YAAY;wBACZ8E,cAAc,EAAE,SAAAA,eAACC,MAAM,EAAK;0BAC1B;AACZ;AACA;AACA;0BACY,OAAOA,MAAM,GAAG,CAAC;wBACnB,CAAC;wBACDC,iBAAiB,EAAE,CACjB,UAACC,IAAI,EAAEV,OAAO,EAAK;0BACjB,IAAIW,eAAe,GAAGD,IAAI;0BAC1B,IACEV,OAAO,KAAK5H,SAAS,IACrB,OAAOsI,IAAI,KAAK,QAAQ,IACxBV,OAAO,CAAC,cAAc,CAAC,IACvBA,OAAO,CAAC,cAAc,CAAC,CAACY,UAAU,CAAC,kBAAkB,CAAC,EACtD;4BACAD,eAAe,GAAGxG,IAAI,CAACC,KAAK,CAACsG,IAAI,CAAC;0BACpC;0BACA,OAAOC,eAAe;wBACxB,CAAC;sBAEL,CAAC;sBAED,IAAI9C,qBAAqB,KAAK,IAAI,EAAE;wBAClCgB,cAAc,CAACgC,OAAO,GAAGvD,KAAI,CAAC/C,wBAAwB,GAAG,IAAI;sBAC/D;sBAEA,IAAIa,eAAe,IAAI6E,MAAM,CAACa,IAAI,CAAC1F,eAAe,CAAC,CAACO,MAAM,KAAK,CAAC,EAAE;wBAChEkD,cAAc,CAACrG,MAAM,GAAG4C,eAAe;sBACzC;sBAEA,IAAIkC,KAAI,CAAC1C,sBAAsB,EAAE;wBAC/BiE,cAAc,CAACrG,MAAM,GAAGqG,cAAc,CAACrG,MAAM,IAAI,CAAC,CAAC;wBACnDqG,cAAc,CAACrG,MAAM,CAAC,qBAAqB,CAAC,GAAG8E,KAAI,CAACrD,MAAM;sBAC5D;sBAEA,IAAIqD,KAAI,CAACtD,aAAa,CAAC+G,SAAS,EAAE;wBAChCzD,KAAI,CAACvC,MAAM,CAAC2D,KAAK,aAAAzH,MAAA,CACH+G,aAAa,6BAC3B,CAAC;wBACDa,cAAc,CAACkC,SAAS,GAAGzD,KAAI,CAACtD,aAAa,CAAC+G,SAAS;sBACzD,CAAC,MAAM,IAAIhD,eAAe,KAAK,IAAI,EAAE;wBACnC,IAAI,CAACpE,mBAAmB,EAAE;0BACxB2D,KAAI,CAACvC,MAAM,CAACiG,IAAI,aAAA/J,MAAA,CACF+G,aAAa,+EAC3B,CAAC;wBACH,CAAC,MAAM;0BACLV,KAAI,CAACvC,MAAM,CAAC2D,KAAK,aAAAzH,MAAA,CAAa+G,aAAa,yBAAsB,CAAC;0BAClEa,cAAc,CAACkC,SAAS,GAAG,IAAIzH,uCAAS,CAAC;4BAAE2H,SAAS,EAAE;0BAAK,CAAC,CAAC;wBAC/D;sBACF;sBAEA,IAAI3D,KAAI,CAACtD,aAAa,CAACkH,UAAU,EAAE;wBACjC5D,KAAI,CAACvC,MAAM,CAAC2D,KAAK,aAAAzH,MAAA,CACH+G,aAAa,8BAC3B,CAAC;wBACDa,cAAc,CAACqC,UAAU,GAAG5D,KAAI,CAACtD,aAAa,CAACkH,UAAU;sBAC3D,CAAC,MAAM,IAAInD,eAAe,KAAK,IAAI,EAAE;wBACnC,IAAI,CAACpE,mBAAmB,EAAE;0BACxB2D,KAAI,CAACvC,MAAM,CAACiG,IAAI,aAAA/J,MAAA,CACF+G,aAAa,+EAC3B,CAAC;wBACH,CAAC,MAAM;0BACLV,KAAI,CAACvC,MAAM,CAAC2D,KAAK,aAAAzH,MAAA,CAAa+G,aAAa,yBAAsB,CAAC;0BAClEa,cAAc,CAACqC,UAAU,GAAG,IAAI3H,wCAAU,CAAC;4BAAE0H,SAAS,EAAE;0BAAK,CAAC,CAAC;wBACjE;sBACF;sBAEA,IAAI3D,KAAI,CAACtD,aAAa,CAACmH,gBAAgB,EAAE;wBACvC7D,KAAI,CAACvC,MAAM,CAAC2D,KAAK,aAAAzH,MAAA,CACH+G,aAAa,oCAC3B,CAAC;wBACDa,cAAc,CAACsC,gBAAgB,GAAG7D,KAAI,CAACtD,aAAa,CAACmH,gBAAgB;sBACvE;sBAEA,IACEnF,cAAc,KACZ,OAAOA,cAAc,KAAK,QAAQ,IAClCA,cAAc,CAACL,MAAM,KAAK,CAAC,IAC1ByF,yEAAA,CAAOpF,cAAc,MAAK,QAAQ,IACjCiE,MAAM,CAACa,IAAI,CAAC9E,cAAc,CAAC,CAACL,MAAM,KAAK,CAAE,CAAC,EAC9C;wBACAkD,cAAc,CAAC6B,IAAI,GAAG1E,cAAc;sBACtC;;sBAEA;sBACA,IAAIT,WAAW,EAAE;wBACTuD,WAAW,GAAGlG,6CAAK,CAACyI,WAAW;wBAC/BtC,MAAM,GAAGD,WAAW,CAACC,MAAM,CAAC,CAAC;wBACnCH,aAAa,GAAG,SAAAA,cAAA;0BAAA,OAAMG,MAAM,CAACuC,MAAM,CAAC,CAAC;wBAAA;wBACrC/F,WAAW,CAACgG,gBAAgB,CAAC,OAAO,EAAE3C,aAAa,CAAC;wBACpDC,cAAc,CAACC,WAAW,GAAGC,MAAM,CAACyC,KAAK;sBAC3C;sBAACnC,SAAA,CAAAlJ,IAAA;sBAAA,OAEsByC,iDAAK,CAACiG,cAAc,CAAC;oBAAA;sBAAtCG,QAAQ,GAAAK,SAAA,CAAAoC,IAAA;sBACd,IAAIzC,QAAQ,CAACwB,MAAM,IAAI,CAAC,IAAIxB,QAAQ,CAACwB,MAAM,IAAI,GAAG,EAAE;wBAClD;wBACA;wBACAlD,KAAI,CAACoE,kBAAkB,CAAC5H,IAAI,EAAEL,OAAO,CAAC;sBACxC;sBACA6D,KAAI,CAACvC,MAAM,CAAC2D,KAAK,aAAAzH,MAAA,CACH+G,aAAa,wBAAA/G,MAAA,CAAqB6C,IAAI,CAACyF,KAAK,mCAAAtI,MAAA,CAAgC+H,QAAQ,CAACwB,MAAM,MACzG,CAAC;sBAAC,MAEExB,QAAQ,CAACwB,MAAM,IAAI,GAAG,IAAIxB,QAAQ,CAACwB,MAAM,GAAG,GAAG;wBAAAnB,SAAA,CAAAlJ,IAAA;wBAAA;sBAAA;sBAAA,OAAAkJ,SAAA,CAAAjJ,MAAA;wBAAAqJ,CAAA,EAE1CC,OAAO,CAACiC,OAAO,CAAC3C,QAAQ,CAAC0B,IAAI;sBAAC;oBAAA;sBAAA,MAC5B1B,QAAQ,CAACwB,MAAM,GAAG,GAAG;wBAAAnB,SAAA,CAAAlJ,IAAA;wBAAA;sBAAA;sBAAA,OAAAkJ,SAAA,CAAAjJ,MAAA;wBAAAqJ,CAAA,EAEvBC,OAAO,CAACC,MAAM,CACnBrC,KAAI,CAACsE,sBAAsB,CAAC5C,QAAQ,GAAAC,cAAA,GAAED,QAAQ,CAAC0B,IAAI,cAAAzB,cAAA,uBAAbA,cAAA,CAAe4C,OAAO,CAC9D;sBAAC;oBAAA;sBAAA,MAIKvE,KAAI,CAACsE,sBAAsB,CAAC5C,QAAQ,GAAAE,eAAA,GAAEF,QAAQ,CAAC0B,IAAI,cAAAxB,eAAA,uBAAbA,eAAA,CAAe2C,OAAO,CAAC;oBAAA;sBAAAxC,SAAA,CAAAlJ,IAAA;sBAAA;oBAAA;sBAAAkJ,SAAA,CAAAnJ,IAAA;sBAAAmJ,SAAA,CAAAyC,EAAA,GAAAzC,SAAA;sBAGrE;sBACA/B,KAAI,CAACoE,kBAAkB,CAAC5H,IAAI,EAAEJ,SAAS,CAAC;sBACxCuE,aAAa,GAAAoB,SAAA,CAAAyC,EAAQ;sBACrBxE,KAAI,CAACvC,MAAM,CAACiG,IAAI,aAAA/J,MAAA,CACF+G,aAAa,wBAAA/G,MAAA,CACvB6C,IAAI,CAACyF,KAAK,uBAAAtI,MAAA,CACOoI,SAAA,CAAAyC,EAAA,CAAMC,IAAI,OAAA9K,MAAA,CAAIoI,SAAA,CAAAyC,EAAA,CAAMD,OAAO,EAAA5K,MAAA,CAC5CoI,SAAA,CAAAyC,EAAA,CAAM9C,QAAQ,IAAI,IAAI,GAClB,EAAE,GACF,KAAK,GAAG7E,IAAI,CAACE,SAAS,EAAA8E,eAAA,GAACE,SAAA,CAAAyC,EAAA,CAAM9C,QAAQ,cAAAG,eAAA,uBAAdA,eAAA,CAAgBuB,IAAI,CAAC,OAEpD,CAAC;sBACD;sBACApD,KAAI,CAACvC,MAAM,CAACiG,IAAI,aAAA/J,MAAA,CACF+G,aAAa,qBAAA/G,MAAA,CAAkBqG,KAAI,CAAC3C,oBAAoB,mCACtE,CAAC;sBAAC0E,SAAA,CAAAlJ,IAAA;sBAAA,OACImH,KAAI,CAAC0E,KAAK,CAAC1E,KAAI,CAAC3C,oBAAoB,CAAC;oBAAA;sBAAA0E,SAAA,CAAAnJ,IAAA;sBAE3C,IAAIqF,WAAW,IAAIqD,aAAa,EAAE;wBAChCrD,WAAW,CAAC0G,mBAAmB,CAAC,OAAO,EAAErD,aAAa,CAAC;sBACzD;sBAAC,OAAAS,SAAA,CAAA6C,MAAA;oBAAA;oBAAA;sBAAA,OAAA7C,SAAA,CAAA9I,IAAA;kBAAA;gBAAA,GAAA2H,KAAA;cAAA;cAxKCE,QAAQ,GAAG,CAAC;YAAA;cAAA,MAChBA,QAAQ,IAAI,IAAI,CAAC3D,oBAAoB,GAAG,CAAC;gBAAA6D,SAAA,CAAAnI,IAAA;gBAAA;cAAA;cAAA,OAAAmI,SAAA,CAAA6D,aAAA,CAAAjE,KAAA;YAAA;cAAAC,IAAA,GAAAG,SAAA,CAAAwD,EAAA;cAAA,KAAA3D,IAAA;gBAAAG,SAAA,CAAAnI,IAAA;gBAAA;cAAA;cAAA,OAAAmI,SAAA,CAAAlI,MAAA,WAAA+H,IAAA,CAAAsB,CAAA;YAAA;cACzCrB,QAAQ,EAAE;cAAAE,SAAA,CAAAnI,IAAA;cAAA;YAAA;cAyKZ,IAAI,CAAC4E,MAAM,CAAC2D,KAAK,aAAAzH,MAAA,CACH+G,aAAa,0CAC3B,CAAC;cAAC,OAAAM,SAAA,CAAAlI,MAAA,WACKsJ,OAAO,CAACC,MAAM,CAAC1B,aAAa,CAAC;YAAA;YAAA;cAAA,OAAAK,SAAA,CAAA/H,IAAA;UAAA;QAAA,GAAA4G,QAAA;MAAA,CACrC;MAAA,SAAAvB,eAAAwG,GAAA,EAAAC,GAAA,EAAAC,GAAA;QAAA,OAAApF,eAAA,CAAAzG,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAkF,cAAA;IAAA,IAED;IACA;IACA;EAAA;IAAApG,GAAA;IAAAC,KAAA,EACA,SAAA6J,YAAA,EAAqC;MAAA,IAAzBtB,aAAa,GAAAtH,SAAA,CAAAiF,MAAA,QAAAjF,SAAA,QAAA0B,SAAA,GAAA1B,SAAA,MAAG,CAAC;MAC3B;MACA,IAAI,IAAI,CAAC4D,WAAW,IAAI,IAAI,EAAE;QAC5B,IAAI,CAACS,MAAM,CAAC2D,KAAK,aAAAzH,MAAA,CACH+G,aAAa,2BAAA/G,MAAA,CACvB,IAAI,CAACqD,WAAW,CAACiF,KAAK,UAAAtI,MAAA,CACjB,IAAI,CAACqD,WAAW,CAACiI,SAAS,KAAK,IAAI,GAAG,SAAS,GAAG,WAAW,CACtE,CAAC;QACD,IACE,IAAI,CAACjI,WAAW,CAACiI,SAAS,KAAK,IAAI,IACnC,IAAI,CAACC,qBAAqB,CAAC,IAAI,CAAClI,WAAW,EAAE0D,aAAa,CAAC,EAC3D;UACA,IAAI,CAACjD,MAAM,CAAC2D,KAAK,aAAAzH,MAAA,CACH+G,aAAa,qCAAA/G,MAAA,CAAkC,IAAI,CAACqD,WAAW,CAACiF,KAAK,CACnF,CAAC;UACD,OAAO,IAAI,CAACjF,WAAW;QACzB;QACA,IAAI,CAACS,MAAM,CAAC2D,KAAK,aAAAzH,MAAA,CACH+G,aAAa,uCAC3B,CAAC;MACH;;MAEA;MACA,IAAI,CAACjD,MAAM,CAAC2D,KAAK,aAAAzH,MAAA,CACH+G,aAAa,sBAAA/G,MAAA,CAAmB,IAAI,CAACiD,KAAK,CACnDuI,GAAG,CACF,UAAC3I,IAAI;QAAA,eAAA7C,MAAA,CACK6C,IAAI,CAACyF,KAAK,UAAAtI,MAAA,CAChB6C,IAAI,CAACyI,SAAS,KAAK,IAAI,GAAG,SAAS,GAAG,WAAW;MAAA,CAEvD,CAAC,CACAG,IAAI,CAAC,MAAM,CAAC,CACjB,CAAC;MACD,IAAIC,aAAmB,GAAG,IAAI,CAACzI,KAAK,CAAC,CAAC,CAAC;MACvC,KAAK,IAAI0I,CAAC,GAAG,CAAC,EAAEA,CAAC,IAAI,IAAI,CAAC1I,KAAK,CAACyB,MAAM,EAAEiH,CAAC,EAAE,EAAE;QAC3C,IAAI,CAAC3H,gBAAgB,GAAG,CAAC,IAAI,CAACA,gBAAgB,GAAG,CAAC,IAAI,IAAI,CAACf,KAAK,CAACyB,MAAM;QACvEgH,aAAa,GAAG,IAAI,CAACzI,KAAK,CAAC,IAAI,CAACe,gBAAgB,CAAC;QACjD,IACE0H,aAAa,CAACJ,SAAS,KAAK,IAAI,IAChC,IAAI,CAACC,qBAAqB,CAACG,aAAa,EAAE3E,aAAa,CAAC,EACxD;UACA,IAAI,CAACjD,MAAM,CAAC2D,KAAK,aAAAzH,MAAA,CACH+G,aAAa,qCAAA/G,MAAA,CAAkC0L,aAAa,CAACpD,KAAK,CAChF,CAAC;UACD,OAAOoD,aAAa;QACtB;MACF;;MAEA;MACA;MACA,IAAI,CAAC5H,MAAM,CAAC2D,KAAK,aAAAzH,MAAA,CACH+G,aAAa,mEAAA/G,MAAA,CAAgE0L,aAAa,CAACpD,KAAK,CAC9G,CAAC;MACD,OAAOoD,aAAa;IACtB;EAAC;IAAAnN,GAAA;IAAAC,KAAA,EAED,SAAA+M,sBAAsB1I,IAAI,EAA8B;MAAA,IAA5BkE,aAAa,GAAAtH,SAAA,CAAAiF,MAAA,QAAAjF,SAAA,QAAA0B,SAAA,GAAA1B,SAAA,MAAG,CAAC;MAC3C,IAAMmM,mBAAmB,GACvBrE,IAAI,CAACC,GAAG,CAAC,CAAC,GAAG3E,IAAI,CAACgJ,mBAAmB,GACrC,IAAI,CAACtI,0BAA0B,GAAG,IAAI;MACxC,IAAIqI,mBAAmB,EAAE;QACvB,IAAI,CAAC9H,MAAM,CAAC2D,KAAK,aAAAzH,MAAA,CACH+G,aAAa,aAAA/G,MAAA,CAAU6C,IAAI,CAACyF,KAAK,iDAAAtI,MAAA,CAA8C,IAAI,CAACuD,0BAA0B,oCAC5H,CAAC;MACH;MACA,OAAOqI,mBAAmB;IAC5B;EAAC;IAAArN,GAAA;IAAAC,KAAA,EAED,SAAAuF,2BAAA,EAAmC;MAAA,IAAA+H,MAAA;MACjC,IAAI,IAAI,CAACzI,WAAW,IAAI,IAAI,EAAE;QAC5B,IAAI,CAACA,WAAW,CAACiF,KAAK,GAAG,aAAa;QACtC,IAAI,CAACmC,kBAAkB,CAAC,IAAI,CAACpH,WAAW,EAAEb,OAAO,CAAC;MACpD;MAEA,IAAI,CAACS,KAAK,CAAC8I,OAAO,CAAC,UAAClJ,IAAI,EAAE8I,CAAC,EAAK;QAC9B9I,IAAI,CAACyF,KAAK,GAAGqD,CAAC;QACdG,MAAI,CAACrB,kBAAkB,CAAC5H,IAAI,EAAEL,OAAO,CAAC;MACxC,CAAC,CAAC;IACJ;EAAC;IAAAjE,GAAA;IAAAC,KAAA,EAED,SAAAiM,mBAAmB5H,IAAI,EAAEyI,SAAS,EAAQ;MACxCzI,IAAI,CAACyI,SAAS,GAAGA,SAAS;MAC1BzI,IAAI,CAACgJ,mBAAmB,GAAGtE,IAAI,CAACC,GAAG,CAAC,CAAC;IACvC;EAAC;IAAAjJ,GAAA;IAAAC,KAAA,EAED,SAAAsK,OAAO5E,QAAgB,EAAErB,IAAI,EAAU;MACrC,IAAIA,IAAI,CAACgG,GAAG,IAAI,IAAI,EAAE;QACpB,UAAA7I,MAAA,CAAU6C,IAAI,CAACgG,GAAG,EAAA7I,MAAA,CAAGkE,QAAQ;MAC/B;MACA,UAAAlE,MAAA,CAAU6C,IAAI,CAACmJ,QAAQ,SAAAhM,MAAA,CAAM6C,IAAI,CAACoJ,IAAI,OAAAjM,MAAA,CAAI6C,IAAI,CAACqJ,IAAI,EAAAlM,MAAA,CAAG6C,IAAI,CAACsJ,IAAI,EAAAnM,MAAA,CAAGkE,QAAQ;IAC5E;EAAC;IAAA3F,GAAA;IAAAC,KAAA,EAED,SAAA0K,eAAA,EAAsB;MACpB,IAAMA,cAAc,GAAG,CAAC,CAAC;MACzB,IAAI,CAAC,IAAI,CAACvF,sBAAsB,EAAE;QAChCuF,cAAc,CAAC3G,gBAAgB,CAAC,GAAG,IAAI,CAACS,MAAM;MAChD;MACAkG,cAAc,CAAC,cAAc,CAAC,GAAG,kBAAkB;MACnD,OAAOA,cAAc;IACvB;EAAC;IAAA3K,GAAA;IAAAC,KAAA;MAAA,IAAA4N,MAAA,GAAA1N,mFAAA,eAAAC,sEAAA,CAED,SAAA0N,SAAYC,OAAO;QAAA,OAAA3N,sEAAA,UAAA4N,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAvN,IAAA,GAAAuN,SAAA,CAAAtN,IAAA;YAAA;cAAA,OAAAsN,SAAA,CAAArN,MAAA,WACV,IAAIsJ,OAAO,CAAC,UAACiC,OAAO;gBAAA,OAAK+B,UAAU,CAAC/B,OAAO,EAAE4B,OAAO,GAAG,IAAI,CAAC;cAAA,EAAC;YAAA;YAAA;cAAA,OAAAE,SAAA,CAAAlN,IAAA;UAAA;QAAA,GAAA+M,QAAA;MAAA,CACrE;MAAA,SAAAtB,MAAA2B,GAAA;QAAA,OAAAN,MAAA,CAAA5M,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAsL,KAAA;IAAA;EAAA;IAAAxM,GAAA;IAAAC,KAAA,EAED,SAAAmM,uBACE5C,QAAuB,EACvB4E,iBAAyB,EACT;MAChB,IAAIC,YAAY,oCAAA5M,MAAA,CAAoC+H,QAAQ,CAACwB,MAAM,CAAE;MACrE,IACE,OAAOoD,iBAAiB,KAAK,QAAQ,IACrCA,iBAAiB,CAACE,IAAI,CAAC,CAAC,KAAK,EAAE,EAC/B;QACAD,YAAY,uBAAA5M,MAAA,CAAuB2M,iBAAiB,CAAE;MACxD;MAEA,IAAIG,KAAK,GAAG,IAAI3K,8DAAc,CAACyK,YAAY,CAAC;MAE5C,IAAI7E,QAAQ,CAACwB,MAAM,KAAK,GAAG,EAAE;QAC3BuD,KAAK,GAAG,IAAI9K,qDAAgB,CAAC4K,YAAY,CAAC;MAC5C,CAAC,MAAM,IAAI7E,QAAQ,CAACwB,MAAM,KAAK,GAAG,EAAE;QAClCuD,KAAK,GAAG,IAAI7K,wDAAmB,CAAC2K,YAAY,CAAC;MAC/C,CAAC,MAAM,IAAI7E,QAAQ,CAACwB,MAAM,KAAK,GAAG,EAAE;QAClCuD,KAAK,GAAG,IAAIhL,mDAAc,CAAC8K,YAAY,CAAC;MAC1C,CAAC,MAAM,IAAI7E,QAAQ,CAACwB,MAAM,KAAK,GAAG,EAAE;QAClCuD,KAAK,GAAG,IAAIjL,wDAAmB,CAAC+K,YAAY,CAAC;MAC/C,CAAC,MAAM,IAAI7E,QAAQ,CAACwB,MAAM,KAAK,GAAG,EAAE;QAClCuD,KAAK,GAAG,IAAI/K,wDAAmB,CAAC6K,YAAY,CAAC;MAC/C,CAAC,MAAM,IAAI7E,QAAQ,CAACwB,MAAM,IAAI,GAAG,IAAIxB,QAAQ,CAACwB,MAAM,IAAI,GAAG,EAAE;QAC3DuD,KAAK,GAAG,IAAI5K,gDAAW,CAAC0K,YAAY,CAAC;MACvC,CAAC,MAAM;QACLE,KAAK,GAAG,IAAIlL,8CAAS,CAACgL,YAAY,CAAC;MACrC;MAEAE,KAAK,CAACC,UAAU,GAAGhF,QAAQ,CAACwB,MAAM;MAElC,OAAOuD,KAAK;IACd;EAAC;EAAA,OAAAhK,OAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxdH;;AAEsE;AACtC;AACQ;AACF;AACN;AACJ;AACF;AACF;AACI;AACI;AACJ;AACE;AACQ;AACE;AACR;AACF;AACM;AACA;AACF;AACU;AACF;AAAA,IAErBmL,MAAM;EAuBzB,SAAAA,OAAYC,OAA6B,EAAE;IAAA,IAAAC,qBAAA;IAAA9P,iFAAA,OAAA4P,MAAA;IACzCC,OAAO,CAACvK,sBAAsB,IAAAwK,qBAAA,GAAGD,OAAO,CAACvK,sBAAsB,cAAAwK,qBAAA,cAAAA,qBAAA,GAAI,KAAK;IAExE,IAAI,CAACpL,aAAa,GAAG,IAAIiK,sDAAa,CAACkB,OAAO,CAAC;IAC/C,IAAI,CAAC9P,OAAO,GAAG,IAAI0E,gDAAO,CAAC,IAAI,CAACC,aAAa,CAAC;IAC9C,IAAI,CAAC0E,KAAK,GAAG,IAAI4F,+CAAK,CAAC,IAAI,CAACjP,OAAO,CAAC;IACpC,IAAI,CAACgQ,OAAO,GAAG,IAAId,iDAAO,CAAC,IAAI,CAAClP,OAAO,CAAC;IACxC,IAAI,CAACiQ,KAAK,GAAG,IAAId,+CAAK,CAAC,IAAI,CAACnP,OAAO,CAAC;IACpC,IAAI,CAACkQ,MAAM,GAAG,IAAId,gDAAM,CAAC,IAAI,CAACpP,OAAO,CAAC;IACtC,IAAI,CAACmQ,UAAU,GAAG,IAAId,oDAAU,CAAC,IAAI,CAACrP,OAAO,CAAC;IAC9C,IAAI,CAACoQ,WAAW,GAAG,IAAId,qDAAW,CAAC,IAAI,CAACtP,OAAO,EAAE,IAAI,CAAC2E,aAAa,CAAC;IACpE,IAAI,CAAC0L,YAAY,GAAG,IAAIxB,oDAAW,CAAC,IAAI,CAAC7O,OAAO,CAAC;IACjD,IAAI,CAACsQ,qBAAqB,GAAG,CAAC,CAAC;IAC/B,IAAI,CAACC,QAAQ,GAAG,IAAI1Q,gDAAO,CAAC,IAAI,CAACG,OAAO,CAAC;IACzC,IAAI,CAACwQ,iBAAiB,GAAG,CAAC,CAAC;IAC3B,IAAI,CAACC,KAAK,GAAG,IAAI1B,6CAAI,CAAC,IAAI,CAAC/O,OAAO,CAAC;IACnC,IAAI,CAAC0Q,cAAc,GAAG,CAAC,CAAC;IACxB,IAAI,CAACC,QAAQ,GAAG,IAAIpB,iDAAO,CAAC,IAAI,CAACvP,OAAO,CAAC;IACzC,IAAI,CAAC4Q,iBAAiB,GAAG,CAAC,CAAC;IAC3B,IAAI,CAACC,UAAU,GAAG,IAAIpB,mDAAS,CAAC,IAAI,CAACzP,OAAO,CAAC;IAC7C,IAAI,CAAC8Q,mBAAmB,GAAG,CAAC,CAAC;IAC7B,IAAI,CAACC,SAAS,GAAG,IAAItO,mDAAS,CAAC,IAAI,CAACzC,OAAO,CAAC;IAC5C,IAAI,CAACgR,cAAc,GAAG,IAAIrB,uDAAa,CAAC,IAAI,CAAC3P,OAAO,CAAC;IACrD,IAAI,CAACiR,uBAAuB,GAAG,CAAC,CAAC;EACnC;EAAC/Q,8EAAA,CAAA2P,MAAA;IAAA1P,GAAA;IAAAC,KAAA,EAMD,SAAA8Q,YAAYC,cAAuB,EAA4B;MAC7D,IAAIA,cAAc,KAAKpO,SAAS,EAAE;QAChC,OAAO,IAAI,CAACsN,YAAY;MAC1B,CAAC,MAAM;QACL,IAAI,IAAI,CAACC,qBAAqB,CAACa,cAAc,CAAC,KAAKpO,SAAS,EAAE;UAC5D,IAAI,CAACuN,qBAAqB,CAACa,cAAc,CAAC,GAAG,IAAIrC,mDAAU,CACzDqC,cAAc,EACd,IAAI,CAACnR,OAAO,EACZ,IAAI,CAAC2E,aACP,CAAC;QACH;QACA,OAAO,IAAI,CAAC2L,qBAAqB,CAACa,cAAc,CAAC;MACnD;IACF;EAAC;IAAAhR,GAAA;IAAAC,KAAA,EAID,SAAAgR,QAAQ/O,SAAkB,EAAmB;MAC3C,IAAIA,SAAS,KAAKU,SAAS,EAAE;QAC3B,OAAO,IAAI,CAACwN,QAAQ;MACtB,CAAC,MAAM;QACL,IAAI,IAAI,CAACC,iBAAiB,CAACnO,SAAS,CAAC,KAAKU,SAAS,EAAE;UACnD,IAAI,CAACyN,iBAAiB,CAACnO,SAAS,CAAC,GAAG,IAAIvC,8CAAK,CAACuC,SAAS,EAAE,IAAI,CAACrC,OAAO,CAAC;QACxE;QACA,OAAO,IAAI,CAACwQ,iBAAiB,CAACnO,SAAS,CAAC;MAC1C;IACF;EAAC;IAAAlC,GAAA;IAAAC,KAAA,EAID,SAAAqL,KAAK3I,EAAW,EAAc;MAC5B,IAAIA,EAAE,KAAKC,SAAS,EAAE;QACpB,OAAO,IAAI,CAAC0N,KAAK;MACnB,CAAC,MAAM;QACL,IAAI,IAAI,CAACC,cAAc,CAAC5N,EAAE,CAAC,KAAKC,SAAS,EAAE;UACzC,IAAI,CAAC2N,cAAc,CAAC5N,EAAE,CAAC,GAAG,IAAIkM,4CAAG,CAAClM,EAAE,EAAE,IAAI,CAAC9C,OAAO,CAAC;QACrD;QACA,OAAO,IAAI,CAAC0Q,cAAc,CAAC5N,EAAE,CAAC;MAChC;IACF;EAAC;IAAA3C,GAAA;IAAAC,KAAA,EAID,SAAAiR,QAAQvO,EAAW,EAAoB;MACrC,IAAIA,EAAE,KAAKC,SAAS,EAAE;QACpB,OAAO,IAAI,CAAC4N,QAAQ;MACtB,CAAC,MAAM;QACL,IAAI,IAAI,CAACC,iBAAiB,CAAC9N,EAAE,CAAC,KAAKC,SAAS,EAAE;UAC5C,IAAI,CAAC6N,iBAAiB,CAAC9N,EAAE,CAAC,GAAG,IAAI0M,gDAAM,CAAC1M,EAAE,EAAE,IAAI,CAAC9C,OAAO,CAAC;QAC3D;QACA,OAAO,IAAI,CAAC4Q,iBAAiB,CAAC9N,EAAE,CAAC;MACnC;IACF;EAAC;IAAA3C,GAAA;IAAAC,KAAA,EAID,SAAAkR,UAAUxO,EAAW,EAAwB;MAC3C,IAAIA,EAAE,KAAKC,SAAS,EAAE;QACpB,OAAO,IAAI,CAAC8N,UAAU;MACxB,CAAC,MAAM;QACL,IAAI,IAAI,CAACC,mBAAmB,CAAChO,EAAE,CAAC,KAAKC,SAAS,EAAE;UAC9C,IAAI,CAAC+N,mBAAmB,CAAChO,EAAE,CAAC,GAAG,IAAI4M,kDAAQ,CAAC5M,EAAE,EAAE,IAAI,CAAC9C,OAAO,CAAC;QAC/D;QACA,OAAO,IAAI,CAAC8Q,mBAAmB,CAAChO,EAAE,CAAC;MACrC;IACF;EAAC;IAAA3C,GAAA;IAAAC,KAAA,EAID,SAAAmR,cAAczO,EAAW,EAAgC;MACvD,IAAIA,EAAE,KAAKC,SAAS,EAAE;QACpB,OAAO,IAAI,CAACiO,cAAc;MAC5B,CAAC,MAAM;QACL,IAAI,IAAI,CAACC,uBAAuB,CAACnO,EAAE,CAAC,KAAKC,SAAS,EAAE;UAClD,IAAI,CAACkO,uBAAuB,CAACnO,EAAE,CAAC,GAAG,IAAI8M,sDAAY,CAAC9M,EAAE,EAAE,IAAI,CAAC9C,OAAO,CAAC;QACvE;QACA,OAAO,IAAI,CAACiR,uBAAuB,CAACnO,EAAE,CAAC;MACzC;IACF;EAAC;EAAA,OAAA+M,MAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1JiE;AACZ;AACd;AACN;AACF;AACA;AACF;AACM;AAAA,IAoDjBf,UAAU;EAQ7B,SAAAA,WACmB/O,IAAY,EACZC,OAAgB,EAChB2E,aAAkB,EACnC;IAAA1E,iFAAA,OAAA6O,UAAA;IAAApM,iFAAA,8BAVyD,CAAC,CAAC;IAAAA,iFAAA,8BAEL,CAAC,CAAC;IAAAA,iFAAA,6BAEJ,CAAC,CAAC;IAAA,KAGrC3C,IAAY,GAAZA,IAAY;IAAA,KACZC,OAAgB,GAAhBA,OAAgB;IAAA,KAChB2E,aAAkB,GAAlBA,aAAkB;IAEnC,IAAI,CAAC5E,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,OAAO,GAAGA,OAAO;IACtB,IAAI,CAAC2E,aAAa,GAAGA,aAAa;IAElC,IAAI,CAACmN,UAAU,GAAG,IAAIN,kDAAS,CAC7B,IAAI,CAACzR,IAAI,EACT,IAAI,CAACC,OAAO,EACZ,IAAI,CAAC2E,aACP,CAAC;IACD,IAAI,CAACoN,UAAU,GAAG,IAAIN,kDAAS,CAAC,IAAI,CAAC1R,IAAI,EAAE,IAAI,CAACC,OAAO,CAAC;IACxD,IAAI,CAACgS,SAAS,GAAG,IAAIL,kDAAQ,CAAC,IAAI,CAAC5R,IAAI,EAAE,IAAI,CAACC,OAAO,CAAC;EACxD;EAACE,8EAAA,CAAA4O,UAAA;IAAA3O,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,eAAAC,sEAAA,CAED,SAAAE,QAAA;QAAA,OAAAF,sEAAA,UAAAI,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WACS,IAAI,CAACf,OAAO,CAACgB,GAAG,CAAmB,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAL,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAT,OAAA;MAAA,CAC/D;MAAA,SAAAU,SAAA;QAAA,OAAAd,SAAA,CAAAe,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAF,QAAA;IAAA;EAAA;IAAAhB,GAAA;IAAAC,KAAA;MAAA,IAAA6R,OAAA,GAAA3R,mFAAA,eAAAC,sEAAA,CAED,SAAAgB,SAAa2Q,MAA8B;QAAA,OAAA3R,sEAAA,UAAAiB,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAZ,IAAA,GAAAY,SAAA,CAAAX,IAAA;YAAA;cAAA,OAAAW,SAAA,CAAAV,MAAA,WAClC,IAAI,CAACf,OAAO,CAAC2H,KAAK,CAAmB,IAAI,CAAC1G,YAAY,CAAC,CAAC,EAAEiR,MAAM,CAAC;YAAA;YAAA;cAAA,OAAAzQ,SAAA,CAAAP,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACzE;MAAA,SAAA4Q,OAAAhQ,EAAA;QAAA,OAAA8P,OAAA,CAAA7Q,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAA8Q,MAAA;IAAA;EAAA;IAAAhS,GAAA;IAAAC,KAAA;MAAA,IAAAkB,QAAA,GAAAhB,mFAAA,eAAAC,sEAAA,CAED,SAAAmG,SAAA;QAAA,OAAAnG,sEAAA,UAAAsG,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAjG,IAAA,GAAAiG,SAAA,CAAAhG,IAAA;YAAA;cAAA,OAAAgG,SAAA,CAAA/F,MAAA,WACS,IAAI,CAACf,OAAO,CAAC0B,MAAM,CAAmB,IAAI,CAACT,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAA6F,SAAA,CAAA5F,IAAA;UAAA;QAAA,GAAAwF,QAAA;MAAA,CAClE;MAAA,SAAA/E,QAAA;QAAA,OAAAL,QAAA,CAAAF,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAM,OAAA;IAAA;EAAA;IAAAxB,GAAA;IAAAC,KAAA;MAAA,IAAAgS,OAAA,GAAA9R,mFAAA,eAAAC,sEAAA,CAED,SAAA0G,SAAA;QAAA,OAAA1G,sEAAA,UAAA4G,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAvG,IAAA,GAAAuG,SAAA,CAAAtG,IAAA;YAAA;cAAAsG,SAAA,CAAAvG,IAAA;cAAAuG,SAAA,CAAAtG,IAAA;cAAA,OAEU,IAAI,CAACK,QAAQ,CAAC,CAAC;YAAA;cAAA,OAAAiG,SAAA,CAAArG,MAAA,WACd,IAAI;YAAA;cAAAqG,SAAA,CAAAvG,IAAA;cAAAuG,SAAA,CAAAqF,EAAA,GAAArF,SAAA;cAAA,MAEPA,SAAA,CAAAqF,EAAA,YAAa/I,mDAAc;gBAAA0D,SAAA,CAAAtG,IAAA;gBAAA;cAAA;cAAA,OAAAsG,SAAA,CAAArG,MAAA,WAAS,KAAK;YAAA;cAAA,MAAAqG,SAAA,CAAAqF,EAAA;YAAA;YAAA;cAAA,OAAArF,SAAA,CAAAlG,IAAA;UAAA;QAAA,GAAA+F,QAAA;MAAA,CAGhD;MAAA,SAAAoL,OAAA;QAAA,OAAAD,OAAA,CAAAhR,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAgR,MAAA;IAAA;EAAA;IAAAlS,GAAA;IAAAC,KAAA,EAID,SAAAkS,UAAUC,UAAmB,EAA8B;MACzD,IAAI,CAACA,UAAU,EAAE;QACf,OAAO,IAAI,CAACT,UAAU;MACxB,CAAC,MAAM;QACL,IAAI,IAAI,CAACU,mBAAmB,CAACD,UAAU,CAAC,KAAKxP,SAAS,EAAE;UACtD,IAAI,CAACyP,mBAAmB,CAACD,UAAU,CAAC,GAAG,IAAIV,gDAAQ,CACjD,IAAI,CAAC9R,IAAI,EACTwS,UAAU,EACV,IAAI,CAACvS,OACP,CAAC;QACH;QACA,OAAO,IAAI,CAACwS,mBAAmB,CAACD,UAAU,CAAC;MAC7C;IACF;EAAC;IAAApS,GAAA;IAAAC,KAAA,EAID,SAAAqS,UAAUC,UAAmB,EAAwB;MACnD,IAAIA,UAAU,KAAK3P,SAAS,EAAE;QAC5B,OAAO,IAAI,CAACgP,UAAU;MACxB,CAAC,MAAM;QACL,IAAI,IAAI,CAACY,mBAAmB,CAACD,UAAU,CAAC,KAAK3P,SAAS,EAAE;UACtD,IAAI,CAAC4P,mBAAmB,CAACD,UAAU,CAAC,GAAG,IAAIhB,iDAAQ,CACjD,IAAI,CAAC3R,IAAI,EACT2S,UAAU,EACV,IAAI,CAAC1S,OACP,CAAC;QACH;QACA,OAAO,IAAI,CAAC2S,mBAAmB,CAACD,UAAU,CAAC;MAC7C;IACF;EAAC;IAAAvS,GAAA;IAAAC,KAAA,EAID,SAAAwS,SAASC,SAAkB,EAAsB;MAC/C,IAAIA,SAAS,KAAK9P,SAAS,EAAE;QAC3B,OAAO,IAAI,CAACiP,SAAS;MACvB,CAAC,MAAM;QACL,IAAI,IAAI,CAACc,kBAAkB,CAACD,SAAS,CAAC,KAAK9P,SAAS,EAAE;UACpD,IAAI,CAAC+P,kBAAkB,CAACD,SAAS,CAAC,GAAG,IAAIjB,iDAAO,CAC9C,IAAI,CAAC7R,IAAI,EACT8S,SAAS,EACT,IAAI,CAAC7S,OACP,CAAC;QACH;QACA,OAAO,IAAI,CAAC8S,kBAAkB,CAACD,SAAS,CAAC;MAC3C;IACF;EAAC;IAAA1S,GAAA;IAAAC,KAAA,EAED,SAAAa,aAAA,EAA+B;MAC7B,UAAAW,MAAA,CAAUiN,oDAAW,CAAChN,YAAY,OAAAD,MAAA,CAAI,IAAI,CAAC7B,IAAI;IACjD;EAAC;EAAA,OAAA+O,UAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;ACzIH,IAAMjN,YAAY,GAAG,cAAc;AAAC,IAEfgN,WAAW;EAC9B,SAAAA,YAAoB7O,OAAgB,EAAE;IAAAC,iFAAA,OAAA4O,WAAA;IAAA,KAAlB7O,OAAgB,GAAhBA,OAAgB;EAAG;EAACE,8EAAA,CAAA2O,WAAA;IAAA1O,GAAA;IAAAC,KAAA;MAAA,IAAA8C,OAAA,GAAA5C,mFAAA,eAAAC,sEAAA,CAExC,SAAAE,QACEyR,MAA8B;QAAA,IAAApC,OAAA;UAAAzJ,KAAA,GAAAhF,SAAA;QAAA,OAAAd,sEAAA,UAAAI,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAC9BgP,OAAgC,GAAAzJ,KAAA,CAAAC,MAAA,QAAAD,KAAA,QAAAtD,SAAA,GAAAsD,KAAA,MAAG,CAAC,CAAC;cAAA,OAAAzF,QAAA,CAAAG,MAAA,WAE9B,IAAI,CAACf,OAAO,CAACoD,IAAI,CAAmBvB,YAAY,EAAEqQ,MAAM,EAAEpC,OAAO,CAAC;YAAA;YAAA;cAAA,OAAAlP,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAT,OAAA;MAAA,CAC1E;MAAA,SAAA4C,OAAAlB,EAAA;QAAA,OAAAe,OAAA,CAAA9B,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAgC,MAAA;IAAA;EAAA;IAAAlD,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,eAAAC,sEAAA,CAED,SAAAgB,SAAA;QAAA,IAAAuO,OAAA;UAAAtJ,MAAA,GAAAnF,SAAA;QAAA,OAAAd,sEAAA,UAAAiB,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAZ,IAAA,GAAAY,SAAA,CAAAX,IAAA;YAAA;cACEgP,OAAmC,GAAAtJ,MAAA,CAAAF,MAAA,QAAAE,MAAA,QAAAzD,SAAA,GAAAyD,MAAA,MAAG,CAAC,CAAC;cAAA,OAAA/E,SAAA,CAAAV,MAAA,WAEjC,IAAI,CAACf,OAAO,CAACgB,GAAG,CAAqBa,YAAY,EAAEiO,OAAO,CAAC;YAAA;YAAA;cAAA,OAAArO,SAAA,CAAAP,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACnE;MAAA,SAAAJ,SAAA;QAAA,OAAAd,SAAA,CAAAe,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAF,QAAA;IAAA;EAAA;IAAAhB,GAAA;IAAAa,GAAA,EAED,SAAAA,IAAA,EAA0B;MACxB,OAAOa,YAAY;IACrB;EAAC;EAAA,OAAAgN,WAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5CgC;AAEkB;AAAA,IAiGhCD,aAAa;EAwBhC,SAAAA,cAAYkB,OAA6B,EAAE;IAAA,IAAA7H,KAAA;IAAAhI,iFAAA,OAAA2O,aAAA;IACzC,IAAI,CAAC/J,KAAK,GAAGiL,OAAO,CAACjL,KAAK,IAAI,EAAE;IAChC,IAAI,CAACA,KAAK,GAAG,IAAI,CAACA,KAAK,CACpBuI,GAAG,CAAC,UAAC3I,IAAI;MAAA,OAAKwD,KAAI,CAAC+K,oBAAoB,CAACvO,IAAI,CAAC;IAAA,EAAC,CAC9C2I,GAAG,CAAC,UAAC3I,IAAI;MAAA,OAAKwD,KAAI,CAACgL,oBAAoB,CAACxO,IAAI,CAAC;IAAA,EAAC,CAC9C2I,GAAG,CAAC,UAAC3I,IAAI;MAAA,OAAAyO,aAAA,KAAWzO,IAAI;IAAA,CAAG,CAAwB,CAAC,CAAC;;IAExD,IAAIqL,OAAO,CAACqD,cAAc,IAAI,IAAI,EAAE;MAClCrD,OAAO,CAACqD,cAAc,GAAG,IAAI;IAC/B;IAEA,IAAIrD,OAAO,CAACqD,cAAc,KAAK,IAAI,EAAE;MACnC,IAAI,CAACC,YAAY,CAAC,IAAI,CAACvO,KAAK,CAAC;IAC/B;IAEA,IAAI,CAACI,WAAW,GAAG6K,OAAO,CAAC7K,WAAW;IACtC,IAAI,CAACA,WAAW,GAAG,IAAI,CAAC+N,oBAAoB,CAAC,IAAI,CAAC/N,WAAW,CAAC;IAC9D,IAAI,CAACA,WAAW,GAAG,IAAI,CAACgO,oBAAoB,CAAC,IAAI,CAAChO,WAAW,CAAC;IAE9D,IAAI,CAACC,wBAAwB,GAC3B4K,OAAO,CAAC5K,wBAAwB,IAAI4K,OAAO,CAACuD,cAAc,IAAI,CAAC;IACjE,IAAI,CAAClO,0BAA0B,GAAG2K,OAAO,CAAC3K,0BAA0B,IAAI,EAAE;IAC1E,IAAI,CAACE,UAAU,GACbyK,OAAO,CAACzK,UAAU,IAClB,IAAI,CAACR,KAAK,CAACyB,MAAM,IAAI,IAAI,CAACrB,WAAW,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,IACtD,CAAC;IACH,IAAI,CAACK,oBAAoB,GAAGwK,OAAO,CAACxK,oBAAoB,IAAI,GAAG;IAE/D,IAAI,CAACV,MAAM,GAAGkL,OAAO,CAAClL,MAAM;IAC5B,IAAI,CAACW,sBAAsB,GAAGuK,OAAO,CAACvK,sBAAsB,CAAC,CAAC;;IAE9D,IAAI,CAAC+N,4BAA4B,GAC/BxD,OAAO,CAACwD,4BAA4B,IAAI,CAAC,CAAC,CAAC;IAC7C,IAAI,CAACC,wBAAwB,GAAGzD,OAAO,CAACyD,wBAAwB,IAAI,KAAK;IAEzE,IAAI,CAAC7N,MAAM,GAAGoK,OAAO,CAACpK,MAAM,IAAIA,qCAAM;IACtC,IAAI,CAAC8N,QAAQ,GAAG1D,OAAO,CAAC0D,QAAQ,IAAI,MAAM;IAC1C,IAAI,CAAC9N,MAAM,CAAC+N,QAAQ,CAAC,IAAI,CAACD,QAAQ,CAAC;IAEnC,IAAI,CAAC/N,iBAAiB,GAAGqK,OAAO,CAACrK,iBAAiB;IAElD,IAAI,CAACiG,SAAS,GAAGoE,OAAO,CAACpE,SAAS;IAClC,IAAI,CAACG,UAAU,GAAGiE,OAAO,CAACjE,UAAU;IAEpC,IAAI,CAACC,gBAAgB,GAAGgE,OAAO,CAAChE,gBAAgB;IAEhD,IAAI,CAAC4H,uBAAuB,CAAC5D,OAAO,CAAC;IACrC,IAAI,CAAC5G,QAAQ,CAAC,CAAC;EACjB;EAAChJ,8EAAA,CAAA0O,aAAA;IAAAzO,GAAA;IAAAC,KAAA,EAED,SAAA8I,SAAA,EAAoB;MAClB,IAAI,IAAI,CAACrE,KAAK,IAAI,IAAI,IAAI,IAAI,CAACA,KAAK,CAACyB,MAAM,KAAK,CAAC,IAAI,IAAI,CAACqN,aAAa,CAAC,CAAC,EAAE;QACzE,MAAM,IAAIZ,8DAAyB,CACjC,qEACF,CAAC;MACH;MAEA,IACE,IAAI,CAAC9N,WAAW,IAAI,IAAI,IACxB,IAAI,CAAC2O,0BAA0B,CAAC,IAAI,CAAC3O,WAAW,CAAC,EACjD;QACA,MAAM,IAAI8N,8DAAyB,CACjC,oFACF,CAAC;MACH;MAEA,IAAI,IAAI,CAACnO,MAAM,IAAI,IAAI,EAAE;QACvB,MAAM,IAAImO,8DAAyB,CAAC,2BAA2B,CAAC;MAClE;MAEA,OAAO,IAAI;IACb;EAAC;IAAA5S,GAAA;IAAAC,KAAA,EAED,SAAAuT,cAAA,EAAiC;MAAA,IAAAjG,MAAA;MAC/B,OAAO,IAAI,CAAC7I,KAAK,CAACgP,IAAI,CAAC,UAACpP,IAAI,EAAK;QAC/B,OAAOiJ,MAAI,CAACkG,0BAA0B,CAACnP,IAAI,CAAC;MAC9C,CAAC,CAAC;IACJ;EAAC;IAAAtE,GAAA;IAAAC,KAAA,EAED,SAAAwT,2BACEnP,IAG4B,EACnB;MACT,OACE,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAACqP,KAAK,CAAC,UAAC3T,GAAG,EAAK;QACnD,OAAOsE,IAAI,CAACsP,cAAc,CAAC5T,GAAG,CAAC;MACjC,CAAC,CAAC,IAAIsE,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI;IAE7B;EAAC;IAAAtE,GAAA;IAAAC,KAAA,EAED,SAAA4S,qBACEvO,IAIa,EAKD;MACZ,IAAIA,IAAI,IAAI,IAAI,IAAI,CAACA,IAAI,CAACsP,cAAc,CAAC,MAAM,CAAC,EAAE;QAChDtP,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;MACnB;MACA,OAAOA,IAAI;IACb;EAAC;IAAAtE,GAAA;IAAAC,KAAA,EAED,SAAA6S,qBACExO,IAIa,EAKD;MACZ,IACEA,IAAI,IAAI,IAAI,IACZ,CAACA,IAAI,CAACsP,cAAc,CAAC,MAAM,CAAC,IAC5BtP,IAAI,CAACsP,cAAc,CAAC,UAAU,CAAC,EAC/B;QACA,QAAQtP,IAAI,CAAC,UAAU,CAAC;UACtB,KAAK,OAAO;YACVA,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG;YAClB;UACF,KAAK,MAAM;YACTA,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;YACjB;QACJ;MACF;MACA,OAAOA,IAAI;IACb;EAAC;IAAAtE,GAAA;IAAAC,KAAA,EAED,SAAAsT,wBAAgC5D,OAA6B,EAAQ;MACnE,IAAIA,OAAO,CAACuD,cAAc,EAAE;QAC1B,IAAI,CAAC3N,MAAM,CAACiG,IAAI,CACd,gFACF,CAAC;MACH;MACA,IAAImE,OAAO,CAACkE,UAAU,EAAE;QACtB,IAAI,CAACtO,MAAM,CAACiG,IAAI,CACd,oGACF,CAAC;MACH;MACA,IAAImE,OAAO,CAACmE,gBAAgB,EAAE;QAC5B,IAAI,CAACvO,MAAM,CAACiG,IAAI,CACd,0GACF,CAAC;MACH;IACF;EAAC;IAAAxL,GAAA;IAAAC,KAAA,EAED,SAAAgT,aAAqBc,KAAK,EAAE;MAC1B,KAAK,IAAI3G,CAAC,GAAG2G,KAAK,CAAC5N,MAAM,GAAG,CAAC,EAAEiH,CAAC,GAAG,CAAC,EAAEA,CAAC,EAAE,EAAE;QACzC,IAAM4G,CAAC,GAAGC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,CAAC,CAAC,IAAI/G,CAAC,GAAG,CAAC,CAAC,CAAC;QAAC,IAAAvH,IAAA,GACvB,CAACkO,KAAK,CAACC,CAAC,CAAC,EAAED,KAAK,CAAC3G,CAAC,CAAC,CAAC;QAA1C2G,KAAK,CAAC3G,CAAC,CAAC,GAAAvH,IAAA;QAAEkO,KAAK,CAACC,CAAC,CAAC,GAAAnO,IAAA;MACrB;IACF;EAAC;EAAA,OAAA4I,aAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AC1RyC;AAAA,IAiBvBgB,YAAY;EAC/B,SAAAA,aACU9M,EAAU,EACV9C,OAAgB,EACxB;IAAAC,iFAAA,OAAA2P,YAAA;IAAA,KAFQ9M,EAAU,GAAVA,EAAU;IAAA,KACV9C,OAAgB,GAAhBA,OAAgB;EACvB;EAACE,8EAAA,CAAA0P,YAAA;IAAAzP,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,eAAAC,sEAAA,CAEJ,SAAAE,QAAA;QAAA,OAAAF,sEAAA,UAAAI,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WACS,IAAI,CAACf,OAAO,CAACgB,GAAG,CAAuB,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAL,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAT,OAAA;MAAA,CACnE;MAAA,SAAAU,SAAA;QAAA,OAAAd,SAAA,CAAAe,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAF,QAAA;IAAA;EAAA;IAAAhB,GAAA;IAAAC,KAAA;MAAA,IAAA6R,OAAA,GAAA3R,mFAAA,eAAAC,sEAAA,CAED,SAAAgB,SACE4B,MAAgC;QAAA,OAAA5C,sEAAA,UAAAiB,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAZ,IAAA,GAAAY,SAAA,CAAAX,IAAA;YAAA;cAAA,OAAAW,SAAA,CAAAV,MAAA,WAEzB,IAAI,CAACf,OAAO,CAACiC,GAAG,CACrB,IAAI,CAAChB,YAAY,CAAC,CAAC,EACnBkC,MACF,CAAC;YAAA;YAAA;cAAA,OAAA1B,SAAA,CAAAP,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACF;MAAA,SAAA4Q,OAAAhQ,EAAA;QAAA,OAAA8P,OAAA,CAAA7Q,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAA8Q,MAAA;IAAA;EAAA;IAAAhS,GAAA;IAAAC,KAAA;MAAA,IAAAkB,QAAA,GAAAhB,mFAAA,eAAAC,sEAAA,CAED,SAAAmG,SAAA;QAAA,OAAAnG,sEAAA,UAAAsG,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAjG,IAAA,GAAAiG,SAAA,CAAAhG,IAAA;YAAA;cAAA,OAAAgG,SAAA,CAAA/F,MAAA,WACS,IAAI,CAACf,OAAO,CAAC0B,MAAM,CAA2B,IAAI,CAACT,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAA6F,SAAA,CAAA5F,IAAA;UAAA;QAAA,GAAAwF,QAAA;MAAA,CAC1E;MAAA,SAAA/E,QAAA;QAAA,OAAAL,QAAA,CAAAF,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAM,OAAA;IAAA;EAAA;IAAAxB,GAAA;IAAAC,KAAA,EAED,SAAAa,aAAA,EAA+B;MAC7B,UAAAW,MAAA,CAAU+N,sDAAa,CAAC9N,YAAY,OAAAD,MAAA,CAAI,IAAI,CAACkB,EAAE;IACjD;EAAC;EAAA,OAAA8M,YAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AC1CmD;AAAA,IAmBjC4E,iBAAiB;EACpC,SAAAA,kBACU1R,EAAU,EACV9C,OAAgB,EACxB;IAAAC,iFAAA,OAAAuU,iBAAA;IAAA,KAFQ1R,EAAU,GAAVA,EAAU;IAAA,KACV9C,OAAgB,GAAhBA,OAAgB;EACvB;EAACE,8EAAA,CAAAsU,iBAAA;IAAArU,GAAA;IAAAC,KAAA;MAAA,IAAA6R,OAAA,GAAA3R,mFAAA,eAAAC,sEAAA,CAEJ,SAAAE,QACE0C,MAAqC;QAAA,OAAA5C,sEAAA,UAAAI,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WAE9B,IAAI,CAACf,OAAO,CAACiC,GAAG,CACrB,IAAI,CAAChB,YAAY,CAAC,CAAC,EACnBkC,MACF,CAAC;YAAA;YAAA;cAAA,OAAAvC,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAT,OAAA;MAAA,CACF;MAAA,SAAA0R,OAAAhQ,EAAA;QAAA,OAAA8P,OAAA,CAAA7Q,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAA8Q,MAAA;IAAA;EAAA;IAAAhS,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,eAAAC,sEAAA,CAED,SAAAgB,SAAA;QAAA,OAAAhB,sEAAA,UAAAiB,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAZ,IAAA,GAAAY,SAAA,CAAAX,IAAA;YAAA;cAAA,OAAAW,SAAA,CAAAV,MAAA,WACS,IAAI,CAACf,OAAO,CAACgB,GAAG,CAA0B,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAQ,SAAA,CAAAP,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACtE;MAAA,SAAAJ,SAAA;QAAA,OAAAd,SAAA,CAAAe,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAF,QAAA;IAAA;EAAA;IAAAhB,GAAA;IAAAC,KAAA;MAAA,IAAAkB,QAAA,GAAAhB,mFAAA,eAAAC,sEAAA,CAED,SAAAmG,SAAA;QAAA,OAAAnG,sEAAA,UAAAsG,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAjG,IAAA,GAAAiG,SAAA,CAAAhG,IAAA;YAAA;cAAA,OAAAgG,SAAA,CAAA/F,MAAA,WACS,IAAI,CAACf,OAAO,CAAC0B,MAAM,CACxB,IAAI,CAACT,YAAY,CAAC,CACpB,CAAC;YAAA;YAAA;cAAA,OAAA6F,SAAA,CAAA5F,IAAA;UAAA;QAAA,GAAAwF,QAAA;MAAA,CACF;MAAA,SAAA/E,QAAA;QAAA,OAAAL,QAAA,CAAAF,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAM,OAAA;IAAA;EAAA;IAAAxB,GAAA;IAAAC,KAAA,EAED,SAAAa,aAAA,EAA+B;MAC7B,UAAAW,MAAA,CAAU2S,2DAAkB,CAAC1S,YAAY,OAAAD,MAAA,CAAI,IAAI,CAACkB,EAAE;IACtD;EAAC;EAAA,OAAA0R,iBAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;ACzCH,IAAM3S,YAAY,GAAG,uBAAuB;AAAC,IAExB0S,kBAAkB;EACrC,SAAAA,mBAA6BvU,OAAgB,EAAE;IAAAC,iFAAA,OAAAsU,kBAAA;IAAA,KAAlBvU,OAAgB,GAAhBA,OAAgB;IAC3C,IAAI,CAACA,OAAO,GAAGA,OAAO;EACxB;EAACE,8EAAA,CAAAqU,kBAAA;IAAApU,GAAA;IAAAC,KAAA;MAAA,IAAA8C,OAAA,GAAA5C,mFAAA,eAAAC,sEAAA,CAED,SAAAE,QACE0C,MAAqC;QAAA,OAAA5C,sEAAA,UAAAI,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WAE9B,IAAI,CAACf,OAAO,CAACoD,IAAI,CACtB,IAAI,CAACnC,YAAY,CAAC,CAAC,EACnBkC,MACF,CAAC;YAAA;YAAA;cAAA,OAAAvC,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAT,OAAA;MAAA,CACF;MAAA,SAAA4C,OAAAlB,EAAA;QAAA,OAAAe,OAAA,CAAA9B,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAgC,MAAA;IAAA;EAAA;IAAAlD,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,eAAAC,sEAAA,CAED,SAAAgB,SAAA;QAAA,OAAAhB,sEAAA,UAAAiB,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAZ,IAAA,GAAAY,SAAA,CAAAX,IAAA;YAAA;cAAA,OAAAW,SAAA,CAAAV,MAAA,WACS,IAAI,CAACf,OAAO,CAACgB,GAAG,CACrB,IAAI,CAACC,YAAY,CAAC,CACpB,CAAC;YAAA;YAAA;cAAA,OAAAQ,SAAA,CAAAP,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACF;MAAA,SAAAJ,SAAA;QAAA,OAAAd,SAAA,CAAAe,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAF,QAAA;IAAA;EAAA;IAAAhB,GAAA;IAAAC,KAAA,EAED,SAAAa,aAAqBqC,SAAkB,EAAU;MAC/C,UAAA1B,MAAA,CAAU2S,kBAAkB,CAAC1S,YAAY,EAAAD,MAAA,CACvC0B,SAAS,KAAKP,SAAS,GAAG,EAAE,GAAG,GAAG,GAAGO,SAAS;IAElD;EAAC;IAAAnD,GAAA;IAAAa,GAAA,EAED,SAAAA,IAAA,EAA0B;MACxB,OAAOa,YAAY;IACrB;EAAC;EAAA,OAAA0S,kBAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnCmD;AACF;AAGpD,IAAM1S,YAAY,GAAG,gBAAgB;AAAC,IAMjB8N,aAAa;EAOhC,SAAAA,cAA6B3P,OAAgB,EAAE;IAAAC,iFAAA,OAAA0P,aAAA;IAAAjN,iFAAA,uCAF3C,CAAC,CAAC;IAAA,KAEuB1C,OAAgB,GAAhBA,OAAgB;IAC3C,IAAI,CAACA,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACyU,oBAAoB,GAAG,IAAIF,2DAAkB,CAAC,IAAI,CAACvU,OAAO,CAAC;EAClE;EAACE,8EAAA,CAAAyP,aAAA;IAAAxP,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,eAAAC,sEAAA,CAED,SAAAE,QAAA;QAAA,OAAAF,sEAAA,UAAAI,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WACS,IAAI,CAACf,OAAO,CAACgB,GAAG,CAA8Ba,YAAY,CAAC;YAAA;YAAA;cAAA,OAAAjB,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAT,OAAA;MAAA,CACnE;MAAA,SAAAU,SAAA;QAAA,OAAAd,SAAA,CAAAe,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAF,QAAA;IAAA;EAAA;IAAAhB,GAAA;IAAAC,KAAA,EAID,SAAAsU,OAAO5R,EAAW,EAA0C;MAC1D,IAAIA,EAAE,KAAKC,SAAS,EAAE;QACpB,OAAO,IAAI,CAAC0R,oBAAoB;MAClC,CAAC,MAAM;QACL,IAAI,IAAI,CAACE,4BAA4B,CAAC7R,EAAE,CAAC,KAAKC,SAAS,EAAE;UACvD,IAAI,CAAC4R,4BAA4B,CAAC7R,EAAE,CAAC,GAAG,IAAI0R,0DAAiB,CAC3D1R,EAAE,EACF,IAAI,CAAC9C,OACP,CAAC;QACH;QACA,OAAO,IAAI,CAAC2U,4BAA4B,CAAC7R,EAAE,CAAC;MAC9C;IACF;EAAC;IAAA3C,GAAA;IAAAa,GAAA,EAED,SAAAA,IAAA,EAA0B;MACxB,OAAOa,YAAY;IACrB;EAAC;EAAA,OAAA8N,aAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;AC3CH,IAAM9N,YAAY,GAAG,QAAQ;AAAC,IAOToN,KAAK;EACxB,SAAAA,MAAoBjP,OAAgB,EAAE;IAAAC,iFAAA,OAAAgP,KAAA;IAAA,KAAlBjP,OAAgB,GAAhBA,OAAgB;EAAG;EAACE,8EAAA,CAAA+O,KAAA;IAAA9O,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,eAAAC,sEAAA,CAExC,SAAAE,QAAA;QAAA,OAAAF,sEAAA,UAAAI,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WACS,IAAI,CAACf,OAAO,CAACgB,GAAG,CAAsBa,YAAY,CAAC;YAAA;YAAA;cAAA,OAAAjB,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAT,OAAA;MAAA,CAC3D;MAAA,SAAAU,SAAA;QAAA,OAAAd,SAAA,CAAAe,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAF,QAAA;IAAA;EAAA;EAAA,OAAA8N,KAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;ACbqC;AAKnB;AAEd,IAAM4C,QAAQ;EACnB,SAAAA,SACUV,cAAsB,EACtBoB,UAAkB,EAClBvS,OAAgB,EACxB;IAAAC,iFAAA,OAAA4R,QAAA;IAAA,KAHQV,cAAsB,GAAtBA,cAAsB;IAAA,KACtBoB,UAAkB,GAAlBA,UAAkB;IAAA,KAClBvS,OAAgB,GAAhBA,OAAgB;EACvB;EAACE,8EAAA,CAAA2R,QAAA;IAAA1R,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,eAAAC,sEAAA,CAEJ,SAAAE,QAAA;QAAA,OAAAF,sEAAA,UAAAI,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WACS,IAAI,CAACf,OAAO,CAACgB,GAAG,CAAI,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAL,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAT,OAAA;MAAA,CAChD;MAAA,SAAAU,SAAA;QAAA,OAAAd,SAAA,CAAAe,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAF,QAAA;IAAA;EAAA;IAAAhB,GAAA;IAAAC,KAAA;MAAA,IAAAkB,QAAA,GAAAhB,mFAAA,eAAAC,sEAAA,CAED,SAAAgB,SAAauO,OAAqB;QAAA,OAAAvP,sEAAA,UAAAiB,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAZ,IAAA,GAAAY,SAAA,CAAAX,IAAA;YAAA;cAAA,OAAAW,SAAA,CAAAV,MAAA,WACzB,IAAI,CAACf,OAAO,CAAC0B,MAAM,CAAI,IAAI,CAACT,YAAY,CAAC,CAAC,EAAE6O,OAAO,CAAC;YAAA;YAAA;cAAA,OAAArO,SAAA,CAAAP,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CAC5D;MAAA,SAAAI,QAAAQ,EAAA;QAAA,OAAAb,QAAA,CAAAF,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAM,OAAA;IAAA;EAAA;IAAAxB,GAAA;IAAAC,KAAA;MAAA,IAAA6R,OAAA,GAAA3R,mFAAA,eAAAC,sEAAA,CAED,SAAAmG,SACEkO,eAA2B;QAAA,IAAA9E,OAAA;UAAAlJ,MAAA,GAAAvF,SAAA;QAAA,OAAAd,sEAAA,UAAAsG,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAjG,IAAA,GAAAiG,SAAA,CAAAhG,IAAA;YAAA;cAC3BgP,OAAgC,GAAAlJ,MAAA,CAAAN,MAAA,QAAAM,MAAA,QAAA7D,SAAA,GAAA6D,MAAA,MAAG,CAAC,CAAC;cAAA,OAAAE,SAAA,CAAA/F,MAAA,WAE9B,IAAI,CAACf,OAAO,CAAC2H,KAAK,CAAI,IAAI,CAAC1G,YAAY,CAAC,CAAC,EAAE2T,eAAe,EAAE9E,OAAO,CAAC;YAAA;YAAA;cAAA,OAAAhJ,SAAA,CAAA5F,IAAA;UAAA;QAAA,GAAAwF,QAAA;MAAA,CAC5E;MAAA,SAAAyL,OAAA/P,GAAA;QAAA,OAAA6P,OAAA,CAAA7Q,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAA8Q,MAAA;IAAA;EAAA;IAAAhS,GAAA;IAAAC,KAAA,EAED,SAAAa,aAAA,EAA+B;MAC7B,UAAAW,MAAA,CAAUiN,oDAAW,CAAChN,YAAY,OAAAD,MAAA,CAAI,IAAI,CAACuP,cAAc,EAAAvP,MAAA,CAAG4P,kDAAS,CAAC3P,YAAY,OAAAD,MAAA,CAAI,IAAI,CAAC2Q,UAAU;IACvG;EAAC;EAAA,OAAAV,QAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7BoC;AACqB;;AAE5D;;AA4JA;;AAiFA,IAAMvN,mBAAmB,GACvB,OAAOC,OAAO,KAAK,WAAW,IAC9BA,OAAO,CAACC,QAAQ,IAAI,IAAI,IACxBD,OAAO,CAACC,QAAQ,CAACC,IAAI,IAAI,IAAI;AAAC,IAEX+M,SAAS,0BAAAxL,IAAA;EAAA+O,2EAAA,CAAAvD,SAAA,EAAAxL,IAAA;EAI5B,SAAAwL,UACEL,cAAsB,EACtBnR,OAAgB,EAChB2E,aAA4B,EAC5B;IAAA1E,iFAAA,OAAAuR,SAAA;IAAA,OAAAwD,UAAA,OAAAxD,SAAA,GACML,cAAc,EAAEnR,OAAO,EAAE2E,aAAa;EAC9C;EAACzE,8EAAA,CAAAsR,SAAA;IAAArR,GAAA;IAAAC,KAAA;MAAA,IAAA8C,OAAA,GAAA5C,mFAAA,eAAAC,sEAAA,CAED,SAAAE,QAAawU,QAAW;QAAA,IAAAnF,OAAA;UAAAzJ,KAAA,GAAAhF,SAAA;QAAA,OAAAd,sEAAA,UAAAI,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAEgP,OAAgC,GAAAzJ,KAAA,CAAAC,MAAA,QAAAD,KAAA,QAAAtD,SAAA,GAAAsD,KAAA,MAAG,CAAC,CAAC;cAAA,IACxD4O,QAAQ;gBAAArU,QAAA,CAAAE,IAAA;gBAAA;cAAA;cAAA,MAAQ,IAAIyJ,KAAK,CAAC,sBAAsB,CAAC;YAAA;cAAA,OAAA3J,QAAA,CAAAG,MAAA,WAC/C,IAAI,CAACf,OAAO,CAACoD,IAAI,CAAI,IAAI,CAACnC,YAAY,CAAC,CAAC,EAAEgU,QAAQ,EAAEnF,OAAO,CAAC;YAAA;YAAA;cAAA,OAAAlP,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAT,OAAA;MAAA,CACpE;MAAA,SAAA4C,OAAAlB,EAAA;QAAA,OAAAe,OAAA,CAAA9B,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAgC,MAAA;IAAA;EAAA;IAAAlD,GAAA;IAAAC,KAAA;MAAA,IAAA2B,OAAA,GAAAzB,mFAAA,eAAAC,sEAAA,CAED,SAAAgB,SAAa0T,QAAW;QAAA,IAAAnF,OAAA;UAAAtJ,MAAA,GAAAnF,SAAA;QAAA,OAAAd,sEAAA,UAAAiB,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAZ,IAAA,GAAAY,SAAA,CAAAX,IAAA;YAAA;cAAEgP,OAAgC,GAAAtJ,MAAA,CAAAF,MAAA,QAAAE,MAAA,QAAAzD,SAAA,GAAAyD,MAAA,MAAG,CAAC,CAAC;cAAA,IACxDyO,QAAQ;gBAAAxT,SAAA,CAAAX,IAAA;gBAAA;cAAA;cAAA,MAAQ,IAAIyJ,KAAK,CAAC,sBAAsB,CAAC;YAAA;cAAA,OAAA9I,SAAA,CAAAV,MAAA,WAC/C,IAAI,CAACf,OAAO,CAACoD,IAAI,CACtB,IAAI,CAACnC,YAAY,CAAC,CAAC,EACnBgU,QAAQ,EACRrK,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAEiF,OAAO,EAAE;gBAAEoF,MAAM,EAAE;cAAS,CAAC,CACjD,CAAC;YAAA;YAAA;cAAA,OAAAzT,SAAA,CAAAP,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACF;MAAA,SAAAW,OAAAE,GAAA;QAAA,OAAAL,OAAA,CAAAX,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAa,MAAA;IAAA;EAAA;IAAA/B,GAAA;IAAAC,KAAA;MAAA,IAAA6R,OAAA,GAAA3R,mFAAA,eAAAC,sEAAA,CAOD,SAAAmG,SACEuO,QAAW;QAAA,IAAAnF,OAAA;UAAAlJ,MAAA,GAAAvF,SAAA;QAAA,OAAAd,sEAAA,UAAAsG,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAjG,IAAA,GAAAiG,SAAA,CAAAhG,IAAA;YAAA;cACXgP,OAA2D,GAAAlJ,MAAA,CAAAN,MAAA,QAAAM,MAAA,QAAA7D,SAAA,GAAA6D,MAAA,MAAG,CAAC,CAAC;cAAA,IAE3DqO,QAAQ;gBAAAnO,SAAA,CAAAhG,IAAA;gBAAA;cAAA;cAAA,MAAQ,IAAIyJ,KAAK,CAAC,sBAAsB,CAAC;YAAA;cAAA,MAElDuF,OAAO,CAAC,WAAW,CAAC,IAAI,IAAI;gBAAAhJ,SAAA,CAAAhG,IAAA;gBAAA;cAAA;cAAA,OAAAgG,SAAA,CAAA/F,MAAA,WACvB,IAAI,CAACf,OAAO,CAAC2H,KAAK,CACvB,IAAI,CAAC1G,YAAY,CAAC,CAAC,EACnBgU,QAAQ,EACRrK,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAEiF,OAAO,CAC3B,CAAC;YAAA;cAAA,OAAAhJ,SAAA,CAAA/F,MAAA,WAEM,IAAI,CAACf,OAAO,CAACoD,IAAI,CACtB,IAAI,CAACnC,YAAY,CAAC,CAAC,EACnBgU,QAAQ,EACRrK,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAEiF,OAAO,EAAE;gBAAEoF,MAAM,EAAE;cAAS,CAAC,CACjD,CAAC;YAAA;YAAA;cAAA,OAAApO,SAAA,CAAA5F,IAAA;UAAA;QAAA,GAAAwF,QAAA;MAAA,CAEJ;MAAA,SAAAyL,OAAApL,GAAA;QAAA,OAAAkL,OAAA,CAAA7Q,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAA8Q,MAAA;IAAA;EAAA;IAAAhS,GAAA;IAAAC,KAAA;MAAA,IAAAkB,QAAA,GAAAhB,mFAAA,eAAAC,sEAAA,CAED,SAAA0G,SAAA;QAAA,IAAAkO,KAAA;UAAAjO,MAAA,GAAA7F,SAAA;QAAA,OAAAd,sEAAA,UAAA4G,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAvG,IAAA,GAAAuG,SAAA,CAAAtG,IAAA;YAAA;cACEqU,KAAkB,GAAAjO,MAAA,CAAAZ,MAAA,QAAAY,MAAA,QAAAnE,SAAA,GAAAmE,MAAA,MAAG,CAAC,CAAC;cAAA,OAAAE,SAAA,CAAArG,MAAA,WAEhB,IAAI,CAACf,OAAO,CAAC0B,MAAM,CAAiB,IAAI,CAACT,YAAY,CAAC,CAAC,EAAEkU,KAAK,CAAC;YAAA;YAAA;cAAA,OAAA/N,SAAA,CAAAlG,IAAA;UAAA;QAAA,GAAA+F,QAAA;MAAA,CACvE;MAAA,SAAAtF,QAAA;QAAA,OAAAL,QAAA,CAAAF,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAM,OAAA;IAAA;EAAA;IAAAxB,GAAA;IAAAC,KAAA;MAAA,IAAAgV,WAAA,GAAA9U,mFAAA,eAAAC,sEAAA,CAED,SAAAgH,SAAiB+K,SAAc;QAAA,IAAAxC,OAAA;UAAAtI,MAAA,GAAAnG,SAAA;QAAA,OAAAd,sEAAA,UAAAkH,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAA7G,IAAA,GAAA6G,SAAA,CAAA5G,IAAA;YAAA;cAAEgP,OAAiC,GAAAtI,MAAA,CAAAlB,MAAA,QAAAkB,MAAA,QAAAzE,SAAA,GAAAyE,MAAA,MAAG,CAAC,CAAC;cACrE,IAAI,CAAC7C,aAAa,CAACe,MAAM,CAACiG,IAAI,CAC5B,iKACF,CAAC;cAAC,OAAAjE,SAAA,CAAA3G,MAAA,WACK,IAAI,CAACsU,MAAM,CAAC/C,SAAS,EAAExC,OAAO,CAAC;YAAA;YAAA;cAAA,OAAApI,SAAA,CAAAxG,IAAA;UAAA;QAAA,GAAAqG,QAAA;MAAA,CACvC;MAAA,SAAA+N,WAAAjO,GAAA;QAAA,OAAA+N,WAAA,CAAAhU,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAiU,UAAA;IAAA;IAED;AACF;AACA;AACA;AACA;AACA;EALE;IAAAnV,GAAA;IAAAC,KAAA;MAAA,IAAAmV,QAAA,GAAAjV,mFAAA,eAAAC,sEAAA,CAcA,SAAAuH,SACEwK,SAAuB;QAAA,IAAAxC,OAAA;UAAA0F,sBAAA;UAAAC,oBAAA;UAAAC,mBAAA;UAAAC,WAAA;UAAAC,MAAA,GAAAvU,SAAA;QAAA,OAAAd,sEAAA,UAAAyI,UAAAgB,SAAA;UAAA,kBAAAA,SAAA,CAAAnJ,IAAA,GAAAmJ,SAAA,CAAAlJ,IAAA;YAAA;cACvBgP,OAAiC,GAAA8F,MAAA,CAAAtP,MAAA,QAAAsP,MAAA,QAAA7S,SAAA,GAAA6S,MAAA,MAAG,CAAC,CAAC;cAAA,KAGlCC,KAAK,CAACC,OAAO,CAACxD,SAAS,CAAC;gBAAAtI,SAAA,CAAAlJ,IAAA;gBAAA;cAAA;cAAAkJ,SAAA,CAAAnJ,IAAA;cAExB2U,sBAAsB,GAAGlD,SAAS,CAC/BlF,GAAG,CAAC,UAAC6H,QAAQ;gBAAA,OAAKnQ,IAAI,CAACE,SAAS,CAACiQ,QAAQ,CAAC;cAAA,EAAC,CAC3C5H,IAAI,CAAC,IAAI,CAAC;cAACrD,SAAA,CAAAlJ,IAAA;cAAA;YAAA;cAAAkJ,SAAA,CAAAnJ,IAAA;cAAAmJ,SAAA,CAAAyC,EAAA,GAAAzC,SAAA;cAAA,MAIZA,SAAA,CAAAyC,EAAA,YAAiBsJ,UAAU,IAC3B/L,SAAA,CAAAyC,EAAA,CAAMD,OAAO,CAACwJ,QAAQ,CAAC,kCAAkC,CAAC;gBAAAhM,SAAA,CAAAlJ,IAAA;gBAAA;cAAA;cAAA,MAEpD,IAAIyJ,KAAK,IAAA3I,MAAA,CAAAoI,SAAA,CAAAyC,EAAA,oVAId,CAAC;YAAA;cAAA,MAIE,IAAIlC,KAAK,CAAAP,SAAA,CAAAyC,EAAM,CAAC;YAAA;cAAAzC,SAAA,CAAAlJ,IAAA;cAAA;YAAA;cAGxB0U,sBAAsB,GAAGlD,SAAS;YAAC;cAAAtI,SAAA,CAAAlJ,IAAA;cAAA,OAGF,IAAI,CAACd,OAAO,CAACuG,cAAc,CAC5D,MAAM,EACN,IAAI,CAACtF,YAAY,CAAC,QAAQ,CAAC,EAC3B;gBACE8E,eAAe,EAAE+J,OAAO;gBACxBnJ,cAAc,EAAE6O,sBAAsB;gBACtC/P,iBAAiB,EAAE;kBAAE,cAAc,EAAE;gBAAa,CAAC;gBACnD+C,qBAAqB,EAAE,IAAI;gBAAE;gBAC7BE,eAAe,EAAEpE,mBAAmB,GAAG,IAAI,GAAG,KAAK,CAAE;cACvD,CACF,CAAC;YAAA;cAVKmR,oBAAoB,GAAAzL,SAAA,CAAAoC,IAAA;cAAA,KAYtByJ,KAAK,CAACC,OAAO,CAACxD,SAAS,CAAC;gBAAAtI,SAAA,CAAAlJ,IAAA;gBAAA;cAAA;cACpB4U,mBAAmB,GAAGD,oBAAoB,CAC7CQ,KAAK,CAAC,IAAI,CAAC,CACX7I,GAAG,CAAC,UAAC8I,CAAC;gBAAA,OAAKpR,IAAI,CAACC,KAAK,CAACmR,CAAC,CAAC;cAAA,EAAC;cACtBP,WAAW,GAAGD,mBAAmB,CAACS,MAAM,CAC5C,UAACD,CAAC;gBAAA,OAAKA,CAAC,CAACE,OAAO,KAAK,KAAK;cAAA,CAC5B,CAAC;cAAA,MACGT,WAAW,CAACrP,MAAM,GAAG,CAAC;gBAAA0D,SAAA,CAAAlJ,IAAA;gBAAA;cAAA;cAAA,MAClB,IAAI+T,gDAAW,IAAAjT,MAAA,CAEjB8T,mBAAmB,CAACpP,MAAM,GAAGqP,WAAW,CAACrP,MAAM,wCAAA1E,MAAA,CAE/C+T,WAAW,CAACrP,MAAM,6IAEpBoP,mBACF,CAAC;YAAA;cAAA,OAAA1L,SAAA,CAAAjJ,MAAA,WAEM2U,mBAAmB;YAAA;cAAA1L,SAAA,CAAAlJ,IAAA;cAAA;YAAA;cAAA,OAAAkJ,SAAA,CAAAjJ,MAAA,WAGrB0U,oBAAoB;YAAA;YAAA;cAAA,OAAAzL,SAAA,CAAA9I,IAAA;UAAA;QAAA,GAAA4G,QAAA;MAAA,CAE9B;MAAA,SAAAuO,QAAAzO,GAAA;QAAA,OAAA2N,QAAA,CAAAnU,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAgV,OAAA;IAAA;IACD;AACF;AACA;EAFE;IAAAlW,GAAA;IAAAC,KAAA;MAAA,IAAAkW,aAAA,GAAAhW,mFAAA,eAAAC,sEAAA,CAGA,SAAA0N,SACEsI,cAA0B;QAAA,IAAAzG,OAAA;UAAA2F,oBAAA;UAAAC,mBAAA;UAAAC,WAAA;UAAAa,MAAA,GAAAnV,SAAA;QAAA,OAAAd,sEAAA,UAAA4N,UAAAlF,SAAA;UAAA,kBAAAA,SAAA,CAAApI,IAAA,GAAAoI,SAAA,CAAAnI,IAAA;YAAA;cAC1BgP,OAAiC,GAAA0G,MAAA,CAAAlQ,MAAA,QAAAkQ,MAAA,QAAAzT,SAAA,GAAAyT,MAAA,MAAG,CAAC,CAAC;cAAAvN,SAAA,CAAAnI,IAAA;cAAA,OAEH,IAAI,CAACd,OAAO,CAACuG,cAAc,CAC5D,MAAM,EACN,IAAI,CAACtF,YAAY,CAAC,QAAQ,CAAC,EAC3B;gBACE8E,eAAe,EAAE+J,OAAO;gBACxBnJ,cAAc,EAAE4P,cAAc;gBAC9B9Q,iBAAiB,EAAE;kBAAE,cAAc,EAAE;gBAAa,CAAC;gBACnD+C,qBAAqB,EAAE,IAAI;gBAAE;gBAC7BE,eAAe,EAAEpE,mBAAmB,GAAG,IAAI,GAAG,KAAK,CAAE;cACvD,CACF,CAAC;YAAA;cAVKmR,oBAAoB,GAAAxM,SAAA,CAAAmD,IAAA;cAYpBsJ,mBAAmB,GAAGD,oBAAoB,CAC7CQ,KAAK,CAAC,IAAI,CAAC,CACX7I,GAAG,CAAC,UAAC8I,CAAC;gBAAA,OAAKpR,IAAI,CAACC,KAAK,CAACmR,CAAC,CAAC;cAAA,EAAC;cACtBP,WAAW,GAAGD,mBAAmB,CAACS,MAAM,CAAC,UAACD,CAAC;gBAAA,OAAKA,CAAC,CAACE,OAAO,KAAK,KAAK;cAAA,EAAC;cAAA,MACtET,WAAW,CAACrP,MAAM,GAAG,CAAC;gBAAA2C,SAAA,CAAAnI,IAAA;gBAAA;cAAA;cAAA,MAClB,IAAI+T,gDAAW,IAAAjT,MAAA,CAEjB8T,mBAAmB,CAACpP,MAAM,GAAGqP,WAAW,CAACrP,MAAM,wCAAA1E,MAAA,CAE/C+T,WAAW,CAACrP,MAAM,6IAEpBoP,mBACF,CAAC;YAAA;cAAA,OAAAzM,SAAA,CAAAlI,MAAA,WAEM2U,mBAAmB;YAAA;YAAA;cAAA,OAAAzM,SAAA,CAAA/H,IAAA;UAAA;QAAA,GAAA+M,QAAA;MAAA,CAE7B;MAAA,SAAAwI,aAAA1J,GAAA;QAAA,OAAAuJ,aAAA,CAAAlV,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAoV,YAAA;IAAA;IAED;AACF;AACA;IAFE;EAAA;IAAAtW,GAAA;IAAAC,KAAA;MAAA,IAAAsW,QAAA,GAAApW,mFAAA,eAAAC,sEAAA,CAGA,SAAAoW,SAAA;QAAA,IAAA7G,OAAA;UAAA8G,MAAA,GAAAvV,SAAA;QAAA,OAAAd,sEAAA,UAAAsW,UAAAzI,SAAA;UAAA,kBAAAA,SAAA,CAAAvN,IAAA,GAAAuN,SAAA,CAAAtN,IAAA;YAAA;cAAagP,OAAkC,GAAA8G,MAAA,CAAAtQ,MAAA,QAAAsQ,MAAA,QAAA7T,SAAA,GAAA6T,MAAA,MAAG,CAAC,CAAC;cAAA,OAAAxI,SAAA,CAAArN,MAAA,WAC3C,IAAI,CAACf,OAAO,CAACgB,GAAG,CAAS,IAAI,CAACC,YAAY,CAAC,QAAQ,CAAC,EAAE6O,OAAO,CAAC;YAAA;YAAA;cAAA,OAAA1B,SAAA,CAAAlN,IAAA;UAAA;QAAA,GAAAyV,QAAA;MAAA,CACtE;MAAA,SAAAG,QAAA;QAAA,OAAAJ,QAAA,CAAAtV,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAyV,OAAA;IAAA;IAED;AACF;AACA;IAFE;EAAA;IAAA3W,GAAA;IAAAC,KAAA;MAAA,IAAA2W,aAAA,GAAAzW,mFAAA,eAAAC,sEAAA,CAGA,SAAAyW,SAAA;QAAA,IAAAlH,OAAA;UAAAmH,MAAA,GAAA5V,SAAA;QAAA,OAAAd,sEAAA,UAAA2W,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAtW,IAAA,GAAAsW,SAAA,CAAArW,IAAA;YAAA;cACEgP,OAAkC,GAAAmH,MAAA,CAAA3Q,MAAA,QAAA2Q,MAAA,QAAAlU,SAAA,GAAAkU,MAAA,MAAG,CAAC,CAAC;cAAA,OAAAE,SAAA,CAAApW,MAAA,WAEhC,IAAI,CAACf,OAAO,CAACgB,GAAG,CAAa,IAAI,CAACC,YAAY,CAAC,QAAQ,CAAC,EAAE6O,OAAO,EAAE;gBACxE1J,YAAY,EAAE;cAChB,CAAC,CAAC;YAAA;YAAA;cAAA,OAAA+Q,SAAA,CAAAjW,IAAA;UAAA;QAAA,GAAA8V,QAAA;MAAA,CACH;MAAA,SAAAI,aAAA;QAAA,OAAAL,aAAA,CAAA3V,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAA+V,YAAA;IAAA;EAAA;EAAA,OAAA5F,SAAA;AAAA,EApMOsD,qEAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzPiB;AAAA,IAEzBtR,SAAS,0BAAA6T,eAAA;EAAAtC,2EAAA,CAAAvR,SAAA,EAAA6T,eAAA;EAAA,SAAA7T,UAAA;IAAAvD,iFAAA,OAAAuD,SAAA;IAAA,OAAAwR,UAAA,OAAAxR,SAAA,EAAAnC,SAAA;EAAA;EAAA,OAAAnB,8EAAA,CAAAsD,SAAA;AAAA,EAASO,uDAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFP;AAAA,IAGzB8Q,WAAW,0BAAAwC,eAAA;EAAAtC,2EAAA,CAAAF,WAAA,EAAAwC,eAAA;EAE9B,SAAAxC,YAAYrI,OAAe,EAAE8K,aAA+B,EAAE;IAAA,IAAArP,KAAA;IAAAhI,iFAAA,OAAA4U,WAAA;IAC5D5M,KAAA,GAAA+M,UAAA,OAAAH,WAAA,GAAMrI,OAAO;IACbvE,KAAA,CAAKqP,aAAa,GAAGA,aAAa;IAAC,OAAArP,KAAA;EACrC;EAAC,OAAA/H,8EAAA,CAAA2U,WAAA;AAAA,EALsC9Q,uDAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACHT;AAAA,IAEzBgP,yBAAyB,0BAAAsE,eAAA;EAAAtC,2EAAA,CAAAhC,yBAAA,EAAAsE,eAAA;EAAA,SAAAtE,0BAAA;IAAA9S,iFAAA,OAAA8S,yBAAA;IAAA,OAAAiC,UAAA,OAAAjC,yBAAA,EAAA1R,SAAA;EAAA;EAAA,OAAAnB,8EAAA,CAAA6S,yBAAA;AAAA,EAAShP,uDAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFvB;AAAA,IAEzBN,mBAAmB,0BAAA4T,eAAA;EAAAtC,2EAAA,CAAAtR,mBAAA,EAAA4T,eAAA;EAAA,SAAA5T,oBAAA;IAAAxD,iFAAA,OAAAwD,mBAAA;IAAA,OAAAuR,UAAA,OAAAvR,mBAAA,EAAApC,SAAA;EAAA;EAAA,OAAAnB,8EAAA,CAAAuD,mBAAA;AAAA,EAASM,uDAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFjB;AAAA,IAEzBL,cAAc,0BAAA2T,eAAA;EAAAtC,2EAAA,CAAArR,cAAA,EAAA2T,eAAA;EAAA,SAAA3T,eAAA;IAAAzD,iFAAA,OAAAyD,cAAA;IAAA,OAAAsR,UAAA,OAAAtR,cAAA,EAAArC,SAAA;EAAA;EAAA,OAAAnB,8EAAA,CAAAwD,cAAA;AAAA,EAASK,uDAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFZ;AAAA,IAEzBJ,mBAAmB,0BAAA0T,eAAA;EAAAtC,2EAAA,CAAApR,mBAAA,EAAA0T,eAAA;EAAA,SAAA1T,oBAAA;IAAA1D,iFAAA,OAAA0D,mBAAA;IAAA,OAAAqR,UAAA,OAAArR,mBAAA,EAAAtC,SAAA;EAAA;EAAA,OAAAnB,8EAAA,CAAAyD,mBAAA;AAAA,EAASI,uDAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFjB;AAAA,IAEzBH,gBAAgB,0BAAAyT,eAAA;EAAAtC,2EAAA,CAAAnR,gBAAA,EAAAyT,eAAA;EAAA,SAAAzT,iBAAA;IAAA3D,iFAAA,OAAA2D,gBAAA;IAAA,OAAAoR,UAAA,OAAApR,gBAAA,EAAAvC,SAAA;EAAA;EAAA,OAAAnB,8EAAA,CAAA0D,gBAAA;AAAA,EAASG,uDAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFd;AAAA,IAEzBF,mBAAmB,0BAAAwT,eAAA;EAAAtC,2EAAA,CAAAlR,mBAAA,EAAAwT,eAAA;EAAA,SAAAxT,oBAAA;IAAA5D,iFAAA,OAAA4D,mBAAA;IAAA,OAAAmR,UAAA,OAAAnR,mBAAA,EAAAxC,SAAA;EAAA;EAAA,OAAAnB,8EAAA,CAAA2D,mBAAA;AAAA,EAASE,uDAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFjB;AAAA,IAEzBD,WAAW,0BAAAuT,eAAA;EAAAtC,2EAAA,CAAAjR,WAAA,EAAAuT,eAAA;EAAA,SAAAvT,YAAA;IAAA7D,iFAAA,OAAA6D,WAAA;IAAA,OAAAkR,UAAA,OAAAlR,WAAA,EAAAzC,SAAA;EAAA;EAAA,OAAAnB,8EAAA,CAAA4D,WAAA;AAAA,EAASC,uDAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICFlCA,cAAc,0BAAAwT,MAAA;EAAAxC,2EAAA,CAAAhR,cAAA,EAAAwT,MAAA;EAGjC;EACA,SAAAxT,eAAYyI,OAAgB,EAAE;IAAA,IAAAvE,KAAA;IAAAhI,iFAAA,OAAA8D,cAAA;IAC5BkE,KAAA,GAAA+M,UAAA,OAAAjR,cAAA,GAAMyI,OAAO;IACbvE,KAAA,CAAKlI,IAAI,GAAG,iBAAAgE,cAAA,QAAAyT,WAAA,WAAWzX,IAAI;IAC3B6K,MAAM,CAAC6M,cAAc,CAAAC,wFAAA,CAAAzP,KAAA,GAAO,iBAAAlE,cAAA,QAAAyT,WAAA,WAAWG,SAAS,CAAC;IAAC,OAAA1P,KAAA;EACpD;EAAC,OAAA/H,8EAAA,CAAA6D,cAAA;AAAA,gBAAA6T,kFAAA,CARyCrN,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAb;AACgC;AACZ;AACV;AACU;AACN;AACM;AAChB;AACA;AACM;;;;;;;;;;;;;;;;;;;;;;;;;ACP9C,IAAM1I,YAAY,GAAG,SAAS;AAAC,IAMVuN,MAAM;EACzB,SAAAA,OAAoBpP,OAAgB,EAAE;IAAAC,iFAAA,OAAAmP,MAAA;IAAA,KAAlBpP,OAAgB,GAAhBA,OAAgB;EAAG;EAACE,8EAAA,CAAAkP,MAAA;IAAAjP,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,eAAAC,sEAAA,CAExC,SAAAE,QAAA;QAAA,OAAAF,sEAAA,UAAAI,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WACS,IAAI,CAACf,OAAO,CAACgB,GAAG,CAAiBa,YAAY,CAAC;YAAA;YAAA;cAAA,OAAAjB,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAT,OAAA;MAAA,CACtD;MAAA,SAAAU,SAAA;QAAA,OAAAd,SAAA,CAAAe,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAF,QAAA;IAAA;EAAA;EAAA,OAAAiO,MAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;ACZuB;AAAA,IAmBLJ,GAAG;EACtB,SAAAA,IAAoBlM,EAAU,EAAU9C,OAAgB,EAAE;IAAAC,iFAAA,OAAA+O,GAAA;IAAA,KAAtClM,EAAU,GAAVA,EAAU;IAAA,KAAU9C,OAAgB,GAAhBA,OAAgB;EAAG;EAACE,8EAAA,CAAA8O,GAAA;IAAA7O,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,eAAAC,sEAAA,CAE5D,SAAAE,QAAA;QAAA,OAAAF,sEAAA,UAAAI,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WACS,IAAI,CAACf,OAAO,CAACgB,GAAG,CAAY,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAL,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAT,OAAA;MAAA,CACxD;MAAA,SAAAU,SAAA;QAAA,OAAAd,SAAA,CAAAe,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAF,QAAA;IAAA;EAAA;IAAAhB,GAAA;IAAAC,KAAA;MAAA,IAAAkB,QAAA,GAAAhB,mFAAA,eAAAC,sEAAA,CAED,SAAAgB,SAAA;QAAA,OAAAhB,sEAAA,UAAAiB,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAZ,IAAA,GAAAY,SAAA,CAAAX,IAAA;YAAA;cAAA,OAAAW,SAAA,CAAAV,MAAA,WACS,IAAI,CAACf,OAAO,CAAC0B,MAAM,CAAkB,IAAI,CAACT,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAQ,SAAA,CAAAP,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACjE;MAAA,SAAAI,QAAA;QAAA,OAAAL,QAAA,CAAAF,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAM,OAAA;IAAA;EAAA;IAAAxB,GAAA;IAAAC,KAAA,EAED,SAAAa,aAAA,EAA+B;MAC7B,UAAAW,MAAA,CAAUmN,6CAAI,CAAClN,YAAY,OAAAD,MAAA,CAAI,IAAI,CAACkB,EAAE;IACxC;EAAC;EAAA,OAAAkM,GAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjCiC;AAKpC,IAAMnN,YAAY,GAAG,OAAO;AAAC,IAYRkN,IAAI;EACvB,SAAAA,KAAoB/O,OAAgB,EAAE;IAAAC,iFAAA,OAAA8O,IAAA;IAAA,KAAlB/O,OAAgB,GAAhBA,OAAgB;IAClC,IAAI,CAACA,OAAO,GAAGA,OAAO;EACxB;EAACE,8EAAA,CAAA6O,IAAA;IAAA5O,GAAA;IAAAC,KAAA;MAAA,IAAA8C,OAAA,GAAA5C,mFAAA,eAAAC,sEAAA,CAED,SAAAE,QAAa0C,MAAuB;QAAA,OAAA5C,sEAAA,UAAAI,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WAC3B,IAAI,CAACf,OAAO,CAACoD,IAAI,CAAY2L,IAAI,CAAClN,YAAY,EAAEsB,MAAM,CAAC;YAAA;YAAA;cAAA,OAAAvC,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAT,OAAA;MAAA,CAC/D;MAAA,SAAA4C,OAAAlB,EAAA;QAAA,OAAAe,OAAA,CAAA9B,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAgC,MAAA;IAAA;EAAA;IAAAlD,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,eAAAC,sEAAA,CAED,SAAAgB,SAAA;QAAA,OAAAhB,sEAAA,UAAAiB,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAZ,IAAA,GAAAY,SAAA,CAAAX,IAAA;YAAA;cAAA,OAAAW,SAAA,CAAAV,MAAA,WACS,IAAI,CAACf,OAAO,CAACgB,GAAG,CAAqBa,YAAY,CAAC;YAAA;YAAA;cAAA,OAAAJ,SAAA,CAAAP,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CAC1D;MAAA,SAAAJ,SAAA;QAAA,OAAAd,SAAA,CAAAe,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAF,QAAA;IAAA;EAAA;IAAAhB,GAAA;IAAAC,KAAA,EAED,SAAA0X,wBACEC,SAAiB,EACjBC,UAAyC,EACjC;MACR;MACA;MACA,IAAMC,UAAU,GAAGnT,IAAI,CAACE,SAAS,CAACgT,UAAU,CAAC;MAC7C,IAAME,MAAM,GAAGC,MAAM,CAACC,IAAI,CACxBP,kDAAU,CAAC,QAAQ,EAAEE,SAAS,CAAC,CAAC5F,MAAM,CAAC8F,UAAU,CAAC,CAACC,MAAM,CAAC,QAAQ,CACpE,CAAC;MACD,IAAMG,SAAS,GAAGN,SAAS,CAACO,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;MACxC,IAAMC,YAAY,MAAA3W,MAAA,CAAMsW,MAAM,EAAAtW,MAAA,CAAGyW,SAAS,EAAAzW,MAAA,CAAGqW,UAAU,CAAE;MAEzD,OAAOE,MAAM,CAACC,IAAI,CAACG,YAAY,CAAC,CAACC,QAAQ,CAAC,QAAQ,CAAC;IACrD;EAAC;IAAArY,GAAA;IAAAa,GAAA,EAED,SAAAA,IAAA,EAA0B;MACxB,OAAOa,YAAY;IACrB;EAAC;EAAA,OAAAkN,IAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;AC9CH,IAAMlN,YAAY,GAAG,eAAe;AAAC,IAsBhBqN,OAAO;EAC1B,SAAAA,QAAoBlP,OAAgB,EAAE;IAAAC,iFAAA,OAAAiP,OAAA;IAAA,KAAlBlP,OAAgB,GAAhBA,OAAgB;EAAG;EAACE,8EAAA,CAAAgP,OAAA;IAAA/O,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,eAAAC,sEAAA,CAExC,SAAAE,QAAA;QAAA,OAAAF,sEAAA,UAAAI,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WACS,IAAI,CAACf,OAAO,CAACgB,GAAG,CAACa,YAAY,CAAC;YAAA;YAAA;cAAA,OAAAjB,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAT,OAAA;MAAA,CACtC;MAAA,SAAAU,SAAA;QAAA,OAAAd,SAAA,CAAAe,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAF,QAAA;IAAA;EAAA;EAAA,OAAA+N,OAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AC3B+C;AAQlD,IAAMrN,YAAY,GAAG,eAAe;AAAC,IAuBhByN,WAAW;EAG9B,SAAAA,YACUtP,OAAgB,EAChB2E,aAA4B,EAEpC;IAAA,IADQ+T,kBAA2B,GAAArX,SAAA,CAAAiF,MAAA,QAAAjF,SAAA,QAAA0B,SAAA,GAAA1B,SAAA,MAAG,KAAK;IAAApB,iFAAA,OAAAqP,WAAA;IAAA,KAFnCtP,OAAgB,GAAhBA,OAAgB;IAAA,KAChB2E,aAA4B,GAA5BA,aAA4B;IAAA,KAC5B+T,kBAA2B,GAA3BA,kBAA2B;IAEnC,IAAI,CAACC,gBAAgB,GAAG,IAAIF,yDAAgB,CAAC,CAAC;EAChD;EAACvY,8EAAA,CAAAoP,WAAA;IAAAnP,GAAA;IAAAC,KAAA,EAED,SAAAwY,WAAA,EAAa;MACX,IAAI,CAACD,gBAAgB,CAACC,UAAU,CAAC,CAAC;IACpC;EAAC;IAAAzY,GAAA;IAAAC,KAAA;MAAA,IAAAyY,QAAA,GAAAvY,mFAAA,eAAAC,sEAAA,CAED,SAAAE,QACEqY,cAAyC;QAAA,IAAAC,YAAA;UAAA/S,IAAA;UAAAgT,qBAAA;UAAA1F,4BAAA;UAAA7N,iBAAA;UAAAwT,qBAAA;UAAAC,WAAA;UAAA7S,KAAA,GAAAhF,SAAA;QAAA,OAAAd,sEAAA,UAAAI,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cACzCiY,YAA+C,GAAA1S,KAAA,CAAAC,MAAA,QAAAD,KAAA,QAAAtD,SAAA,GAAAsD,KAAA,MAAG,CAAC,CAAC;cAAAL,IAAA,GAAAK,KAAA,CAAAC,MAAA,QAAAD,KAAA,QAAAtD,SAAA,GAAAsD,KAAA,MAIL,CAAC,CAAC,EAAA2S,qBAAA,GAAAhT,IAAA,CAF/CsN,4BAA4B,EAA5BA,4BAA4B,GAAA0F,qBAAA,cAAG,IAAI,CAACrU,aAAa,CAC9C2O,4BAA4B,GAAA0F,qBAAA;cAG3BvT,iBAAiB,GAAG,CAAC,CAAC;cAC5B,IAAI,IAAI,CAACiT,kBAAkB,EAAE;gBAC3BjT,iBAAiB,CAAC,cAAc,CAAC,GAAG,YAAY;cAClD;cAEMwT,qBAAqB,GAAG,CAAC,CAAC;cAChC,IAAI,IAAI,CAACtU,aAAa,CAAC4O,wBAAwB,KAAK,IAAI,EAAE;gBACxD0F,qBAAqB,CAAC,WAAW,CAAC,GAAG,IAAI;cAC3C;cACMC,WAAW,GAAGtO,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAEkO,YAAY,EAAEE,qBAAqB,CAAC;cAAA,OAAArY,QAAA,CAAAG,MAAA,WAEnE,IAAI,CAAC4X,gBAAgB,CAACQ,OAAO,CAClC,IAAI,CAACnZ,OAAO,EACZ,IAAI,CAACA,OAAO,CAACoD,IAAI,EACjB,CAACvB,YAAY,EAAEiX,cAAc,EAAEI,WAAW,EAAEzT,iBAAiB,CAAC,EAC9D;gBAAE2T,uBAAuB,EAAE9F;cAA6B,CAC1D,CAAC;YAAA;YAAA;cAAA,OAAA1S,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAT,OAAA;MAAA,CACF;MAAA,SAAA0Y,QAAAhX,EAAA;QAAA,OAAA0W,QAAA,CAAAzX,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAA8X,OAAA;IAAA;EAAA;EAAA,OAAA7J,WAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;ACvEH,IAAMzN,YAAY,GAAG,aAAa;AAAC,IAEdwN,UAAU;EAC7B,SAAAA,WAAoBrP,OAAgB,EAAE;IAAAC,iFAAA,OAAAoP,UAAA;IAAA,KAAlBrP,OAAgB,GAAhBA,OAAgB;EAAG;EAACE,8EAAA,CAAAmP,UAAA;IAAAlP,GAAA;IAAAC,KAAA;MAAA,IAAAyY,QAAA,GAAAvY,mFAAA,eAAAC,sEAAA,CAExC,SAAAE,QACE4Y,aAA2D;QAAA,IAAAtT,eAAA;UAAAM,KAAA,GAAAhF,SAAA;QAAA,OAAAd,sEAAA,UAAAI,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAC3DiF,eAAoC,GAAAM,KAAA,CAAAC,MAAA,QAAAD,KAAA,QAAAtD,SAAA,GAAAsD,KAAA,MAAG,CAAC,CAAC;cAAA,OAAAzF,QAAA,CAAAG,MAAA,WAElC,IAAI,CAACf,OAAO,CAACoD,IAAI,IAAAxB,MAAA,CACnBC,YAAY,OAAAD,MAAA,CAAIyX,aAAa,GAChC,CAAC,CAAC,EACFtT,eACF,CAAC;YAAA;YAAA;cAAA,OAAAnF,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAT,OAAA;MAAA,CACF;MAAA,SAAA0Y,QAAAhX,EAAA;QAAA,OAAA0W,QAAA,CAAAzX,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAA8X,OAAA;IAAA;EAAA;EAAA,OAAA9J,UAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;ACfqC;AACsB;AAAA,IAUzCqC,QAAQ;EAC3B,SAAAA,SACUP,cAAsB,EACtBuB,UAAkB,EAClB1S,OAAgB,EACxB;IAAAC,iFAAA,OAAAyR,QAAA;IAAA,KAHQP,cAAsB,GAAtBA,cAAsB;IAAA,KACtBuB,UAAkB,GAAlBA,UAAkB;IAAA,KAClB1S,OAAgB,GAAhBA,OAAgB;EACvB;EAACE,8EAAA,CAAAwR,QAAA;IAAAvR,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,eAAAC,sEAAA,CAEJ,SAAAE,QAAA;QAAA,OAAAF,sEAAA,UAAAI,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WACS,IAAI,CAACf,OAAO,CAACgB,GAAG,CAAiB,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAL,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAT,OAAA;MAAA,CAC7D;MAAA,SAAAU,SAAA;QAAA,OAAAd,SAAA,CAAAe,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAF,QAAA;IAAA;EAAA;IAAAhB,GAAA;IAAAC,KAAA;MAAA,IAAAkB,QAAA,GAAAhB,mFAAA,eAAAC,sEAAA,CAED,SAAAgB,SAAA;QAAA,OAAAhB,sEAAA,UAAAiB,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAZ,IAAA,GAAAY,SAAA,CAAAX,IAAA;YAAA;cAAA,OAAAW,SAAA,CAAAV,MAAA,WACS,IAAI,CAACf,OAAO,CAAC0B,MAAM,CAAuB,IAAI,CAACT,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAQ,SAAA,CAAAP,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACtE;MAAA,SAAAI,QAAA;QAAA,OAAAL,QAAA,CAAAF,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAM,OAAA;IAAA;EAAA;IAAAxB,GAAA;IAAAC,KAAA,EAED,SAAAa,aAAA,EAA+B;MAC7B,UAAAW,MAAA,CAAUiN,oDAAW,CAAChN,YAAY,OAAAD,MAAA,CAAI,IAAI,CAACuP,cAAc,EAAAvP,MAAA,CAAG6P,kDAAS,CAAC5P,YAAY,OAAAD,MAAA,CAAI,IAAI,CAAC8Q,UAAU;IACvG;EAAC;EAAA,OAAAhB,QAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AC5BqC;AAGxC,IAAM7P,YAAY,GAAG,YAAY;AAAC,IAuCb4P,SAAS;EAC5B,SAAAA,UACUN,cAAsB,EACtBnR,OAAgB,EACxB;IAAAC,iFAAA,OAAAwR,SAAA;IAAA,KAFQN,cAAsB,GAAtBA,cAAsB;IAAA,KACtBnR,OAAgB,GAAhBA,OAAgB;EACvB;EAACE,8EAAA,CAAAuR,SAAA;IAAAtR,GAAA;IAAAC,KAAA;MAAA,IAAA2B,OAAA,GAAAzB,mFAAA,eAAAC,sEAAA,CAEJ,SAAAE,QACEiS,UAAkB,EAClBvP,MAA4B;QAAA,OAAA5C,sEAAA,UAAAI,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WAErB,IAAI,CAACf,OAAO,CAACiC,GAAG,CACrB,IAAI,CAAChB,YAAY,CAACyR,UAAU,CAAC,EAC7BvP,MACF,CAAC;YAAA;YAAA;cAAA,OAAAvC,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAT,OAAA;MAAA,CACF;MAAA,SAAAyB,OAAAC,EAAA,EAAAC,GAAA;QAAA,OAAAL,OAAA,CAAAX,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAa,MAAA;IAAA;EAAA;IAAA/B,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,eAAAC,sEAAA,CAED,SAAAgB,SAAA;QAAA,OAAAhB,sEAAA,UAAAiB,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAZ,IAAA,GAAAY,SAAA,CAAAX,IAAA;YAAA;cAAA,OAAAW,SAAA,CAAAV,MAAA,WACS,IAAI,CAACf,OAAO,CAACgB,GAAG,CAA0B,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAQ,SAAA,CAAAP,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACtE;MAAA,SAAAJ,SAAA;QAAA,OAAAd,SAAA,CAAAe,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAF,QAAA;IAAA;EAAA;IAAAhB,GAAA;IAAAC,KAAA,EAED,SAAAa,aAAqBqC,SAAkB,EAAU;MAC/C,UAAA1B,MAAA,CAAUiN,oDAAW,CAAChN,YAAY,OAAAD,MAAA,CAAI,IAAI,CAACuP,cAAc,EAAAvP,MAAA,CACvD6P,SAAS,CAAC5P,YAAY,EAAAD,MAAA,CACrB0B,SAAS,KAAKP,SAAS,GAAG,EAAE,GAAG,GAAG,GAAGO,SAAS;IACnD;EAAC;IAAAnD,GAAA;IAAAa,GAAA,EAED,SAAAA,IAAA,EAAkC;MAChC,OAAOa,YAAY;IACrB;EAAC;EAAA,OAAA4P,SAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;ACtEqD;AAAA,IAUnCjC,MAAM;EACzB,SAAAA,OAAoB8J,QAAgB,EAAUtZ,OAAgB,EAAE;IAAAC,iFAAA,OAAAuP,MAAA;IAAA,KAA5C8J,QAAgB,GAAhBA,QAAgB;IAAA,KAAUtZ,OAAgB,GAAhBA,OAAgB;EAAG;EAACE,8EAAA,CAAAsP,MAAA;IAAArP,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,eAAAC,sEAAA,CAElE,SAAAE,QAAA;QAAA,OAAAF,sEAAA,UAAAI,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WACS,IAAI,CAACf,OAAO,CAACgB,GAAG,CAAe,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAL,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAT,OAAA;MAAA,CAC3D;MAAA,SAAAU,SAAA;QAAA,OAAAd,SAAA,CAAAe,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAF,QAAA;IAAA;EAAA;IAAAhB,GAAA;IAAAC,KAAA;MAAA,IAAAkB,QAAA,GAAAhB,mFAAA,eAAAC,sEAAA,CAED,SAAAgB,SAAA;QAAA,OAAAhB,sEAAA,UAAAiB,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAZ,IAAA,GAAAY,SAAA,CAAAX,IAAA;YAAA;cAAA,OAAAW,SAAA,CAAAV,MAAA,WACS,IAAI,CAACf,OAAO,CAAC0B,MAAM,CAAqB,IAAI,CAACT,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAQ,SAAA,CAAAP,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACpE;MAAA,SAAAI,QAAA;QAAA,OAAAL,QAAA,CAAAF,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAM,OAAA;IAAA;EAAA;IAAAxB,GAAA;IAAAC,KAAA,EAED,SAAAa,aAAA,EAA+B;MAC7B,UAAAW,MAAA,CAAU2N,gDAAO,CAAC1N,YAAY,OAAAD,MAAA,CAAI,IAAI,CAAC0X,QAAQ;IACjD;EAAC;EAAA,OAAA9J,MAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;ACnBH,IAAM3N,YAAY,GAAG,UAAU;AAAC,IAUX0N,OAAO;EAC1B,SAAAA,QAAoBvP,OAAgB,EAAE;IAAAC,iFAAA,OAAAsP,OAAA;IAAA,KAAlBvP,OAAgB,GAAhBA,OAAgB;EAAG;EAACE,8EAAA,CAAAqP,OAAA;IAAApP,GAAA;IAAAC,KAAA;MAAA,IAAA2B,OAAA,GAAAzB,mFAAA,eAAAC,sEAAA,CAExC,SAAAE,QACE6Y,QAAgB,EAChBnW,MAA0B;QAAA,OAAA5C,sEAAA,UAAAI,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WAEnB,IAAI,CAACf,OAAO,CAACiC,GAAG,CAAe,IAAI,CAAChB,YAAY,CAACqY,QAAQ,CAAC,EAAEnW,MAAM,CAAC;YAAA;YAAA;cAAA,OAAAvC,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAT,OAAA;MAAA,CAC3E;MAAA,SAAAyB,OAAAC,EAAA,EAAAC,GAAA;QAAA,OAAAL,OAAA,CAAAX,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAa,MAAA;IAAA;EAAA;IAAA/B,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,eAAAC,sEAAA,CAED,SAAAgB,SAAA;QAAA,OAAAhB,sEAAA,UAAAiB,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAZ,IAAA,GAAAY,SAAA,CAAAX,IAAA;YAAA;cAAA,OAAAW,SAAA,CAAAV,MAAA,WACS,IAAI,CAACf,OAAO,CAACgB,GAAG,CAAwB,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAQ,SAAA,CAAAP,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACpE;MAAA,SAAAJ,SAAA;QAAA,OAAAd,SAAA,CAAAe,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAF,QAAA;IAAA;EAAA;IAAAhB,GAAA;IAAAC,KAAA,EAED,SAAAa,aAAqBqC,SAAkB,EAAU;MAC/C,UAAA1B,MAAA,CAAU2N,OAAO,CAAC1N,YAAY,EAAAD,MAAA,CAC5B0B,SAAS,KAAKP,SAAS,GAAG,EAAE,GAAG,GAAG,GAAGO,SAAS;IAElD;EAAC;IAAAnD,GAAA;IAAAa,GAAA,EAED,SAAAA,IAAA,EAAkC;MAChC,OAAOa,YAAY;IACrB;EAAC;EAAA,OAAA0N,OAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrCH,IAAMgK,8BAA8B,GAAG,CAAC,GAAG,EAAE;AAC7C,IAAMC,cAAc,GAAG,GAAG;AAAC,IAENf,gBAAgB;EAAA,SAAAA,iBAAA;IAAAxY,iFAAA,OAAAwY,gBAAA;IAAA/V,iFAAA,wBACO,IAAI+W,GAAG,CAAc,CAAC;IAAA/W,iFAAA,+BACf,IAAI+W,GAAG,CAAc,CAAC;EAAA;EAAAvZ,8EAAA,CAAAuY,gBAAA;IAAAtY,GAAA;IAAAC,KAAA,EAEvE,SAAAwY,WAAA,EAAa;MACX,IAAI,CAACc,aAAa,GAAG,IAAID,GAAG,CAAc,CAAC;MAC3C,IAAI,CAACE,oBAAoB,GAAG,IAAIF,GAAG,CAAc,CAAC;IACpD;;IAEA;EAAA;IAAAtZ,GAAA;IAAAC,KAAA;MAAA,IAAAyY,QAAA,GAAAvY,mFAAA,eAAAC,sEAAA,CACA,SAAAE,QACEmZ,cAAmB,EACnBC,eAA4C,EAC5CC,wBAA+B,EAC/BC,YAA0B;QAAA,IAAAC,qBAAA,EAAAZ,uBAAA,EAAAa,qBAAA,EAAAC,OAAA,EAAAC,eAAA,EAAAC,4BAAA,EAAAC,UAAA,EAAAjR,GAAA,EAAAkR,YAAA,EAAAC,iBAAA,EAAAC,aAAA,EAAAC,eAAA,EAAA9Q,QAAA,EAAA+Q,kBAAA,EAAAC,WAAA,EAAAC,iCAAA,EAAAC,YAAA;QAAA,OAAAta,sEAAA,UAAAI,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAAkZ,qBAAA,GAKtBD,YAAY,CAFdX,uBAAuB,EAAvBA,uBAAuB,GAAAY,qBAAA,cAAGT,8BAA8B,GAAAS,qBAAA,EAAAC,qBAAA,GAEtDF,YAAY,CADdG,OAAO,EAAPA,OAAO,GAAAD,qBAAA,cAAGT,cAAc,GAAAS,qBAAA;cAEpBE,eAAe,GAAGf,uBAAuB,IAAI,CAAC,IAAIc,OAAO,IAAI,CAAC;cAAA,KAEhEC,eAAe;gBAAAvZ,QAAA,CAAAE,IAAA;gBAAA;cAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WACV8Y,eAAe,CAACiB,IAAI,CAAA1Z,KAAA,CAApByY,eAAe,GAAMD,cAAc,EAAAhY,MAAA,CAAAmZ,oFAAA,CAAKjB,wBAAwB,GAAC;YAAA;cAGpEM,4BAA4B,GAAGtV,IAAI,CAACE,SAAS,CACjD8U,wBACF,CAAC;cACKO,UAAU,GAAG,IAAI,CAACX,aAAa,CAAC1Y,GAAG,CAACoZ,4BAA4B,CAAC;cACjEhR,GAAG,GAAGD,IAAI,CAACC,GAAG,CAAC,CAAC;cAAA,KAElBiR,UAAU;gBAAAzZ,QAAA,CAAAE,IAAA;gBAAA;cAAA;cACNwZ,YAAY,GAChBlR,GAAG,GAAGiR,UAAU,CAACW,gBAAgB,GAAG5B,uBAAuB,GAAG,IAAI;cAAA,KAChEkB,YAAY;gBAAA1Z,QAAA,CAAAE,IAAA;gBAAA;cAAA;cACd,IAAI,CAAC4Y,aAAa,CAAChY,MAAM,CAAC0Y,4BAA4B,CAAC;cACvD,IAAI,CAACV,aAAa,CAACuB,GAAG,CAACb,4BAA4B,EAAEC,UAAU,CAAC;cAAC,OAAAzZ,QAAA,CAAAG,MAAA,WAC1DsJ,OAAO,CAACiC,OAAO,CAAC+N,UAAU,CAAC1Q,QAAQ,CAAC;YAAA;cAE3C,IAAI,CAAC+P,aAAa,CAAChY,MAAM,CAAC0Y,4BAA4B,CAAC;YAAC;cAItDG,iBAAiB,GAAG,IAAI,CAACZ,oBAAoB,CAAC3Y,GAAG,CACrDoZ,4BACF,CAAC;cAAA,KAEGG,iBAAiB;gBAAA3Z,QAAA,CAAAE,IAAA;gBAAA;cAAA;cACbwZ,aAAY,GAChBlR,GAAG,GAAGmR,iBAAiB,CAACS,gBAAgB,GACxC5B,uBAAuB,GAAG,IAAI;cAAA,KAC5BkB,aAAY;gBAAA1Z,QAAA,CAAAE,IAAA;gBAAA;cAAA;cACd,IAAI,CAAC6Y,oBAAoB,CAACjY,MAAM,CAAC0Y,4BAA4B,CAAC;cAC9D,IAAI,CAACT,oBAAoB,CAACsB,GAAG,CAC3Bb,4BAA4B,EAC5BG,iBACF,CAAC;cAAC,OAAA3Z,QAAA,CAAAG,MAAA,WACKwZ,iBAAiB,CAACE,eAAe;YAAA;cAExC,IAAI,CAACd,oBAAoB,CAACjY,MAAM,CAAC0Y,4BAA4B,CAAC;YAAC;cAI7DK,eAAe,GAAGZ,eAAe,CAACiB,IAAI,CAAA1Z,KAAA,CAApByY,eAAe,GACrCD,cAAc,EAAAhY,MAAA,CAAAmZ,oFAAA,CACXjB,wBAAwB,EAC7B,CAAC;cACD,IAAI,CAACH,oBAAoB,CAACsB,GAAG,CAACb,4BAA4B,EAAE;gBAC1DY,gBAAgB,EAAE5R,GAAG;gBACrBqR,eAAe,EAAfA;cACF,CAAC,CAAC;cAAC7Z,QAAA,CAAAE,IAAA;cAAA,OAEoB2Z,eAAe;YAAA;cAAhC9Q,QAAQ,GAAA/I,QAAA,CAAAwL,IAAA;cACd,IAAI,CAACsN,aAAa,CAACuB,GAAG,CAACb,4BAA4B,EAAE;gBACnDY,gBAAgB,EAAE5R,GAAG;gBACrBO,QAAQ,EAARA;cACF,CAAC,CAAC;cAEI+Q,kBAAkB,GAAG,IAAI,CAAChB,aAAa,CAACwB,IAAI,GAAGhB,OAAO;cAC5D,IAAIQ,kBAAkB,EAAE;gBAChBC,WAAW,GAAG,IAAI,CAACjB,aAAa,CAACjO,IAAI,CAAC,CAAC,CAAC3K,IAAI,CAAC,CAAC,CAACV,KAAK;gBAC1D,IAAI,CAACsZ,aAAa,CAAChY,MAAM,CAACiZ,WAAW,CAAC;cACxC;cACMC,iCAAiC,GACrC,IAAI,CAACjB,oBAAoB,CAACuB,IAAI,GAAGhB,OAAO;cAC1C,IAAIU,iCAAiC,EAAE;gBAC/BD,YAAW,GAAG,IAAI,CAAChB,oBAAoB,CAAClO,IAAI,CAAC,CAAC,CAAC3K,IAAI,CAAC,CAAC,CAACV,KAAK;gBACjE,IAAI,CAACuZ,oBAAoB,CAACjY,MAAM,CAACiZ,YAAW,CAAC;cAC/C;cAAC,OAAA/Z,QAAA,CAAAG,MAAA,WACM4I,QAAQ;YAAA;YAAA;cAAA,OAAA/I,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAT,OAAA;MAAA,CAChB;MAAA,SAAA0Y,QAAAhX,EAAA,EAAAC,GAAA,EAAA2E,GAAA,EAAAM,GAAA;QAAA,OAAAwR,QAAA,CAAAzX,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAA8X,OAAA;IAAA;EAAA;EAAA,OAAAV,gBAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AC9FmE;AACtC;AACQ;AAEsB;AAAA,IAEzC2C,YAAY;EAM/B,SAAAA,aAAYtL,OAA6B,EAAE;IAAA,IAAAC,qBAAA;IAAA9P,iFAAA,OAAAmb,YAAA;IACzCtL,OAAO,CAACvK,sBAAsB,IAAAwK,qBAAA,GAAGD,OAAO,CAACvK,sBAAsB,cAAAwK,qBAAA,cAAAA,qBAAA,GAAI,IAAI;IACvE,IACED,OAAO,CAACvK,sBAAsB,KAAK,IAAI,IACvC,CAACuK,OAAO,CAAClL,MAAM,IAAI,EAAE,EAAE0B,MAAM,GAAG,IAAI,EACpC;MACA+U,OAAO,CAAC1P,IAAI,CACV,mIACF,CAAC;MACDmE,OAAO,CAACvK,sBAAsB,GAAG,KAAK;IACxC;IAEA,IAAI,CAACZ,aAAa,GAAG,IAAIiK,sDAAa,CAACkB,OAAO,CAAC;IAC/C,IAAI,CAAC9P,OAAO,GAAG,IAAI0E,gDAAO,CAAC,IAAI,CAACC,aAAa,CAAC;IAC9C,IAAI,CAACyL,WAAW,GAAG,IAAId,oDAAW,CAAC,IAAI,CAACtP,OAAO,EAAE,IAAI,CAAC2E,aAAa,EAAE,IAAI,CAAC;IAC1E,IAAI,CAAC2L,qBAAqB,GAAG,CAAC,CAAC;EACjC;EAACpQ,8EAAA,CAAAkb,YAAA;IAAAjb,GAAA;IAAAC,KAAA,EAED,SAAAwY,WAAA,EAAa;MACX,IAAI,CAACxI,WAAW,CAACwI,UAAU,CAAC,CAAC;;MAE7B;MACAhO,MAAM,CAAC0Q,OAAO,CAAC,IAAI,CAAChL,qBAAqB,CAAC,CAAC3C,OAAO,CAAC,UAAA3H,IAAA,EAAqB;QAAA,IAAAgC,KAAA,GAAAuT,gFAAA,CAAAvV,IAAA;UAAnBwV,CAAC,GAAAxT,KAAA;UAAEyT,UAAU,GAAAzT,KAAA;QAChEyT,UAAU,CAACnJ,SAAS,CAAC,CAAC,CAACsG,UAAU,CAAC,CAAC;MACrC,CAAC,CAAC;IACJ;EAAC;IAAAzY,GAAA;IAAAC,KAAA,EAED,SAAA8Q,YACEC,cAAsB,EACwC;MAC9D,IAAI,CAACA,cAAc,EAAE;QACnB,MAAM,IAAI5G,KAAK,CACb,8FAA8F,GAC5F,kGACJ,CAAC;MACH,CAAC,MAAM;QACL,IAAI,IAAI,CAAC+F,qBAAqB,CAACa,cAAc,CAAC,KAAKpO,SAAS,EAAE;UAC5D,IAAI,CAACuN,qBAAqB,CAACa,cAAc,CAAC,GAAG,IAAIgK,uEAAoB,CACnEhK,cAAc,EACd,IAAI,CAACnR,OAAO,EACZ,IAAI,CAAC2E,aACP,CAAC;QACH;QACA,OAAO,IAAI,CAAC2L,qBAAqB,CAACa,cAAc,CAAC;MACnD;IACF;EAAC;EAAA,OAAAiK,YAAA;AAAA;;;;;;;;;;;;;;;;;;;;;ACvDyD;AAErD,IAAMD,oBAAoB;EAG/B,SAAAA,qBACmBpb,IAAY,EACZC,OAAgB,EAChB2E,aAAkB,EACnC;IAAA1E,iFAAA,OAAAkb,oBAAA;IAAA,KAHiBpb,IAAY,GAAZA,IAAY;IAAA,KACZC,OAAgB,GAAhBA,OAAgB;IAAA,KAChB2E,aAAkB,GAAlBA,aAAkB;IAEnC,IAAI,CAACmN,UAAU,GAAG,IAAIgD,qEAAmB,CACvC,IAAI,CAAC/U,IAAI,EACT,IAAI,CAACC,OAAO,EACZ,IAAI,CAAC2E,aACP,CAAC;EACH;EAACzE,8EAAA,CAAAib,oBAAA;IAAAhb,GAAA;IAAAC,KAAA,EAED,SAAAkS,UAAA,EAAoC;MAClC,OAAO,IAAI,CAACR,UAAU;IACxB;EAAC;EAAA,OAAAqJ,oBAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrB+C;AAGV;AAUxC,IAAMtZ,YAAY,GAAG,YAAY;AAE1B,IAAMiT,mBAAmB;EAK9B,SAAAA,oBACY3D,cAAsB,EACtBnR,OAAgB,EAChB2E,aAA4B,EACtC;IAAA1E,iFAAA,OAAA6U,mBAAA;IAAApS,iFAAA,2BAN6C,IAAI+V,yDAAgB,CAAC,CAAC;IAAA,KAGzDtH,cAAsB,GAAtBA,cAAsB;IAAA,KACtBnR,OAAgB,GAAhBA,OAAgB;IAAA,KAChB2E,aAA4B,GAA5BA,aAA4B;EACrC;EAACzE,8EAAA,CAAA4U,mBAAA;IAAA3U,GAAA;IAAAC,KAAA,EAEJ,SAAAwY,WAAA,EAAa;MACX,IAAI,CAACD,gBAAgB,CAACC,UAAU,CAAC,CAAC;IACpC;EAAC;IAAAzY,GAAA;IAAAC,KAAA;MAAA,IAAAsb,OAAA,GAAApb,mFAAA,eAAAC,sEAAA,CAED,SAAAE,QACEkb,gBAAuD;QAAA,IAAA3V,IAAA;UAAAgT,qBAAA;UAAA1F,4BAAA;UAAArN,gBAAA;UAAAC,WAAA;UAAA+S,qBAAA;UAAA9Y,GAAA;UAAA+Y,WAAA;UAAA7S,KAAA,GAAAhF,SAAA;QAAA,OAAAd,sEAAA,UAAAI,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAAkF,IAAA,GAAAK,KAAA,CAAAC,MAAA,QAAAD,KAAA,QAAAtD,SAAA,GAAAsD,KAAA,MAKpC,CAAC,CAAC,EAAA2S,qBAAA,GAAAhT,IAAA,CAHnBsN,4BAA4B,EAA5BA,4BAA4B,GAAA0F,qBAAA,cAAG,IAAI,CAACrU,aAAa,CAC9C2O,4BAA4B,GAAA0F,qBAAA,EAAA/S,gBAAA,GAAAD,IAAA,CAC/BE,WAAW,EAAXA,WAAW,GAAAD,gBAAA,cAAG,IAAI,GAAAA,gBAAA;cAGdgT,qBAAqB,GAAG,CAAC,CAAC;cAChC,IAAI,IAAI,CAACtU,aAAa,CAAC4O,wBAAwB,KAAK,IAAI,EAAE;gBACxD0F,qBAAqB,CAAC,WAAW,CAAC,GAAG,IAAI;cAC3C;cACA,KAAW9Y,GAAG,IAAIwb,gBAAgB,EAAE;gBAClC,IAAI9F,KAAK,CAACC,OAAO,CAAC6F,gBAAgB,CAACxb,GAAG,CAAC,CAAC,EAAE;kBACxC8Y,qBAAqB,CAAC9Y,GAAG,CAAC,GAAGwb,gBAAgB,CAACxb,GAAG,CAAC,CAACkN,IAAI,CAAC,GAAG,CAAC;gBAC9D;cACF;cACM6L,WAAW,GAAGtO,MAAM,CAACC,MAAM,CAC/B,CAAC,CAAC,EACF8Q,gBAAgB,EAChB1C,qBACF,CAAC;cAAA,OAAArY,QAAA,CAAAG,MAAA,WAEM,IAAI,CAAC4X,gBAAgB,CAACQ,OAAO,CAClC,IAAI,CAACnZ,OAAO,EACZ,IAAI,CAACA,OAAO,CAACgB,GAAG,EAChB,CAAC,IAAI,CAACC,YAAY,CAAC,QAAQ,CAAC,EAAEiY,WAAW,EAAE;gBAAEhT,WAAW,EAAXA;cAAY,CAAC,CAAC,EAC3D;gBACEkT,uBAAuB,EAAE9F;cAC3B,CACF,CAAC;YAAA;YAAA;cAAA,OAAA1S,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAT,OAAA;MAAA,CACF;MAAA,SAAAmb,OAAAzZ,EAAA;QAAA,OAAAuZ,OAAA,CAAAta,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAua,MAAA;IAAA;EAAA;IAAAzb,GAAA;IAAAC,KAAA,EAED,SAAAa,aAAuBqC,SAAkB,EAAE;MACzC,UAAA1B,MAAA,CAAUiN,oDAAW,CAAChN,YAAY,OAAAD,MAAA,CAAI,IAAI,CAACuP,cAAc,EAAAvP,MAAA,CAAGC,YAAY,EAAAD,MAAA,CACtE0B,SAAS,KAAKP,SAAS,GAAG,EAAE,GAAG,GAAG,GAAGO,SAAS;IAElD;EAAC;IAAAnD,GAAA;IAAAa,GAAA,EAED,SAAAA,IAAA,EAA0B;MACxB,OAAOa,YAAY;IACrB;EAAC;EAAA,OAAAiT,mBAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;ACrEH,IAAMjT,YAAY,GAAG,aAAa;AAAC,IAsBdqN,OAAO;EAC1B,SAAAA,QAAoBlP,OAAgB,EAAE;IAAAC,iFAAA,OAAAiP,OAAA;IAAA,KAAlBlP,OAAgB,GAAhBA,OAAgB;EAAG;EAACE,8EAAA,CAAAgP,OAAA;IAAA/O,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,eAAAC,sEAAA,CAExC,SAAAE,QAAA;QAAA,OAAAF,sEAAA,UAAAI,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WACS,IAAI,CAACf,OAAO,CAACgB,GAAG,CAACa,YAAY,CAAC;YAAA;YAAA;cAAA,OAAAjB,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAT,OAAA;MAAA,CACtC;MAAA,SAAAU,SAAA;QAAA,OAAAd,SAAA,CAAAe,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAF,QAAA;IAAA;EAAA;EAAA,OAAA+N,OAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AC5B2D;AAAA,IAYzCQ,QAAQ;EAC3B,SAAAA,SACUmM,UAAkB,EAClB7b,OAAgB,EACxB;IAAAC,iFAAA,OAAAyP,QAAA;IAAA,KAFQmM,UAAkB,GAAlBA,UAAkB;IAAA,KAClB7b,OAAgB,GAAhBA,OAAgB;EACvB;EAACE,8EAAA,CAAAwP,QAAA;IAAAvP,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,eAAAC,sEAAA,CAEJ,SAAAE,QAAA;QAAA,OAAAF,sEAAA,UAAAI,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WACS,IAAI,CAACf,OAAO,CAACgB,GAAG,CAAiB,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAL,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAT,OAAA;MAAA,CAC7D;MAAA,SAAAU,SAAA;QAAA,OAAAd,SAAA,CAAAe,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAF,QAAA;IAAA;EAAA;IAAAhB,GAAA;IAAAC,KAAA;MAAA,IAAAkB,QAAA,GAAAhB,mFAAA,eAAAC,sEAAA,CAED,SAAAgB,SAAA;QAAA,OAAAhB,sEAAA,UAAAiB,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAZ,IAAA,GAAAY,SAAA,CAAAX,IAAA;YAAA;cAAA,OAAAW,SAAA,CAAAV,MAAA,WACS,IAAI,CAACf,OAAO,CAAC0B,MAAM,CAAuB,IAAI,CAACT,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAQ,SAAA,CAAAP,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACtE;MAAA,SAAAI,QAAA;QAAA,OAAAL,QAAA,CAAAF,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAM,OAAA;IAAA;EAAA;IAAAxB,GAAA;IAAAC,KAAA,EAED,SAAAa,aAAA,EAA+B;MAC7B,UAAAW,MAAA,CAAU6N,kDAAS,CAAC5N,YAAY,OAAAD,MAAA,CAAI,IAAI,CAACia,UAAU;IACrD;EAAC;EAAA,OAAAnM,QAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;AC1BH,IAAM7N,YAAY,GAAG,YAAY;AAAC,IAWb4N,SAAS;EAC5B,SAAAA,UAAoBzP,OAAgB,EAAE;IAAAC,iFAAA,OAAAwP,SAAA;IAAA,KAAlBzP,OAAgB,GAAhBA,OAAgB;EAAG;EAACE,8EAAA,CAAAuP,SAAA;IAAAtP,GAAA;IAAAC,KAAA;MAAA,IAAA2B,OAAA,GAAAzB,mFAAA,eAAAC,sEAAA,CAExC,SAAAE,QACEob,UAAkB,EAClB1Y,MAA4B;QAAA,OAAA5C,sEAAA,UAAAI,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WAErB,IAAI,CAACf,OAAO,CAACiC,GAAG,CACrB,IAAI,CAAChB,YAAY,CAAC4a,UAAU,CAAC,EAC7B1Y,MACF,CAAC;YAAA;YAAA;cAAA,OAAAvC,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAT,OAAA;MAAA,CACF;MAAA,SAAAyB,OAAAC,EAAA,EAAAC,GAAA;QAAA,OAAAL,OAAA,CAAAX,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAa,MAAA;IAAA;EAAA;IAAA/B,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,eAAAC,sEAAA,CAED,SAAAgB,SAAA;QAAA,OAAAhB,sEAAA,UAAAiB,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAZ,IAAA,GAAAY,SAAA,CAAAX,IAAA;YAAA;cAAA,OAAAW,SAAA,CAAAV,MAAA,WACS,IAAI,CAACf,OAAO,CAACgB,GAAG,CAA0B,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAQ,SAAA,CAAAP,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACtE;MAAA,SAAAJ,SAAA;QAAA,OAAAd,SAAA,CAAAe,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAF,QAAA;IAAA;EAAA;IAAAhB,GAAA;IAAAC,KAAA,EAED,SAAAa,aAAqBqC,SAAkB,EAAU;MAC/C,UAAA1B,MAAA,CAAU6N,SAAS,CAAC5N,YAAY,EAAAD,MAAA,CAC9B0B,SAAS,KAAKP,SAAS,GAAG,EAAE,GAAG,GAAG,GAAGO,SAAS;IAElD;EAAC;IAAAnD,GAAA;IAAAa,GAAA,EAED,SAAAA,IAAA,EAAkC;MAChC,OAAOa,YAAY;IACrB;EAAC;EAAA,OAAA4N,SAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtCqC;AACmB;AAAA,IAUtCmC,OAAO;EAC1B,SAAAA,QACUT,cAAsB,EACtB0B,SAAiB,EACjB7S,OAAgB,EACxB;IAAAC,iFAAA,OAAA2R,OAAA;IAAA,KAHQT,cAAsB,GAAtBA,cAAsB;IAAA,KACtB0B,SAAiB,GAAjBA,SAAiB;IAAA,KACjB7S,OAAgB,GAAhBA,OAAgB;EACvB;EAACE,8EAAA,CAAA0R,OAAA;IAAAzR,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,eAAAC,sEAAA,CAEJ,SAAAE,QAAA;QAAA,OAAAF,sEAAA,UAAAI,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WACS,IAAI,CAACf,OAAO,CAACgB,GAAG,CAAgB,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAL,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAT,OAAA;MAAA,CAC5D;MAAA,SAAAU,SAAA;QAAA,OAAAd,SAAA,CAAAe,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAF,QAAA;IAAA;EAAA;IAAAhB,GAAA;IAAAC,KAAA;MAAA,IAAAkB,QAAA,GAAAhB,mFAAA,eAAAC,sEAAA,CAED,SAAAgB,SAAA;QAAA,OAAAhB,sEAAA,UAAAiB,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAZ,IAAA,GAAAY,SAAA,CAAAX,IAAA;YAAA;cAAA,OAAAW,SAAA,CAAAV,MAAA,WACS,IAAI,CAACf,OAAO,CAAC0B,MAAM,CAAsB,IAAI,CAACT,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAQ,SAAA,CAAAP,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACrE;MAAA,SAAAI,QAAA;QAAA,OAAAL,QAAA,CAAAF,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAM,OAAA;IAAA;EAAA;IAAAxB,GAAA;IAAAC,KAAA,EAED,SAAAa,aAAA,EAA+B;MAC7B,UAAAW,MAAA,CAAUiN,oDAAW,CAAChN,YAAY,OAAAD,MAAA,CAAI,IAAI,CAACuP,cAAc,EAAAvP,MAAA,CAAG+P,iDAAQ,CAAC9P,YAAY,OAAAD,MAAA,CAAI,IAAI,CAACiR,SAAS;IACrG;EAAC;EAAA,OAAAjB,OAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AC5BqC;AAGxC,IAAM/P,YAAY,GAAG,WAAW;AAAC,IAaZ8P,QAAQ;EAC3B,SAAAA,SAAoBR,cAAsB,EAAUnR,OAAgB,EAAE;IAAAC,iFAAA,OAAA0R,QAAA;IAAA,KAAlDR,cAAsB,GAAtBA,cAAsB;IAAA,KAAUnR,OAAgB,GAAhBA,OAAgB;EAAG;EAACE,8EAAA,CAAAyR,QAAA;IAAAxR,GAAA;IAAAC,KAAA;MAAA,IAAA2B,OAAA,GAAAzB,mFAAA,eAAAC,sEAAA,CAExE,SAAAE,QACEoS,SAAiB,EACjB1P,MAA2B;QAAA,OAAA5C,sEAAA,UAAAI,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WAEpB,IAAI,CAACf,OAAO,CAACiC,GAAG,CACrB,IAAI,CAAChB,YAAY,CAAC4R,SAAS,CAAC,EAC5B1P,MACF,CAAC;YAAA;YAAA;cAAA,OAAAvC,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAT,OAAA;MAAA,CACF;MAAA,SAAAyB,OAAAC,EAAA,EAAAC,GAAA;QAAA,OAAAL,OAAA,CAAAX,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAa,MAAA;IAAA;EAAA;IAAA/B,GAAA;IAAAC,KAAA;MAAA,IAAAC,SAAA,GAAAC,mFAAA,eAAAC,sEAAA,CAED,SAAAgB,SAAA;QAAA,OAAAhB,sEAAA,UAAAiB,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAZ,IAAA,GAAAY,SAAA,CAAAX,IAAA;YAAA;cAAA,OAAAW,SAAA,CAAAV,MAAA,WACS,IAAI,CAACf,OAAO,CAACgB,GAAG,CAAyB,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAQ,SAAA,CAAAP,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACrE;MAAA,SAAAJ,SAAA;QAAA,OAAAd,SAAA,CAAAe,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAF,QAAA;IAAA;EAAA;IAAAhB,GAAA;IAAAC,KAAA,EAED,SAAAa,aAAqBqC,SAAkB,EAAE;MACvC,UAAA1B,MAAA,CAAUiN,oDAAW,CAAChN,YAAY,OAAAD,MAAA,CAAI,IAAI,CAACuP,cAAc,EAAAvP,MAAA,CACvD+P,QAAQ,CAAC9P,YAAY,EAAAD,MAAA,CACpB0B,SAAS,KAAKP,SAAS,GAAG,EAAE,GAAG,GAAG,GAAGO,SAAS;IACnD;EAAC;IAAAnD,GAAA;IAAAa,GAAA,EAED,SAAAA,IAAA,EAAkC;MAChC,OAAOa,YAAY;IACrB;EAAC;EAAA,OAAA8P,QAAA;AAAA;;;;;;;;;;;AC1CH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,IAA0C;AAClD,QAAQ,oCAAO,UAAU;AAAA;AAAA;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;;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;;AAEA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;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;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA,qDAAqD;AACrD,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,sBAAsB;AACtB;;AAEA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA,oCAAoC;AACpC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;;;;;;;;;;ACpWD;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA,cAAc,sGAAiC;AAC/C;AACA,gBAAgB;AAChB;AACA;AACA,GAAG,EAAE,yBAAyB,SAAS,yBAAyB;AAChE;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,KAAK;AACL,iDAAiD;AACjD;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;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;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;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,eAAe;AAClC;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,SAAS;AACtB;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;;;;;;;;;;;;;;;ACHe;AACf;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;ACLA;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;;;;;;;;;;;;;;;;;ACJiD;AACoB;AACtD;AACf,MAAM,wEAAwB;AAC9B;AACA;AACA;AACA,cAAc,8DAAc;AAC5B;;;;;;;;;;;;;;;;ACR+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;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACLiD;AAClC;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH,kBAAkB,8DAAc;AAChC;;;;;;;;;;;;;;;AChBe;AACf;AACA;AACA,IAAI;AACJ;AACA;AACA;;;;;;;;;;;;;;;ACNe;AACf;AACA,yFAAyF;AACzF,IAAI;AACJ;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;ACPe;AACf;AACA;;;;;;;;;;;;;;;ACFe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,YAAY,kEAAkE;AACtF,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;AC1Be;AACf;AACA;;;;;;;;;;;;;;;ACFe;AACf;AACA;;;;;;;;;;;;;;;;;ACFkC;AAC6B;AAChD;AACf,eAAe,sDAAO;AACtB;AACA,IAAI;AACJ;AACA;AACA,SAAS,qEAAqB;AAC9B;;;;;;;;;;;;;;;ACTe;AACf;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACNiD;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,kBAAkB,sDAAO;AACzB;AACA;AACA;AACA,oBAAoB,sDAAO;AAC3B;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACVkC;AACS;AAC5B;AACf,UAAU,2DAAW;AACrB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;;;;AChO+B;AACO;AACsB;AAChB;AACQ;AACC;AACZ;AACO;AACmB;AACd;;AAExD;;AAEA,iEAAe;AACf;AACA,oBAAoB,qEAAa;AACjC;AACA,2BAA2B,6DAAY;AACvC,SAAS,cAAc;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,8BAA8B,6DAAY;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAM,2DAAM;AACZ;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,iBAAiB,2DAAU,oBAAoB,2DAAU;;AAEzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,2DAAU,kBAAkB,2DAAU;;AAEvD;AACA;AACA;;AAEA;AACA;AACA;AACA,mDAAmD,iEAAoB;AACvE;AACA;AACA;AACA,iBAAiB,2DAAU;AAC3B;AACA,2CAA2C,2DAAU,aAAa,2DAAU;AAC5E;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAM,iDAAK;AACX;AACA,OAAO;AACP;;AAEA;AACA,SAAS,iDAAK;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,2CAA2C,4EAAoB;AAC/D;;AAEA;AACA;AACA,kDAAkD,4EAAoB;AACtE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,gEAAa;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,qEAAa;;AAElC,oBAAoB,0DAAQ;AAC5B,iBAAiB,2DAAU,2CAA2C,2DAAU;AAChF;AACA;;;AAGA;AACA;AACA,GAAG;AACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7LY;;AAEkB;AACM;AACD;AACY;AACL;AACc;AACH;AACJ;AACN;AACN;AACW;AACH;AACL;AACY;AACH;AACJ;AACW;;AAEzD;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,OAAO;AACpB;AACA;AACA,sBAAsB,sDAAK;AAC3B,mBAAmB,4DAAI,CAAC,sDAAK;;AAE7B;AACA,EAAE,iDAAK,kBAAkB,sDAAK,sBAAsB,iBAAiB;;AAErE;AACA,EAAE,iDAAK,kCAAkC,iBAAiB;;AAE1D;AACA;AACA,0BAA0B,gEAAW;AACrC;;AAEA;AACA;;AAEA;AACA,6BAA6B,0DAAQ;;AAErC;AACA,cAAc,sDAAK;;AAEnB;AACA,sBAAsB,gEAAa;AACnC,oBAAoB,8DAAW;AAC/B,iBAAiB,2DAAQ;AACzB,gBAAgB,iDAAO;AACvB,mBAAmB,8DAAU;;AAE7B;AACA,mBAAmB,4DAAU;;AAE7B;AACA;;AAEA;AACA;AACA;AACA;;AAEA,eAAe,2DAAM;;AAErB;AACA,qBAAqB,iEAAY;;AAEjC;AACA,oBAAoB,4DAAW;;AAE/B,qBAAqB,8DAAY;;AAEjC,4BAA4B,uEAAc,CAAC,iDAAK;;AAEhD,mBAAmB,8DAAQ;;AAE3B,uBAAuB,mEAAc;;AAErC;;AAEA;AACA,iEAAe,KAAK;;;;;;;;;;;;;;;;;ACxFP;;AAEkC;;AAE/C;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,yDAAa;AACtC;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA,iEAAe,WAAW,EAAC;;;;;;;;;;;;;;;;;;ACxHd;;AAEkC;AACf;;AAEhC;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,aAAa,eAAe;AAC5B;AACA;AACA;AACA,EAAE,2DAAU,oDAAoD,2DAAU;AAC1E;AACA;;AAEA,iDAAK,yBAAyB,2DAAU;AACxC;AACA,CAAC;;AAED,iEAAe,aAAa,EAAC;;;;;;;;;;;;;;;;ACxBhB;;AAEE;AACf;AACA;;;;;;;;;;;;;;;;;;;;;;;;ACJa;;AAEqB;AACY;AACW;AACN;AACR;AACI;AACC;AACH;;AAE7C,mBAAmB,6DAAS;;AAE5B;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,mBAAmB,8DAAkB;AACrC,oBAAoB,8DAAkB;AACtC;AACA;;AAEA;AACA;AACA;AACA,aAAa,eAAe;AAC5B,aAAa,SAAS;AACtB;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA,oEAAoE;;AAEpE;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA,aAAa,2DAAW;;AAExB,WAAW,yCAAyC;;AAEpD;AACA,MAAM,6DAAS;AACf;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,UAAU,iDAAK;AACf;AACA;AACA;AACA,QAAQ;AACR,QAAQ,6DAAS;AACjB;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA,oCAAoC,iDAAK;AACzC;AACA;AACA;;AAEA,eAAe,iDAAK;AACpB;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,wDAAY;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA,qBAAqB,2DAAe;AACpC;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA,gBAAgB,2DAAe;AAC/B,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,aAAa,2DAAW;AACxB,qBAAqB,6DAAa;AAClC,WAAW,gEAAQ;AACnB;AACA;;AAEA;AACA,iDAAK;AACL;AACA;AACA,wBAAwB,2DAAW,aAAa;AAChD;AACA;AACA,yBAAyB;AACzB,KAAK;AACL;AACA,CAAC;;AAED,iDAAK;AACL;;AAEA;AACA;AACA,0BAA0B,2DAAW,aAAa;AAClD;AACA;AACA;AACA,UAAU,IAAI;AACd;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA,CAAC;;AAED,iEAAe,KAAK,EAAC;;;;;;;;;;;;;;;;;ACnOR;;AAEmB;;AAEhC;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,OAAO;AACpB;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iDAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,iDAAK;AACnB;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,CAAC;;AAED;AACA,kDAAkD,YAAY;;AAE9D;AACA;AACA;;AAEA,EAAE,iDAAK;AACP;AACA,GAAG;AACH;AACA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,iEAAe,UAAU,EAAC;;;;;;;;;;;;;;;;;;ACnGb;;AAEmB;AACsB;;AAEtD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS,iDAAK;AACd;;AAEA;AACA;AACA,2BAA2B,mBAAmB;AAC9C;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,MAAM,iDAAK;AACX;AACA;;AAEA;AACA;AACA;;AAEA,OAAO,iDAAK;;AAEZ,MAAM,iDAAK;AACX;AACA;;AAEA,MAAM,iDAAK;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,uBAAuB,iDAAK;;AAE5B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,iDAAK;;AAEvB;AACA;AACA;AACA;;AAEA;AACA,MAAM,iDAAK;;AAEX,QAAQ,iDAAK;AACb;AACA,MAAM,QAAQ,iDAAK;AACnB,iBAAiB,oEAAY;AAC7B,MAAM,SAAS,iDAAK;AACpB;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB,iDAAK;;AAEvB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,YAAY,iDAAK;AACjB;AACA;;AAEA,YAAY,iDAAK;AACjB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB,iDAAK;;AAEvB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,oBAAoB,iDAAK;;AAEzB;AACA;;AAEA;AACA;AACA;AACA;;AAEA,QAAQ,iDAAK;AACb;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,IAAI,iDAAK;AACT,kBAAkB,iDAAK;;AAEvB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,IAAI,iDAAK;AACT,sEAAsE,iDAAK;AAC3E,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,IAAI,iDAAK;;AAET;AACA;AACA;;AAEA;;AAEA;AACA,iDAAK,6CAA6C,MAAM;AACxD,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,iDAAK;;AAEL,iEAAe,YAAY,EAAC;;;;;;;;;;;;;;;;;AC7Sf;;AAEqB;;AAElC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB,aAAa,UAAU;AACvB;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,UAAU;AACvB;AACA,eAAe;AACf;AACA;AACA,IAAI,iDAAK;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,iEAAe,kBAAkB,EAAC;;;;;;;;;;;;;;;;;;ACtErB;;AAE2C;AACJ;;AAEpD;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf,kBAAkB,qEAAa;AAC/B,WAAW,mEAAW;AACtB;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;ACpBa;;AAEkC;AACF;AACD;AACW;AACJ;AACJ;;AAE/C;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,gEAAa;AAC3B;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACe;AACf;;AAEA,mBAAmB,6DAAY;;AAE/B;AACA,gBAAgB,yDAAa;AAC7B;AACA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,6DAAQ,8BAA8B,0DAAQ;;AAEhE;AACA;;AAEA;AACA,oBAAoB,yDAAa;AACjC;AACA;AACA;AACA;;AAEA,uBAAuB,6DAAY;;AAEnC;AACA,GAAG;AACH,SAAS,+DAAQ;AACjB;;AAEA;AACA;AACA,+BAA+B,yDAAa;AAC5C;AACA;AACA;AACA;AACA,kCAAkC,6DAAY;AAC9C;AACA;;AAEA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;AChFa;;AAEmB;AACa;;AAE7C,oDAAoD,wDAAY,KAAK,WAAW;;AAEhF;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;;AAEA;AACA,QAAQ,iDAAK,0BAA0B,iDAAK;AAC5C,aAAa,iDAAK,aAAa,SAAS;AACxC,MAAM,SAAS,iDAAK;AACpB,aAAa,iDAAK,SAAS;AAC3B,MAAM,SAAS,iDAAK;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS,iDAAK;AACd;AACA,MAAM,UAAU,iDAAK;AACrB;AACA;AACA;;AAEA;AACA;AACA,SAAS,iDAAK;AACd;AACA;AACA;;AAEA;AACA;AACA,SAAS,iDAAK;AACd;AACA,MAAM,UAAU,iDAAK;AACrB;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;AACA;AACA;AACA;;AAEA,EAAE,iDAAK,qCAAqC;AAC5C;AACA;AACA,KAAK,iDAAK;AACV,GAAG;;AAEH;AACA;;;;;;;;;;;;;;;;;ACzGa;;AAE4B;;AAEzC;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;AACA,IAAI;AACJ,eAAe,sDAAU;AACzB;AACA,OAAO,sDAAU,kBAAkB,sDAAU;AAC7C;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;AC1Ba;;AAEqB;AACU;AACO;;AAEnD;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB;AACA,aAAa,GAAG;AAChB;AACe;AACf,yBAAyB,0DAAQ;AACjC;AACA,kBAAkB,6DAAY;AAC9B;;AAEA,EAAE,iDAAK;AACP;AACA,GAAG;;AAEH;;AAEA;AACA;;;;;;;;;;;;;;;;;;;;;;;AC3Ba;;AAEmB;AACe;AACM;AACH;AACY;AAClB;AACc;;AAE1D;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA,MAAM,iDAAK;AACX;AACA;AACA,aAAa,iDAAK;AAClB,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,gBAAgB,wDAAoB;;AAEpC;;AAEA;AACA;AACA;AACA,4BAA4B,iDAAK;;AAEjC,2BAA2B,iDAAK;AAChC;AACA;;AAEA,uBAAuB,iDAAK;;AAE5B;AACA,iDAAiD,sEAAc;AAC/D;;AAEA,QAAQ,iDAAK;AACb,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX;AACA;AACA;AACA,QAAQ,iDAAK;AACb;AACA;AACA,QAAQ,iDAAK;AACb,gEAAgE;AAChE;AACA;;AAEA;;AAEA;AACA;AACA,eAAe,wEAAgB;AAC/B;;AAEA,wBAAwB,iDAAK;AAC7B;;AAEA,eAAe,kEAAU;AACzB,wBAAwB,iBAAiB;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA,QAAQ,iDAAK,qBAAqB,iDAAK;AACvC;AACA;;AAEA,gBAAgB,iDAAK;AACrB;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA,kBAAkB,2DAAU,SAAS,2DAAU;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,cAAc,0DAAQ;AACtB,UAAU,0DAAQ;AAClB,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iDAAK;AACL;AACA,CAAC;;AAED,iEAAe,QAAQ,EAAC;;;;;;;;;;;;;;;;AChKX;;AAEb,iEAAe;AACf;AACA;AACA;AACA,CAAC,EAAC;;;;;;;;;;;;;;;;ACNK;;;;;;;;;;;;;;;;ACAM;;AAE4B;;AAEzC;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,WAAW,qBAAqB;AAChC,WAAW,qBAAqB;AAChC;AACA,aAAa;AACb;AACA;AACA;;AAEA,YAAY,0DAAU;AACtB;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA,GAAG;AACH;;AAEA,iEAAe,oBAAoB,EAAC;;;;;;;;;;;;;;;;ACzDpC;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;;AAEA;AACA;AACA,CAAC;;AAED,iEAAe,cAAc,EAAC;;;;;;;;;;;;;;;;ACtEjB;;AAEE;AACf;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACNa;;AAEmB;AACsC;;AAEtE;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,IAAI;AACJ,uBAAuB,iDAAK;AAC5B;AACA,UAAU,wEAAoB;AAC9B;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;AC9Da;;AAEb;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACduD;AACR;;AAE/C;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,sCAAsC,2DAAU,aAAa,gEAAa;AAC1E;AACA;;AAEA;AACA,gBAAgB,2DAAU,YAAY,SAAS,iBAAiB,2DAAU;AAC1E,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;;AAEA,SAAS,QAAQ;;AAEjB;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA,iEAAe,cAAc,EAAC;;;;;;;;;;;;;;;;;;AC7CI;AACU;;AAE5C,iEAAe,0DAAQ;;AAEvB;AACA;AACA;AACA;;AAEA,MAAM,iDAAK;;AAEX,MAAM,iDAAK;;AAEX,MAAM,iDAAK;;AAEX;;AAEA,uCAAuC;AACvC,KAAK;;AAEL;AACA,0DAA0D,wBAAwB;AAClF;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA,KAAK;AACL;AACA,GAAG,EAAC;;;;;;;;;;;;;;;;;;ACxCS;;AAEmB;;AAEhC;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,iDAAK;AACd;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,4BAA4B;AACzC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,oBAAoB,iDAAK;;AAEzB;AACA,UAAU,iDAAK;AACf;AACA,QAAQ;AACR;AACA;;AAEA;AACA;;AAEA,0BAA0B,iDAAK;AAC/B;AACA;;AAEA;;AAEA,kBAAkB,iDAAK;AACvB;AACA;;AAEA;AACA;;AAEA,MAAM,iDAAK,yBAAyB,iDAAK;AACzC;;AAEA,IAAI,iDAAK;AACT;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA,iEAAe,cAAc,EAAC;;;;;;;;;;;;;;;;AC9FjB;;AAEb;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACe;AACf;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACda;;AAEqB;;AAElC;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACe;AACf,SAAS,iDAAK;AACd;;;;;;;;;;;;;;;;;;ACba;;AAEqB;AACU;;AAE5C,iEAAe,0DAAQ;;AAEvB;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,sBAAsB,iDAAK;AAC3B;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAG,GAAG,EAAC;;;;;;;;;;;;;;;;AClEP;AACA,iEAAe,IAAI,EAAC;;;;;;;;;;;;;;;;;ACDP;;AAEqB;;AAElC;AACA;AACA,0BAA0B,iDAAK;AAC/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA,iEAAe;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,MAAM;AACN;AACA;AACA,GAAG;;AAEH;AACA,CAAC,EAAC;;;;;;;;;;;;;;;;ACtDW;;AAEE;AACf,0BAA0B,KAAK;AAC/B;AACA;;;;;;;;;;;;;;;;;;ACL2C;AACN;;AAErC,iEAAe;AACf;AACA,uBAAuB,2DAAW;;AAElC,SAAS,wDAAQ;AACjB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,GAAG;AACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;AC/B2C;AACZ;AACmB;AAChB;AACkB;AACJ;AACE;AACd;;AAErC,iEAAe;AACf,oBAAoB,gEAAW,GAAG;;AAElC,OAAO,oEAAoE;;AAE3E,gCAAgC,6DAAY;;AAE5C,kBAAkB,wDAAQ,CAAC,kEAAa;;AAExC;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,MAAM,iDAAK;AACX,QAAQ,0DAAQ,0BAA0B,0DAAQ;AAClD,yCAAyC;AACzC,MAAM;AACN;AACA,kEAAkE;AAClE,gFAAgF;AAChF;AACA;;AAEA;AACA;AACA;;AAEA,MAAM,0DAAQ;AACd,qBAAqB,iDAAK;;AAE1B,qDAAqD,+DAAe;AACpE;AACA,4DAA4D,mDAAO;;AAEnE;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;;;;;;;;;;ACvDY;;AAEb;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,iEAAe,WAAW,EAAC;;;;;;;;;;;;;;;;ACtDd;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACe;AACf;AACA;AACA;AACA;;;;;;;;;;;;;;;;AC3Ba;;AAEb;AACA;AACA,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA,iEAAe,QAAQ,EAAC;;;;;;;;;;;;;;;;;;;AClCX;;AAEmB;AACe;AAC/C;AACoE;;AAEpE;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA,SAAS,iDAAK,yBAAyB,iDAAK;AAC5C;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA,SAAS,iDAAK;AACd;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA,aAAa;AACb;AACA;AACA,SAAS,iDAAK;AACd;;AAEA,mBAAmB,iDAAK,cAAc,iDAAK,IAAI;AAC/C;AACA,CAAC;;AAED;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,SAAS;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BAAmB;AACnB,YAAY;AACZ,QAAQ;AACR,GAAG;AACH;AACA,CAAC,EAAC;;;;;;;;;;;;;;;;;;;ACZF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAOC;;;;;;;;;;;;;;;;;;ACjDsC;AACI;;AAE3C,iEAAe;AACf,KAAK,6CAAK;AACV,KAAK,sDAAQ;AACb,CAAC;;;;;;;;;;;;;;;;;ACNY;;AAEwB;;AAErC;;AAEA,OAAO,UAAU;AACjB,OAAO,gBAAgB;;AAEvB;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACA,OAAO,SAAS;;AAEhB;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;;AAGA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,UAAU;AACrB;AACA,WAAW,SAAS;AACpB,aAAa;AACb;AACA,2BAA2B,oBAAoB,IAAI;AACnD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS;AAC5C,4BAA4B;AAC5B;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA,SAAS,UAAU;AACnB;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,kCAAkC;AAClC,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;;AAEA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA,gCAAgC,WAAW,IAAI;AAC/C;AACA;AACA,eAAe,4DAAI;AACnB,MAAM;AACN;AACA;AACA,GAAG,GAAG,WAAW;AACjB;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,kBAAkB;AAC7B,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,WAAW,kBAAkB;AAC7B,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B,eAAe;;AAEzC;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS,QAAQ;AACjB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA,iEAAe;AACf;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,EAAC;;;;;;;UCvtBF;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;;;;;;;ACNwC;AACY;AACP;AAEL;AACxC,iEAAe;EAAE9B,MAAM,EAANA,yDAAM;EAAEuL,YAAY,EAAZA,+DAAY;EAAEU,MAAM,EAANA,8CAAMA;AAAC,CAAC,E","sources":["webpack://Typesense/./src/Typesense/Alias.ts","webpack://Typesense/./src/Typesense/Aliases.ts","webpack://Typesense/./src/Typesense/Analytics.ts","webpack://Typesense/./src/Typesense/AnalyticsEvents.ts","webpack://Typesense/./src/Typesense/AnalyticsRule.ts","webpack://Typesense/./src/Typesense/AnalyticsRules.ts","webpack://Typesense/./src/Typesense/ApiCall.ts","webpack://Typesense/./src/Typesense/Client.ts","webpack://Typesense/./src/Typesense/Collection.ts","webpack://Typesense/./src/Typesense/Collections.ts","webpack://Typesense/./src/Typesense/Configuration.ts","webpack://Typesense/./src/Typesense/Conversation.ts","webpack://Typesense/./src/Typesense/ConversationModel.ts","webpack://Typesense/./src/Typesense/ConversationModels.ts","webpack://Typesense/./src/Typesense/Conversations.ts","webpack://Typesense/./src/Typesense/Debug.ts","webpack://Typesense/./src/Typesense/Document.ts","webpack://Typesense/./src/Typesense/Documents.ts","webpack://Typesense/./src/Typesense/Errors/HTTPError.ts","webpack://Typesense/./src/Typesense/Errors/ImportError.ts","webpack://Typesense/./src/Typesense/Errors/MissingConfigurationError.ts","webpack://Typesense/./src/Typesense/Errors/ObjectAlreadyExists.ts","webpack://Typesense/./src/Typesense/Errors/ObjectNotFound.ts","webpack://Typesense/./src/Typesense/Errors/ObjectUnprocessable.ts","webpack://Typesense/./src/Typesense/Errors/RequestMalformed.ts","webpack://Typesense/./src/Typesense/Errors/RequestUnauthorized.ts","webpack://Typesense/./src/Typesense/Errors/ServerError.ts","webpack://Typesense/./src/Typesense/Errors/TypesenseError.ts","webpack://Typesense/./src/Typesense/Errors/index.ts","webpack://Typesense/./src/Typesense/Health.ts","webpack://Typesense/./src/Typesense/Key.ts","webpack://Typesense/./src/Typesense/Keys.ts","webpack://Typesense/./src/Typesense/Metrics.ts","webpack://Typesense/./src/Typesense/MultiSearch.ts","webpack://Typesense/./src/Typesense/Operations.ts","webpack://Typesense/./src/Typesense/Override.ts","webpack://Typesense/./src/Typesense/Overrides.ts","webpack://Typesense/./src/Typesense/Preset.ts","webpack://Typesense/./src/Typesense/Presets.ts","webpack://Typesense/./src/Typesense/RequestWithCache.ts","webpack://Typesense/./src/Typesense/SearchClient.ts","webpack://Typesense/./src/Typesense/SearchOnlyCollection.ts","webpack://Typesense/./src/Typesense/SearchOnlyDocuments.ts","webpack://Typesense/./src/Typesense/Stats.ts","webpack://Typesense/./src/Typesense/Stopword.ts","webpack://Typesense/./src/Typesense/Stopwords.ts","webpack://Typesense/./src/Typesense/Synonym.ts","webpack://Typesense/./src/Typesense/Synonyms.ts","webpack://Typesense/./node_modules/loglevel/lib/loglevel.js","webpack://Typesense/ignored|/Users/jason/Programming/jprojs/typesense/typesense-js/src/Typesense|crypto","webpack://Typesense/ignored|/Users/jason/Programming/jprojs/typesense/typesense-js/src/Typesense|http","webpack://Typesense/ignored|/Users/jason/Programming/jprojs/typesense/typesense-js/src/Typesense|https","webpack://Typesense/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/regenerator/index.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://Typesense/./node_modules/axios/lib/adapters/adapters.js","webpack://Typesense/./node_modules/axios/lib/adapters/fetch.js","webpack://Typesense/./node_modules/axios/lib/adapters/xhr.js","webpack://Typesense/./node_modules/axios/lib/axios.js","webpack://Typesense/./node_modules/axios/lib/cancel/CancelToken.js","webpack://Typesense/./node_modules/axios/lib/cancel/CanceledError.js","webpack://Typesense/./node_modules/axios/lib/cancel/isCancel.js","webpack://Typesense/./node_modules/axios/lib/core/Axios.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosError.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://Typesense/./node_modules/axios/lib/core/InterceptorManager.js","webpack://Typesense/./node_modules/axios/lib/core/buildFullPath.js","webpack://Typesense/./node_modules/axios/lib/core/dispatchRequest.js","webpack://Typesense/./node_modules/axios/lib/core/mergeConfig.js","webpack://Typesense/./node_modules/axios/lib/core/settle.js","webpack://Typesense/./node_modules/axios/lib/core/transformData.js","webpack://Typesense/./node_modules/axios/lib/defaults/index.js","webpack://Typesense/./node_modules/axios/lib/defaults/transitional.js","webpack://Typesense/./node_modules/axios/lib/env/data.js","webpack://Typesense/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://Typesense/./node_modules/axios/lib/helpers/bind.js","webpack://Typesense/./node_modules/axios/lib/helpers/buildURL.js","webpack://Typesense/./node_modules/axios/lib/helpers/combineURLs.js","webpack://Typesense/./node_modules/axios/lib/helpers/composeSignals.js","webpack://Typesense/./node_modules/axios/lib/helpers/cookies.js","webpack://Typesense/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://Typesense/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://Typesense/./node_modules/axios/lib/helpers/null.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://Typesense/./node_modules/axios/lib/helpers/progressEventReducer.js","webpack://Typesense/./node_modules/axios/lib/helpers/resolveConfig.js","webpack://Typesense/./node_modules/axios/lib/helpers/speedometer.js","webpack://Typesense/./node_modules/axios/lib/helpers/spread.js","webpack://Typesense/./node_modules/axios/lib/helpers/throttle.js","webpack://Typesense/./node_modules/axios/lib/helpers/toFormData.js","webpack://Typesense/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://Typesense/./node_modules/axios/lib/helpers/trackStream.js","webpack://Typesense/./node_modules/axios/lib/helpers/validator.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/index.js","webpack://Typesense/./node_modules/axios/lib/platform/common/utils.js","webpack://Typesense/./node_modules/axios/lib/platform/index.js","webpack://Typesense/./node_modules/axios/lib/utils.js","webpack://Typesense/webpack/bootstrap","webpack://Typesense/webpack/runtime/compat get default export","webpack://Typesense/webpack/runtime/define property getters","webpack://Typesense/webpack/runtime/hasOwnProperty shorthand","webpack://Typesense/webpack/runtime/make namespace object","webpack://Typesense/./src/Typesense.ts"],"sourcesContent":["import Aliases, { CollectionAliasSchema } from \"./Aliases\";\nimport ApiCall from \"./ApiCall\";\n\nexport default class Alias {\n constructor(private name: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Aliases.RESOURCEPATH}/${this.name}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/aliases\";\n\nexport interface CollectionAliasCreateSchema {\n collection_name: string;\n}\n\nexport interface CollectionAliasSchema extends CollectionAliasCreateSchema {\n name: string;\n}\n\nexport interface CollectionAliasesResponseSchema {\n aliases: CollectionAliasSchema[];\n}\n\nexport default class Aliases {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n name: string,\n mapping: CollectionAliasCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(name),\n mapping\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n private endpointPath(aliasName): string {\n return `${Aliases.RESOURCEPATH}/${aliasName}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\nimport AnalyticsRule from \"./AnalyticsRule\";\nimport AnalyticsEvents from \"./AnalyticsEvents\";\n\nconst RESOURCEPATH = \"/analytics\";\n\nexport default class Analytics {\n private readonly _analyticsRules: AnalyticsRules;\n private readonly individualAnalyticsRules: Record = {};\n private readonly _analyticsEvents: AnalyticsEvents;\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._analyticsRules = new AnalyticsRules(this.apiCall);\n this._analyticsEvents = new AnalyticsEvents(this.apiCall);\n }\n\n rules(id?: string): AnalyticsRules | AnalyticsRule {\n if (id === undefined) {\n return this._analyticsRules;\n } else {\n if (this.individualAnalyticsRules[id] === undefined) {\n this.individualAnalyticsRules[id] = new AnalyticsRule(id, this.apiCall);\n }\n return this.individualAnalyticsRules[id];\n }\n }\n\n events(): AnalyticsEvents {\n return this._analyticsEvents;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { AnalyticsEventCreateSchema } from \"./AnalyticsEvent\";\n\nconst RESOURCEPATH = \"/analytics/events\";\n\nexport default class AnalyticsEvents {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: AnalyticsEventCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsEvents.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + operation\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\n\nexport interface AnalyticsRuleCreateSchema {\n type: \"popular_queries\" | \"nohits_queries\" | \"counter\";\n params: {\n source: {\n collections: string[];\n events?: Array<{\n type: string;\n weight: number;\n name: string;\n }>;\n };\n expand_query?: boolean;\n destination: {\n collection: string;\n counter_field?: string;\n };\n limit?: number;\n };\n}\n\nexport interface AnalyticsRuleDeleteSchema {\n name: string;\n}\n\nexport interface AnalyticsRuleSchema extends AnalyticsRuleCreateSchema {\n name: string;\n}\n\nexport default class AnalyticsRule {\n constructor(\n private name: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${AnalyticsRules.RESOURCEPATH}/${this.name}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n AnalyticsRuleCreateSchema,\n AnalyticsRuleSchema,\n} from \"./AnalyticsRule\";\n\nexport interface AnalyticsRulesRetrieveSchema {\n rules: AnalyticsRuleSchema[];\n}\n\nconst RESOURCEPATH = \"/analytics/rules\";\n\nexport default class AnalyticsRules {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async upsert(\n name: string,\n params: AnalyticsRuleCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(name),\n params\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsRules.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + operation\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import axios, { AxiosRequestConfig, AxiosResponse, Method } from \"axios\";\nimport { Logger } from \"loglevel\";\nimport {\n HTTPError,\n ObjectAlreadyExists,\n ObjectNotFound,\n ObjectUnprocessable,\n RequestMalformed,\n RequestUnauthorized,\n ServerError,\n} from \"./Errors\";\nimport TypesenseError from \"./Errors/TypesenseError\";\nimport Configuration, { NodeConfiguration } from \"./Configuration\";\nimport { Agent as HTTPAgent } from \"http\";\nimport { Agent as HTTPSAgent } from \"https\";\n\nconst APIKEYHEADERNAME = \"X-TYPESENSE-API-KEY\";\nconst HEALTHY = true;\nconst UNHEALTHY = false;\n\ninterface Node extends NodeConfiguration {\n isHealthy: boolean;\n index: string | number;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class ApiCall {\n private readonly apiKey: string;\n private readonly nodes: Node[];\n private readonly nearestNode: Node;\n private readonly connectionTimeoutSeconds: number;\n private readonly healthcheckIntervalSeconds: number;\n private readonly retryIntervalSeconds: number;\n private readonly sendApiKeyAsQueryParam?: boolean;\n private readonly numRetriesPerRequest: number;\n private readonly additionalUserHeaders?: Record;\n\n private readonly logger: Logger;\n private currentNodeIndex: number;\n\n constructor(private 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\n this.logger = this.configuration.logger;\n\n this.initializeMetadataForNodes();\n this.currentNodeIndex = -1;\n }\n\n async get(\n endpoint: string,\n queryParameters: any = {},\n {\n abortSignal = null,\n responseType = undefined,\n }: {\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n } = {},\n ): Promise {\n return this.performRequest(\"get\", endpoint, {\n queryParameters,\n abortSignal,\n responseType,\n });\n }\n\n async delete(endpoint: string, queryParameters: any = {}): Promise {\n return this.performRequest(\"delete\", endpoint, { queryParameters });\n }\n\n async post(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n additionalHeaders: any = {},\n ): Promise {\n return this.performRequest(\"post\", endpoint, {\n queryParameters,\n bodyParameters,\n additionalHeaders,\n });\n }\n\n async put(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"put\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async patch(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"patch\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async performRequest(\n requestType: Method,\n endpoint: string,\n {\n queryParameters = null,\n bodyParameters = null,\n additionalHeaders = {},\n abortSignal = null,\n responseType = undefined,\n skipConnectionTimeout = false,\n enableKeepAlive = undefined,\n }: {\n queryParameters?: any;\n bodyParameters?: any;\n additionalHeaders?: any;\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n skipConnectionTimeout?: boolean;\n enableKeepAlive?: boolean | undefined;\n },\n ): Promise {\n this.configuration.validate();\n\n const requestNumber = Date.now();\n let lastException;\n this.logger.debug(\n `Request #${requestNumber}: Performing ${requestType.toUpperCase()} request: ${endpoint}`,\n );\n for (\n let numTries = 1;\n numTries <= this.numRetriesPerRequest + 1;\n numTries++\n ) {\n const node = this.getNextNode(requestNumber);\n this.logger.debug(\n `Request #${requestNumber}: Attempting ${requestType.toUpperCase()} request Try #${numTries} to Node ${\n node.index\n }`,\n );\n\n if (abortSignal && abortSignal.aborted) {\n return Promise.reject(new Error(\"Request aborted by caller.\"));\n }\n\n let abortListener;\n\n try {\n const requestOptions: AxiosRequestConfig = {\n method: requestType,\n url: this.uriFor(endpoint, node),\n headers: Object.assign(\n {},\n this.defaultHeaders(),\n additionalHeaders,\n this.additionalUserHeaders,\n ),\n maxContentLength: Infinity,\n maxBodyLength: Infinity,\n responseType,\n validateStatus: (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 (data, headers) => {\n let transformedData = data;\n if (\n headers !== undefined &&\n typeof data === \"string\" &&\n headers[\"content-type\"] &&\n headers[\"content-type\"].startsWith(\"application/json\")\n ) {\n transformedData = JSON.parse(data);\n }\n return transformedData;\n },\n ],\n };\n\n if (skipConnectionTimeout !== true) {\n requestOptions.timeout = this.connectionTimeoutSeconds * 1000;\n }\n\n if (queryParameters && Object.keys(queryParameters).length !== 0) {\n requestOptions.params = queryParameters;\n }\n\n if (this.sendApiKeyAsQueryParam) {\n requestOptions.params = requestOptions.params || {};\n requestOptions.params[\"x-typesense-api-key\"] = this.apiKey;\n }\n\n if (this.configuration.httpAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpAgent`,\n );\n requestOptions.httpAgent = this.configuration.httpAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling KeepAlive`);\n requestOptions.httpAgent = new HTTPAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.httpsAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpsAgent`,\n );\n requestOptions.httpsAgent = this.configuration.httpsAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling keepAlive`);\n requestOptions.httpsAgent = new HTTPSAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.paramsSerializer) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom paramsSerializer`,\n );\n requestOptions.paramsSerializer = this.configuration.paramsSerializer;\n }\n\n if (\n bodyParameters &&\n ((typeof bodyParameters === \"string\" &&\n bodyParameters.length !== 0) ||\n (typeof bodyParameters === \"object\" &&\n Object.keys(bodyParameters).length !== 0))\n ) {\n requestOptions.data = bodyParameters;\n }\n\n // Translate from user-provided AbortController to the Axios request cancel mechanism.\n if (abortSignal) {\n const cancelToken = axios.CancelToken;\n const source = cancelToken.source();\n abortListener = () => source.cancel();\n abortSignal.addEventListener(\"abort\", abortListener);\n requestOptions.cancelToken = source.token;\n }\n\n const response = await axios(requestOptions);\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.setNodeHealthcheck(node, HEALTHY);\n }\n this.logger.debug(\n `Request #${requestNumber}: Request to Node ${node.index} was made. Response Code was ${response.status}.`,\n );\n\n if (response.status >= 200 && response.status < 300) {\n // If response is 2xx return a resolved promise\n return Promise.resolve(response.data);\n } else if (response.status < 500) {\n // Next, if response is anything but 5xx, don't retry, return a custom error\n return Promise.reject(\n this.customErrorForResponse(response, response.data?.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.customErrorForResponse(response, response.data?.message);\n }\n } catch (error: any) {\n // This block handles retries for HTTPStatus > 500 and network layer issues like connection timeouts\n this.setNodeHealthcheck(node, UNHEALTHY);\n lastException = error;\n this.logger.warn(\n `Request #${requestNumber}: Request to Node ${\n node.index\n } failed due to \"${error.code} ${error.message}${\n error.response == null\n ? \"\"\n : \" - \" + JSON.stringify(error.response?.data)\n }\"`,\n );\n // this.logger.debug(error.stack)\n this.logger.warn(\n `Request #${requestNumber}: Sleeping for ${this.retryIntervalSeconds}s and then retrying request...`,\n );\n await this.timer(this.retryIntervalSeconds);\n } finally {\n if (abortSignal && abortListener) {\n abortSignal.removeEventListener(\"abort\", abortListener);\n }\n }\n }\n this.logger.debug(\n `Request #${requestNumber}: No retries left. Raising last error`,\n );\n return Promise.reject(lastException);\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 getNextNode(requestNumber = 0): Node {\n // Check if nearestNode is set and is healthy, if so return it\n if (this.nearestNode != null) {\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: Node ${\n this.nearestNode.index\n } is ${this.nearestNode.isHealthy === true ? \"Healthy\" : \"Unhealthy\"}`,\n );\n if (\n this.nearestNode.isHealthy === true ||\n this.nodeDueForHealthcheck(this.nearestNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${this.nearestNode.index}`,\n );\n return this.nearestNode;\n }\n this.logger.debug(\n `Request #${requestNumber}: Falling back to individual nodes`,\n );\n }\n\n // Fallback to nodes as usual\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: ${this.nodes\n .map(\n (node) =>\n `Node ${node.index} is ${\n node.isHealthy === true ? \"Healthy\" : \"Unhealthy\"\n }`,\n )\n .join(\" || \")}`,\n );\n let candidateNode: Node = this.nodes[0];\n for (let i = 0; i <= this.nodes.length; i++) {\n this.currentNodeIndex = (this.currentNodeIndex + 1) % this.nodes.length;\n candidateNode = this.nodes[this.currentNodeIndex];\n if (\n candidateNode.isHealthy === true ||\n this.nodeDueForHealthcheck(candidateNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\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(\n `Request #${requestNumber}: No healthy nodes were found. Returning the next node, Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\n\n nodeDueForHealthcheck(node, requestNumber = 0): boolean {\n const isDueForHealthcheck =\n Date.now() - node.lastAccessTimestamp >\n this.healthcheckIntervalSeconds * 1000;\n if (isDueForHealthcheck) {\n this.logger.debug(\n `Request #${requestNumber}: Node ${node.index} has exceeded healtcheckIntervalSeconds of ${this.healthcheckIntervalSeconds}. Adding it back into rotation.`,\n );\n }\n return isDueForHealthcheck;\n }\n\n initializeMetadataForNodes(): void {\n if (this.nearestNode != null) {\n this.nearestNode.index = \"nearestNode\";\n this.setNodeHealthcheck(this.nearestNode, HEALTHY);\n }\n\n this.nodes.forEach((node, i) => {\n node.index = i;\n this.setNodeHealthcheck(node, HEALTHY);\n });\n }\n\n setNodeHealthcheck(node, isHealthy): void {\n node.isHealthy = isHealthy;\n node.lastAccessTimestamp = Date.now();\n }\n\n uriFor(endpoint: string, node): string {\n if (node.url != null) {\n return `${node.url}${endpoint}`;\n }\n return `${node.protocol}://${node.host}:${node.port}${node.path}${endpoint}`;\n }\n\n defaultHeaders(): any {\n const defaultHeaders = {};\n if (!this.sendApiKeyAsQueryParam) {\n defaultHeaders[APIKEYHEADERNAME] = this.apiKey;\n }\n defaultHeaders[\"Content-Type\"] = \"application/json\";\n return defaultHeaders;\n }\n\n async timer(seconds): Promise {\n return new Promise((resolve) => setTimeout(resolve, seconds * 1000));\n }\n\n customErrorForResponse(\n response: AxiosResponse,\n messageFromServer: string,\n ): TypesenseError {\n let errorMessage = `Request failed with HTTP code ${response.status}`;\n if (\n typeof messageFromServer === \"string\" &&\n messageFromServer.trim() !== \"\"\n ) {\n errorMessage += ` | Server said: ${messageFromServer}`;\n }\n\n let error = new TypesenseError(errorMessage);\n\n if (response.status === 400) {\n error = new RequestMalformed(errorMessage);\n } else if (response.status === 401) {\n error = new RequestUnauthorized(errorMessage);\n } else if (response.status === 404) {\n error = new ObjectNotFound(errorMessage);\n } else if (response.status === 409) {\n error = new ObjectAlreadyExists(errorMessage);\n } else if (response.status === 422) {\n error = new ObjectUnprocessable(errorMessage);\n } else if (response.status >= 500 && response.status <= 599) {\n error = new ServerError(errorMessage);\n } else {\n error = new HTTPError(errorMessage);\n }\n\n error.httpStatus = response.status;\n\n return error;\n }\n}\n","/* eslint-disable no-dupe-class-members */\n\nimport Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Collection from \"./Collection\";\nimport Aliases from \"./Aliases\";\nimport Alias from \"./Alias\";\nimport Keys from \"./Keys\";\nimport Key from \"./Key\";\nimport Debug from \"./Debug\";\nimport Metrics from \"./Metrics\";\nimport Stats from \"./Stats\";\nimport Health from \"./Health\";\nimport Operations from \"./Operations\";\nimport MultiSearch from \"./MultiSearch\";\nimport Presets from \"./Presets\";\nimport Preset from \"./Preset\";\nimport Analytics from \"./Analytics\";\nimport Stopwords from \"./Stopwords\";\nimport Stopword from \"./Stopword\";\nimport Conversations from \"./Conversations\";\nimport Conversation from \"./Conversation\";\n\nexport default class Client {\n configuration: Configuration;\n apiCall: ApiCall;\n debug: Debug;\n metrics: Metrics;\n stats: Stats;\n health: Health;\n operations: Operations;\n multiSearch: MultiSearch;\n analytics: Analytics;\n private readonly _collections: Collections;\n private readonly individualCollections: Record;\n private readonly _aliases: Aliases;\n private readonly individualAliases: Record;\n private readonly _keys: Keys;\n private readonly individualKeys: Record;\n private readonly _presets: Presets;\n private readonly individualPresets: Record;\n private readonly _stopwords: Stopwords;\n private readonly individualStopwords: Record;\n private readonly _conversations: Conversations;\n private readonly individualConversations: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? false;\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.debug = new Debug(this.apiCall);\n this.metrics = new Metrics(this.apiCall);\n this.stats = new Stats(this.apiCall);\n this.health = new Health(this.apiCall);\n this.operations = new Operations(this.apiCall);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration);\n this._collections = new Collections(this.apiCall);\n this.individualCollections = {};\n this._aliases = new Aliases(this.apiCall);\n this.individualAliases = {};\n this._keys = new Keys(this.apiCall);\n this.individualKeys = {};\n this._presets = new Presets(this.apiCall);\n this.individualPresets = {};\n this._stopwords = new Stopwords(this.apiCall);\n this.individualStopwords = {};\n this.analytics = new Analytics(this.apiCall);\n this._conversations = new Conversations(this.apiCall);\n this.individualConversations = {};\n }\n\n collections(): Collections;\n collections = object>(\n collectionName: string,\n ): Collection;\n collections(collectionName?: string): Collections | Collection {\n if (collectionName === undefined) {\n return this._collections;\n } else {\n if (this.individualCollections[collectionName] === undefined) {\n this.individualCollections[collectionName] = new Collection(\n collectionName,\n this.apiCall,\n this.configuration,\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n\n aliases(): Aliases;\n aliases(aliasName: string): Alias;\n aliases(aliasName?: string): Aliases | Alias {\n if (aliasName === undefined) {\n return this._aliases;\n } else {\n if (this.individualAliases[aliasName] === undefined) {\n this.individualAliases[aliasName] = new Alias(aliasName, this.apiCall);\n }\n return this.individualAliases[aliasName];\n }\n }\n\n keys(): Keys;\n keys(id: number): Key;\n keys(id?: number): Keys | Key {\n if (id === undefined) {\n return this._keys;\n } else {\n if (this.individualKeys[id] === undefined) {\n this.individualKeys[id] = new Key(id, this.apiCall);\n }\n return this.individualKeys[id];\n }\n }\n\n presets(): Presets;\n presets(id: string): Preset;\n presets(id?: string): Presets | Preset {\n if (id === undefined) {\n return this._presets;\n } else {\n if (this.individualPresets[id] === undefined) {\n this.individualPresets[id] = new Preset(id, this.apiCall);\n }\n return this.individualPresets[id];\n }\n }\n\n stopwords(): Stopwords;\n stopwords(id: string): Stopword;\n stopwords(id?: string): Stopwords | Stopword {\n if (id === undefined) {\n return this._stopwords;\n } else {\n if (this.individualStopwords[id] === undefined) {\n this.individualStopwords[id] = new Stopword(id, this.apiCall);\n }\n return this.individualStopwords[id];\n }\n }\n\n conversations(): Conversations;\n conversations(id: string): Conversation;\n conversations(id?: string): Conversations | Conversation {\n if (id === undefined) {\n return this._conversations;\n } else {\n if (this.individualConversations[id] === undefined) {\n this.individualConversations[id] = new Conversation(id, this.apiCall);\n }\n return this.individualConversations[id];\n }\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections, { CollectionCreateSchema } from \"./Collections\";\nimport Documents, { DocumentSchema } from \"./Documents\";\nimport { ObjectNotFound } from \"./Errors\";\nimport Overrides from \"./Overrides\";\nimport Override from \"./Override\";\nimport Synonyms from \"./Synonyms\";\nimport Synonym from \"./Synonym\";\nimport { Document } from \"./Document\";\n\nexport type FieldType =\n | \"string\"\n | \"int32\"\n | \"int64\"\n | \"float\"\n | \"bool\"\n | \"geopoint\"\n | \"geopoint[]\"\n | \"string[]\"\n | \"int32[]\"\n | \"int64[]\"\n | \"float[]\"\n | \"bool[]\"\n | \"object\"\n | \"object[]\"\n | \"auto\"\n | \"string*\"\n | \"image\";\n\nexport interface CollectionFieldSchema {\n name: string;\n type: FieldType;\n optional?: boolean;\n facet?: boolean;\n index?: boolean;\n sort?: boolean;\n locale?: string;\n infix?: boolean;\n stem?: boolean;\n num_dim?: number;\n store?: boolean;\n [t: string]: unknown;\n}\n\nexport interface CollectionSchema extends CollectionCreateSchema {\n created_at: number;\n num_documents: number;\n num_memory_shards: number;\n}\n\nexport interface CollectionDropFieldSchema {\n name: string;\n drop: true;\n}\n\nexport interface CollectionUpdateSchema\n extends Partial> {\n fields?: (CollectionFieldSchema | CollectionDropFieldSchema)[];\n}\n\nexport default class Collection {\n private readonly _documents: Documents;\n private individualDocuments: Record> = {};\n private readonly _overrides: Overrides;\n private individualOverrides: Record = {};\n private readonly _synonyms: Synonyms;\n private individualSynonyms: Record = {};\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any,\n ) {\n this.name = name;\n this.apiCall = apiCall;\n this.configuration = configuration;\n\n this._documents = new Documents(\n this.name,\n this.apiCall,\n this.configuration,\n );\n this._overrides = new Overrides(this.name, this.apiCall);\n this._synonyms = new Synonyms(this.name, this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(schema: CollectionUpdateSchema): Promise {\n return this.apiCall.patch(this.endpointPath(), schema);\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n async exists(): Promise {\n try {\n await this.retrieve();\n return true;\n } catch (e) {\n if (e instanceof ObjectNotFound) return false;\n throw e;\n }\n }\n\n documents(): Documents;\n documents(documentId: string): Document;\n documents(documentId?: string): Document | Documents {\n if (!documentId) {\n return this._documents;\n } else {\n if (this.individualDocuments[documentId] === undefined) {\n this.individualDocuments[documentId] = new Document(\n this.name,\n documentId,\n this.apiCall,\n );\n }\n return this.individualDocuments[documentId];\n }\n }\n\n overrides(): Overrides;\n overrides(overrideId: string): Override;\n overrides(overrideId?: string): Overrides | Override {\n if (overrideId === undefined) {\n return this._overrides;\n } else {\n if (this.individualOverrides[overrideId] === undefined) {\n this.individualOverrides[overrideId] = new Override(\n this.name,\n overrideId,\n this.apiCall,\n );\n }\n return this.individualOverrides[overrideId];\n }\n }\n\n synonyms(): Synonyms;\n synonyms(synonymId: string): Synonym;\n synonyms(synonymId?: string): Synonyms | Synonym {\n if (synonymId === undefined) {\n return this._synonyms;\n } else {\n if (this.individualSynonyms[synonymId] === undefined) {\n this.individualSynonyms[synonymId] = new Synonym(\n this.name,\n synonymId,\n this.apiCall,\n );\n }\n return this.individualSynonyms[synonymId];\n }\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${this.name}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { CollectionFieldSchema, CollectionSchema } from \"./Collection\";\n\nexport interface CollectionCreateSchema {\n name: string;\n default_sorting_field?: string;\n fields?: CollectionFieldSchema[];\n symbols_to_index?: string[];\n token_separators?: string[];\n enable_nested_fields?: boolean;\n metadata?: object;\n voice_query_model?: {\n model_name?: string;\n };\n}\n\nexport interface CollectionCreateOptions {\n src_name?: string;\n}\n\nexport interface CollectionsRetrieveOptions {\n exclude_fields?: string;\n}\n\nconst RESOURCEPATH = \"/collections\";\n\nexport default class Collections {\n constructor(private apiCall: ApiCall) {}\n\n async create(\n schema: CollectionCreateSchema,\n options: CollectionCreateOptions = {},\n ): Promise {\n return this.apiCall.post(RESOURCEPATH, schema, options);\n }\n\n async retrieve(\n options: CollectionsRetrieveOptions = {},\n ): Promise {\n return this.apiCall.get(RESOURCEPATH, options);\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import * as logger from \"loglevel\";\nimport { Logger, LogLevelDesc } from \"loglevel\";\nimport { MissingConfigurationError } from \"./Errors\";\nimport type { Agent as HTTPAgent } from \"http\";\nimport type { Agent as HTTPSAgent } from \"https\";\n\nexport interface NodeConfiguration {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n url?: string;\n}\n\nexport interface NodeConfigurationWithHostname {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n}\n\nexport interface NodeConfigurationWithUrl {\n url: string;\n}\n\nexport interface ConfigurationOptions {\n apiKey: string;\n nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n randomizeNodes?: boolean;\n /**\n * @deprecated\n * masterNode is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n masterNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n /**\n * @deprecated\n * readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n readReplicaNodes?:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n connectionTimeoutSeconds?: number;\n timeoutSeconds?: number;\n healthcheckIntervalSeconds?: number;\n numRetries?: number;\n retryIntervalSeconds?: number;\n sendApiKeyAsQueryParam?: boolean | undefined;\n useServerSideSearchCache?: boolean;\n cacheSearchResultsForSeconds?: number;\n additionalHeaders?: Record;\n\n logLevel?: LogLevelDesc;\n logger?: Logger;\n\n /**\n * Set a custom HTTP Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPAgent } = require(\"http\");\n * ...\n * httpAgent: new HTTPAgent({ keepAlive: true }),\n * @type {HTTPAgent}\n */\n httpAgent?: HTTPAgent;\n\n /**\n * Set a custom HTTPS Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPSAgent } = require(\"https\");\n * ...\n * httpsAgent: new HTTPSAgent({ keepAlive: true }),\n * @type {HTTPSAgent}\n */\n httpsAgent?: HTTPSAgent;\n\n /**\n * Set a custom paramsSerializer\n *\n * See axios documentation for more information on how to use this parameter: https://axios-http.com/docs/req_config\n * This is helpful for handling React Native issues like this: https://github.com/axios/axios/issues/6102#issuecomment-2085301397\n * @type {any}\n */\n paramsSerializer?: any;\n}\n\nexport default class Configuration {\n readonly nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n readonly nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n readonly connectionTimeoutSeconds: number;\n readonly healthcheckIntervalSeconds: number;\n readonly numRetries: number;\n readonly retryIntervalSeconds: number;\n readonly apiKey: string;\n readonly sendApiKeyAsQueryParam?: boolean;\n readonly cacheSearchResultsForSeconds: number;\n readonly useServerSideSearchCache: boolean;\n readonly logger: Logger;\n readonly logLevel: LogLevelDesc;\n readonly additionalHeaders?: Record;\n readonly httpAgent?: HTTPAgent;\n readonly httpsAgent?: HTTPSAgent;\n readonly paramsSerializer?: any;\n\n constructor(options: ConfigurationOptions) {\n this.nodes = options.nodes || [];\n this.nodes = this.nodes\n .map((node) => this.setDefaultPathInNode(node))\n .map((node) => this.setDefaultPortInNode(node))\n .map((node) => ({ ...node })) as NodeConfiguration[]; // Make a deep copy\n\n if (options.randomizeNodes == null) {\n options.randomizeNodes = true;\n }\n\n if (options.randomizeNodes === true) {\n this.shuffleArray(this.nodes);\n }\n\n this.nearestNode = options.nearestNode;\n this.nearestNode = this.setDefaultPathInNode(this.nearestNode);\n this.nearestNode = this.setDefaultPortInNode(this.nearestNode);\n\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\n this.apiKey = options.apiKey;\n this.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam; // We will set a default for this in Client and SearchClient\n\n this.cacheSearchResultsForSeconds =\n options.cacheSearchResultsForSeconds || 0; // Disable client-side cache by default\n this.useServerSideSearchCache = options.useServerSideSearchCache || false;\n\n this.logger = options.logger || logger;\n this.logLevel = options.logLevel || \"warn\";\n this.logger.setLevel(this.logLevel);\n\n this.additionalHeaders = options.additionalHeaders;\n\n this.httpAgent = options.httpAgent;\n this.httpsAgent = options.httpsAgent;\n\n this.paramsSerializer = options.paramsSerializer;\n\n this.showDeprecationWarnings(options);\n this.validate();\n }\n\n validate(): boolean {\n if (this.nodes == null || this.nodes.length === 0 || this.validateNodes()) {\n throw new MissingConfigurationError(\n \"Ensure that nodes[].protocol, nodes[].host and nodes[].port are set\",\n );\n }\n\n if (\n this.nearestNode != null &&\n this.isNodeMissingAnyParameters(this.nearestNode)\n ) {\n throw new MissingConfigurationError(\n \"Ensure that nearestNodes.protocol, nearestNodes.host and nearestNodes.port are set\",\n );\n }\n\n if (this.apiKey == null) {\n throw new MissingConfigurationError(\"Ensure that apiKey is set\");\n }\n\n return true;\n }\n\n private validateNodes(): boolean {\n return this.nodes.some((node) => {\n return this.isNodeMissingAnyParameters(node);\n });\n }\n\n private isNodeMissingAnyParameters(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl,\n ): boolean {\n return (\n ![\"protocol\", \"host\", \"port\", \"path\"].every((key) => {\n return node.hasOwnProperty(key);\n }) && node[\"url\"] == null\n );\n }\n\n private setDefaultPathInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (node != null && !node.hasOwnProperty(\"path\")) {\n node[\"path\"] = \"\";\n }\n return node;\n }\n\n private setDefaultPortInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (\n node != null &&\n !node.hasOwnProperty(\"port\") &&\n node.hasOwnProperty(\"protocol\")\n ) {\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\n private showDeprecationWarnings(options: ConfigurationOptions): void {\n if (options.timeoutSeconds) {\n this.logger.warn(\n \"Deprecation warning: timeoutSeconds is now renamed to connectionTimeoutSeconds\",\n );\n }\n if (options.masterNode) {\n this.logger.warn(\n \"Deprecation warning: masterNode is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n if (options.readReplicaNodes) {\n this.logger.warn(\n \"Deprecation warning: readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n }\n\n private shuffleArray(array) {\n for (let i = array.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [array[i], array[j]] = [array[j], array[i]];\n }\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Conversations from \"./Conversations\";\n\nexport interface ConversationDeleteSchema {\n id: number;\n}\n\nexport interface ConversationUpdateSchema {\n ttl: number;\n}\n\nexport interface ConversationSchema {\n id: number;\n conversation: object[];\n last_updated: number;\n ttl: number;\n}\n\nexport default class Conversation {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(\n params: ConversationUpdateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Conversations.RESOURCEPATH}/${this.id}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\n\nexport interface ConversationModelCreateSchema {\n id?: string;\n model_name: string;\n api_key?: string;\n system_prompt?: string;\n max_bytes: number;\n history_collection?: string;\n}\n\nexport interface ConversationModelDeleteSchema {\n id: string;\n}\n\nexport interface ConversationModelSchema extends ConversationModelCreateSchema {\n id: string;\n}\n\nexport default class ConversationModel {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async update(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(\n this.endpointPath(),\n );\n }\n\n private endpointPath(): string {\n return `${ConversationModels.RESOURCEPATH}/${this.id}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n ConversationModelCreateSchema,\n ConversationModelSchema,\n} from \"./ConversationModel\";\n\nconst RESOURCEPATH = \"/conversations/models\";\n\nexport default class ConversationModels {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(\n this.endpointPath(),\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${ConversationModels.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + operation\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\nimport ConversationModel from \"./ConversationModel\";\nimport { ConversationSchema } from \"./Conversation\";\n\nconst RESOURCEPATH = \"/conversations\";\n\nexport interface ConversationsRetrieveSchema {\n conversations: ConversationSchema[];\n}\n\nexport default class Conversations {\n private readonly _conversationsModels: ConversationModels;\n private readonly individualConversationModels: Record<\n string,\n ConversationModel\n > = {};\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._conversationsModels = new ConversationModels(this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n models(): ConversationModels;\n models(id: string): ConversationModel;\n models(id?: string): ConversationModels | ConversationModel {\n if (id === undefined) {\n return this._conversationsModels;\n } else {\n if (this.individualConversationModels[id] === undefined) {\n this.individualConversationModels[id] = new ConversationModel(\n id,\n this.apiCall,\n );\n }\n return this.individualConversationModels[id];\n }\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/debug\";\n\nexport interface DebugResponseSchema {\n state: number;\n version: string;\n}\n\nexport default class Debug {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Documents, {\n DeleteQuery,\n DocumentSchema,\n DocumentWriteParameters,\n} from \"./Documents\";\n\nexport class Document {\n constructor(\n private collectionName: string,\n private documentId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(options?: DeleteQuery): Promise {\n return this.apiCall.delete(this.endpointPath(), options);\n }\n\n async update(\n partialDocument: Partial,\n options: DocumentWriteParameters = {}\n ): Promise {\n return this.apiCall.patch(this.endpointPath(), partialDocument, options);\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${Documents.RESOURCEPATH}/${this.documentId}`;\n }\n}\n","import type { ReadStream } from \"fs\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport { ImportError } from \"./Errors\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\n// Todo: use generic to extract filter_by values\nexport interface DeleteQuery {\n filter_by?: string;\n batch_size?: number;\n ignore_not_found?: boolean;\n}\n\nexport interface DeleteResponse {\n num_deleted: number;\n}\n\ninterface ImportResponseSuccess {\n success: true;\n}\n\nexport interface ImportResponseFail {\n success: false;\n error: string;\n document: DocumentSchema;\n code: number;\n}\n\nexport type ImportResponse = ImportResponseSuccess | ImportResponseFail;\n\nexport type DocumentSchema = Record;\n\nexport interface SearchParamsWithPreset extends Partial {\n preset: string;\n}\n\ntype OperationMode = \"off\" | \"always\" | \"fallback\";\nexport interface SearchParams {\n // From https://typesense.org/docs/latest/api/documents.html#arguments\n q?: string;\n query_by?: string | string[];\n query_by_weights?: string | number[];\n prefix?: string | boolean | boolean[]; // default: true\n filter_by?: string;\n enable_lazy_filter?: boolean; // default: false\n sort_by?: string | string[]; // default: text match desc\n facet_by?: string | string[];\n max_facet_values?: number;\n facet_sample_threshold?: number;\n facet_sample_percent?: number;\n facet_query?: string;\n facet_query_num_typos?: number;\n facet_return_parent?: string;\n page?: number; // default: 1\n per_page?: number; // default: 10, max 250\n group_by?: string | string[];\n group_limit?: number; // default:\n group_missing_values?: boolean;\n include_fields?: string | string[];\n exclude_fields?: string | string[];\n highlight_fields?: string | string[]; // default: all queried fields\n highlight_full_fields?: string | string[]; // default: all fields\n highlight_affix_num_tokens?: number; // default: 4\n highlight_start_tag?: string; // default: \n highlight_end_tag?: string; // default: \n enable_highlight_v1?: boolean;\n snippet_threshold?: number; // default: 30\n num_typos?: string | number | number[]; // default: 2\n min_len_1typo?: number;\n min_len_2typo?: number;\n split_join_tokens?: OperationMode;\n exhaustive_search?: boolean;\n drop_tokens_threshold?: number; // default: 10\n typo_tokens_threshold?: number; // default: 100\n pinned_hits?: string | string[];\n hidden_hits?: string | string[];\n limit_hits?: number; // default: no limit\n pre_segmented_query?: boolean;\n enable_overrides?: boolean;\n prioritize_exact_match?: boolean; // default: true\n prioritize_token_position?: boolean;\n prioritize_num_matching_fields?: boolean;\n search_cutoff_ms?: number;\n use_cache?: boolean;\n max_candidates?: number;\n infix?: OperationMode | OperationMode[];\n preset?: string;\n text_match_type?: \"max_score\" | \"max_weight\";\n vector_query?: string;\n \"x-typesense-api-key\"?: string;\n \"x-typesense-user-id\"?: string;\n offset?: number;\n limit?: number;\n stopwords?: string;\n conversation?: boolean;\n conversation_model_id?: string;\n conversation_id?: string;\n voice_query?: string;\n}\n\ntype SearchResponseHighlightObject = {\n matched_tokens?: string[];\n snippet?: string;\n value?: string;\n};\n\nexport type SearchResponseHighlight = T extends string | number\n ? SearchResponseHighlightObject\n : {\n [TAttribute in keyof T]?: SearchResponseHighlight;\n };\n\nexport interface SearchResponseHit {\n curated?: true;\n highlights?: [\n {\n field: keyof T;\n snippet?: string;\n value?: string;\n snippets?: string[];\n indices?: number[];\n matched_tokens: string[][] | string[];\n },\n ];\n highlight: SearchResponseHighlight;\n document: T;\n text_match: number;\n text_match_info?: {\n best_field_score: string; // To prevent scores from being truncated by JSON spec\n best_field_weight: number;\n fields_matched: number;\n score: string; // To prevent scores from being truncated by JSON spec\n tokens_matched: number;\n };\n}\n\nexport interface SearchResponseFacetCountSchema {\n counts: {\n count: number;\n highlighted: string;\n value: string;\n }[];\n field_name: keyof T;\n stats: {\n avg?: number;\n max?: number;\n min?: number;\n sum?: number;\n };\n}\n\nexport interface SearchResponseRequestParams {\n collection_name?: string;\n q?: string;\n page?: number;\n per_page?: number;\n first_q?: string;\n voice_query?: {\n transcribed_query?: string;\n };\n}\n\n// Todo: we could infer whether this is a grouped response by adding the search params as a generic\nexport interface SearchResponse {\n facet_counts?: SearchResponseFacetCountSchema[];\n found: number;\n found_docs?: number;\n out_of: number;\n page: number;\n request_params: SearchResponseRequestParams;\n search_time_ms: number;\n search_cutoff?: boolean;\n hits?: SearchResponseHit[];\n grouped_hits?: {\n group_key: string[];\n hits: SearchResponseHit[];\n found?: number;\n }[];\n conversation?: {\n answer: string;\n conversation_history: {\n conversation: object[];\n id: string;\n last_updated: number;\n ttl: number;\n };\n conversation_id: string;\n query: string;\n };\n error?: string;\n code?: number;\n}\n\nexport interface DocumentWriteParameters {\n dirty_values?: \"coerce_or_reject\" | \"coerce_or_drop\" | \"drop\" | \"reject\";\n action?: \"create\" | \"update\" | \"upsert\" | \"emplace\";\n}\n\nexport interface UpdateByFilterParameters {\n filter_by?: string;\n}\n\nexport interface UpdateByFilterResponse {\n num_updated: number;\n}\n\nexport interface DocumentImportParameters extends DocumentWriteParameters {\n batch_size?: number;\n return_doc?: boolean;\n return_id?: boolean;\n}\n\nexport interface DocumentsExportParameters {\n filter_by?: string;\n include_fields?: string;\n exclude_fields?: string;\n}\n\nexport interface SearchableDocuments {\n search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n options: SearchOptions,\n ): Promise>;\n clearCache(): void;\n}\n\nexport interface WriteableDocuments {\n create(document: T, options: DocumentWriteParameters): Promise;\n upsert(document: T, options: DocumentWriteParameters): Promise;\n update(document: T, options: DocumentWriteParameters): Promise;\n delete(query: DeleteQuery): Promise;\n import(\n documents: T[] | string,\n options: DocumentWriteParameters,\n ): Promise;\n export(options: DocumentsExportParameters): Promise;\n}\n\nexport interface SearchOptions {\n cacheSearchResultsForSeconds?: number;\n abortSignal?: AbortSignal | null;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class Documents\n extends SearchOnlyDocuments\n implements WriteableDocuments\n{\n constructor(\n collectionName: string,\n apiCall: ApiCall,\n configuration: Configuration,\n ) {\n super(collectionName, apiCall, configuration);\n }\n\n async create(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(this.endpointPath(), document, options);\n }\n\n async upsert(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"upsert\" }),\n );\n }\n\n async update(\n document: T,\n options: UpdateByFilterParameters,\n ): Promise;\n async update(document: T, options: DocumentWriteParameters): Promise;\n async update(\n document: T,\n options: DocumentWriteParameters | UpdateByFilterParameters = {},\n ): Promise {\n if (!document) throw new Error(\"No document provided\");\n\n if (options[\"filter_by\"] != null) {\n return this.apiCall.patch(\n this.endpointPath(),\n document,\n Object.assign({}, options),\n );\n } else {\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"update\" }),\n );\n }\n }\n\n async delete(\n query: DeleteQuery = {} as DeleteQuery,\n ): Promise {\n return this.apiCall.delete(this.endpointPath(), query);\n }\n\n async createMany(documents: T[], options: DocumentImportParameters = {}) {\n this.configuration.logger.warn(\n \"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 );\n return this.import(documents, options);\n }\n\n /**\n * Import a set of documents in a batch.\n * @param {string|Array} documents - Can be a JSONL string of documents or an array of document objects.\n * @param options\n * @return {string|Array} Returns a JSONL string if the input was a JSONL string, otherwise it returns an array of results.\n */\n async import(\n documents: string,\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[],\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[] | string,\n options: DocumentImportParameters = {},\n ): Promise {\n let documentsInJSONLFormat;\n if (Array.isArray(documents)) {\n try {\n documentsInJSONLFormat = documents\n .map((document) => JSON.stringify(document))\n .join(\"\\n\");\n } catch (error: any) {\n // if rangeerror, throw custom error message\n if (\n error instanceof RangeError &&\n error.message.includes(\"Too many properties to enumerate\")\n ) {\n throw new Error(`${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\n // else, throw the non-range error anyways\n throw new Error(error);\n }\n } else {\n documentsInJSONLFormat = documents;\n }\n\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n if (Array.isArray(documents)) {\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter(\n (r) => r.success === false,\n );\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n } else {\n return resultsInJSONLFormat as string;\n }\n }\n /**\n * Imports documents from a NodeJS readable stream of JSONL.\n */\n async importStream(\n readableStream: ReadStream,\n options: DocumentImportParameters = {},\n ): Promise {\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\n queryParameters: options,\n bodyParameters: readableStream,\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter((r) => r.success === false);\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n }\n\n /**\n * Returns a JSONL string for all the documents in this collection\n */\n async export(options: DocumentsExportParameters = {}): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options);\n }\n\n /**\n * Returns a NodeJS readable stream of JSONL for all the documents in this collection.\n */\n async exportStream(\n options: DocumentsExportParameters = {},\n ): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options, {\n responseType: \"stream\",\n });\n }\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class HTTPError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\nimport { ImportResponse } from \"../Documents\";\n\nexport default class ImportError extends TypesenseError {\n importResults: ImportResponse[];\n constructor(message: string, importResults: ImportResponse[]) {\n super(message);\n this.importResults = importResults;\n }\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class MissingConfigurationError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectAlreadyExists extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectNotFound extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectUnprocessable extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestMalformed extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestUnauthorized extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ServerError extends TypesenseError {}\n","export default class TypesenseError extends Error {\n httpStatus?: number;\n\n // Source: https://stackoverflow.com/a/58417721/123545\n constructor(message?: string) {\n super(message);\n this.name = new.target.name;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n","import HTTPError from \"./HTTPError\";\nimport MissingConfigurationError from \"./MissingConfigurationError\";\nimport ObjectAlreadyExists from \"./ObjectAlreadyExists\";\nimport ObjectNotFound from \"./ObjectNotFound\";\nimport ObjectUnprocessable from \"./ObjectUnprocessable\";\nimport RequestMalformed from \"./RequestMalformed\";\nimport RequestUnauthorized from \"./RequestUnauthorized\";\nimport ServerError from \"./ServerError\";\nimport ImportError from \"./ImportError\";\nimport TypesenseError from \"./TypesenseError\";\n\nexport {\n HTTPError,\n MissingConfigurationError,\n ObjectAlreadyExists,\n ObjectNotFound,\n ObjectUnprocessable,\n RequestMalformed,\n RequestUnauthorized,\n ServerError,\n TypesenseError,\n ImportError,\n};\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/health\";\n\nexport interface HealthResponse {\n ok: boolean;\n}\n\nexport default class Health {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Keys from \"./Keys\";\n\nexport interface KeyCreateSchema {\n actions: string[];\n collections: string[];\n description?: string;\n value?: string;\n value_prefix?: string;\n expires_at?: number;\n}\n\nexport interface KeyDeleteSchema {\n id: number;\n}\n\nexport interface KeySchema extends KeyCreateSchema {\n id: number;\n}\n\nexport default class Key {\n constructor(private id: number, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Keys.RESOURCEPATH}/${this.id}`;\n }\n}\n","import { createHmac } from \"crypto\";\nimport ApiCall from \"./ApiCall\";\nimport { KeyCreateSchema, KeySchema } from \"./Key\";\nimport { SearchParams } from \"./Documents\";\n\nconst RESOURCEPATH = \"/keys\";\n\nexport interface KeysRetrieveSchema {\n keys: KeySchema[];\n}\n\nexport interface GenerateScopedSearchKeyParams extends Partial {\n expires_at?: number;\n cache_ttl?: number;\n limit_multi_searches?: number;\n}\n\nexport default class Keys {\n constructor(private apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(params: KeyCreateSchema): Promise {\n return this.apiCall.post(Keys.RESOURCEPATH, params);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n generateScopedSearchKey(\n searchKey: string,\n parameters: GenerateScopedSearchKeyParams\n ): string {\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 const paramsJSON = JSON.stringify(parameters);\n const digest = Buffer.from(\n createHmac(\"sha256\", searchKey).update(paramsJSON).digest(\"base64\")\n );\n const keyPrefix = searchKey.substr(0, 4);\n const rawScopedKey = `${digest}${keyPrefix}${paramsJSON}`;\n\n return Buffer.from(rawScopedKey).toString(\"base64\");\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/metrics.json\";\n\nexport interface MetricsResponse {\n [key: `system_cpu${number}_active_percentage`]: string;\n system_cpu_active_percentage: string;\n system_disk_total_bytes: string;\n system_disk_used_bytes: string;\n system_memory_total_bytes: string;\n system_memory_total_swap_bytes?: string;\n system_memory_used_bytes: string;\n system_memory_used_swap_bytes?: string;\n system_network_received_bytes: string;\n system_network_sent_bytes: string;\n typesense_memory_active_bytes: string;\n typesense_memory_allocated_bytes: string;\n typesense_memory_fragmentation_ratio: string;\n typesense_memory_mapped_bytes: string;\n typesense_memory_metadata_bytes: string;\n typesense_memory_resident_bytes: string;\n typesense_memory_retained_bytes: string;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport RequestWithCache from \"./RequestWithCache\";\nimport {\n DocumentSchema,\n SearchParams,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\n\nconst RESOURCEPATH = \"/multi_search\";\n\nexport interface MultiSearchRequestSchema extends SearchParams {\n collection?: string;\n \"x-typesense-api-key\"?: string;\n}\n\nexport interface MultiSearchRequestWithPresetSchema\n extends SearchParamsWithPreset {\n collection?: string;\n \"x-typesense-api-key\"?: string;\n}\n\nexport interface MultiSearchRequestsSchema {\n searches: (MultiSearchRequestSchema | MultiSearchRequestWithPresetSchema)[];\n}\n\nexport interface MultiSearchResponse {\n results: { [Index in keyof T]: SearchResponse } & {\n length: T[\"length\"];\n };\n}\n\nexport default class MultiSearch {\n private requestWithCache: RequestWithCache;\n\n constructor(\n private apiCall: ApiCall,\n private configuration: Configuration,\n private useTextContentType: boolean = false\n ) {\n this.requestWithCache = new RequestWithCache();\n }\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async perform(\n searchRequests: MultiSearchRequestsSchema,\n commonParams: Partial = {},\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n }: { cacheSearchResultsForSeconds?: number } = {}\n ): Promise> {\n const additionalHeaders = {};\n if (this.useTextContentType) {\n additionalHeaders[\"content-type\"] = \"text/plain\";\n }\n\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n const queryParams = Object.assign({}, commonParams, additionalQueryParams);\n\n return this.requestWithCache.perform(\n this.apiCall,\n this.apiCall.post,\n [RESOURCEPATH, searchRequests, queryParams, additionalHeaders],\n { cacheResponseForSeconds: cacheSearchResultsForSeconds }\n ) as Promise>;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/operations\";\n\nexport default class Operations {\n constructor(private apiCall: ApiCall) {}\n\n async perform(\n operationName: \"vote\" | \"snapshot\" | \"cache/clear\" | string,\n queryParameters: Record = {}\n ): Promise {\n return this.apiCall.post(\n `${RESOURCEPATH}/${operationName}`,\n {},\n queryParameters\n );\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Overrides, { OverrideCreateSchema } from \"./Overrides\";\n\nexport interface OverrideSchema extends OverrideCreateSchema {\n id: string;\n}\n\nexport interface OverrideDeleteSchema {\n id: string;\n}\n\nexport default class Override {\n constructor(\n private collectionName: string,\n private overrideId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${Overrides.RESOURCEPATH}/${this.overrideId}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { OverrideSchema } from \"./Override\";\n\nconst RESOURCEPATH = \"/overrides\";\n\nexport interface OverrideRuleQuerySchema {\n query?: string;\n match?: \"exact\" | \"contains\";\n}\n\nexport interface OverrideRuleFilterSchema {\n filter_by?: string;\n}\n\nexport interface OverrideRuleTagsSchema {\n tags?: string[];\n}\n\nexport interface OverrideCreateSchema {\n rule: OverrideRuleQuerySchema &\n OverrideRuleFilterSchema &\n OverrideRuleTagsSchema;\n filter_by?: string;\n sort_by?: string;\n remove_matched_tokens?: boolean;\n replace_query?: string;\n includes?: Array<{\n id: string;\n position: number;\n }>;\n excludes?: Array<{ id: string }>;\n filter_curated_hits?: boolean;\n effective_from_ts?: number;\n effective_to_ts?: number;\n stop_processing?: boolean;\n metadata?: object;\n}\n\nexport interface OverridesRetrieveSchema {\n overrides: OverrideSchema[];\n}\n\nexport default class Overrides {\n constructor(\n private collectionName: string,\n private apiCall: ApiCall,\n ) {}\n\n async upsert(\n overrideId: string,\n params: OverrideCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(overrideId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${\n Overrides.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + operation}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Presets, { PresetCreateSchema } from \"./Presets\";\n\nexport interface PresetSchema extends PresetCreateSchema {\n name: string;\n}\n\nexport interface PresetDeleteSchema {\n name: string;\n}\n\nexport default class Preset {\n constructor(private presetId: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Presets.RESOURCEPATH}/${this.presetId}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { PresetSchema } from \"./Preset\";\nimport { SearchParams } from \"./Documents\";\nimport { MultiSearchRequestsSchema } from \"./MultiSearch\";\n\nconst RESOURCEPATH = \"/presets\";\n\nexport interface PresetCreateSchema {\n value: SearchParams | MultiSearchRequestsSchema;\n}\n\nexport interface PresetsRetrieveSchema {\n presets: PresetSchema[];\n}\n\nexport default class Presets {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n presetId: string,\n params: PresetCreateSchema\n ): Promise {\n return this.apiCall.put(this.endpointPath(presetId), params);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Presets.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + operation\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","const defaultCacheResponseForSeconds = 2 * 60;\nconst defaultMaxSize = 100;\n\nexport default class RequestWithCache {\n private responseCache: Map = new Map();\n private responsePromiseCache: Map = new Map();\n\n clearCache() {\n this.responseCache = new Map();\n this.responsePromiseCache = new Map();\n }\n\n // Todo: should probably be passed a callback instead, or an apiCall instance. Types are messy this way\n async perform(\n requestContext: any,\n requestFunction: (...params: any) => unknown,\n requestFunctionArguments: any[],\n cacheOptions: CacheOptions\n ): Promise {\n const {\n cacheResponseForSeconds = defaultCacheResponseForSeconds,\n maxSize = defaultMaxSize,\n } = cacheOptions;\n const isCacheDisabled = cacheResponseForSeconds <= 0 || maxSize <= 0;\n\n if (isCacheDisabled) {\n return requestFunction.call(requestContext, ...requestFunctionArguments);\n }\n\n const requestFunctionArgumentsJSON = JSON.stringify(\n requestFunctionArguments\n );\n const cacheEntry = this.responseCache.get(requestFunctionArgumentsJSON);\n const now = Date.now();\n\n if (cacheEntry) {\n const isEntryValid =\n now - cacheEntry.requestTimestamp < cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n this.responseCache.set(requestFunctionArgumentsJSON, cacheEntry);\n return Promise.resolve(cacheEntry.response);\n } else {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n\n const cachePromiseEntry = this.responsePromiseCache.get(\n requestFunctionArgumentsJSON\n );\n\n if (cachePromiseEntry) {\n const isEntryValid =\n now - cachePromiseEntry.requestTimestamp <\n cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n this.responsePromiseCache.set(\n requestFunctionArgumentsJSON,\n cachePromiseEntry\n );\n return cachePromiseEntry.responsePromise;\n } else {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n\n const responsePromise = requestFunction.call(\n requestContext,\n ...requestFunctionArguments\n );\n this.responsePromiseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n responsePromise,\n });\n\n const response = await responsePromise;\n this.responseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n response,\n });\n\n const isCacheOverMaxSize = this.responseCache.size > maxSize;\n if (isCacheOverMaxSize) {\n const oldestEntry = this.responseCache.keys().next().value;\n this.responseCache.delete(oldestEntry);\n }\n const isResponsePromiseCacheOverMaxSize =\n this.responsePromiseCache.size > maxSize;\n if (isResponsePromiseCacheOverMaxSize) {\n const oldestEntry = this.responsePromiseCache.keys().next().value;\n this.responsePromiseCache.delete(oldestEntry);\n }\n return response as T;\n }\n}\n\ninterface CacheOptions {\n cacheResponseForSeconds?: number;\n maxSize?: number;\n}\n","import Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport MultiSearch from \"./MultiSearch\";\nimport { DocumentSchema } from \"./Documents\";\nimport { SearchOnlyCollection } from \"./SearchOnlyCollection\";\n\nexport default class SearchClient {\n public readonly multiSearch: MultiSearch;\n private readonly configuration: Configuration;\n private readonly apiCall: ApiCall;\n private readonly individualCollections: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? true;\n if (\n options.sendApiKeyAsQueryParam === true &&\n (options.apiKey || \"\").length > 2000\n ) {\n console.warn(\n \"[typesense] API Key is longer than 2000 characters which is over the allowed limit, so disabling sending it as a query parameter.\"\n );\n options.sendApiKeyAsQueryParam = false;\n }\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration, true);\n this.individualCollections = {};\n }\n\n clearCache() {\n this.multiSearch.clearCache();\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Object.entries(this.individualCollections).forEach(([_, collection]) => {\n collection.documents().clearCache();\n });\n }\n\n collections(\n collectionName: string\n ): SearchOnlyCollection | SearchOnlyCollection {\n if (!collectionName) {\n throw new Error(\n \"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(\n collectionName,\n this.apiCall,\n this.configuration\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n}\n","import { DocumentSchema, SearchableDocuments } from \"./Documents\";\nimport ApiCall from \"./ApiCall\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\nexport class SearchOnlyCollection {\n private readonly _documents: SearchableDocuments;\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any\n ) {\n this._documents = new SearchOnlyDocuments(\n this.name,\n this.apiCall,\n this.configuration\n );\n }\n\n documents(): SearchableDocuments {\n return this._documents;\n }\n}\n","import RequestWithCache from \"./RequestWithCache\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport Collections from \"./Collections\";\nimport type {\n DocumentSchema,\n SearchableDocuments,\n SearchOptions,\n SearchParams,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\n\nconst RESOURCEPATH = \"/documents\";\n\nexport class SearchOnlyDocuments\n implements SearchableDocuments\n{\n protected requestWithCache: RequestWithCache = new RequestWithCache();\n\n constructor(\n protected collectionName: string,\n protected apiCall: ApiCall,\n protected configuration: Configuration\n ) {}\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n abortSignal = null,\n }: SearchOptions = {}\n ): Promise> {\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n for (const key in searchParameters) {\n if (Array.isArray(searchParameters[key])) {\n additionalQueryParams[key] = searchParameters[key].join(\",\");\n }\n }\n const queryParams = Object.assign(\n {},\n searchParameters,\n additionalQueryParams\n );\n\n return this.requestWithCache.perform(\n this.apiCall,\n this.apiCall.get,\n [this.endpointPath(\"search\"), queryParams, { abortSignal }],\n {\n cacheResponseForSeconds: cacheSearchResultsForSeconds,\n }\n ) as Promise>;\n }\n\n protected endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + operation\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/stats.json\";\n\nexport interface EndpointStats {\n [endpoint: string]: number;\n}\n\nexport interface StatsResponse {\n delete_latency_ms?: number;\n delete_requests_per_second?: number;\n import_latency_ms?: number;\n import_requests_per_second?: number;\n latency_ms?: EndpointStats;\n overloaded_requests_per_second?: number;\n pending_write_batches?: number;\n requests_per_second?: EndpointStats;\n search_latency_ms?: number;\n search_requests_per_second?: number;\n total_requests_per_second?: number;\n write_latency_ms?: number;\n write_requests_per_second?: number;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Stopwords, { StopwordCreateSchema } from \"./Stopwords\";\n\nexport interface StopwordSchema extends StopwordCreateSchema {\n id: string;\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordDeleteSchema {\n id: string;\n}\n\nexport default class Stopword {\n constructor(\n private stopwordId: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Stopwords.RESOURCEPATH}/${this.stopwordId}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { StopwordSchema } from \"./Stopword\";\n\nconst RESOURCEPATH = \"/stopwords\";\n\nexport interface StopwordCreateSchema {\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordsRetrieveSchema {\n stopwords: StopwordSchema[];\n}\n\nexport default class Stopwords {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n stopwordId: string,\n params: StopwordCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(stopwordId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Stopwords.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + operation\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Synonyms, { SynonymCreateSchema } from \"./Synonyms\";\n\nexport interface SynonymSchema extends SynonymCreateSchema {\n id: string;\n}\n\nexport interface SynonymDeleteSchema {\n id: string;\n}\n\nexport default class Synonym {\n constructor(\n private collectionName: string,\n private synonymId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${Synonyms.RESOURCEPATH}/${this.synonymId}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { SynonymSchema } from \"./Synonym\";\n\nconst RESOURCEPATH = \"/synonyms\";\n\nexport interface SynonymCreateSchema {\n synonyms: string[];\n root?: string;\n locale?: string;\n symbols_to_index?: string[];\n}\n\nexport interface SynonymsRetrieveSchema {\n synonyms: SynonymSchema[];\n}\n\nexport default class Synonyms {\n constructor(private collectionName: string, private apiCall: ApiCall) {}\n\n async upsert(\n synonymId: string,\n params: SynonymCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(synonymId),\n params\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${\n Synonyms.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + operation}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\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 var _loggersByName = {};\n var defaultLogger = null;\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() {\n /*jshint validthis:true */\n var level = this.getLevel();\n\n // Replace the actual methods.\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, this.name);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n\n // Return any important warnings.\n if (typeof console === undefinedType && level < this.levels.SILENT) {\n return \"No console available for logging\";\n }\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) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this);\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, factory) {\n // Private instance variables.\n var self = this;\n /**\n * The level inherited from a parent logger (or a global default). We\n * cache this here rather than delegating to the parent so that it stays\n * in sync with the actual logging methods that we have installed (the\n * parent could change levels but we might not have rebuilt the loggers\n * in this child yet).\n * @type {number}\n */\n var inheritedLevel;\n /**\n * The default level for this logger, if any. If set, this overrides\n * `inheritedLevel`.\n * @type {number|null}\n */\n var defaultLevel;\n /**\n * A user-specific level for this logger. If set, this overrides\n * `defaultLevel`.\n * @type {number|null}\n */\n var userLevel;\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 cookieName = encodeURIComponent(storageKey);\n var location = cookie.indexOf(cookieName + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(\n cookie.slice(location + cookieName.length + 1)\n )[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 } 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 function normalizeLevel(input) {\n var level = input;\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 return level;\n } else {\n throw new TypeError(\"log.setLevel() called with invalid level: \" + input);\n }\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 if (userLevel != null) {\n return userLevel;\n } else if (defaultLevel != null) {\n return defaultLevel;\n } else {\n return inheritedLevel;\n }\n };\n\n self.setLevel = function (level, persist) {\n userLevel = normalizeLevel(level);\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(userLevel);\n }\n\n // NOTE: in v2, this should call rebuild(), which updates children.\n return replaceLoggingMethods.call(self);\n };\n\n self.setDefaultLevel = function (level) {\n defaultLevel = normalizeLevel(level);\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.resetLevel = function () {\n userLevel = null;\n clearPersistedLevel();\n replaceLoggingMethods.call(self);\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 self.rebuild = function () {\n if (defaultLogger !== self) {\n inheritedLevel = normalizeLevel(defaultLogger.getLevel());\n }\n replaceLoggingMethods.call(self);\n\n if (defaultLogger === self) {\n for (var childName in _loggersByName) {\n _loggersByName[childName].rebuild();\n }\n }\n };\n\n // Initialize all the internal levels.\n inheritedLevel = normalizeLevel(\n defaultLogger ? defaultLogger.getLevel() : \"WARN\"\n );\n var initialLevel = getPersistedLevel();\n if (initialLevel != null) {\n userLevel = normalizeLevel(initialLevel);\n }\n replaceLoggingMethods.call(self);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n defaultLogger = new Logger();\n\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,\n defaultLogger.methodFactory\n );\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","/* (ignored) */","/* (ignored) */","/* (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 e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw new Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\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}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\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 setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\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 _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _isNativeFunction(fn) {\n try {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n } catch (e) {\n return typeof fn === \"function\";\n }\n}","export default function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\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(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\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 _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\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(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\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 getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport progressEventReducer from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst fetchProgressDecorator = (total, fn) => {\n const lengthComputable = total != null;\n return (loaded) => setTimeout(() => fn({\n lengthComputable,\n total,\n loaded\n }));\n}\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst supportsRequestStream = isReadableStreamSupported && (() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n})();\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported && !!(()=> {\n try {\n return utils.isReadableStream(new Response('').body);\n } catch(err) {\n // return undefined\n }\n})();\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n return (await new Request(body).arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ?\n composeSignals([signal, cancelToken], timeout) : [];\n\n let finished, request;\n\n const onFinish = () => {\n !finished && setTimeout(() => {\n composedSignal && composedSignal.unsubscribe();\n });\n\n finished = true;\n }\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, fetchProgressDecorator(\n requestContentLength,\n progressEventReducer(onUploadProgress)\n ), null, encodeText);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'cors' : 'omit';\n }\n\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n withCredentials\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onDownloadProgress && fetchProgressDecorator(\n responseContentLength,\n progressEventReducer(onDownloadProgress, true)\n ), isStreamResponse && onFinish, encodeText),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && onFinish();\n\n stopTimeout && stopTimeout();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n onFinish();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport progressEventReducer from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType} = _config;\n let 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 let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, 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 const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n 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(new AxiosError('Request aborted', AxiosError.ECONNABORTED, _config, 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(new AxiosError('Network Error', AxiosError.ERR_NETWORK, _config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n _config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\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', progressEventReducer(_config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof _config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(_config.onUploadProgress));\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : 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 const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\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\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(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, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n 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\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const 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 */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(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 {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _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 const {transitional, paramsSerializer, headers} = config;\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 if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let 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 const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\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,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport utils from '../utils.js';\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 {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n 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: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\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 */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n 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 *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\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 *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\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 *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\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 *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(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 config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\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 config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\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 *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, 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(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const 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 withXSRFToken: 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 beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\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 *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\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\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\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 env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\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 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","export const VERSION = \"1.7.2\";","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\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 * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\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 *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst composeSignals = (signals, timeout) => {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (cancel) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = cancel instanceof Error ? cancel : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal &&\n (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort));\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = unsubscribe;\n\n return [signal, () => {\n timer && clearTimeout(timer);\n timer = null;\n }];\n}\n\nexport default composeSignals;\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default 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\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\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 const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let 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 const 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","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\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} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\n\nexport default (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n }, freq);\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\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\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\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 *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\n/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n const threshold = 1000 / freq;\n let timer = null;\n return function throttled() {\n const force = this === true;\n\n const now = Date.now();\n if (force || now - timestamp > threshold) {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n timestamp = now;\n return fn.apply(null, arguments);\n }\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n timestamp = Date.now();\n return fn.apply(null, arguments);\n }, threshold - (now - timestamp));\n }\n };\n}\n\nexport default throttle;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","\n\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize, encode) {\n for await (const chunk of iterable) {\n yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize);\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => {\n const iterator = readBytes(stream, chunkSize, encode);\n\n let bytes = 0;\n\n return new ReadableStream({\n type: 'bytes',\n\n async pull(controller) {\n const {done, value} = await iterator.next();\n\n if (done) {\n controller.close();\n onFinish();\n return;\n }\n\n let len = value.byteLength;\n onProgress && onProgress(bytes += len);\n controller.enqueue(new Uint8Array(value));\n },\n cancel(reason) {\n onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\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 *\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 (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\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 *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\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 *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = (\n (product) => {\n return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0\n })(typeof navigator !== 'undefined' && navigator.product);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\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 && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let 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 {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\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 *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\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 (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 const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\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 *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && 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 *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\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 *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\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))","// 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};","import Client from \"./Typesense/Client\";\nimport SearchClient from \"./Typesense/SearchClient\";\nimport * as Errors from \"./Typesense/Errors\";\n\nexport { Client, SearchClient, Errors };\nexport default { Client, SearchClient, Errors };\n"],"names":["Aliases","Alias","name","apiCall","_classCallCheck","_createClass","key","value","_retrieve","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","abrupt","get","endpointPath","stop","retrieve","apply","arguments","_delete2","_callee2","_callee2$","_context2","delete","_delete","concat","RESOURCEPATH","default","_upsert","mapping","put","upsert","_x","_x2","aliasName","AnalyticsRules","AnalyticsRule","AnalyticsEvents","Analytics","_defineProperty","_analyticsRules","_analyticsEvents","rules","id","undefined","individualAnalyticsRules","events","_create","params","post","create","operation","axios","HTTPError","ObjectAlreadyExists","ObjectNotFound","ObjectUnprocessable","RequestMalformed","RequestUnauthorized","ServerError","TypesenseError","Agent","HTTPAgent","HTTPSAgent","APIKEYHEADERNAME","HEALTHY","UNHEALTHY","isNodeJSEnvironment","process","versions","node","ApiCall","configuration","apiKey","nodes","JSON","parse","stringify","nearestNode","connectionTimeoutSeconds","healthcheckIntervalSeconds","numRetriesPerRequest","numRetries","retryIntervalSeconds","sendApiKeyAsQueryParam","additionalUserHeaders","additionalHeaders","logger","initializeMetadataForNodes","currentNodeIndex","_get","endpoint","queryParameters","_ref","_ref$abortSignal","abortSignal","_ref$responseType","responseType","_args","length","performRequest","_args2","_post","_callee3","bodyParameters","_args3","_callee3$","_context3","_x3","_put","_callee4","_args4","_callee4$","_context4","_x4","_patch","_callee5","_args5","_callee5$","_context5","patch","_x5","_performRequest","_callee6","requestType","_ref2","_this","_ref2$queryParameters","_ref2$bodyParameters","_ref2$additionalHeade","_ref2$abortSignal","_ref2$responseType","_ref2$skipConnectionT","skipConnectionTimeout","_ref2$enableKeepAlive","enableKeepAlive","requestNumber","lastException","_loop","_ret","numTries","_callee6$","_context7","validate","Date","now","debug","toUpperCase","abortListener","requestOptions","cancelToken","source","response","_response$data","_response$data2","_error$response","_loop$","_context6","getNextNode","index","aborted","v","Promise","reject","Error","method","url","uriFor","headers","Object","assign","defaultHeaders","maxContentLength","Infinity","maxBodyLength","validateStatus","status","transformResponse","data","transformedData","startsWith","timeout","keys","httpAgent","warn","keepAlive","httpsAgent","paramsSerializer","_typeof","CancelToken","cancel","addEventListener","token","sent","setNodeHealthcheck","resolve","customErrorForResponse","message","t0","code","timer","removeEventListener","finish","delegateYield","_x6","_x7","_x8","isHealthy","nodeDueForHealthcheck","map","join","candidateNode","i","isDueForHealthcheck","lastAccessTimestamp","_this2","forEach","protocol","host","port","path","_timer","_callee7","seconds","_callee7$","_context8","setTimeout","_x9","messageFromServer","errorMessage","trim","error","httpStatus","Configuration","Collections","Collection","Keys","Key","Debug","Metrics","Stats","Health","Operations","MultiSearch","Presets","Preset","Stopwords","Stopword","Conversations","Conversation","Client","options","_options$sendApiKeyAs","metrics","stats","health","operations","multiSearch","_collections","individualCollections","_aliases","individualAliases","_keys","individualKeys","_presets","individualPresets","_stopwords","individualStopwords","analytics","_conversations","individualConversations","collections","collectionName","aliases","presets","stopwords","conversations","Documents","Overrides","Override","Synonyms","Synonym","Document","_documents","_overrides","_synonyms","_update","schema","update","_exists","exists","documents","documentId","individualDocuments","overrides","overrideId","individualOverrides","synonyms","synonymId","individualSynonyms","MissingConfigurationError","setDefaultPathInNode","setDefaultPortInNode","_objectSpread","randomizeNodes","shuffleArray","timeoutSeconds","cacheSearchResultsForSeconds","useServerSideSearchCache","logLevel","setLevel","showDeprecationWarnings","validateNodes","isNodeMissingAnyParameters","some","every","hasOwnProperty","masterNode","readReplicaNodes","array","j","Math","floor","random","ConversationModels","ConversationModel","_conversationsModels","models","individualConversationModels","partialDocument","ImportError","SearchOnlyDocuments","_inherits","_callSuper","document","action","query","_createMany","import","createMany","_import2","documentsInJSONLFormat","resultsInJSONLFormat","resultsInJSONFormat","failedItems","_args6","Array","isArray","RangeError","includes","split","r","filter","success","_import","_importStream","readableStream","_args7","importStream","_export2","_callee8","_args8","_callee8$","_export","_exportStream","_callee9","_args9","_callee9$","_context9","exportStream","_TypesenseError","importResults","_Error","constructor","setPrototypeOf","_assertThisInitialized","prototype","_wrapNativeSuper","createHmac","generateScopedSearchKey","searchKey","parameters","paramsJSON","digest","Buffer","from","keyPrefix","substr","rawScopedKey","toString","RequestWithCache","useTextContentType","requestWithCache","clearCache","_perform","searchRequests","commonParams","_ref$cacheSearchResul","additionalQueryParams","queryParams","perform","cacheResponseForSeconds","operationName","presetId","defaultCacheResponseForSeconds","defaultMaxSize","Map","responseCache","responsePromiseCache","requestContext","requestFunction","requestFunctionArguments","cacheOptions","_cacheOptions$cacheRe","_cacheOptions$maxSize","maxSize","isCacheDisabled","requestFunctionArgumentsJSON","cacheEntry","isEntryValid","cachePromiseEntry","_isEntryValid","responsePromise","isCacheOverMaxSize","oldestEntry","isResponsePromiseCacheOverMaxSize","_oldestEntry","call","_toConsumableArray","requestTimestamp","set","size","SearchOnlyCollection","SearchClient","console","entries","_slicedToArray","_","collection","_search","searchParameters","search","stopwordId","Errors"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/typesense.min.js b/dist/typesense.min.js deleted file mode 100644 index 940365a2..00000000 --- a/dist/typesense.min.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! For license information please see typesense.min.js.LICENSE.txt */ -var Typesense;(()=>{var t={43:function(t,e,n){var r,o;!function(i,a){"use strict";r=function(){var t=function(){},e="undefined",n=typeof window!==e&&typeof window.navigator!==e&&/Trident\/|MSIE /.test(window.navigator.userAgent),r=["trace","debug","info","warn","error"],o={},i=null;function a(t,e){var n=t[e];if("function"==typeof n.bind)return n.bind(t);try{return Function.prototype.bind.call(n,t)}catch(e){return function(){return Function.prototype.apply.apply(n,[t,arguments])}}}function s(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function c(){for(var n=this.getLevel(),o=0;o=0&&e<=h.levels.SILENT)return e;throw new TypeError("log.setLevel() called with invalid level: "+t)}"string"==typeof t?p+=":"+t:"symbol"==typeof t&&(p=void 0),h.name=t,h.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},h.methodFactory=n||l,h.getLevel=function(){return null!=u?u:null!=s?s:a},h.setLevel=function(t,n){return u=d(t),!1!==n&&function(t){var n=(r[t]||"silent").toUpperCase();if(typeof window!==e&&p){try{return void(window.localStorage[p]=n)}catch(t){}try{window.document.cookie=encodeURIComponent(p)+"="+n+";"}catch(t){}}}(u),c.call(h)},h.setDefaultLevel=function(t){s=d(t),f()||h.setLevel(t,!1)},h.resetLevel=function(){u=null,function(){if(typeof window!==e&&p){try{window.localStorage.removeItem(p)}catch(t){}try{window.document.cookie=encodeURIComponent(p)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch(t){}}}(),c.call(h)},h.enableAll=function(t){h.setLevel(h.levels.TRACE,t)},h.disableAll=function(t){h.setLevel(h.levels.SILENT,t)},h.rebuild=function(){if(i!==h&&(a=d(i.getLevel())),c.call(h),i===h)for(var t in o)o[t].rebuild()},a=d(i?i.getLevel():"WARN");var y=f();null!=y&&(u=d(y)),c.call(h)}(i=new h).getLogger=function(t){if("symbol"!=typeof t&&"string"!=typeof t||""===t)throw new TypeError("You must supply a name when creating a logger.");var e=o[t];return e||(e=o[t]=new h(t,i.methodFactory)),e};var p=typeof window!==e?window.log:void 0;return i.noConflict=function(){return typeof window!==e&&window.log===i&&(window.log=p),i},i.getLoggers=function(){return o},i.default=i,i},void 0===(o=r.call(e,n,e,t))||(t.exports=o)}()},565:()=>{},337:()=>{},877:()=>{},61:(t,e,n)=>{var r=n(698).default;function o(){"use strict";t.exports=o=function(){return n},t.exports.__esModule=!0,t.exports.default=t.exports;var e,n={},i=Object.prototype,a=i.hasOwnProperty,s=Object.defineProperty||function(t,e,n){t[e]=n.value},c="function"==typeof Symbol?Symbol:{},u=c.iterator||"@@iterator",l=c.asyncIterator||"@@asyncIterator",h=c.toStringTag||"@@toStringTag";function p(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{p({},"")}catch(e){p=function(t,e,n){return t[e]=n}}function f(t,e,n,r){var o=e&&e.prototype instanceof b?e:b,i=Object.create(o.prototype),a=new U(r||[]);return s(i,"_invoke",{value:A(t,n,a)}),i}function d(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}n.wrap=f;var y="suspendedStart",v="suspendedYield",m="executing",g="completed",w={};function b(){}function C(){}function k(){}var R={};p(R,u,(function(){return this}));var E=Object.getPrototypeOf,S=E&&E(E(_([])));S&&S!==i&&a.call(S,u)&&(R=S);var O=k.prototype=b.prototype=Object.create(R);function P(t){["next","throw","return"].forEach((function(e){p(t,e,(function(t){return this._invoke(e,t)}))}))}function x(t,e){function n(o,i,s,c){var u=d(t[o],t,i);if("throw"!==u.type){var l=u.arg,h=l.value;return h&&"object"==r(h)&&a.call(h,"__await")?e.resolve(h.__await).then((function(t){n("next",t,s,c)}),(function(t){n("throw",t,s,c)})):e.resolve(h).then((function(t){l.value=t,s(l)}),(function(t){return n("throw",t,s,c)}))}c(u.arg)}var o;s(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 A(t,n,r){var o=y;return function(i,a){if(o===m)throw new Error("Generator is already running");if(o===g){if("throw"===i)throw a;return{value:e,done:!0}}for(r.method=i,r.arg=a;;){var s=r.delegate;if(s){var c=T(s,r);if(c){if(c===w)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(o===y)throw o=g,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);o=m;var u=d(t,n,r);if("normal"===u.type){if(o=r.done?g:v,u.arg===w)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(o=g,r.method="throw",r.arg=u.arg)}}}function T(t,n){var r=n.method,o=t.iterator[r];if(o===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,T(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),w;var i=d(o,t.iterator,n.arg);if("throw"===i.type)return n.method="throw",n.arg=i.arg,n.delegate=null,w;var a=i.arg;return a?a.done?(n[t.resultName]=a.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,w):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,w)}function N(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 j(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function U(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(N,this),this.reset(!0)}function _(t){if(t||""===t){var n=t[u];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,i=function n(){for(;++o=0;--o){var i=this.tryEntries[o],s=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var c=a.call(i,"catchLoc"),u=a.call(i,"finallyLoc");if(c&&u){if(this.prev=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&a.call(r,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),j(n),w}},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;j(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:_(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),w}},n}t.exports=o,t.exports.__esModule=!0,t.exports.default=t.exports},698: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},687:(t,e,n)=>{var r=n(61)();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),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var r={};(()=>{"use strict";n.r(r),n.d(r,{Client:()=>or,Errors:()=>e,SearchClient:()=>ar,default:()=>sr});var t={};n.r(t),n.d(t,{hasBrowserEnv:()=>Ut,hasStandardBrowserEnv:()=>_t,hasStandardBrowserWebWorkerEnv:()=>Ft,origin:()=>qt});var e={};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)||!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;non,ImportError:()=>yn,MissingConfigurationError:()=>R,ObjectAlreadyExists:()=>Qe,ObjectNotFound:()=>We,ObjectUnprocessable:()=>Ye,RequestMalformed:()=>He,RequestUnauthorized:()=>Ke,ServerError:()=>en,TypesenseError:()=>b});var l=n(43);function h(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function p(t,e){if(e&&("object"===i(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return h(t)}function f(t){return f=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},f(t)}function d(t,e){return d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},d(t,e)}function y(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&d(t,e)}function v(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(v=function(){return!!t})()}function m(t){var e="function"==typeof Map?new Map:void 0;return m=function(t){if(null===t||!function(t){try{return-1!==Function.toString.call(t).indexOf("[native code]")}catch(e){return"function"==typeof t}}(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return function(t,e,n){if(v())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,e);var o=new(t.bind.apply(t,r));return n&&d(o,n.prototype),o}(t,arguments,f(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),d(n,t)},m(t)}function g(t,e,n){return e=f(e),p(t,w()?Reflect.construct(e,n||[],f(t).constructor):e.apply(t,n))}function w(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(w=function(){return!!t})()}var b=function(t){function e(t){var n;return o(this,e),(n=g(this,e,[t])).name=(this instanceof e?this.constructor:void 0).name,Object.setPrototypeOf(h(n),(this instanceof e?this.constructor:void 0).prototype),n}return y(e,t),c(e)}(m(Error));function C(t,e,n){return e=f(e),p(t,k()?Reflect.construct(e,n||[],f(t).constructor):e.apply(t,n))}function k(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(k=function(){return!!t})()}var R=function(t){function e(){return o(this,e),C(this,e,arguments)}return y(e,t),c(e)}(b);function E(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}var S=function(){function t(e){var n=this;o(this,t),this.nodes=e.nodes||[],this.nodes=this.nodes.map((function(t){return n.setDefaultPathInNode(t)})).map((function(t){return n.setDefaultPortInNode(t)})).map((function(t){return function(t){for(var e=1;e0;e--){var n=Math.floor(Math.random()*(e+1)),r=[t[n],t[e]];t[e]=r[0],t[n]=r[1]}}}]),t}();function O(t,e,n,r,o,i,a){try{var s=t[i](a),c=s.value}catch(t){return void n(t)}s.done?e(c):Promise.resolve(c).then(r,o)}function P(t){return function(){var e=this,n=arguments;return new Promise((function(r,o){var i=t.apply(e,n);function a(t){O(i,r,o,a,s,"next",t)}function s(t){O(i,r,o,a,s,"throw",t)}a(void 0)}))}}var x=n(687),A=n.n(x);function T(t,e){return function(){return t.apply(e,arguments)}}const{toString:N}=Object.prototype,{getPrototypeOf:j}=Object,U=(_=Object.create(null),t=>{const e=N.call(t);return _[e]||(_[e]=e.slice(8,-1).toLowerCase())});var _;const L=t=>(t=t.toLowerCase(),e=>U(e)===t),F=t=>e=>typeof e===t,{isArray:q}=Array,B=F("undefined"),D=L("ArrayBuffer"),H=F("string"),I=F("function"),M=F("number"),K=t=>null!==t&&"object"==typeof t,z=t=>{if("object"!==U(t))return!1;const e=j(t);return!(null!==e&&e!==Object.prototype&&null!==Object.getPrototypeOf(e)||Symbol.toStringTag in t||Symbol.iterator in t)},J=L("Date"),W=L("File"),G=L("Blob"),V=L("FileList"),Q=L("URLSearchParams"),[$,X,Y,Z]=["ReadableStream","Request","Response","Headers"].map(L);function tt(t,e,{allOwnKeys:n=!1}={}){if(null==t)return;let r,o;if("object"!=typeof t&&(t=[t]),q(t))for(r=0,o=t.length;r0;)if(r=n[o],e===r.toLowerCase())return r;return null}const nt="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,rt=t=>!B(t)&&t!==nt,ot=(it="undefined"!=typeof Uint8Array&&j(Uint8Array),t=>it&&t instanceof it);var it;const at=L("HTMLFormElement"),st=(({hasOwnProperty:t})=>(e,n)=>t.call(e,n))(Object.prototype),ct=L("RegExp"),ut=(t,e)=>{const n=Object.getOwnPropertyDescriptors(t),r={};tt(n,((n,o)=>{let i;!1!==(i=e(n,o,t))&&(r[o]=i||n)})),Object.defineProperties(t,r)},lt="abcdefghijklmnopqrstuvwxyz",ht="0123456789",pt={DIGIT:ht,ALPHA:lt,ALPHA_DIGIT:lt+lt.toUpperCase()+ht},ft=L("AsyncFunction"),dt={isArray:q,isArrayBuffer:D,isBuffer:function(t){return null!==t&&!B(t)&&null!==t.constructor&&!B(t.constructor)&&I(t.constructor.isBuffer)&&t.constructor.isBuffer(t)},isFormData:t=>{let e;return t&&("function"==typeof FormData&&t instanceof FormData||I(t.append)&&("formdata"===(e=U(t))||"object"===e&&I(t.toString)&&"[object FormData]"===t.toString()))},isArrayBufferView:function(t){let e;return e="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&D(t.buffer),e},isString:H,isNumber:M,isBoolean:t=>!0===t||!1===t,isObject:K,isPlainObject:z,isReadableStream:$,isRequest:X,isResponse:Y,isHeaders:Z,isUndefined:B,isDate:J,isFile:W,isBlob:G,isRegExp:ct,isFunction:I,isStream:t=>K(t)&&I(t.pipe),isURLSearchParams:Q,isTypedArray:ot,isFileList:V,forEach:tt,merge:function t(){const{caseless:e}=rt(this)&&this||{},n={},r=(r,o)=>{const i=e&&et(n,o)||o;z(n[i])&&z(r)?n[i]=t(n[i],r):z(r)?n[i]=t({},r):q(r)?n[i]=r.slice():n[i]=r};for(let t=0,e=arguments.length;t(tt(e,((e,r)=>{n&&I(e)?t[r]=T(e,n):t[r]=e}),{allOwnKeys:r}),t),trim:t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:t=>(65279===t.charCodeAt(0)&&(t=t.slice(1)),t),inherits:(t,e,n,r)=>{t.prototype=Object.create(e.prototype,r),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),n&&Object.assign(t.prototype,n)},toFlatObject:(t,e,n,r)=>{let o,i,a;const s={};if(e=e||{},null==t)return e;do{for(o=Object.getOwnPropertyNames(t),i=o.length;i-- >0;)a=o[i],r&&!r(a,t,e)||s[a]||(e[a]=t[a],s[a]=!0);t=!1!==n&&j(t)}while(t&&(!n||n(t,e))&&t!==Object.prototype);return e},kindOf:U,kindOfTest:L,endsWith:(t,e,n)=>{t=String(t),(void 0===n||n>t.length)&&(n=t.length),n-=e.length;const r=t.indexOf(e,n);return-1!==r&&r===n},toArray:t=>{if(!t)return null;if(q(t))return t;let e=t.length;if(!M(e))return null;const n=new Array(e);for(;e-- >0;)n[e]=t[e];return n},forEachEntry:(t,e)=>{const n=(t&&t[Symbol.iterator]).call(t);let r;for(;(r=n.next())&&!r.done;){const n=r.value;e.call(t,n[0],n[1])}},matchAll:(t,e)=>{let n;const r=[];for(;null!==(n=t.exec(e));)r.push(n);return r},isHTMLForm:at,hasOwnProperty:st,hasOwnProp:st,reduceDescriptors:ut,freezeMethods:t=>{ut(t,((e,n)=>{if(I(t)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;const r=t[n];I(r)&&(e.enumerable=!1,"writable"in e?e.writable=!1:e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}))}))},toObjectSet:(t,e)=>{const n={},r=t=>{t.forEach((t=>{n[t]=!0}))};return q(t)?r(t):r(String(t).split(e)),n},toCamelCase:t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(t,e,n){return e.toUpperCase()+n})),noop:()=>{},toFiniteNumber:(t,e)=>null!=t&&Number.isFinite(t=+t)?t:e,findKey:et,global:nt,isContextDefined:rt,ALPHABET:pt,generateString:(t=16,e=pt.ALPHA_DIGIT)=>{let n="";const{length:r}=e;for(;t--;)n+=e[Math.random()*r|0];return n},isSpecCompliantForm:function(t){return!!(t&&I(t.append)&&"FormData"===t[Symbol.toStringTag]&&t[Symbol.iterator])},toJSONObject:t=>{const e=new Array(10),n=(t,r)=>{if(K(t)){if(e.indexOf(t)>=0)return;if(!("toJSON"in t)){e[r]=t;const o=q(t)?[]:{};return tt(t,((t,e)=>{const i=n(t,r+1);!B(i)&&(o[e]=i)})),e[r]=void 0,o}}return t};return n(t,0)},isAsyncFn:ft,isThenable:t=>t&&(K(t)||I(t))&&I(t.then)&&I(t.catch)};function yt(t,e,n,r,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=t,this.name="AxiosError",e&&(this.code=e),n&&(this.config=n),r&&(this.request=r),o&&(this.response=o)}dt.inherits(yt,Error,{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:dt.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const vt=yt.prototype,mt={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((t=>{mt[t]={value:t}})),Object.defineProperties(yt,mt),Object.defineProperty(vt,"isAxiosError",{value:!0}),yt.from=(t,e,n,r,o,i)=>{const a=Object.create(vt);return dt.toFlatObject(t,a,(function(t){return t!==Error.prototype}),(t=>"isAxiosError"!==t)),yt.call(a,t.message,e,n,r,o),a.cause=t,a.name=t.name,i&&Object.assign(a,i),a};const gt=yt;function wt(t){return dt.isPlainObject(t)||dt.isArray(t)}function bt(t){return dt.endsWith(t,"[]")?t.slice(0,-2):t}function Ct(t,e,n){return t?t.concat(e).map((function(t,e){return t=bt(t),!n&&e?"["+t+"]":t})).join(n?".":""):e}const kt=dt.toFlatObject(dt,{},null,(function(t){return/^is[A-Z]/.test(t)})),Rt=function(t,e,n){if(!dt.isObject(t))throw new TypeError("target must be an object");e=e||new FormData;const r=(n=dt.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(t,e){return!dt.isUndefined(e[t])}))).metaTokens,o=n.visitor||u,i=n.dots,a=n.indexes,s=(n.Blob||"undefined"!=typeof Blob&&Blob)&&dt.isSpecCompliantForm(e);if(!dt.isFunction(o))throw new TypeError("visitor must be a function");function c(t){if(null===t)return"";if(dt.isDate(t))return t.toISOString();if(!s&&dt.isBlob(t))throw new gt("Blob is not supported. Use a Buffer instead.");return dt.isArrayBuffer(t)||dt.isTypedArray(t)?s&&"function"==typeof Blob?new Blob([t]):Buffer.from(t):t}function u(t,n,o){let s=t;if(t&&!o&&"object"==typeof t)if(dt.endsWith(n,"{}"))n=r?n:n.slice(0,-2),t=JSON.stringify(t);else if(dt.isArray(t)&&function(t){return dt.isArray(t)&&!t.some(wt)}(t)||(dt.isFileList(t)||dt.endsWith(n,"[]"))&&(s=dt.toArray(t)))return n=bt(n),s.forEach((function(t,r){!dt.isUndefined(t)&&null!==t&&e.append(!0===a?Ct([n],r,i):null===a?n:n+"[]",c(t))})),!1;return!!wt(t)||(e.append(Ct(o,n,i),c(t)),!1)}const l=[],h=Object.assign(kt,{defaultVisitor:u,convertValue:c,isVisitable:wt});if(!dt.isObject(t))throw new TypeError("data must be an object");return function t(n,r){if(!dt.isUndefined(n)){if(-1!==l.indexOf(n))throw Error("Circular reference detected in "+r.join("."));l.push(n),dt.forEach(n,(function(n,i){!0===(!(dt.isUndefined(n)||null===n)&&o.call(e,n,dt.isString(i)?i.trim():i,r,h))&&t(n,r?r.concat(i):[i])})),l.pop()}}(t),e};function Et(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,(function(t){return e[t]}))}function St(t,e){this._pairs=[],t&&Rt(t,this,e)}const Ot=St.prototype;Ot.append=function(t,e){this._pairs.push([t,e])},Ot.toString=function(t){const e=t?function(e){return t.call(this,e,Et)}:Et;return this._pairs.map((function(t){return e(t[0])+"="+e(t[1])}),"").join("&")};const Pt=St;function xt(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function At(t,e,n){if(!e)return t;const r=n&&n.encode||xt,o=n&&n.serialize;let i;if(i=o?o(e,n):dt.isURLSearchParams(e)?e.toString():new Pt(e,n).toString(r),i){const e=t.indexOf("#");-1!==e&&(t=t.slice(0,e)),t+=(-1===t.indexOf("?")?"?":"&")+i}return t}const Tt=class{constructor(){this.handlers=[]}use(t,e,n){return this.handlers.push({fulfilled:t,rejected:e,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){dt.forEach(this.handlers,(function(e){null!==e&&t(e)}))}},Nt={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},jt={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:Pt,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]},Ut="undefined"!=typeof window&&"undefined"!=typeof document,_t=(Lt="undefined"!=typeof navigator&&navigator.product,Ut&&["ReactNative","NativeScript","NS"].indexOf(Lt)<0);var Lt;const Ft="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,qt=Ut&&window.location.href||"http://localhost",Bt={...t,...jt},Dt=function(t){function e(t,n,r,o){let i=t[o++];if("__proto__"===i)return!0;const a=Number.isFinite(+i),s=o>=t.length;return i=!i&&dt.isArray(r)?r.length:i,s?(dt.hasOwnProp(r,i)?r[i]=[r[i],n]:r[i]=n,!a):(r[i]&&dt.isObject(r[i])||(r[i]=[]),e(t,n,r[i],o)&&dt.isArray(r[i])&&(r[i]=function(t){const e={},n=Object.keys(t);let r;const o=n.length;let i;for(r=0;r{e(function(t){return dt.matchAll(/\w+|\[(\w*)]/g,t).map((t=>"[]"===t[0]?"":t[1]||t[0]))}(t),r,n,0)})),n}return null},Ht={transitional:Nt,adapter:["xhr","http","fetch"],transformRequest:[function(t,e){const n=e.getContentType()||"",r=n.indexOf("application/json")>-1,o=dt.isObject(t);if(o&&dt.isHTMLForm(t)&&(t=new FormData(t)),dt.isFormData(t))return r?JSON.stringify(Dt(t)):t;if(dt.isArrayBuffer(t)||dt.isBuffer(t)||dt.isStream(t)||dt.isFile(t)||dt.isBlob(t)||dt.isReadableStream(t))return t;if(dt.isArrayBufferView(t))return t.buffer;if(dt.isURLSearchParams(t))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let i;if(o){if(n.indexOf("application/x-www-form-urlencoded")>-1)return function(t,e){return Rt(t,new Bt.classes.URLSearchParams,Object.assign({visitor:function(t,e,n,r){return Bt.isNode&&dt.isBuffer(t)?(this.append(e,t.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)}},e))}(t,this.formSerializer).toString();if((i=dt.isFileList(t))||n.indexOf("multipart/form-data")>-1){const e=this.env&&this.env.FormData;return Rt(i?{"files[]":t}:t,e&&new e,this.formSerializer)}}return o||r?(e.setContentType("application/json",!1),function(t,e,n){if(dt.isString(t))try{return(0,JSON.parse)(t),dt.trim(t)}catch(t){if("SyntaxError"!==t.name)throw t}return(0,JSON.stringify)(t)}(t)):t}],transformResponse:[function(t){const e=this.transitional||Ht.transitional,n=e&&e.forcedJSONParsing,r="json"===this.responseType;if(dt.isResponse(t)||dt.isReadableStream(t))return t;if(t&&dt.isString(t)&&(n&&!this.responseType||r)){const n=!(e&&e.silentJSONParsing)&&r;try{return JSON.parse(t)}catch(t){if(n){if("SyntaxError"===t.name)throw gt.from(t,gt.ERR_BAD_RESPONSE,this,null,this.response);throw t}}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Bt.classes.FormData,Blob:Bt.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};dt.forEach(["delete","get","head","post","put","patch"],(t=>{Ht.headers[t]={}}));const It=Ht,Mt=dt.toObjectSet(["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"]),Kt=Symbol("internals");function zt(t){return t&&String(t).trim().toLowerCase()}function Jt(t){return!1===t||null==t?t:dt.isArray(t)?t.map(Jt):String(t)}function Wt(t,e,n,r,o){return dt.isFunction(r)?r.call(this,e,n):(o&&(e=n),dt.isString(e)?dt.isString(r)?-1!==e.indexOf(r):dt.isRegExp(r)?r.test(e):void 0:void 0)}class Gt{constructor(t){t&&this.set(t)}set(t,e,n){const r=this;function o(t,e,n){const o=zt(e);if(!o)throw new Error("header name must be a non-empty string");const i=dt.findKey(r,o);(!i||void 0===r[i]||!0===n||void 0===n&&!1!==r[i])&&(r[i||e]=Jt(t))}const i=(t,e)=>dt.forEach(t,((t,n)=>o(t,n,e)));if(dt.isPlainObject(t)||t instanceof this.constructor)i(t,e);else if(dt.isString(t)&&(t=t.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim()))i((t=>{const e={};let n,r,o;return t&&t.split("\n").forEach((function(t){o=t.indexOf(":"),n=t.substring(0,o).trim().toLowerCase(),r=t.substring(o+1).trim(),!n||e[n]&&Mt[n]||("set-cookie"===n?e[n]?e[n].push(r):e[n]=[r]:e[n]=e[n]?e[n]+", "+r:r)})),e})(t),e);else if(dt.isHeaders(t))for(const[e,r]of t.entries())o(r,e,n);else null!=t&&o(e,t,n);return this}get(t,e){if(t=zt(t)){const n=dt.findKey(this,t);if(n){const t=this[n];if(!e)return t;if(!0===e)return function(t){const e=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(t);)e[r[1]]=r[2];return e}(t);if(dt.isFunction(e))return e.call(this,t,n);if(dt.isRegExp(e))return e.exec(t);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,e){if(t=zt(t)){const n=dt.findKey(this,t);return!(!n||void 0===this[n]||e&&!Wt(0,this[n],n,e))}return!1}delete(t,e){const n=this;let r=!1;function o(t){if(t=zt(t)){const o=dt.findKey(n,t);!o||e&&!Wt(0,n[o],o,e)||(delete n[o],r=!0)}}return dt.isArray(t)?t.forEach(o):o(t),r}clear(t){const e=Object.keys(this);let n=e.length,r=!1;for(;n--;){const o=e[n];t&&!Wt(0,this[o],o,t,!0)||(delete this[o],r=!0)}return r}normalize(t){const e=this,n={};return dt.forEach(this,((r,o)=>{const i=dt.findKey(n,o);if(i)return e[i]=Jt(r),void delete e[o];const a=t?function(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((t,e,n)=>e.toUpperCase()+n))}(o):String(o).trim();a!==o&&delete e[o],e[a]=Jt(r),n[a]=!0})),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const e=Object.create(null);return dt.forEach(this,((n,r)=>{null!=n&&!1!==n&&(e[r]=t&&dt.isArray(n)?n.join(", "):n)})),e}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([t,e])=>t+": "+e)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...e){const n=new this(t);return e.forEach((t=>n.set(t))),n}static accessor(t){const e=(this[Kt]=this[Kt]={accessors:{}}).accessors,n=this.prototype;function r(t){const r=zt(t);e[r]||(function(t,e){const n=dt.toCamelCase(" "+e);["get","set","has"].forEach((r=>{Object.defineProperty(t,r+n,{value:function(t,n,o){return this[r].call(this,e,t,n,o)},configurable:!0})}))}(n,t),e[r]=!0)}return dt.isArray(t)?t.forEach(r):r(t),this}}Gt.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),dt.reduceDescriptors(Gt.prototype,(({value:t},e)=>{let n=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(t){this[n]=t}}})),dt.freezeMethods(Gt);const Vt=Gt;function Qt(t,e){const n=this||It,r=e||n,o=Vt.from(r.headers);let i=r.data;return dt.forEach(t,(function(t){i=t.call(n,i,o.normalize(),e?e.status:void 0)})),o.normalize(),i}function $t(t){return!(!t||!t.__CANCEL__)}function Xt(t,e,n){gt.call(this,null==t?"canceled":t,gt.ERR_CANCELED,e,n),this.name="CanceledError"}dt.inherits(Xt,gt,{__CANCEL__:!0});const Yt=Xt;function Zt(t,e,n){const r=n.config.validateStatus;n.status&&r&&!r(n.status)?e(new gt("Request failed with status code "+n.status,[gt.ERR_BAD_REQUEST,gt.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):t(n)}const te=(t,e,n=3)=>{let r=0;const o=function(t,e){t=t||10;const n=new Array(t),r=new Array(t);let o,i=0,a=0;return e=void 0!==e?e:1e3,function(s){const c=Date.now(),u=r[a];o||(o=c),n[i]=s,r[i]=c;let l=a,h=0;for(;l!==i;)h+=n[l++],l%=t;if(i=(i+1)%t,i===a&&(a=(a+1)%t),c-or)return o&&(clearTimeout(o),o=null),n=i,t.apply(null,arguments);o||(o=setTimeout((()=>(o=null,n=Date.now(),t.apply(null,arguments))),r-(i-n)))}}((n=>{const i=n.loaded,a=n.lengthComputable?n.total:void 0,s=i-r,c=o(s);r=i;const u={loaded:i,total:a,progress:a?i/a:void 0,bytes:s,rate:c||void 0,estimated:c&&a&&i<=a?(a-i)/c:void 0,event:n,lengthComputable:null!=a};u[e?"download":"upload"]=!0,t(u)}),n)},ee=Bt.hasStandardBrowserEnv?function(){const t=/(msie|trident)/i.test(navigator.userAgent),e=document.createElement("a");let n;function r(n){let r=n;return t&&(e.setAttribute("href",r),r=e.href),e.setAttribute("href",r),{href:e.href,protocol:e.protocol?e.protocol.replace(/:$/,""):"",host:e.host,search:e.search?e.search.replace(/^\?/,""):"",hash:e.hash?e.hash.replace(/^#/,""):"",hostname:e.hostname,port:e.port,pathname:"/"===e.pathname.charAt(0)?e.pathname:"/"+e.pathname}}return n=r(window.location.href),function(t){const e=dt.isString(t)?r(t):t;return e.protocol===n.protocol&&e.host===n.host}}():function(){return!0},ne=Bt.hasStandardBrowserEnv?{write(t,e,n,r,o,i){const a=[t+"="+encodeURIComponent(e)];dt.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),dt.isString(r)&&a.push("path="+r),dt.isString(o)&&a.push("domain="+o),!0===i&&a.push("secure"),document.cookie=a.join("; ")},read(t){const e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove(t){this.write(t,"",Date.now()-864e5)}}:{write(){},read:()=>null,remove(){}};function re(t,e){return t&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)?function(t,e){return e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}(t,e):e}const oe=t=>t instanceof Vt?{...t}:t;function ie(t,e){e=e||{};const n={};function r(t,e,n){return dt.isPlainObject(t)&&dt.isPlainObject(e)?dt.merge.call({caseless:n},t,e):dt.isPlainObject(e)?dt.merge({},e):dt.isArray(e)?e.slice():e}function o(t,e,n){return dt.isUndefined(e)?dt.isUndefined(t)?void 0:r(void 0,t,n):r(t,e,n)}function i(t,e){if(!dt.isUndefined(e))return r(void 0,e)}function a(t,e){return dt.isUndefined(e)?dt.isUndefined(t)?void 0:r(void 0,t):r(void 0,e)}function s(n,o,i){return i in e?r(n,o):i in t?r(void 0,n):void 0}const c={url:i,method:i,data:i,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:s,headers:(t,e)=>o(oe(t),oe(e),!0)};return dt.forEach(Object.keys(Object.assign({},t,e)),(function(r){const i=c[r]||o,a=i(t[r],e[r],r);dt.isUndefined(a)&&i!==s||(n[r]=a)})),n}const ae=t=>{const e=ie({},t);let n,{data:r,withXSRFToken:o,xsrfHeaderName:i,xsrfCookieName:a,headers:s,auth:c}=e;if(e.headers=s=Vt.from(s),e.url=At(re(e.baseURL,e.url),t.params,t.paramsSerializer),c&&s.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?unescape(encodeURIComponent(c.password)):""))),dt.isFormData(r))if(Bt.hasStandardBrowserEnv||Bt.hasStandardBrowserWebWorkerEnv)s.setContentType(void 0);else if(!1!==(n=s.getContentType())){const[t,...e]=n?n.split(";").map((t=>t.trim())).filter(Boolean):[];s.setContentType([t||"multipart/form-data",...e].join("; "))}if(Bt.hasStandardBrowserEnv&&(o&&dt.isFunction(o)&&(o=o(e)),o||!1!==o&&ee(e.url))){const t=i&&a&&ne.read(a);t&&s.set(i,t)}return e},se="undefined"!=typeof XMLHttpRequest&&function(t){return new Promise((function(e,n){const r=ae(t);let o=r.data;const i=Vt.from(r.headers).normalize();let a,{responseType:s}=r;function c(){r.cancelToken&&r.cancelToken.unsubscribe(a),r.signal&&r.signal.removeEventListener("abort",a)}let u=new XMLHttpRequest;function l(){if(!u)return;const r=Vt.from("getAllResponseHeaders"in u&&u.getAllResponseHeaders());Zt((function(t){e(t),c()}),(function(t){n(t),c()}),{data:s&&"text"!==s&&"json"!==s?u.response:u.responseText,status:u.status,statusText:u.statusText,headers:r,config:t,request:u}),u=null}u.open(r.method.toUpperCase(),r.url,!0),u.timeout=r.timeout,"onloadend"in u?u.onloadend=l:u.onreadystatechange=function(){u&&4===u.readyState&&(0!==u.status||u.responseURL&&0===u.responseURL.indexOf("file:"))&&setTimeout(l)},u.onabort=function(){u&&(n(new gt("Request aborted",gt.ECONNABORTED,r,u)),u=null)},u.onerror=function(){n(new gt("Network Error",gt.ERR_NETWORK,r,u)),u=null},u.ontimeout=function(){let t=r.timeout?"timeout of "+r.timeout+"ms exceeded":"timeout exceeded";const e=r.transitional||Nt;r.timeoutErrorMessage&&(t=r.timeoutErrorMessage),n(new gt(t,e.clarifyTimeoutError?gt.ETIMEDOUT:gt.ECONNABORTED,r,u)),u=null},void 0===o&&i.setContentType(null),"setRequestHeader"in u&&dt.forEach(i.toJSON(),(function(t,e){u.setRequestHeader(e,t)})),dt.isUndefined(r.withCredentials)||(u.withCredentials=!!r.withCredentials),s&&"json"!==s&&(u.responseType=r.responseType),"function"==typeof r.onDownloadProgress&&u.addEventListener("progress",te(r.onDownloadProgress,!0)),"function"==typeof r.onUploadProgress&&u.upload&&u.upload.addEventListener("progress",te(r.onUploadProgress)),(r.cancelToken||r.signal)&&(a=e=>{u&&(n(!e||e.type?new Yt(null,t,u):e),u.abort(),u=null)},r.cancelToken&&r.cancelToken.subscribe(a),r.signal&&(r.signal.aborted?a():r.signal.addEventListener("abort",a)));const h=function(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}(r.url);h&&-1===Bt.protocols.indexOf(h)?n(new gt("Unsupported protocol "+h+":",gt.ERR_BAD_REQUEST,t)):u.send(o||null)}))},ce=(t,e)=>{let n,r=new AbortController;const o=function(t){if(!n){n=!0,a();const e=t instanceof Error?t:this.reason;r.abort(e instanceof gt?e:new Yt(e instanceof Error?e.message:e))}};let i=e&&setTimeout((()=>{o(new gt(`timeout ${e} of ms exceeded`,gt.ETIMEDOUT))}),e);const a=()=>{t&&(i&&clearTimeout(i),i=null,t.forEach((t=>{t&&(t.removeEventListener?t.removeEventListener("abort",o):t.unsubscribe(o))})),t=null)};t.forEach((t=>t&&t.addEventListener&&t.addEventListener("abort",o)));const{signal:s}=r;return s.unsubscribe=a,[s,()=>{i&&clearTimeout(i),i=null}]},ue=function*(t,e){let n=t.byteLength;if(!e||n{const i=async function*(t,e,n){for await(const r of t)yield*ue(ArrayBuffer.isView(r)?r:await n(String(r)),e)}(t,e,o);let a=0;return new ReadableStream({type:"bytes",async pull(t){const{done:e,value:o}=await i.next();if(e)return t.close(),void r();let s=o.byteLength;n&&n(a+=s),t.enqueue(new Uint8Array(o))},cancel:t=>(r(t),i.return())},{highWaterMark:2})},he=(t,e)=>{const n=null!=t;return r=>setTimeout((()=>e({lengthComputable:n,total:t,loaded:r})))},pe="function"==typeof fetch&&"function"==typeof Request&&"function"==typeof Response,fe=pe&&"function"==typeof ReadableStream,de=pe&&("function"==typeof TextEncoder?(ye=new TextEncoder,t=>ye.encode(t)):async t=>new Uint8Array(await new Response(t).arrayBuffer()));var ye;const ve=fe&&(()=>{let t=!1;const e=new Request(Bt.origin,{body:new ReadableStream,method:"POST",get duplex(){return t=!0,"half"}}).headers.has("Content-Type");return t&&!e})(),me=fe&&!!(()=>{try{return dt.isReadableStream(new Response("").body)}catch(t){}})(),ge={stream:me&&(t=>t.body)};var we;pe&&(we=new Response,["text","arrayBuffer","blob","formData","stream"].forEach((t=>{!ge[t]&&(ge[t]=dt.isFunction(we[t])?e=>e[t]():(e,n)=>{throw new gt(`Response type '${t}' is not supported`,gt.ERR_NOT_SUPPORT,n)})})));const be={http:null,xhr:se,fetch:pe&&(async t=>{let{url:e,method:n,data:r,signal:o,cancelToken:i,timeout:a,onDownloadProgress:s,onUploadProgress:c,responseType:u,headers:l,withCredentials:h="same-origin",fetchOptions:p}=ae(t);u=u?(u+"").toLowerCase():"text";let f,d,[y,v]=o||i||a?ce([o,i],a):[];const m=()=>{!f&&setTimeout((()=>{y&&y.unsubscribe()})),f=!0};let g;try{if(c&&ve&&"get"!==n&&"head"!==n&&0!==(g=await(async(t,e)=>{const n=dt.toFiniteNumber(t.getContentLength());return null==n?(async t=>null==t?0:dt.isBlob(t)?t.size:dt.isSpecCompliantForm(t)?(await new Request(t).arrayBuffer()).byteLength:dt.isArrayBufferView(t)?t.byteLength:(dt.isURLSearchParams(t)&&(t+=""),dt.isString(t)?(await de(t)).byteLength:void 0))(e):n})(l,r))){let t,n=new Request(e,{method:"POST",body:r,duplex:"half"});dt.isFormData(r)&&(t=n.headers.get("content-type"))&&l.setContentType(t),n.body&&(r=le(n.body,65536,he(g,te(c)),null,de))}dt.isString(h)||(h=h?"cors":"omit"),d=new Request(e,{...p,signal:y,method:n.toUpperCase(),headers:l.normalize().toJSON(),body:r,duplex:"half",withCredentials:h});let o=await fetch(d);const i=me&&("stream"===u||"response"===u);if(me&&(s||i)){const t={};["status","statusText","headers"].forEach((e=>{t[e]=o[e]}));const e=dt.toFiniteNumber(o.headers.get("content-length"));o=new Response(le(o.body,65536,s&&he(e,te(s,!0)),i&&m,de),t)}u=u||"text";let a=await ge[dt.findKey(ge,u)||"text"](o,t);return!i&&m(),v&&v(),await new Promise(((e,n)=>{Zt(e,n,{data:a,headers:Vt.from(o.headers),status:o.status,statusText:o.statusText,config:t,request:d})}))}catch(e){if(m(),e&&"TypeError"===e.name&&/fetch/i.test(e.message))throw Object.assign(new gt("Network Error",gt.ERR_NETWORK,t,d),{cause:e.cause||e});throw gt.from(e,e&&e.code,t,d)}})};dt.forEach(be,((t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch(t){}Object.defineProperty(t,"adapterName",{value:e})}}));const Ce=t=>`- ${t}`,ke=t=>dt.isFunction(t)||null===t||!1===t,Re=t=>{t=dt.isArray(t)?t:[t];const{length:e}=t;let n,r;const o={};for(let i=0;i`adapter ${t} `+(!1===e?"is not supported by the environment":"is not available in the build")));let n=e?t.length>1?"since :\n"+t.map(Ce).join("\n"):" "+Ce(t[0]):"as no adapter specified";throw new gt("There is no suitable adapter to dispatch the request "+n,"ERR_NOT_SUPPORT")}return r};function Ee(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new Yt(null,t)}function Se(t){return Ee(t),t.headers=Vt.from(t.headers),t.data=Qt.call(t,t.transformRequest),-1!==["post","put","patch"].indexOf(t.method)&&t.headers.setContentType("application/x-www-form-urlencoded",!1),Re(t.adapter||It.adapter)(t).then((function(e){return Ee(t),e.data=Qt.call(t,t.transformResponse,e),e.headers=Vt.from(e.headers),e}),(function(e){return $t(e)||(Ee(t),e&&e.response&&(e.response.data=Qt.call(t,t.transformResponse,e.response),e.response.headers=Vt.from(e.response.headers))),Promise.reject(e)}))}const Oe={};["object","boolean","number","function","string","symbol"].forEach(((t,e)=>{Oe[t]=function(n){return typeof n===t||"a"+(e<1?"n ":" ")+t}}));const Pe={};Oe.transitional=function(t,e,n){function r(t,e){return"[Axios v1.7.2] Transitional option '"+t+"'"+e+(n?". "+n:"")}return(n,o,i)=>{if(!1===t)throw new gt(r(o," has been removed"+(e?" in "+e:"")),gt.ERR_DEPRECATED);return e&&!Pe[o]&&(Pe[o]=!0,console.warn(r(o," has been deprecated since v"+e+" and will be removed in the near future"))),!t||t(n,o,i)}};const xe={assertOptions:function(t,e,n){if("object"!=typeof t)throw new gt("options must be an object",gt.ERR_BAD_OPTION_VALUE);const r=Object.keys(t);let o=r.length;for(;o-- >0;){const i=r[o],a=e[i];if(a){const e=t[i],n=void 0===e||a(e,i,t);if(!0!==n)throw new gt("option "+i+" must be "+n,gt.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new gt("Unknown option "+i,gt.ERR_BAD_OPTION)}},validators:Oe},Ae=xe.validators;class Te{constructor(t){this.defaults=t,this.interceptors={request:new Tt,response:new Tt}}async request(t,e){try{return await this._request(t,e)}catch(t){if(t instanceof Error){let e;Error.captureStackTrace?Error.captureStackTrace(e={}):e=new Error;const n=e.stack?e.stack.replace(/^.+\n/,""):"";try{t.stack?n&&!String(t.stack).endsWith(n.replace(/^.+\n.+\n/,""))&&(t.stack+="\n"+n):t.stack=n}catch(t){}}throw t}}_request(t,e){"string"==typeof t?(e=e||{}).url=t:e=t||{},e=ie(this.defaults,e);const{transitional:n,paramsSerializer:r,headers:o}=e;void 0!==n&&xe.assertOptions(n,{silentJSONParsing:Ae.transitional(Ae.boolean),forcedJSONParsing:Ae.transitional(Ae.boolean),clarifyTimeoutError:Ae.transitional(Ae.boolean)},!1),null!=r&&(dt.isFunction(r)?e.paramsSerializer={serialize:r}:xe.assertOptions(r,{encode:Ae.function,serialize:Ae.function},!0)),e.method=(e.method||this.defaults.method||"get").toLowerCase();let i=o&&dt.merge(o.common,o[e.method]);o&&dt.forEach(["delete","get","head","post","put","patch","common"],(t=>{delete o[t]})),e.headers=Vt.concat(i,o);const a=[];let s=!0;this.interceptors.request.forEach((function(t){"function"==typeof t.runWhen&&!1===t.runWhen(e)||(s=s&&t.synchronous,a.unshift(t.fulfilled,t.rejected))}));const c=[];let u;this.interceptors.response.forEach((function(t){c.push(t.fulfilled,t.rejected)}));let l,h=0;if(!s){const t=[Se.bind(this),void 0];for(t.unshift.apply(t,a),t.push.apply(t,c),l=t.length,u=Promise.resolve(e);h{if(!n._listeners)return;let e=n._listeners.length;for(;e-- >0;)n._listeners[e](t);n._listeners=null})),this.promise.then=t=>{let e;const r=new Promise((t=>{n.subscribe(t),e=t})).then(t);return r.cancel=function(){n.unsubscribe(e)},r},t((function(t,r,o){n.reason||(n.reason=new Yt(t,r,o),e(n.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){this.reason?t(this.reason):this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const e=this._listeners.indexOf(t);-1!==e&&this._listeners.splice(e,1)}static source(){let t;return{token:new je((function(e){t=e})),cancel:t}}}const Ue=je,_e={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(_e).forEach((([t,e])=>{_e[e]=t}));const Le=_e,Fe=function t(e){const n=new Ne(e),r=T(Ne.prototype.request,n);return dt.extend(r,Ne.prototype,n,{allOwnKeys:!0}),dt.extend(r,n,null,{allOwnKeys:!0}),r.create=function(n){return t(ie(e,n))},r}(It);Fe.Axios=Ne,Fe.CanceledError=Yt,Fe.CancelToken=Ue,Fe.isCancel=$t,Fe.VERSION="1.7.2",Fe.toFormData=Rt,Fe.AxiosError=gt,Fe.Cancel=Fe.CanceledError,Fe.all=function(t){return Promise.all(t)},Fe.spread=function(t){return function(e){return t.apply(null,e)}},Fe.isAxiosError=function(t){return dt.isObject(t)&&!0===t.isAxiosError},Fe.mergeConfig=ie,Fe.AxiosHeaders=Vt,Fe.formToJSON=t=>Dt(dt.isHTMLForm(t)?new FormData(t):t),Fe.getAdapter=Re,Fe.HttpStatusCode=Le,Fe.default=Fe;const qe=Fe;function Be(t,e,n){return e=f(e),p(t,De()?Reflect.construct(e,n||[],f(t).constructor):e.apply(t,n))}function De(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(De=function(){return!!t})()}var He=function(t){function e(){return o(this,e),Be(this,e,arguments)}return y(e,t),c(e)}(b);function Ie(t,e,n){return e=f(e),p(t,Me()?Reflect.construct(e,n||[],f(t).constructor):e.apply(t,n))}function Me(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(Me=function(){return!!t})()}var Ke=function(t){function e(){return o(this,e),Ie(this,e,arguments)}return y(e,t),c(e)}(b);function ze(t,e,n){return e=f(e),p(t,Je()?Reflect.construct(e,n||[],f(t).constructor):e.apply(t,n))}function Je(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(Je=function(){return!!t})()}var We=function(t){function e(){return o(this,e),ze(this,e,arguments)}return y(e,t),c(e)}(b);function Ge(t,e,n){return e=f(e),p(t,Ve()?Reflect.construct(e,n||[],f(t).constructor):e.apply(t,n))}function Ve(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(Ve=function(){return!!t})()}var Qe=function(t){function e(){return o(this,e),Ge(this,e,arguments)}return y(e,t),c(e)}(b);function $e(t,e,n){return e=f(e),p(t,Xe()?Reflect.construct(e,n||[],f(t).constructor):e.apply(t,n))}function Xe(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(Xe=function(){return!!t})()}var Ye=function(t){function e(){return o(this,e),$e(this,e,arguments)}return y(e,t),c(e)}(b);function Ze(t,e,n){return e=f(e),p(t,tn()?Reflect.construct(e,n||[],f(t).constructor):e.apply(t,n))}function tn(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(tn=function(){return!!t})()}var en=function(t){function e(){return o(this,e),Ze(this,e,arguments)}return y(e,t),c(e)}(b);function nn(t,e,n){return e=f(e),p(t,rn()?Reflect.construct(e,n||[],f(t).constructor):e.apply(t,n))}function rn(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(rn=function(){return!!t})()}var on=function(t){function e(){return o(this,e),nn(this,e,arguments)}return y(e,t),c(e)}(b),an=n(337),sn=n(877),cn=!0,un="undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node,ln=function(){function t(e){o(this,t),this.configuration=e,this.apiKey=this.configuration.apiKey,this.nodes=null==this.configuration.nodes?this.configuration.nodes:JSON.parse(JSON.stringify(this.configuration.nodes)),this.nearestNode=null==this.configuration.nearestNode?this.configuration.nearestNode:JSON.parse(JSON.stringify(this.configuration.nearestNode)),this.connectionTimeoutSeconds=this.configuration.connectionTimeoutSeconds,this.healthcheckIntervalSeconds=this.configuration.healthcheckIntervalSeconds,this.numRetriesPerRequest=this.configuration.numRetries,this.retryIntervalSeconds=this.configuration.retryIntervalSeconds,this.sendApiKeyAsQueryParam=this.configuration.sendApiKeyAsQueryParam,this.additionalUserHeaders=this.configuration.additionalHeaders,this.logger=this.configuration.logger,this.initializeMetadataForNodes(),this.currentNodeIndex=-1}var e,n,r,a,s,u,l;return c(t,[{key:"get",value:(l=P(A().mark((function t(e){var n,r,o,i,a,s,c=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=c.length>1&&void 0!==c[1]?c[1]:{},o=(r=c.length>2&&void 0!==c[2]?c[2]:{}).abortSignal,i=void 0===o?null:o,a=r.responseType,s=void 0===a?void 0:a,t.abrupt("return",this.performRequest("get",e,{queryParameters:n,abortSignal:i,responseType:s}));case 3:case"end":return t.stop()}}),t,this)}))),function(t){return l.apply(this,arguments)})},{key:"delete",value:(u=P(A().mark((function t(e){var n,r=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},t.abrupt("return",this.performRequest("delete",e,{queryParameters:n}));case 2:case"end":return t.stop()}}),t,this)}))),function(t){return u.apply(this,arguments)})},{key:"post",value:(s=P(A().mark((function t(e){var n,r,o,i=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=i.length>1&&void 0!==i[1]?i[1]:{},r=i.length>2&&void 0!==i[2]?i[2]:{},o=i.length>3&&void 0!==i[3]?i[3]:{},t.abrupt("return",this.performRequest("post",e,{queryParameters:r,bodyParameters:n,additionalHeaders:o}));case 4:case"end":return t.stop()}}),t,this)}))),function(t){return s.apply(this,arguments)})},{key:"put",value:(a=P(A().mark((function t(e){var n,r,o=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=o.length>1&&void 0!==o[1]?o[1]:{},r=o.length>2&&void 0!==o[2]?o[2]:{},t.abrupt("return",this.performRequest("put",e,{queryParameters:r,bodyParameters:n}));case 3:case"end":return t.stop()}}),t,this)}))),function(t){return a.apply(this,arguments)})},{key:"patch",value:(r=P(A().mark((function t(e){var n,r,o=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=o.length>1&&void 0!==o[1]?o[1]:{},r=o.length>2&&void 0!==o[2]?o[2]:{},t.abrupt("return",this.performRequest("patch",e,{queryParameters:r,bodyParameters:n}));case 3:case"end":return t.stop()}}),t,this)}))),function(t){return r.apply(this,arguments)})},{key:"performRequest",value:(n=P(A().mark((function t(e,n,r){var o,a,s,c,u,l,h,p,f,d,y,v,m,g,w,b,C,k,R,E=this;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:o=r.queryParameters,a=void 0===o?null:o,s=r.bodyParameters,c=void 0===s?null:s,u=r.additionalHeaders,l=void 0===u?{}:u,h=r.abortSignal,p=void 0===h?null:h,f=r.responseType,d=void 0===f?void 0:f,y=r.skipConnectionTimeout,v=void 0!==y&&y,m=r.enableKeepAlive,g=void 0===m?void 0:m,this.configuration.validate(),w=Date.now(),this.logger.debug("Request #".concat(w,": Performing ").concat(e.toUpperCase()," request: ").concat(n)),C=A().mark((function t(){var r,o,s,u,h,f,y,m,C;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=E.getNextNode(w),E.logger.debug("Request #".concat(w,": Attempting ").concat(e.toUpperCase()," request Try #").concat(R," to Node ").concat(r.index)),!p||!p.aborted){t.next=4;break}return t.abrupt("return",{v:Promise.reject(new Error("Request aborted by caller."))});case 4:return t.prev=4,s={method:e,url:E.uriFor(n,r),headers:Object.assign({},E.defaultHeaders(),l,E.additionalUserHeaders),maxContentLength:1/0,maxBodyLength:1/0,responseType:d,validateStatus:function(t){return t>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!==v&&(s.timeout=1e3*E.connectionTimeoutSeconds),a&&0!==Object.keys(a).length&&(s.params=a),E.sendApiKeyAsQueryParam&&(s.params=s.params||{},s.params["x-typesense-api-key"]=E.apiKey),E.configuration.httpAgent?(E.logger.debug("Request #".concat(w,": Using custom httpAgent")),s.httpAgent=E.configuration.httpAgent):!0===g&&(un?(E.logger.debug("Request #".concat(w,": Enabling KeepAlive")),s.httpAgent=new an.Agent({keepAlive:!0})):E.logger.warn("Request #".concat(w,": Cannot use custom httpAgent in a browser environment to enable keepAlive"))),E.configuration.httpsAgent?(E.logger.debug("Request #".concat(w,": Using custom httpsAgent")),s.httpsAgent=E.configuration.httpsAgent):!0===g&&(un?(E.logger.debug("Request #".concat(w,": Enabling keepAlive")),s.httpsAgent=new sn.Agent({keepAlive:!0})):E.logger.warn("Request #".concat(w,": Cannot use custom httpAgent in a browser environment to enable keepAlive"))),E.configuration.paramsSerializer&&(E.logger.debug("Request #".concat(w,": Using custom paramsSerializer")),s.paramsSerializer=E.configuration.paramsSerializer),c&&("string"==typeof c&&0!==c.length||"object"===i(c)&&0!==Object.keys(c).length)&&(s.data=c),p&&(u=qe.CancelToken,h=u.source(),o=function(){return h.cancel()},p.addEventListener("abort",o),s.cancelToken=h.token),t.next=16,qe(s);case 16:if((f=t.sent).status>=1&&f.status<=499&&E.setNodeHealthcheck(r,cn),E.logger.debug("Request #".concat(w,": Request to Node ").concat(r.index," was made. Response Code was ").concat(f.status,".")),!(f.status>=200&&f.status<300)){t.next=23;break}return t.abrupt("return",{v:Promise.resolve(f.data)});case 23:if(!(f.status<500)){t.next=27;break}return t.abrupt("return",{v:Promise.reject(E.customErrorForResponse(f,null===(y=f.data)||void 0===y?void 0:y.message))});case 27:throw E.customErrorForResponse(f,null===(m=f.data)||void 0===m?void 0:m.message);case 28:t.next=38;break;case 30:return t.prev=30,t.t0=t.catch(4),E.setNodeHealthcheck(r,!1),b=t.t0,E.logger.warn("Request #".concat(w,": Request to Node ").concat(r.index,' failed due to "').concat(t.t0.code," ").concat(t.t0.message).concat(null==t.t0.response?"":" - "+JSON.stringify(null===(C=t.t0.response)||void 0===C?void 0:C.data),'"')),E.logger.warn("Request #".concat(w,": Sleeping for ").concat(E.retryIntervalSeconds,"s and then retrying request...")),t.next=38,E.timer(E.retryIntervalSeconds);case 38:return t.prev=38,p&&o&&p.removeEventListener("abort",o),t.finish(38);case 41:case"end":return t.stop()}}),t,null,[[4,30,38,41]])})),R=1;case 6:if(!(R<=this.numRetriesPerRequest+1)){t.next=14;break}return t.delegateYield(C(),"t0",8);case 8:if(!(k=t.t0)){t.next=11;break}return t.abrupt("return",k.v);case 11:R++,t.next=6;break;case 14:return this.logger.debug("Request #".concat(w,": No retries left. Raising last error")),t.abrupt("return",Promise.reject(b));case 16:case"end":return t.stop()}}),t,this)}))),function(t,e,r){return n.apply(this,arguments)})},{key:"getNextNode",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(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}},{key:"nodeDueForHealthcheck",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,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}},{key:"initializeMetadataForNodes",value:function(){var t=this;null!=this.nearestNode&&(this.nearestNode.index="nearestNode",this.setNodeHealthcheck(this.nearestNode,cn)),this.nodes.forEach((function(e,n){e.index=n,t.setNodeHealthcheck(e,cn)}))}},{key:"setNodeHealthcheck",value:function(t,e){t.isHealthy=e,t.lastAccessTimestamp=Date.now()}},{key:"uriFor",value: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)}},{key:"defaultHeaders",value:function(){var t={};return this.sendApiKeyAsQueryParam||(t["X-TYPESENSE-API-KEY"]=this.apiKey),t["Content-Type"]="application/json",t}},{key:"timer",value:(e=P(A().mark((function t(e){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",new Promise((function(t){return setTimeout(t,1e3*e)})));case 1:case"end":return t.stop()}}),t)}))),function(t){return e.apply(this,arguments)})},{key:"customErrorForResponse",value: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 b(n);return(r=400===t.status?new He(n):401===t.status?new Ke(n):404===t.status?new We(n):409===t.status?new Qe(n):422===t.status?new Ye(n):t.status>=500&&t.status<=599?new en(n):new on(n)).httpStatus=t.status,r}}]),t}(),hn="/collections",pn=function(){function t(e){o(this,t),this.apiCall=e}var e,n;return c(t,[{key:"create",value:(n=P(A().mark((function t(e){var n,r=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},t.abrupt("return",this.apiCall.post(hn,e,n));case 2:case"end":return t.stop()}}),t,this)}))),function(t){return n.apply(this,arguments)})},{key:"retrieve",value:(e=P(A().mark((function t(){var e,n=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=n.length>0&&void 0!==n[0]?n[0]:{},t.abrupt("return",this.apiCall.get(hn,e));case 2:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})}],[{key:"RESOURCEPATH",get:function(){return hn}}]),t}();function fn(t,e,n){return e=f(e),p(t,dn()?Reflect.construct(e,n||[],f(t).constructor):e.apply(t,n))}function dn(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(dn=function(){return!!t})()}var yn=function(t){function e(t,n){var r;return o(this,e),(r=fn(this,e,[t])).importResults=n,r}return y(e,t),c(e)}(b);function vn(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);nc&&(y=this.responseCache.keys().next().value,this.responseCache.delete(y)),this.responsePromiseCache.size>c&&(v=this.responsePromiseCache.keys().next().value,this.responsePromiseCache.delete(v)),t.abrupt("return",d);case 37:case"end":return t.stop()}}),t,this)}))),function(t,n,r,o){return e.apply(this,arguments)})}]),t}(),bn="/documents",Cn=function(){function t(e,n,r){o(this,t),u(this,"requestWithCache",new wn),this.collectionName=e,this.apiCall=n,this.configuration=r}var e;return c(t,[{key:"clearCache",value:function(){this.requestWithCache.clearCache()}},{key:"search",value:(e=P(A().mark((function t(e){var n,r,o,i,a,s,c,u,l=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:for(c in r=(n=l.length>1&&void 0!==l[1]?l[1]:{}).cacheSearchResultsForSeconds,o=void 0===r?this.configuration.cacheSearchResultsForSeconds:r,i=n.abortSignal,a=void 0===i?null:i,s={},!0===this.configuration.useServerSideSearchCache&&(s.use_cache=!0),e)Array.isArray(e[c])&&(s[c]=e[c].join(","));return u=Object.assign({},e,s),t.abrupt("return",this.requestWithCache.perform(this.apiCall,this.apiCall.get,[this.endpointPath("search"),u,{abortSignal:a}],{cacheResponseForSeconds:o}));case 6:case"end":return t.stop()}}),t,this)}))),function(t){return e.apply(this,arguments)})},{key:"endpointPath",value:function(t){return"".concat(pn.RESOURCEPATH,"/").concat(this.collectionName).concat(bn).concat(void 0===t?"":"/"+t)}}],[{key:"RESOURCEPATH",get:function(){return bn}}]),t}();function kn(t,e,n){return e=f(e),p(t,Rn()?Reflect.construct(e,n||[],f(t).constructor):e.apply(t,n))}function Rn(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(Rn=function(){return!!t})()}var En="undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node,Sn=function(t){function e(t,n,r){return o(this,e),kn(this,e,[t,n,r])}var n,r,i,a,s,u,l,h,p;return y(e,t),c(e,[{key:"create",value:(p=P(A().mark((function t(e){var n,r=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=r.length>1&&void 0!==r[1]?r[1]:{},e){t.next=3;break}throw new Error("No document provided");case 3:return t.abrupt("return",this.apiCall.post(this.endpointPath(),e,n));case 4:case"end":return t.stop()}}),t,this)}))),function(t){return p.apply(this,arguments)})},{key:"upsert",value:(h=P(A().mark((function t(e){var n,r=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=r.length>1&&void 0!==r[1]?r[1]:{},e){t.next=3;break}throw new Error("No document provided");case 3:return t.abrupt("return",this.apiCall.post(this.endpointPath(),e,Object.assign({},n,{action:"upsert"})));case 4:case"end":return t.stop()}}),t,this)}))),function(t){return h.apply(this,arguments)})},{key:"update",value:(l=P(A().mark((function t(e){var n,r=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=r.length>1&&void 0!==r[1]?r[1]:{},e){t.next=3;break}throw new Error("No document provided");case 3:if(null==n.filter_by){t.next=7;break}return t.abrupt("return",this.apiCall.patch(this.endpointPath(),e,Object.assign({},n)));case 7:return t.abrupt("return",this.apiCall.post(this.endpointPath(),e,Object.assign({},n,{action:"update"})));case 8:case"end":return t.stop()}}),t,this)}))),function(t){return l.apply(this,arguments)})},{key:"delete",value:(u=P(A().mark((function t(){var e,n=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=n.length>0&&void 0!==n[0]?n[0]:{},t.abrupt("return",this.apiCall.delete(this.endpointPath(),e));case 2:case"end":return t.stop()}}),t,this)}))),function(){return u.apply(this,arguments)})},{key:"createMany",value:(s=P(A().mark((function t(e){var n,r=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},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"),t.abrupt("return",this.import(e,n));case 3:case"end":return t.stop()}}),t,this)}))),function(t){return s.apply(this,arguments)})},{key:"import",value:(a=P(A().mark((function t(e){var n,r,o,i,a,s=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=s.length>1&&void 0!==s[1]?s[1]:{},!Array.isArray(e)){t.next=13;break}t.prev=2,r=e.map((function(t){return JSON.stringify(t)})).join("\n"),t.next=11;break;case 6:if(t.prev=6,t.t0=t.catch(2),!(t.t0 instanceof RangeError&&t.t0.message.includes("Too many properties to enumerate"))){t.next=10;break}throw new Error("".concat(t.t0,"\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 "));case 10:throw new Error(t.t0);case 11:t.next=14;break;case 13:r=e;case 14:return t.next=16,this.apiCall.performRequest("post",this.endpointPath("import"),{queryParameters:n,bodyParameters:r,additionalHeaders:{"Content-Type":"text/plain"},skipConnectionTimeout:!0,enableKeepAlive:!!En});case 16:if(o=t.sent,!Array.isArray(e)){t.next=27;break}if(i=o.split("\n").map((function(t){return JSON.parse(t)})),!((a=i.filter((function(t){return!1===t.success}))).length>0)){t.next=24;break}throw new yn("".concat(i.length-a.length," documents imported successfully, ").concat(a.length," documents failed during import. Use `error.importResults` from the raised exception to get a detailed error reason for each document."),i);case 24:return t.abrupt("return",i);case 25:t.next=28;break;case 27:return t.abrupt("return",o);case 28:case"end":return t.stop()}}),t,this,[[2,6]])}))),function(t){return a.apply(this,arguments)})},{key:"importStream",value:(i=P(A().mark((function t(e){var n,r,o,i,a=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=a.length>1&&void 0!==a[1]?a[1]:{},t.next=3,this.apiCall.performRequest("post",this.endpointPath("import"),{queryParameters:n,bodyParameters:e,additionalHeaders:{"Content-Type":"text/plain"},skipConnectionTimeout:!0,enableKeepAlive:!!En});case 3:if(r=t.sent,o=r.split("\n").map((function(t){return JSON.parse(t)})),!((i=o.filter((function(t){return!1===t.success}))).length>0)){t.next=10;break}throw new yn("".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);case 10:return t.abrupt("return",o);case 11:case"end":return t.stop()}}),t,this)}))),function(t){return i.apply(this,arguments)})},{key:"export",value:(r=P(A().mark((function t(){var e,n=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=n.length>0&&void 0!==n[0]?n[0]:{},t.abrupt("return",this.apiCall.get(this.endpointPath("export"),e));case 2:case"end":return t.stop()}}),t,this)}))),function(){return r.apply(this,arguments)})},{key:"exportStream",value:(n=P(A().mark((function t(){var e,n=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=n.length>0&&void 0!==n[0]?n[0]:{},t.abrupt("return",this.apiCall.get(this.endpointPath("export"),e,{responseType:"stream"}));case 2:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})}]),e}(Cn),On=function(){function t(e,n){o(this,t),this.collectionName=e,this.apiCall=n}var e,n;return c(t,[{key:"upsert",value:(n=P(A().mark((function t(e,n){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.put(this.endpointPath(e),n));case 1:case"end":return t.stop()}}),t,this)}))),function(t,e){return n.apply(this,arguments)})},{key:"retrieve",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(e){return"".concat(pn.RESOURCEPATH,"/").concat(this.collectionName).concat(t.RESOURCEPATH).concat(void 0===e?"":"/"+e)}}],[{key:"RESOURCEPATH",get:function(){return"/overrides"}}]),t}(),Pn=function(){function t(e,n,r){o(this,t),this.collectionName=e,this.overrideId=n,this.apiCall=r}var e,n;return c(t,[{key:"retrieve",value:(n=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(pn.RESOURCEPATH,"/").concat(this.collectionName).concat(On.RESOURCEPATH,"/").concat(this.overrideId)}}]),t}(),xn=function(){function t(e,n){o(this,t),this.collectionName=e,this.apiCall=n}var e,n;return c(t,[{key:"upsert",value:(n=P(A().mark((function t(e,n){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.put(this.endpointPath(e),n));case 1:case"end":return t.stop()}}),t,this)}))),function(t,e){return n.apply(this,arguments)})},{key:"retrieve",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(e){return"".concat(pn.RESOURCEPATH,"/").concat(this.collectionName).concat(t.RESOURCEPATH).concat(void 0===e?"":"/"+e)}}],[{key:"RESOURCEPATH",get:function(){return"/synonyms"}}]),t}(),An=function(){function t(e,n,r){o(this,t),this.collectionName=e,this.synonymId=n,this.apiCall=r}var e,n;return c(t,[{key:"retrieve",value:(n=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(pn.RESOURCEPATH,"/").concat(this.collectionName).concat(xn.RESOURCEPATH,"/").concat(this.synonymId)}}]),t}(),Tn=function(){function t(e,n,r){o(this,t),this.collectionName=e,this.documentId=n,this.apiCall=r}var e,n,r;return c(t,[{key:"retrieve",value:(r=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return r.apply(this,arguments)})},{key:"delete",value:(n=P(A().mark((function t(e){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.delete(this.endpointPath(),e));case 1:case"end":return t.stop()}}),t,this)}))),function(t){return n.apply(this,arguments)})},{key:"update",value:(e=P(A().mark((function t(e){var n,r=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},t.abrupt("return",this.apiCall.patch(this.endpointPath(),e,n));case 2:case"end":return t.stop()}}),t,this)}))),function(t){return e.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(pn.RESOURCEPATH,"/").concat(this.collectionName).concat(Sn.RESOURCEPATH,"/").concat(this.documentId)}}]),t}(),Nn=function(){function t(e,n,r){o(this,t),u(this,"individualDocuments",{}),u(this,"individualOverrides",{}),u(this,"individualSynonyms",{}),this.name=e,this.apiCall=n,this.configuration=r,this.name=e,this.apiCall=n,this.configuration=r,this._documents=new Sn(this.name,this.apiCall,this.configuration),this._overrides=new On(this.name,this.apiCall),this._synonyms=new xn(this.name,this.apiCall)}var e,n,r,i;return c(t,[{key:"retrieve",value:(i=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return i.apply(this,arguments)})},{key:"update",value:(r=P(A().mark((function t(e){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.patch(this.endpointPath(),e));case 1:case"end":return t.stop()}}),t,this)}))),function(t){return r.apply(this,arguments)})},{key:"delete",value:(n=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},{key:"exists",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,this.retrieve();case 3:return t.abrupt("return",!0);case 6:if(t.prev=6,t.t0=t.catch(0),!(t.t0 instanceof We)){t.next=10;break}return t.abrupt("return",!1);case 10:throw t.t0;case 11:case"end":return t.stop()}}),t,this,[[0,6]])}))),function(){return e.apply(this,arguments)})},{key:"documents",value:function(t){return t?(void 0===this.individualDocuments[t]&&(this.individualDocuments[t]=new Tn(this.name,t,this.apiCall)),this.individualDocuments[t]):this._documents}},{key:"overrides",value:function(t){return void 0===t?this._overrides:(void 0===this.individualOverrides[t]&&(this.individualOverrides[t]=new Pn(this.name,t,this.apiCall)),this.individualOverrides[t])}},{key:"synonyms",value:function(t){return void 0===t?this._synonyms:(void 0===this.individualSynonyms[t]&&(this.individualSynonyms[t]=new An(this.name,t,this.apiCall)),this.individualSynonyms[t])}},{key:"endpointPath",value:function(){return"".concat(pn.RESOURCEPATH,"/").concat(this.name)}}]),t}(),jn="/aliases",Un=function(){function t(e){o(this,t),this.apiCall=e}var e,n;return c(t,[{key:"upsert",value:(n=P(A().mark((function t(e,n){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.put(this.endpointPath(e),n));case 1:case"end":return t.stop()}}),t,this)}))),function(t,e){return n.apply(this,arguments)})},{key:"retrieve",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(jn));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(e){return"".concat(t.RESOURCEPATH,"/").concat(e)}}],[{key:"RESOURCEPATH",get:function(){return jn}}]),t}(),_n=function(){function t(e,n){o(this,t),this.name=e,this.apiCall=n}var e,n;return c(t,[{key:"retrieve",value:(n=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(Un.RESOURCEPATH,"/").concat(this.name)}}]),t}(),Ln=n(565),Fn="/keys",qn=function(){function t(e){o(this,t),this.apiCall=e,this.apiCall=e}var e,n;return c(t,[{key:"create",value:(n=P(A().mark((function e(n){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.post(t.RESOURCEPATH,n));case 1:case"end":return e.stop()}}),e,this)}))),function(t){return n.apply(this,arguments)})},{key:"retrieve",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(Fn));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"generateScopedSearchKey",value:function(t,e){var n=JSON.stringify(e),r=Buffer.from((0,Ln.createHmac)("sha256",t).update(n).digest("base64")),o=t.substr(0,4),i="".concat(r).concat(o).concat(n);return Buffer.from(i).toString("base64")}}],[{key:"RESOURCEPATH",get:function(){return Fn}}]),t}(),Bn=function(){function t(e,n){o(this,t),this.id=e,this.apiCall=n}var e,n;return c(t,[{key:"retrieve",value:(n=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(qn.RESOURCEPATH,"/").concat(this.id)}}]),t}(),Dn=function(){function t(e){o(this,t),this.apiCall=e}var e;return c(t,[{key:"retrieve",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get("/debug"));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})}]),t}(),Hn=function(){function t(e){o(this,t),this.apiCall=e}var e;return c(t,[{key:"retrieve",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get("/metrics.json"));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})}]),t}(),In=function(){function t(e){o(this,t),this.apiCall=e}var e;return c(t,[{key:"retrieve",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get("/stats.json"));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})}]),t}(),Mn=function(){function t(e){o(this,t),this.apiCall=e}var e;return c(t,[{key:"retrieve",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get("/health"));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})}]),t}(),Kn=function(){function t(e){o(this,t),this.apiCall=e}var e;return c(t,[{key:"perform",value:(e=P(A().mark((function t(e){var n,r=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},t.abrupt("return",this.apiCall.post("".concat("/operations","/").concat(e),{},n));case 2:case"end":return t.stop()}}),t,this)}))),function(t){return e.apply(this,arguments)})}]),t}(),zn=function(){function t(e,n){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];o(this,t),this.apiCall=e,this.configuration=n,this.useTextContentType=r,this.requestWithCache=new wn}var e;return c(t,[{key:"clearCache",value:function(){this.requestWithCache.clearCache()}},{key:"perform",value:(e=P(A().mark((function t(e){var n,r,o,i,a,s,c=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=c.length>1&&void 0!==c[1]?c[1]:{},r=(c.length>2&&void 0!==c[2]?c[2]:{}).cacheSearchResultsForSeconds,o=void 0===r?this.configuration.cacheSearchResultsForSeconds:r,i={},this.useTextContentType&&(i["content-type"]="text/plain"),a={},!0===this.configuration.useServerSideSearchCache&&(a.use_cache=!0),s=Object.assign({},n,a),t.abrupt("return",this.requestWithCache.perform(this.apiCall,this.apiCall.post,["/multi_search",e,s,i],{cacheResponseForSeconds:o}));case 8:case"end":return t.stop()}}),t,this)}))),function(t){return e.apply(this,arguments)})}]),t}(),Jn=function(){function t(e){o(this,t),this.apiCall=e}var e,n;return c(t,[{key:"upsert",value:(n=P(A().mark((function t(e,n){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.put(this.endpointPath(e),n));case 1:case"end":return t.stop()}}),t,this)}))),function(t,e){return n.apply(this,arguments)})},{key:"retrieve",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(e){return"".concat(t.RESOURCEPATH).concat(void 0===e?"":"/"+e)}}],[{key:"RESOURCEPATH",get:function(){return"/presets"}}]),t}(),Wn=function(){function t(e,n){o(this,t),this.presetId=e,this.apiCall=n}var e,n;return c(t,[{key:"retrieve",value:(n=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(Jn.RESOURCEPATH,"/").concat(this.presetId)}}]),t}(),Gn=function(){function t(e){o(this,t),this.apiCall=e,this.apiCall=e}var e,n;return c(t,[{key:"upsert",value:(n=P(A().mark((function t(e,n){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.put(this.endpointPath(e),n));case 1:case"end":return t.stop()}}),t,this)}))),function(t,e){return n.apply(this,arguments)})},{key:"retrieve",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(e){return"".concat(t.RESOURCEPATH).concat(void 0===e?"":"/"+e)}}],[{key:"RESOURCEPATH",get:function(){return"/analytics/rules"}}]),t}(),Vn=function(){function t(e,n){o(this,t),this.name=e,this.apiCall=n}var e,n;return c(t,[{key:"retrieve",value:(n=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(Gn.RESOURCEPATH,"/").concat(this.name)}}]),t}(),Qn=function(){function t(e){o(this,t),this.apiCall=e,this.apiCall=e}var e;return c(t,[{key:"create",value:(e=P(A().mark((function t(e){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.post(this.endpointPath(),e));case 1:case"end":return t.stop()}}),t,this)}))),function(t){return e.apply(this,arguments)})},{key:"endpointPath",value:function(e){return"".concat(t.RESOURCEPATH).concat(void 0===e?"":"/"+e)}}],[{key:"RESOURCEPATH",get:function(){return"/analytics/events"}}]),t}(),$n=function(){function t(e){o(this,t),u(this,"individualAnalyticsRules",{}),this.apiCall=e,this.apiCall=e,this._analyticsRules=new Gn(this.apiCall),this._analyticsEvents=new Qn(this.apiCall)}return c(t,[{key:"rules",value:function(t){return void 0===t?this._analyticsRules:(void 0===this.individualAnalyticsRules[t]&&(this.individualAnalyticsRules[t]=new Vn(t,this.apiCall)),this.individualAnalyticsRules[t])}},{key:"events",value:function(){return this._analyticsEvents}}],[{key:"RESOURCEPATH",get:function(){return"/analytics"}}]),t}(),Xn=function(){function t(e){o(this,t),this.apiCall=e}var e,n;return c(t,[{key:"upsert",value:(n=P(A().mark((function t(e,n){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.put(this.endpointPath(e),n));case 1:case"end":return t.stop()}}),t,this)}))),function(t,e){return n.apply(this,arguments)})},{key:"retrieve",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(e){return"".concat(t.RESOURCEPATH).concat(void 0===e?"":"/"+e)}}],[{key:"RESOURCEPATH",get:function(){return"/stopwords"}}]),t}(),Yn=function(){function t(e,n){o(this,t),this.stopwordId=e,this.apiCall=n}var e,n;return c(t,[{key:"retrieve",value:(n=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(Xn.RESOURCEPATH,"/").concat(this.stopwordId)}}]),t}(),Zn=function(){function t(e){o(this,t),this.apiCall=e,this.apiCall=e}var e,n;return c(t,[{key:"create",value:(n=P(A().mark((function t(e){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.post(this.endpointPath(),e));case 1:case"end":return t.stop()}}),t,this)}))),function(t){return n.apply(this,arguments)})},{key:"retrieve",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(e){return"".concat(t.RESOURCEPATH).concat(void 0===e?"":"/"+e)}}],[{key:"RESOURCEPATH",get:function(){return"/conversations/models"}}]),t}(),tr=function(){function t(e,n){o(this,t),this.id=e,this.apiCall=n}var e,n,r;return c(t,[{key:"update",value:(r=P(A().mark((function t(e){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.put(this.endpointPath(),e));case 1:case"end":return t.stop()}}),t,this)}))),function(t){return r.apply(this,arguments)})},{key:"retrieve",value:(n=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(Zn.RESOURCEPATH,"/").concat(this.id)}}]),t}(),er="/conversations",nr=function(){function t(e){o(this,t),u(this,"individualConversationModels",{}),this.apiCall=e,this.apiCall=e,this._conversationsModels=new Zn(this.apiCall)}var e;return c(t,[{key:"retrieve",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(er));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"models",value:function(t){return void 0===t?this._conversationsModels:(void 0===this.individualConversationModels[t]&&(this.individualConversationModels[t]=new tr(t,this.apiCall)),this.individualConversationModels[t])}}],[{key:"RESOURCEPATH",get:function(){return er}}]),t}(),rr=function(){function t(e,n){o(this,t),this.id=e,this.apiCall=n}var e,n,r;return c(t,[{key:"retrieve",value:(r=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return r.apply(this,arguments)})},{key:"update",value:(n=P(A().mark((function t(e){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.put(this.endpointPath(),e));case 1:case"end":return t.stop()}}),t,this)}))),function(t){return n.apply(this,arguments)})},{key:"delete",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(nr.RESOURCEPATH,"/").concat(this.id)}}]),t}(),or=function(){function t(e){var n;o(this,t),e.sendApiKeyAsQueryParam=null!==(n=e.sendApiKeyAsQueryParam)&&void 0!==n&&n,this.configuration=new S(e),this.apiCall=new ln(this.configuration),this.debug=new Dn(this.apiCall),this.metrics=new Hn(this.apiCall),this.stats=new In(this.apiCall),this.health=new Mn(this.apiCall),this.operations=new Kn(this.apiCall),this.multiSearch=new zn(this.apiCall,this.configuration),this._collections=new pn(this.apiCall),this.individualCollections={},this._aliases=new Un(this.apiCall),this.individualAliases={},this._keys=new qn(this.apiCall),this.individualKeys={},this._presets=new Jn(this.apiCall),this.individualPresets={},this._stopwords=new Xn(this.apiCall),this.individualStopwords={},this.analytics=new $n(this.apiCall),this._conversations=new nr(this.apiCall),this.individualConversations={}}return c(t,[{key:"collections",value:function(t){return void 0===t?this._collections:(void 0===this.individualCollections[t]&&(this.individualCollections[t]=new Nn(t,this.apiCall,this.configuration)),this.individualCollections[t])}},{key:"aliases",value:function(t){return void 0===t?this._aliases:(void 0===this.individualAliases[t]&&(this.individualAliases[t]=new _n(t,this.apiCall)),this.individualAliases[t])}},{key:"keys",value:function(t){return void 0===t?this._keys:(void 0===this.individualKeys[t]&&(this.individualKeys[t]=new Bn(t,this.apiCall)),this.individualKeys[t])}},{key:"presets",value:function(t){return void 0===t?this._presets:(void 0===this.individualPresets[t]&&(this.individualPresets[t]=new Wn(t,this.apiCall)),this.individualPresets[t])}},{key:"stopwords",value:function(t){return void 0===t?this._stopwords:(void 0===this.individualStopwords[t]&&(this.individualStopwords[t]=new Yn(t,this.apiCall)),this.individualStopwords[t])}},{key:"conversations",value:function(t){return void 0===t?this._conversations:(void 0===this.individualConversations[t]&&(this.individualConversations[t]=new rr(t,this.apiCall)),this.individualConversations[t])}}]),t}();var ir=function(){function t(e,n,r){o(this,t),this.name=e,this.apiCall=n,this.configuration=r,this._documents=new Cn(this.name,this.apiCall,this.configuration)}return c(t,[{key:"documents",value:function(){return this._documents}}]),t}(),ar=function(){function t(e){var n;o(this,t),e.sendApiKeyAsQueryParam=null===(n=e.sendApiKeyAsQueryParam)||void 0===n||n,!0===e.sendApiKeyAsQueryParam&&(e.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."),e.sendApiKeyAsQueryParam=!1),this.configuration=new S(e),this.apiCall=new ln(this.configuration),this.multiSearch=new zn(this.apiCall,this.configuration,!0),this.individualCollections={}}return c(t,[{key:"clearCache",value:function(){this.multiSearch.clearCache(),Object.entries(this.individualCollections).forEach((function(t){var e,n,r=(n=2,function(t){if(Array.isArray(t))return t}(e=t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,o,i,a,s=[],c=!0,u=!1;try{if(i=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(s.push(r.value),s.length!==e);c=!0);}catch(t){u=!0,o=t}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}(e,n)||mn(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}());r[0],r[1].documents().clearCache()}))}},{key:"collections",value:function(t){if(t)return void 0===this.individualCollections[t]&&(this.individualCollections[t]=new ir(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}();const sr={Client:or,SearchClient:ar,Errors:e}})(),Typesense=r})(); -//# sourceMappingURL=typesense.min.js.map \ No newline at end of file diff --git a/dist/typesense.min.js.LICENSE.txt b/dist/typesense.min.js.LICENSE.txt deleted file mode 100644 index ae386fb7..00000000 --- a/dist/typesense.min.js.LICENSE.txt +++ /dev/null @@ -1 +0,0 @@ -/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ diff --git a/dist/typesense.min.js.map b/dist/typesense.min.js.map deleted file mode 100644 index 017f9f3b..00000000 --- a/dist/typesense.min.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"typesense.min.js","mappings":";8CAAA,SAMC,SAAUA,EAAMC,GACb,aAEI,EAMA,WAIJ,IAAIC,EAAO,WAAY,EACnBC,EAAgB,YAChBC,SAAeC,SAAWF,UAA0BE,OAAOC,YAAcH,GACzE,kBAAkBI,KAAKF,OAAOC,UAAUE,WAGxCC,EAAa,CACb,QACA,QACA,OACA,OACA,SAGAC,EAAiB,CAAC,EAClBC,EAAgB,KAGpB,SAASC,EAAWC,EAAKC,GACrB,IAAIC,EAASF,EAAIC,GACjB,GAA2B,mBAAhBC,EAAOC,KACd,OAAOD,EAAOC,KAAKH,GAEnB,IACI,OAAOI,SAASC,UAAUF,KAAKG,KAAKJ,EAAQF,EAChD,CAAE,MAAOO,GAEL,OAAO,WACH,OAAOH,SAASC,UAAUG,MAAMA,MAAMN,EAAQ,CAACF,EAAKS,WACxD,CACJ,CAER,CAGA,SAASC,IACDC,QAAQC,MACJD,QAAQC,IAAIJ,MACZG,QAAQC,IAAIJ,MAAMG,QAASF,WAG3BL,SAASC,UAAUG,MAAMA,MAAMG,QAAQC,IAAK,CAACD,QAASF,aAG1DE,QAAQE,OAAOF,QAAQE,OAC/B,CAwBA,SAASC,IAKL,IAHA,IAAIC,EAAQC,KAAKC,WAGRC,EAAI,EAAGA,EAAItB,EAAWuB,OAAQD,IAAK,CACxC,IAAIjB,EAAaL,EAAWsB,GAC5BF,KAAKf,GAAeiB,EAAIH,EACpB1B,EACA2B,KAAKI,cAAcnB,EAAYc,EAAOC,KAAKK,KACnD,CAMA,GAHAL,KAAKJ,IAAMI,KAAKM,aAGLX,UAAYrB,GAAiByB,EAAQC,KAAKO,OAAOC,OACxD,MAAO,kCAEf,CAIA,SAASC,EAAgCxB,GACrC,OAAO,kBACQU,UAAYrB,IACnBwB,EAAsBR,KAAKU,MAC3BA,KAAKf,GAAYO,MAAMQ,KAAMP,WAErC,CACJ,CAIA,SAASiB,EAAqBzB,EAAY0B,EAAQC,GAE9C,OAxDJ,SAAoB3B,GAKhB,MAJmB,UAAfA,IACAA,EAAa,cAGNU,UAAYrB,IAEG,UAAfW,GAA0BV,EAC1BmB,OACwBmB,IAAxBlB,QAAQV,GACRF,EAAWY,QAASV,QACJ4B,IAAhBlB,QAAQC,IACRb,EAAWY,QAAS,OAEpBtB,EAEf,CAwCWyC,CAAW7B,IACXwB,EAAgCjB,MAAMQ,KAAMP,UACvD,CAEA,SAASsB,EAAOV,EAAMW,GAEpB,IASIC,EAMAC,EAMAC,EArBAC,EAAOpB,KAuBPqB,EAAa,WAyBjB,SAASC,IACL,IAAIC,EAEJ,UAAW/C,SAAWF,GAAkB+C,EAAxC,CAEA,IACIE,EAAc/C,OAAOgD,aAAaH,EACtC,CAAE,MAAOI,GAAS,CAGlB,UAAWF,IAAgBjD,EACvB,IACI,IAAIoD,EAASlD,OAAOmD,SAASD,OACzBE,EAAaC,mBAAmBR,GAChCS,EAAWJ,EAAOK,QAAQH,EAAa,MACzB,IAAdE,IACAP,EAAc,WAAWS,KACrBN,EAAOO,MAAMH,EAAWF,EAAWzB,OAAS,IAC9C,GAEV,CAAE,MAAOsB,GAAS,CAQtB,YAJiCZ,IAA7BO,EAAKb,OAAOgB,KACZA,OAAcV,GAGXU,CAzBmD,CA0B9D,CAiBA,SAASW,EAAeC,GACpB,IAAIpC,EAAQoC,EAIZ,GAHqB,iBAAVpC,QAA2Dc,IAArCO,EAAKb,OAAOR,EAAMqC,iBAC/CrC,EAAQqB,EAAKb,OAAOR,EAAMqC,gBAET,iBAAVrC,GAAsBA,GAAS,GAAKA,GAASqB,EAAKb,OAAOC,OAChE,OAAOT,EAEP,MAAM,IAAIsC,UAAU,6CAA+CF,EAE3E,CAhFoB,iBAAT9B,EACTgB,GAAc,IAAMhB,EACK,iBAATA,IAChBgB,OAAaR,GAqFfO,EAAKf,KAAOA,EAEZe,EAAKb,OAAS,CAAE,MAAS,EAAG,MAAS,EAAG,KAAQ,EAAG,KAAQ,EACvD,MAAS,EAAG,OAAU,GAE1Ba,EAAKhB,cAAgBY,GAAWN,EAEhCU,EAAKnB,SAAW,WACZ,OAAiB,MAAbkB,EACKA,EACkB,MAAhBD,EACFA,EAEAD,CAEb,EAEAG,EAAKkB,SAAW,SAAUvC,EAAOwC,GAO7B,OANApB,EAAYe,EAAenC,IACX,IAAZwC,GArGR,SAAgCC,GAC5B,IAAIC,GAAa7D,EAAW4D,IAAa,UAAUJ,cAEnD,UAAW5D,SAAWF,GAAkB+C,EAAxC,CAGA,IAEI,YADA7C,OAAOgD,aAAaH,GAAcoB,EAEtC,CAAE,MAAOhB,GAAS,CAGlB,IACIjD,OAAOmD,SAASD,OACdG,mBAAmBR,GAAc,IAAMoB,EAAY,GACzD,CAAE,MAAOhB,GAAS,CAZwC,CAa9D,CAsFQiB,CAAuBvB,GAIpBrB,EAAsBR,KAAK8B,EACtC,EAEAA,EAAKuB,gBAAkB,SAAU5C,GAC7BmB,EAAegB,EAAenC,GACzBuB,KACDF,EAAKkB,SAASvC,GAAO,EAE7B,EAEAqB,EAAKwB,WAAa,WACdzB,EAAY,KApEhB,WACI,UAAW3C,SAAWF,GAAkB+C,EAAxC,CAGA,IACI7C,OAAOgD,aAAaqB,WAAWxB,EACnC,CAAE,MAAOI,GAAS,CAGlB,IACIjD,OAAOmD,SAASD,OACdG,mBAAmBR,GAAc,0CACvC,CAAE,MAAOI,GAAS,CAXwC,CAY9D,CAwDIqB,GACAhD,EAAsBR,KAAK8B,EAC/B,EAEAA,EAAK2B,UAAY,SAASR,GACtBnB,EAAKkB,SAASlB,EAAKb,OAAOyC,MAAOT,EACrC,EAEAnB,EAAK6B,WAAa,SAASV,GACvBnB,EAAKkB,SAASlB,EAAKb,OAAOC,OAAQ+B,EACtC,EAEAnB,EAAK8B,QAAU,WAMX,GALIpE,IAAkBsC,IAClBH,EAAiBiB,EAAepD,EAAcmB,aAElDH,EAAsBR,KAAK8B,GAEvBtC,IAAkBsC,EAClB,IAAK,IAAI+B,KAAatE,EACpBA,EAAesE,GAAWD,SAGpC,EAGAjC,EAAiBiB,EACbpD,EAAgBA,EAAcmB,WAAa,QAE/C,IAAImD,EAAe9B,IACC,MAAhB8B,IACAjC,EAAYe,EAAekB,IAE/BtD,EAAsBR,KAAK8B,EAC7B,EAQAtC,EAAgB,IAAIiC,GAENsC,UAAY,SAAmBhD,GACzC,GAAqB,iBAATA,GAAqC,iBAATA,GAA+B,KAATA,EAC1D,MAAM,IAAIgC,UAAU,kDAGxB,IAAIiB,EAASzE,EAAewB,GAO5B,OANKiD,IACDA,EAASzE,EAAewB,GAAQ,IAAIU,EAChCV,EACAvB,EAAcsB,gBAGfkD,CACX,EAGA,IAAIC,SAAe/E,SAAWF,EAAiBE,OAAOoB,SAAMiB,EAiB5D,OAhBA/B,EAAc0E,WAAa,WAMvB,cALWhF,SAAWF,GACfE,OAAOoB,MAAQd,IAClBN,OAAOoB,IAAM2D,GAGVzE,CACX,EAEAA,EAAc2E,WAAa,WACvB,OAAO5E,CACX,EAGAC,EAAuB,QAAIA,EAEpBA,CACX,OA3VyB,sCAMzB,CATA,kDCNA,IAAI4E,EAAU,eACd,SAASC,IACP,aACAC,EAAOC,QAAUF,EAAsB,WACrC,OAAOpE,CACT,EAAGqE,EAAOC,QAAQC,YAAa,EAAMF,EAAOC,QAAiB,QAAID,EAAOC,QACxE,IAAIE,EACFxE,EAAI,CAAC,EACLyE,EAAIC,OAAO5E,UACX6E,EAAIF,EAAEG,eACNC,EAAIH,OAAOI,gBAAkB,SAAUN,EAAGxE,EAAGyE,GAC3CD,EAAExE,GAAKyE,EAAEM,KACX,EACApE,EAAI,mBAAqBqE,OAASA,OAAS,CAAC,EAC5CC,EAAItE,EAAEuE,UAAY,aAClBC,EAAIxE,EAAEyE,eAAiB,kBACvBC,EAAI1E,EAAE2E,aAAe,gBACvB,SAASC,EAAOf,EAAGxE,EAAGyE,GACpB,OAAOC,OAAOI,eAAeN,EAAGxE,EAAG,CACjC+E,MAAON,EACPe,YAAY,EACZC,cAAc,EACdC,UAAU,IACRlB,EAAExE,EACR,CACA,IACEuF,EAAO,CAAC,EAAG,GACb,CAAE,MAAOf,GACPe,EAAS,SAAgBf,EAAGxE,EAAGyE,GAC7B,OAAOD,EAAExE,GAAKyE,CAChB,CACF,CACA,SAASkB,EAAKnB,EAAGxE,EAAGyE,EAAGE,GACrB,IAAIhE,EAAIX,GAAKA,EAAEF,qBAAqB8F,EAAY5F,EAAI4F,EAClDX,EAAIP,OAAOmB,OAAOlF,EAAEb,WACpBqF,EAAI,IAAIW,EAAQnB,GAAK,IACvB,OAAOE,EAAEI,EAAG,UAAW,CACrBF,MAAOgB,EAAiBvB,EAAGC,EAAGU,KAC5BF,CACN,CACA,SAASe,EAASxB,EAAGxE,EAAGyE,GACtB,IACE,MAAO,CACLwB,KAAM,SACNC,IAAK1B,EAAEzE,KAAKC,EAAGyE,GAEnB,CAAE,MAAOD,GACP,MAAO,CACLyB,KAAM,QACNC,IAAK1B,EAET,CACF,CACAxE,EAAE2F,KAAOA,EACT,IAAIQ,EAAI,iBACNC,EAAI,iBACJC,EAAI,YACJC,EAAI,YACJC,EAAI,CAAC,EACP,SAASX,IAAa,CACtB,SAASY,IAAqB,CAC9B,SAASC,IAA8B,CACvC,IAAIC,EAAI,CAAC,EACTnB,EAAOmB,EAAGzB,GAAG,WACX,OAAOxE,IACT,IACA,IAAIkG,EAAIjC,OAAOkC,eACbC,EAAIF,GAAKA,EAAEA,EAAEG,EAAO,MACtBD,GAAKA,IAAMpC,GAAKE,EAAE5E,KAAK8G,EAAG5B,KAAOyB,EAAIG,GACrC,IAAIE,EAAIN,EAA2B3G,UAAY8F,EAAU9F,UAAY4E,OAAOmB,OAAOa,GACnF,SAASM,EAAsBxC,GAC7B,CAAC,OAAQ,QAAS,UAAUyC,SAAQ,SAAUjH,GAC5CuF,EAAOf,EAAGxE,GAAG,SAAUwE,GACrB,OAAO/D,KAAKyG,QAAQlH,EAAGwE,EACzB,GACF,GACF,CACA,SAAS2C,EAAc3C,EAAGxE,GACxB,SAASoH,EAAO3C,EAAGI,EAAGlE,EAAGsE,GACvB,IAAIE,EAAIa,EAASxB,EAAEC,GAAID,EAAGK,GAC1B,GAAI,UAAYM,EAAEc,KAAM,CACtB,IAAIZ,EAAIF,EAAEe,IACRC,EAAId,EAAEN,MACR,OAAOoB,GAAK,UAAYhC,EAAQgC,IAAMxB,EAAE5E,KAAKoG,EAAG,WAAanG,EAAEqH,QAAQlB,EAAEmB,SAASC,MAAK,SAAU/C,GAC/F4C,EAAO,OAAQ5C,EAAG7D,EAAGsE,EACvB,IAAG,SAAUT,GACX4C,EAAO,QAAS5C,EAAG7D,EAAGsE,EACxB,IAAKjF,EAAEqH,QAAQlB,GAAGoB,MAAK,SAAU/C,GAC/Ba,EAAEN,MAAQP,EAAG7D,EAAE0E,EACjB,IAAG,SAAUb,GACX,OAAO4C,EAAO,QAAS5C,EAAG7D,EAAGsE,EAC/B,GACF,CACAA,EAAEE,EAAEe,IACN,CACA,IAAIzB,EACJI,EAAEpE,KAAM,UAAW,CACjBsE,MAAO,SAAeP,EAAGG,GACvB,SAAS6C,IACP,OAAO,IAAIxH,GAAE,SAAUA,EAAGyE,GACxB2C,EAAO5C,EAAGG,EAAG3E,EAAGyE,EAClB,GACF,CACA,OAAOA,EAAIA,EAAIA,EAAE8C,KAAKC,EAA4BA,GAA8BA,GAClF,GAEJ,CACA,SAASzB,EAAiB/F,EAAGyE,EAAGE,GAC9B,IAAIE,EAAIsB,EACR,OAAO,SAAUxF,EAAGsE,GAClB,GAAIJ,IAAMwB,EAAG,MAAM,IAAIoB,MAAM,gCAC7B,GAAI5C,IAAMyB,EAAG,CACX,GAAI,UAAY3F,EAAG,MAAMsE,EACzB,MAAO,CACLF,MAAOP,EACPkD,MAAM,EAEV,CACA,IAAK/C,EAAEhF,OAASgB,EAAGgE,EAAEuB,IAAMjB,IAAK,CAC9B,IAAIE,EAAIR,EAAEgD,SACV,GAAIxC,EAAG,CACL,IAAIE,EAAIuC,EAAoBzC,EAAGR,GAC/B,GAAIU,EAAG,CACL,GAAIA,IAAMkB,EAAG,SACb,OAAOlB,CACT,CACF,CACA,GAAI,SAAWV,EAAEhF,OAAQgF,EAAEkD,KAAOlD,EAAEmD,MAAQnD,EAAEuB,SAAS,GAAI,UAAYvB,EAAEhF,OAAQ,CAC/E,GAAIkF,IAAMsB,EAAG,MAAMtB,EAAIyB,EAAG3B,EAAEuB,IAC5BvB,EAAEoD,kBAAkBpD,EAAEuB,IACxB,KAAO,WAAavB,EAAEhF,QAAUgF,EAAEqD,OAAO,SAAUrD,EAAEuB,KACrDrB,EAAIwB,EACJ,IAAIK,EAAIV,EAAShG,EAAGyE,EAAGE,GACvB,GAAI,WAAa+B,EAAET,KAAM,CACvB,GAAIpB,EAAIF,EAAE+C,KAAOpB,EAAIF,EAAGM,EAAER,MAAQK,EAAG,SACrC,MAAO,CACLxB,MAAO2B,EAAER,IACTwB,KAAM/C,EAAE+C,KAEZ,CACA,UAAYhB,EAAET,OAASpB,EAAIyB,EAAG3B,EAAEhF,OAAS,QAASgF,EAAEuB,IAAMQ,EAAER,IAC9D,CACF,CACF,CACA,SAAS0B,EAAoB5H,EAAGyE,GAC9B,IAAIE,EAAIF,EAAE9E,OACRkF,EAAI7E,EAAEkF,SAASP,GACjB,GAAIE,IAAML,EAAG,OAAOC,EAAEkD,SAAW,KAAM,UAAYhD,GAAK3E,EAAEkF,SAAiB,SAAMT,EAAE9E,OAAS,SAAU8E,EAAEyB,IAAM1B,EAAGoD,EAAoB5H,EAAGyE,GAAI,UAAYA,EAAE9E,SAAW,WAAagF,IAAMF,EAAE9E,OAAS,QAAS8E,EAAEyB,IAAM,IAAIpD,UAAU,oCAAsC6B,EAAI,aAAc4B,EAC1R,IAAI5F,EAAIqF,EAASnB,EAAG7E,EAAEkF,SAAUT,EAAEyB,KAClC,GAAI,UAAYvF,EAAEsF,KAAM,OAAOxB,EAAE9E,OAAS,QAAS8E,EAAEyB,IAAMvF,EAAEuF,IAAKzB,EAAEkD,SAAW,KAAMpB,EACrF,IAAItB,EAAItE,EAAEuF,IACV,OAAOjB,EAAIA,EAAEyC,MAAQjD,EAAEzE,EAAEiI,YAAchD,EAAEF,MAAON,EAAEyD,KAAOlI,EAAEmI,QAAS,WAAa1D,EAAE9E,SAAW8E,EAAE9E,OAAS,OAAQ8E,EAAEyB,IAAM1B,GAAIC,EAAEkD,SAAW,KAAMpB,GAAKtB,GAAKR,EAAE9E,OAAS,QAAS8E,EAAEyB,IAAM,IAAIpD,UAAU,oCAAqC2B,EAAEkD,SAAW,KAAMpB,EAC9P,CACA,SAAS6B,EAAa5D,GACpB,IAAIxE,EAAI,CACNqI,OAAQ7D,EAAE,IAEZ,KAAKA,IAAMxE,EAAEsI,SAAW9D,EAAE,IAAK,KAAKA,IAAMxE,EAAEuI,WAAa/D,EAAE,GAAIxE,EAAEwI,SAAWhE,EAAE,IAAK/D,KAAKgI,WAAWC,KAAK1I,EAC1G,CACA,SAAS2I,EAAcnE,GACrB,IAAIxE,EAAIwE,EAAEoE,YAAc,CAAC,EACzB5I,EAAEiG,KAAO,gBAAiBjG,EAAEkG,IAAK1B,EAAEoE,WAAa5I,CAClD,CACA,SAAS8F,EAAQtB,GACf/D,KAAKgI,WAAa,CAAC,CACjBJ,OAAQ,SACN7D,EAAEyC,QAAQmB,EAAc3H,MAAOA,KAAKoI,OAAM,EAChD,CACA,SAAS/B,EAAO9G,GACd,GAAIA,GAAK,KAAOA,EAAG,CACjB,IAAIyE,EAAIzE,EAAEiF,GACV,GAAIR,EAAG,OAAOA,EAAE1E,KAAKC,GACrB,GAAI,mBAAqBA,EAAEkI,KAAM,OAAOlI,EACxC,IAAK8I,MAAM9I,EAAEY,QAAS,CACpB,IAAIiE,GAAK,EACPlE,EAAI,SAASuH,IACX,OAASrD,EAAI7E,EAAEY,QAAS,GAAI+D,EAAE5E,KAAKC,EAAG6E,GAAI,OAAOqD,EAAKnD,MAAQ/E,EAAE6E,GAAIqD,EAAKR,MAAO,EAAIQ,EACpF,OAAOA,EAAKnD,MAAQP,EAAG0D,EAAKR,MAAO,EAAIQ,CACzC,EACF,OAAOvH,EAAEuH,KAAOvH,CAClB,CACF,CACA,MAAM,IAAImC,UAAUqB,EAAQnE,GAAK,mBACnC,CACA,OAAOwG,EAAkB1G,UAAY2G,EAA4B5B,EAAEkC,EAAG,cAAe,CACnFhC,MAAO0B,EACPhB,cAAc,IACZZ,EAAE4B,EAA4B,cAAe,CAC/C1B,MAAOyB,EACPf,cAAc,IACZe,EAAkBuC,YAAcxD,EAAOkB,EAA4BpB,EAAG,qBAAsBrF,EAAEgJ,oBAAsB,SAAUxE,GAChI,IAAIxE,EAAI,mBAAqBwE,GAAKA,EAAEyE,YACpC,QAASjJ,IAAMA,IAAMwG,GAAqB,uBAAyBxG,EAAE+I,aAAe/I,EAAEc,MACxF,EAAGd,EAAEkJ,KAAO,SAAU1E,GACpB,OAAOE,OAAOyE,eAAiBzE,OAAOyE,eAAe3E,EAAGiC,IAA+BjC,EAAE4E,UAAY3C,EAA4BlB,EAAOf,EAAGa,EAAG,sBAAuBb,EAAE1E,UAAY4E,OAAOmB,OAAOkB,GAAIvC,CACvM,EAAGxE,EAAEqJ,MAAQ,SAAU7E,GACrB,MAAO,CACL8C,QAAS9C,EAEb,EAAGwC,EAAsBG,EAAcrH,WAAYyF,EAAO4B,EAAcrH,UAAWqF,GAAG,WACpF,OAAO1E,IACT,IAAIT,EAAEmH,cAAgBA,EAAenH,EAAEsJ,MAAQ,SAAU9E,EAAGC,EAAGE,EAAGE,EAAGlE,QACnE,IAAWA,IAAMA,EAAI4I,SACrB,IAAItE,EAAI,IAAIkC,EAAcxB,EAAKnB,EAAGC,EAAGE,EAAGE,GAAIlE,GAC5C,OAAOX,EAAEgJ,oBAAoBvE,GAAKQ,EAAIA,EAAEiD,OAAOX,MAAK,SAAU/C,GAC5D,OAAOA,EAAEkD,KAAOlD,EAAEO,MAAQE,EAAEiD,MAC9B,GACF,EAAGlB,EAAsBD,GAAIxB,EAAOwB,EAAG1B,EAAG,aAAcE,EAAOwB,EAAG9B,GAAG,WACnE,OAAOxE,IACT,IAAI8E,EAAOwB,EAAG,YAAY,WACxB,MAAO,oBACT,IAAI/G,EAAEwJ,KAAO,SAAUhF,GACrB,IAAIxE,EAAI0E,OAAOF,GACbC,EAAI,GACN,IAAK,IAAIE,KAAK3E,EAAGyE,EAAEiE,KAAK/D,GACxB,OAAOF,EAAEgF,UAAW,SAASvB,IAC3B,KAAOzD,EAAE7D,QAAS,CAChB,IAAI4D,EAAIC,EAAEiF,MACV,GAAIlF,KAAKxE,EAAG,OAAOkI,EAAKnD,MAAQP,EAAG0D,EAAKR,MAAO,EAAIQ,CACrD,CACA,OAAOA,EAAKR,MAAO,EAAIQ,CACzB,CACF,EAAGlI,EAAE8G,OAASA,EAAQhB,EAAQhG,UAAY,CACxCmJ,YAAanD,EACb+C,MAAO,SAAe7I,GACpB,GAAIS,KAAKkJ,KAAO,EAAGlJ,KAAKyH,KAAO,EAAGzH,KAAKoH,KAAOpH,KAAKqH,MAAQtD,EAAG/D,KAAKiH,MAAO,EAAIjH,KAAKkH,SAAW,KAAMlH,KAAKd,OAAS,OAAQc,KAAKyF,IAAM1B,EAAG/D,KAAKgI,WAAWxB,QAAQ0B,IAAiB3I,EAAG,IAAK,IAAIyE,KAAKhE,KAAM,MAAQgE,EAAEmF,OAAO,IAAMjF,EAAE5E,KAAKU,KAAMgE,KAAOqE,OAAOrE,EAAE/B,MAAM,MAAQjC,KAAKgE,GAAKD,EACtR,EACAqF,KAAM,WACJpJ,KAAKiH,MAAO,EACZ,IAAIlD,EAAI/D,KAAKgI,WAAW,GAAGG,WAC3B,GAAI,UAAYpE,EAAEyB,KAAM,MAAMzB,EAAE0B,IAChC,OAAOzF,KAAKqJ,IACd,EACA/B,kBAAmB,SAA2B/H,GAC5C,GAAIS,KAAKiH,KAAM,MAAM1H,EACrB,IAAIyE,EAAIhE,KACR,SAASsJ,EAAOpF,EAAGE,GACjB,OAAOI,EAAEgB,KAAO,QAAShB,EAAEiB,IAAMlG,EAAGyE,EAAEyD,KAAOvD,EAAGE,IAAMJ,EAAE9E,OAAS,OAAQ8E,EAAEyB,IAAM1B,KAAMK,CACzF,CACA,IAAK,IAAIA,EAAIpE,KAAKgI,WAAW7H,OAAS,EAAGiE,GAAK,IAAKA,EAAG,CACpD,IAAIlE,EAAIF,KAAKgI,WAAW5D,GACtBI,EAAItE,EAAEiI,WACR,GAAI,SAAWjI,EAAE0H,OAAQ,OAAO0B,EAAO,OACvC,GAAIpJ,EAAE0H,QAAU5H,KAAKkJ,KAAM,CACzB,IAAIxE,EAAIR,EAAE5E,KAAKY,EAAG,YAChB0E,EAAIV,EAAE5E,KAAKY,EAAG,cAChB,GAAIwE,GAAKE,EAAG,CACV,GAAI5E,KAAKkJ,KAAOhJ,EAAE2H,SAAU,OAAOyB,EAAOpJ,EAAE2H,UAAU,GACtD,GAAI7H,KAAKkJ,KAAOhJ,EAAE4H,WAAY,OAAOwB,EAAOpJ,EAAE4H,WAChD,MAAO,GAAIpD,GACT,GAAI1E,KAAKkJ,KAAOhJ,EAAE2H,SAAU,OAAOyB,EAAOpJ,EAAE2H,UAAU,OACjD,CACL,IAAKjD,EAAG,MAAM,IAAIoC,MAAM,0CACxB,GAAIhH,KAAKkJ,KAAOhJ,EAAE4H,WAAY,OAAOwB,EAAOpJ,EAAE4H,WAChD,CACF,CACF,CACF,EACAP,OAAQ,SAAgBxD,EAAGxE,GACzB,IAAK,IAAIyE,EAAIhE,KAAKgI,WAAW7H,OAAS,EAAG6D,GAAK,IAAKA,EAAG,CACpD,IAAII,EAAIpE,KAAKgI,WAAWhE,GACxB,GAAII,EAAEwD,QAAU5H,KAAKkJ,MAAQhF,EAAE5E,KAAK8E,EAAG,eAAiBpE,KAAKkJ,KAAO9E,EAAE0D,WAAY,CAChF,IAAI5H,EAAIkE,EACR,KACF,CACF,CACAlE,IAAM,UAAY6D,GAAK,aAAeA,IAAM7D,EAAE0H,QAAUrI,GAAKA,GAAKW,EAAE4H,aAAe5H,EAAI,MACvF,IAAIsE,EAAItE,EAAIA,EAAEiI,WAAa,CAAC,EAC5B,OAAO3D,EAAEgB,KAAOzB,EAAGS,EAAEiB,IAAMlG,EAAGW,GAAKF,KAAKd,OAAS,OAAQc,KAAKyH,KAAOvH,EAAE4H,WAAYhC,GAAK9F,KAAKuJ,SAAS/E,EACxG,EACA+E,SAAU,SAAkBxF,EAAGxE,GAC7B,GAAI,UAAYwE,EAAEyB,KAAM,MAAMzB,EAAE0B,IAChC,MAAO,UAAY1B,EAAEyB,MAAQ,aAAezB,EAAEyB,KAAOxF,KAAKyH,KAAO1D,EAAE0B,IAAM,WAAa1B,EAAEyB,MAAQxF,KAAKqJ,KAAOrJ,KAAKyF,IAAM1B,EAAE0B,IAAKzF,KAAKd,OAAS,SAAUc,KAAKyH,KAAO,OAAS,WAAa1D,EAAEyB,MAAQjG,IAAMS,KAAKyH,KAAOlI,GAAIuG,CAC1N,EACA0D,OAAQ,SAAgBzF,GACtB,IAAK,IAAIxE,EAAIS,KAAKgI,WAAW7H,OAAS,EAAGZ,GAAK,IAAKA,EAAG,CACpD,IAAIyE,EAAIhE,KAAKgI,WAAWzI,GACxB,GAAIyE,EAAE8D,aAAe/D,EAAG,OAAO/D,KAAKuJ,SAASvF,EAAEmE,WAAYnE,EAAE+D,UAAWG,EAAclE,GAAI8B,CAC5F,CACF,EACA,MAAS,SAAgB/B,GACvB,IAAK,IAAIxE,EAAIS,KAAKgI,WAAW7H,OAAS,EAAGZ,GAAK,IAAKA,EAAG,CACpD,IAAIyE,EAAIhE,KAAKgI,WAAWzI,GACxB,GAAIyE,EAAE4D,SAAW7D,EAAG,CAClB,IAAIG,EAAIF,EAAEmE,WACV,GAAI,UAAYjE,EAAEsB,KAAM,CACtB,IAAIpB,EAAIF,EAAEuB,IACVyC,EAAclE,EAChB,CACA,OAAOI,CACT,CACF,CACA,MAAM,IAAI4C,MAAM,wBAClB,EACAyC,cAAe,SAAuBlK,EAAGyE,EAAGE,GAC1C,OAAOlE,KAAKkH,SAAW,CACrBzC,SAAU4B,EAAO9G,GACjBiI,WAAYxD,EACZ0D,QAASxD,GACR,SAAWlE,KAAKd,SAAWc,KAAKyF,IAAM1B,GAAI+B,CAC/C,GACCvG,CACL,CACAqE,EAAOC,QAAUF,EAAqBC,EAAOC,QAAQC,YAAa,EAAMF,EAAOC,QAAiB,QAAID,EAAOC,iBC/S3G,SAASH,EAAQU,GAGf,OAAQR,EAAOC,QAAUH,EAAU,mBAAqBa,QAAU,iBAAmBA,OAAOE,SAAW,SAAUL,GAC/G,cAAcA,CAChB,EAAI,SAAUA,GACZ,OAAOA,GAAK,mBAAqBG,QAAUH,EAAEoE,cAAgBjE,QAAUH,IAAMG,OAAOlF,UAAY,gBAAkB+E,CACpH,EAAGR,EAAOC,QAAQC,YAAa,EAAMF,EAAOC,QAAiB,QAAID,EAAOC,QAAUH,EAAQU,EAC5F,CACAR,EAAOC,QAAUH,EAASE,EAAOC,QAAQC,YAAa,EAAMF,EAAOC,QAAiB,QAAID,EAAOC,uBCP/F,IAAI6F,EAAU,EAAQ,GAAR,GACd9F,EAAOC,QAAU6F,EAGjB,IACEC,mBAAqBD,CACvB,CAAE,MAAOE,GACmB,iBAAfC,WACTA,WAAWF,mBAAqBD,EAEhCtK,SAAS,IAAK,yBAAdA,CAAwCsK,EAE5C,ICbII,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBnJ,IAAjBoJ,EACH,OAAOA,EAAapG,QAGrB,IAAID,EAASkG,EAAyBE,GAAY,CAGjDnG,QAAS,CAAC,GAOX,OAHAqG,EAAoBF,GAAU1K,KAAKsE,EAAOC,QAASD,EAAQA,EAAOC,QAASkG,GAGpEnG,EAAOC,OACf,CCrBAkG,EAAoB7F,EAAKN,IACxB,IAAIuG,EAASvG,GAAUA,EAAOE,WAC7B,IAAOF,EAAiB,QACxB,IAAM,EAEP,OADAmG,EAAoB7D,EAAEiE,EAAQ,CAAE3F,EAAG2F,IAC5BA,CAAM,ECLdJ,EAAoB7D,EAAI,CAACrC,EAASzF,KACjC,IAAI,IAAIgM,KAAOhM,EACX2L,EAAoB3F,EAAEhG,EAAYgM,KAASL,EAAoB3F,EAAEP,EAASuG,IAC5EnG,OAAOI,eAAeR,EAASuG,EAAK,CAAErF,YAAY,EAAMsF,IAAKjM,EAAWgM,IAE1E,ECNDL,EAAoB3F,EAAI,CAACpF,EAAKsL,IAAUrG,OAAO5E,UAAU8E,eAAe7E,KAAKN,EAAKsL,GCClFP,EAAoB/F,EAAKH,IACH,oBAAXU,QAA0BA,OAAOM,aAC1CZ,OAAOI,eAAeR,EAASU,OAAOM,YAAa,CAAEP,MAAO,WAE7DL,OAAOI,eAAeR,EAAS,aAAc,CAAES,OAAO,GAAO,oPCL/C,SAASiG,EAAgBC,EAAUC,GAChD,KAAMD,aAAoBC,GACxB,MAAM,IAAIpI,UAAU,oCAExB,CCJe,SAASqB,EAAQU,GAG9B,OAAOV,EAAU,mBAAqBa,QAAU,iBAAmBA,OAAOE,SAAW,SAAUL,GAC7F,cAAcA,CAChB,EAAI,SAAUA,GACZ,OAAOA,GAAK,mBAAqBG,QAAUH,EAAEoE,cAAgBjE,QAAUH,IAAMG,OAAOlF,UAAY,gBAAkB+E,CACpH,EAAGV,EAAQU,EACb,CCNe,SAASsG,EAAc3G,GACpC,IAAI7D,ECFS,SAAqB6D,EAAGC,GACrC,GAAI,UAAYN,EAAQK,KAAOA,EAAG,OAAOA,EACzC,IAAIxE,EAAIwE,EAAEQ,OAAOoG,aACjB,QAAI,IAAWpL,EAAG,CAChB,IAAIW,EAAIX,EAAED,KAAKyE,EAAGC,UAClB,GAAI,UAAYN,EAAQxD,GAAI,OAAOA,EACnC,MAAM,IAAImC,UAAU,+CACtB,CACA,OAAyBuI,OAAiB7G,EAC5C,CDPU4G,CAAY5G,GACpB,MAAO,UAAYL,EAAQxD,GAAKA,EAAI0K,OAAO1K,EAC7C,CEJA,SAAS2K,EAAkBC,EAAQC,GACjC,IAAK,IAAI7K,EAAI,EAAGA,EAAI6K,EAAM5K,OAAQD,IAAK,CACrC,IAAI8K,EAAaD,EAAM7K,GACvB8K,EAAWjG,WAAaiG,EAAWjG,aAAc,EACjDiG,EAAWhG,cAAe,EACtB,UAAWgG,IAAYA,EAAW/F,UAAW,GACjDhB,OAAOI,eAAeyG,EAAQJ,EAAcM,EAAWZ,KAAMY,EAC/D,CACF,CACe,SAASC,EAAaR,EAAaS,EAAYC,GAM5D,OALID,GAAYL,EAAkBJ,EAAYpL,UAAW6L,GACrDC,GAAaN,EAAkBJ,EAAaU,GAChDlH,OAAOI,eAAeoG,EAAa,YAAa,CAC9CxF,UAAU,IAELwF,CACT,CChBe,SAASW,EAAgBpM,EAAKoL,EAAK9F,GAYhD,OAXA8F,EAAMM,EAAcN,MACTpL,EACTiF,OAAOI,eAAerF,EAAKoL,EAAK,CAC9B9F,MAAOA,EACPS,YAAY,EACZC,cAAc,EACdC,UAAU,IAGZjG,EAAIoL,GAAO9F,EAENtF,CACT,wQCde,SAASqM,EAAuBjK,GAC7C,QAAa,IAATA,EACF,MAAM,IAAIkK,eAAe,6DAE3B,OAAOlK,CACT,CCHe,SAASmK,EAA2BnK,EAAM9B,GACvD,GAAIA,IAA2B,WAAlBoE,EAAQpE,IAAsC,mBAATA,GAChD,OAAOA,EACF,QAAa,IAATA,EACT,MAAM,IAAI+C,UAAU,4DAEtB,OAAO,EAAsBjB,EAC/B,CCTe,SAASoK,EAAgBpH,GAItC,OAHAoH,EAAkBvH,OAAOyE,eAAiBzE,OAAOkC,eAAehH,OAAS,SAAyBiF,GAChG,OAAOA,EAAEuE,WAAa1E,OAAOkC,eAAe/B,EAC9C,EACOoH,EAAgBpH,EACzB,CCLe,SAASqH,EAAgBrH,EAAG6B,GAKzC,OAJAwF,EAAkBxH,OAAOyE,eAAiBzE,OAAOyE,eAAevJ,OAAS,SAAyBiF,EAAG6B,GAEnG,OADA7B,EAAEuE,UAAY1C,EACP7B,CACT,EACOqH,EAAgBrH,EAAG6B,EAC5B,CCLe,SAASyF,EAAUC,EAAUC,GAC1C,GAA0B,mBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAIvJ,UAAU,sDAEtBsJ,EAAStM,UAAY4E,OAAOmB,OAAOwG,GAAcA,EAAWvM,UAAW,CACrEmJ,YAAa,CACXlE,MAAOqH,EACP1G,UAAU,EACVD,cAAc,KAGlBf,OAAOI,eAAesH,EAAU,YAAa,CAC3C1G,UAAU,IAER2G,GAAY,EAAeD,EAAUC,EAC3C,CChBe,SAASC,IACtB,IACE,IAAI9H,GAAK+H,QAAQzM,UAAU0M,QAAQzM,KAAK0M,QAAQC,UAAUH,QAAS,IAAI,WAAa,IACtF,CAAE,MAAO/H,GAAI,CACb,OAAQ8H,EAA4B,WAClC,QAAS9H,CACX,IACF,CCHe,SAASmI,EAAiBC,GACvC,IAAIC,EAAwB,mBAARC,IAAqB,IAAIA,SAAQxL,EAuBrD,OAtBAqL,EAAmB,SAA0BC,GAC3C,GAAc,OAAVA,ICPO,SAA2BG,GACxC,IACE,OAAgE,IAAzDlN,SAASmN,SAASjN,KAAKgN,GAAIvK,QAAQ,gBAC5C,CAAE,MAAOxC,GACP,MAAqB,mBAAP+M,CAChB,CACF,CDC2B,CAAiBH,GAAQ,OAAOA,EACvD,GAAqB,mBAAVA,EACT,MAAM,IAAI9J,UAAU,sDAEtB,QAAsB,IAAX+J,EAAwB,CACjC,GAAIA,EAAOI,IAAIL,GAAQ,OAAOC,EAAO/B,IAAI8B,GACzCC,EAAOK,IAAIN,EAAOO,EACpB,CACA,SAASA,IACP,OEdS,SAAoB3I,EAAGxE,EAAGyE,GACvC,GAAI,IAA4B,OAAOgI,QAAQC,UAAUzM,MAAM,KAAMC,WACrE,IAAI2E,EAAI,CAAC,MACTA,EAAE6D,KAAKzI,MAAM4E,EAAG7E,GAChB,IAAI0G,EAAI,IAAKlC,EAAE5E,KAAKK,MAAMuE,EAAGK,IAC7B,OAAOJ,GAAK,EAAeiC,EAAGjC,EAAE3E,WAAY4G,CAC9C,CFQa,CAAUkG,EAAO1M,UAAW,EAAeO,MAAMwI,YAC1D,CASA,OARAkE,EAAQrN,UAAY4E,OAAOmB,OAAO+G,EAAM9M,UAAW,CACjDmJ,YAAa,CACXlE,MAAOoI,EACP3H,YAAY,EACZE,UAAU,EACVD,cAAc,KAGX,EAAe0H,EAASP,EACjC,EACOD,EAAiBC,EAC1B,wPG7BqBQ,EAAc,SAAAC,GAIjC,SAAAD,EAAYE,GAAkB,IAAAC,EAGsB,OAHtBvC,EAAA,KAAAoC,IAC5BG,EAAAC,EAAA,KAAAJ,EAAA,CAAME,KACDxM,MAAO,gBAAAsM,EAAA,KAAAnE,iBAAA,GAAWnI,KACvB4D,OAAOyE,eAAc2C,EAAAyB,IAAO,gBAAAH,EAAA,KAAAnE,iBAAA,GAAWnJ,WAAWyN,CACpD,CAAC,OARgCpB,EAAAiB,EAAAC,GAQhC3B,EAAA0B,EAAA,CARgC,CAQhCT,EARyClF,2PCAE,IAEzBgG,EAAyB,SAAAC,GAAA,SAAAD,IAAA,OAAAzC,EAAA,KAAAyC,GAAAD,EAAA,KAAAC,EAAAvN,UAAA,QAAAiM,EAAAsB,EAAAC,GAAAhC,EAAA+B,EAAA,EAASL,iOCAF,IAiGhCO,EAAa,WAwBhC,SAAAA,EAAYC,GAA+B,IAAAL,EAAA,KAAAvC,EAAA,KAAA2C,GACzClN,KAAKoN,MAAQD,EAAQC,OAAS,GAC9BpN,KAAKoN,MAAQpN,KAAKoN,MACfC,KAAI,SAACC,GAAI,OAAKR,EAAKS,qBAAqBD,EAAK,IAC7CD,KAAI,SAACC,GAAI,OAAKR,EAAKU,qBAAqBF,EAAK,IAC7CD,KAAI,SAACC,GAAI,sWAAAG,CAAA,GAAWH,EAAI,IAEG,MAA1BH,EAAQO,iBACVP,EAAQO,gBAAiB,IAGI,IAA3BP,EAAQO,gBACV1N,KAAK2N,aAAa3N,KAAKoN,OAGzBpN,KAAK4N,YAAcT,EAAQS,YAC3B5N,KAAK4N,YAAc5N,KAAKuN,qBAAqBvN,KAAK4N,aAClD5N,KAAK4N,YAAc5N,KAAKwN,qBAAqBxN,KAAK4N,aAElD5N,KAAK6N,yBACHV,EAAQU,0BAA4BV,EAAQW,gBAAkB,EAChE9N,KAAK+N,2BAA6BZ,EAAQY,4BAA8B,GACxE/N,KAAKgO,WACHb,EAAQa,YACRhO,KAAKoN,MAAMjN,QAA8B,MAApBH,KAAK4N,YAAsB,EAAI,IACpD,EACF5N,KAAKiO,qBAAuBd,EAAQc,sBAAwB,GAE5DjO,KAAKkO,OAASf,EAAQe,OACtBlO,KAAKmO,uBAAyBhB,EAAQgB,uBAEtCnO,KAAKoO,6BACHjB,EAAQiB,8BAAgC,EAC1CpO,KAAKqO,yBAA2BlB,EAAQkB,2BAA4B,EAEpErO,KAAKsD,OAAS6J,EAAQ7J,QAAUA,EAChCtD,KAAKsO,SAAWnB,EAAQmB,UAAY,OACpCtO,KAAKsD,OAAOhB,SAAStC,KAAKsO,UAE1BtO,KAAKuO,kBAAoBpB,EAAQoB,kBAEjCvO,KAAKwO,UAAYrB,EAAQqB,UACzBxO,KAAKyO,WAAatB,EAAQsB,WAE1BzO,KAAK0O,iBAAmBvB,EAAQuB,iBAEhC1O,KAAK2O,wBAAwBxB,GAC7BnN,KAAK4O,UACP,CAgHC,OAhHA3D,EAAAiC,EAAA,EAAA9C,IAAA,WAAA9F,MAED,WACE,GAAkB,MAAdtE,KAAKoN,OAAuC,IAAtBpN,KAAKoN,MAAMjN,QAAgBH,KAAK6O,gBACxD,MAAM,IAAI7B,EACR,uEAIJ,GACsB,MAApBhN,KAAK4N,aACL5N,KAAK8O,2BAA2B9O,KAAK4N,aAErC,MAAM,IAAIZ,EACR,sFAIJ,GAAmB,MAAfhN,KAAKkO,OACP,MAAM,IAAIlB,EAA0B,6BAGtC,OAAO,CACT,GAAC,CAAA5C,IAAA,gBAAA9F,MAED,WAAiC,IAAAyK,EAAA,KAC/B,OAAO/O,KAAKoN,MAAM4B,MAAK,SAAC1B,GACtB,OAAOyB,EAAKD,2BAA2BxB,EACzC,GACF,GAAC,CAAAlD,IAAA,6BAAA9F,MAED,SACEgJ,GAKA,OACG,CAAC,WAAY,OAAQ,OAAQ,QAAQ2B,OAAM,SAAC7E,GAC3C,OAAOkD,EAAKnJ,eAAeiG,EAC7B,KAAqB,MAAfkD,EAAU,GAEpB,GAAC,CAAAlD,IAAA,uBAAA9F,MAED,SACEgJ,GAaA,OAHY,MAARA,GAAiBA,EAAKnJ,eAAe,UACvCmJ,EAAW,KAAI,IAEVA,CACT,GAAC,CAAAlD,IAAA,uBAAA9F,MAED,SACEgJ,GAUA,GACU,MAARA,IACCA,EAAKnJ,eAAe,SACrBmJ,EAAKnJ,eAAe,YAEpB,OAAQmJ,EAAe,UACrB,IAAK,QACHA,EAAW,KAAI,IACf,MACF,IAAK,OACHA,EAAW,KAAI,GAIrB,OAAOA,CACT,GAAC,CAAAlD,IAAA,0BAAA9F,MAED,SAAgC6I,GAC1BA,EAAQW,gBACV9N,KAAKsD,OAAO4L,KACV,kFAGA/B,EAAQgC,YACVnP,KAAKsD,OAAO4L,KACV,sGAGA/B,EAAQiC,kBACVpP,KAAKsD,OAAO4L,KACV,2GAGN,GAAC,CAAA9E,IAAA,eAAA9F,MAED,SAAqB+K,GACnB,IAAK,IAAInP,EAAImP,EAAMlP,OAAS,EAAGD,EAAI,EAAGA,IAAK,CACzC,IAAMoP,EAAIC,KAAKC,MAAMD,KAAKE,UAAYvP,EAAI,IAAIwP,EACvB,CAACL,EAAMC,GAAID,EAAMnP,IAAvCmP,EAAMnP,GAAEwP,EAAA,GAAEL,EAAMC,GAAEI,EAAA,EACrB,CACF,KAACxC,CAAA,CAxL+B,GCnGlC,SAASyC,EAAmBC,EAAKhJ,EAASiJ,EAAQC,EAAOC,EAAQ3F,EAAK3E,GACpE,IACE,IAAIuK,EAAOJ,EAAIxF,GAAK3E,GAChBnB,EAAQ0L,EAAK1L,KACnB,CAAE,MAAO2L,GAEP,YADAJ,EAAOI,EAET,CACID,EAAK/I,KACPL,EAAQtC,GAERwE,QAAQlC,QAAQtC,GAAOwC,KAAKgJ,EAAOC,EAEvC,CACe,SAASG,EAAkB5D,GACxC,OAAO,WACL,IAAIlL,EAAOpB,KACTmQ,EAAO1Q,UACT,OAAO,IAAIqJ,SAAQ,SAAUlC,EAASiJ,GACpC,IAAID,EAAMtD,EAAG9M,MAAM4B,EAAM+O,GACzB,SAASL,EAAMxL,GACbqL,EAAmBC,EAAKhJ,EAASiJ,EAAQC,EAAOC,EAAQ,OAAQzL,EAClE,CACA,SAASyL,EAAOK,GACdT,EAAmBC,EAAKhJ,EAASiJ,EAAQC,EAAOC,EAAQ,QAASK,EACnE,CACAN,OAAMjP,EACR,GACF,CACF,uBC3Be,SAAS1B,EAAKmN,EAAI+D,GAC/B,OAAO,WACL,OAAO/D,EAAG9M,MAAM6Q,EAAS5Q,UAC3B,CACF,CCAA,MAAO8M,SAAQ,GAAItI,OAAO5E,WACpB,eAAC8G,GAAkBlC,OAEnBqM,GAAUC,EAGbtM,OAAOmB,OAAO,MAHQoL,IACrB,MAAMC,EAAM,EAASnR,KAAKkR,GAC1B,OAAOD,EAAME,KAASF,EAAME,GAAOA,EAAIxO,MAAM,GAAI,GAAGyO,cAAc,GAFvD,IAACH,EAKhB,MAAMI,EAAcnL,IAClBA,EAAOA,EAAKkL,cACJF,GAAUF,EAAOE,KAAWhL,GAGhCoL,EAAapL,GAAQgL,UAAgBA,IAAUhL,GAS/C,QAACqL,GAAWC,MASZC,EAAcH,EAAW,aAqBzBI,EAAgBL,EAAW,eA2B3BM,EAAWL,EAAW,UAQtBM,EAAaN,EAAW,YASxBO,EAAWP,EAAW,UAStBQ,EAAYZ,GAAoB,OAAVA,GAAmC,iBAAVA,EAiB/Ca,EAAiBC,IACrB,GAAoB,WAAhBhB,EAAOgB,GACT,OAAO,EAGT,MAAMjS,EAAY8G,EAAemL,GACjC,QAAsB,OAAdjS,GAAsBA,IAAc4E,OAAO5E,WAAkD,OAArC4E,OAAOkC,eAAe9G,IAA0BkF,OAAOM,eAAeyM,GAAU/M,OAAOE,YAAY6M,EAAI,EAUnKC,EAASZ,EAAW,QASpBa,EAASb,EAAW,QASpBc,EAASd,EAAW,QASpBe,EAAaf,EAAW,YAsCxBgB,EAAoBhB,EAAW,oBAE9BiB,EAAkBC,EAAWC,EAAYC,GAAa,CAAC,iBAAkB,UAAW,WAAY,WAAW1E,IAAIsD,GA2BtH,SAASnK,GAAQxH,EAAKsN,GAAI,WAAC0F,GAAa,GAAS,CAAC,GAEhD,GAAIhT,QACF,OAGF,IAAIkB,EACAyF,EAQJ,GALmB,iBAAR3G,IAETA,EAAM,CAACA,IAGL6R,EAAQ7R,GAEV,IAAKkB,EAAI,EAAGyF,EAAI3G,EAAImB,OAAQD,EAAIyF,EAAGzF,IACjCoM,EAAGhN,KAAK,KAAMN,EAAIkB,GAAIA,EAAGlB,OAEtB,CAEL,MAAM+J,EAAOiJ,EAAa/N,OAAOgO,oBAAoBjT,GAAOiF,OAAO8E,KAAK/J,GAClEkT,EAAMnJ,EAAK5I,OACjB,IAAIiK,EAEJ,IAAKlK,EAAI,EAAGA,EAAIgS,EAAKhS,IACnBkK,EAAMrB,EAAK7I,GACXoM,EAAGhN,KAAK,KAAMN,EAAIoL,GAAMA,EAAKpL,EAEjC,CACF,CAEA,SAASmT,GAAQnT,EAAKoL,GACpBA,EAAMA,EAAIsG,cACV,MAAM3H,EAAO9E,OAAO8E,KAAK/J,GACzB,IACIoT,EADAlS,EAAI6I,EAAK5I,OAEb,KAAOD,KAAM,GAEX,GADAkS,EAAOrJ,EAAK7I,GACRkK,IAAQgI,EAAK1B,cACf,OAAO0B,EAGX,OAAO,IACT,CAEA,MAAMC,GAEsB,oBAAfxI,WAAmCA,WACvB,oBAATzI,KAAuBA,KAA0B,oBAAX5C,OAAyBA,OAAS8T,OAGlFC,GAAoBC,IAAazB,EAAYyB,IAAYA,IAAYH,GAkLrEI,IAAgBC,GAKG,oBAAfC,YAA8BxM,EAAewM,YAH9CnC,GACEkC,IAAclC,aAAiBkC,IAHrB,IAACA,GAetB,MAiCME,GAAajC,EAAW,mBAWxB,GAAiB,GAAGxM,oBAAoB,CAACnF,EAAKsL,IAASnG,EAAe7E,KAAKN,EAAKsL,GAA/D,CAAsErG,OAAO5E,WAS9FwT,GAAWlC,EAAW,UAEtBmC,GAAoB,CAAC9T,EAAK+T,KAC9B,MAAMC,EAAc/O,OAAOgP,0BAA0BjU,GAC/CkU,EAAqB,CAAC,EAE5B1M,GAAQwM,GAAa,CAAChI,EAAY3K,KAChC,IAAI8S,GAC2C,KAA1CA,EAAMJ,EAAQ/H,EAAY3K,EAAMrB,MACnCkU,EAAmB7S,GAAQ8S,GAAOnI,EACpC,IAGF/G,OAAOmP,iBAAiBpU,EAAKkU,EAAmB,EAsD5CG,GAAQ,6BAERC,GAAQ,aAERC,GAAW,CACfD,SACAD,SACAG,YAAaH,GAAQA,GAAMjR,cAAgBkR,IAuDvCG,GAAY9C,EAAW,iBAK7B,IACEE,UACAG,gBACA0C,SApnBF,SAAkBpC,GAChB,OAAe,OAARA,IAAiBP,EAAYO,IAA4B,OAApBA,EAAI9I,cAAyBuI,EAAYO,EAAI9I,cACpF0I,EAAWI,EAAI9I,YAAYkL,WAAapC,EAAI9I,YAAYkL,SAASpC,EACxE,EAknBEqC,WAtekBnD,IAClB,IAAIoD,EACJ,OAAOpD,IACgB,mBAAbqD,UAA2BrD,aAAiBqD,UAClD3C,EAAWV,EAAMsD,UACY,cAA1BF,EAAOtD,EAAOE,KAEL,WAAToD,GAAqB1C,EAAWV,EAAMjE,WAAkC,sBAArBiE,EAAMjE,YAGhE,EA6dAwH,kBAhmBF,SAA2BzC,GACzB,IAAI0C,EAMJ,OAJEA,EAD0B,oBAAhBC,aAAiCA,YAAkB,OACpDA,YAAYC,OAAO5C,GAEnB,GAAUA,EAAU,QAAMN,EAAcM,EAAI6C,QAEhDH,CACT,EAylBE/C,WACAE,WACAiD,UAhjBgB5D,IAAmB,IAAVA,IAA4B,IAAVA,EAijB3CY,WACAC,gBACAO,mBACAC,YACAC,aACAC,YACAhB,cACAQ,SACAC,SACAC,SACAoB,YACA3B,aACAmD,SAhgBgB/C,GAAQF,EAASE,IAAQJ,EAAWI,EAAIgD,MAigBxD3C,oBACAc,gBACAf,aACAlL,WACA+N,MAlYF,SAASA,IACP,MAAM,SAACC,GAAYjC,GAAiBvS,OAASA,MAAQ,CAAC,EAChDgU,EAAS,CAAC,EACVS,EAAc,CAACnD,EAAKlH,KACxB,MAAMsK,EAAYF,GAAYrC,GAAQ6B,EAAQ5J,IAAQA,EAClDiH,EAAc2C,EAAOU,KAAerD,EAAcC,GACpD0C,EAAOU,GAAaH,EAAMP,EAAOU,GAAYpD,GACpCD,EAAcC,GACvB0C,EAAOU,GAAaH,EAAM,CAAC,EAAGjD,GACrBT,EAAQS,GACjB0C,EAAOU,GAAapD,EAAIrP,QAExB+R,EAAOU,GAAapD,CACtB,EAGF,IAAK,IAAIpR,EAAI,EAAGyF,EAAIlG,UAAUU,OAAQD,EAAIyF,EAAGzF,IAC3CT,UAAUS,IAAMsG,GAAQ/G,UAAUS,GAAIuU,GAExC,OAAOT,CACT,EA+WEW,OAnWa,CAACnQ,EAAGoQ,EAAGvE,GAAU2B,cAAa,CAAC,KAC5CxL,GAAQoO,GAAG,CAACtD,EAAKlH,KACXiG,GAAWa,EAAWI,GACxB9M,EAAE4F,GAAOjL,EAAKmS,EAAKjB,GAEnB7L,EAAE4F,GAAOkH,CACX,GACC,CAACU,eACGxN,GA4VPqQ,KA/dYpE,GAAQA,EAAIoE,KACxBpE,EAAIoE,OAASpE,EAAIqE,QAAQ,qCAAsC,IA+d/DC,SAnVgBC,IACc,QAA1BA,EAAQC,WAAW,KACrBD,EAAUA,EAAQ/S,MAAM,IAEnB+S,GAgVPE,SApUe,CAAC1M,EAAa2M,EAAkBpK,EAAOiI,KACtDxK,EAAYnJ,UAAY4E,OAAOmB,OAAO+P,EAAiB9V,UAAW2T,GAClExK,EAAYnJ,UAAUmJ,YAAcA,EACpCvE,OAAOI,eAAemE,EAAa,QAAS,CAC1ClE,MAAO6Q,EAAiB9V,YAE1B0L,GAAS9G,OAAOmR,OAAO5M,EAAYnJ,UAAW0L,EAAM,EA+TpDsK,aAnTmB,CAACC,EAAWC,EAASC,EAAQC,KAChD,IAAI1K,EACA7K,EACAoK,EACJ,MAAMoL,EAAS,CAAC,EAIhB,GAFAH,EAAUA,GAAW,CAAC,EAEL,MAAbD,EAAmB,OAAOC,EAE9B,EAAG,CAGD,IAFAxK,EAAQ9G,OAAOgO,oBAAoBqD,GACnCpV,EAAI6K,EAAM5K,OACHD,KAAM,GACXoK,EAAOS,EAAM7K,GACPuV,IAAcA,EAAWnL,EAAMgL,EAAWC,IAAcG,EAAOpL,KACnEiL,EAAQjL,GAAQgL,EAAUhL,GAC1BoL,EAAOpL,IAAQ,GAGnBgL,GAAuB,IAAXE,GAAoBrP,EAAemP,EACjD,OAASA,KAAeE,GAAUA,EAAOF,EAAWC,KAAaD,IAAcrR,OAAO5E,WAEtF,OAAOkW,CAAO,EA6RdjF,SACAK,aACAgF,SAnRe,CAAClF,EAAKmF,EAAcC,KACnCpF,EAAM7F,OAAO6F,SACI5P,IAAbgV,GAA0BA,EAAWpF,EAAItQ,UAC3C0V,EAAWpF,EAAItQ,QAEjB0V,GAAYD,EAAazV,OACzB,MAAM2V,EAAYrF,EAAI1O,QAAQ6T,EAAcC,GAC5C,OAAsB,IAAfC,GAAoBA,IAAcD,CAAQ,EA6QjDE,QAlQevF,IACf,IAAKA,EAAO,OAAO,KACnB,GAAIK,EAAQL,GAAQ,OAAOA,EAC3B,IAAItQ,EAAIsQ,EAAMrQ,OACd,IAAKgR,EAASjR,GAAI,OAAO,KACzB,MAAM8V,EAAM,IAAIlF,MAAM5Q,GACtB,KAAOA,KAAM,GACX8V,EAAI9V,GAAKsQ,EAAMtQ,GAEjB,OAAO8V,CAAG,EA0PVC,aA/NmB,CAACjX,EAAKsN,KACzB,MAEM7H,GAFYzF,GAAOA,EAAIuF,OAAOE,WAETnF,KAAKN,GAEhC,IAAIgV,EAEJ,MAAQA,EAASvP,EAASgD,UAAYuM,EAAO/M,MAAM,CACjD,MAAMiP,EAAOlC,EAAO1P,MACpBgI,EAAGhN,KAAKN,EAAKkX,EAAK,GAAIA,EAAK,GAC7B,GAsNAC,SA3Me,CAACC,EAAQ3F,KACxB,IAAI4F,EACJ,MAAML,EAAM,GAEZ,KAAwC,QAAhCK,EAAUD,EAAOpU,KAAKyO,KAC5BuF,EAAI/N,KAAKoO,GAGX,OAAOL,CAAG,EAoMVpD,cACAzO,eAAc,GACdmS,WAAY,GACZxD,qBACAyD,cA3JqBvX,IACrB8T,GAAkB9T,GAAK,CAACgM,EAAY3K,KAElC,GAAI6Q,EAAWlS,KAA6D,IAArD,CAAC,YAAa,SAAU,UAAU+C,QAAQ1B,GAC/D,OAAO,EAGT,MAAMiE,EAAQtF,EAAIqB,GAEb6Q,EAAW5M,KAEhB0G,EAAWjG,YAAa,EAEpB,aAAciG,EAChBA,EAAW/F,UAAW,EAInB+F,EAAWyB,MACdzB,EAAWyB,IAAM,KACf,MAAMzF,MAAM,qCAAwC3G,EAAO,IAAK,GAEpE,GACA,EAqIFmW,YAlIkB,CAACC,EAAeC,KAClC,MAAM1X,EAAM,CAAC,EAEP8F,EAAUkR,IACdA,EAAIxP,SAAQlC,IACVtF,EAAIsF,IAAS,CAAI,GACjB,EAKJ,OAFAuM,EAAQ4F,GAAiB3R,EAAO2R,GAAiB3R,EAAO8F,OAAO6L,GAAeE,MAAMD,IAE7E1X,CAAG,EAwHV4X,YApMkBnG,GACXA,EAAIC,cAAcoE,QAAQ,yBAC/B,SAAkB+B,EAAGC,EAAIC,GACvB,OAAOD,EAAG1U,cAAgB2U,CAC5B,IAiMF1Y,KAtHW,OAuHX2Y,eArHqB,CAAC1S,EAAO2S,IACb,MAAT3S,GAAiB4S,OAAOC,SAAS7S,GAASA,GAASA,EAAQ2S,EAqHlE9E,WACAG,OAAQD,GACRE,oBACAgB,YACA6D,eA5GqB,CAACC,EAAO,GAAIC,EAAW/D,GAASC,eACrD,IAAI/C,EAAM,GACV,MAAM,OAACtQ,GAAUmX,EACjB,KAAOD,KACL5G,GAAO6G,EAAS/H,KAAKE,SAAWtP,EAAO,GAGzC,OAAOsQ,CAAG,EAsGV8G,oBA5FF,SAA6B/G,GAC3B,SAAUA,GAASU,EAAWV,EAAMsD,SAAyC,aAA9BtD,EAAMjM,OAAOM,cAA+B2L,EAAMjM,OAAOE,UAC1G,EA2FE+S,aAzFoBxY,IACpB,MAAMyY,EAAQ,IAAI3G,MAAM,IAElB4G,EAAQ,CAACC,EAAQzX,KAErB,GAAIkR,EAASuG,GAAS,CACpB,GAAIF,EAAM1V,QAAQ4V,IAAW,EAC3B,OAGF,KAAK,WAAYA,GAAS,CACxBF,EAAMvX,GAAKyX,EACX,MAAM7M,EAAS+F,EAAQ8G,GAAU,GAAK,CAAC,EASvC,OAPAnR,GAAQmR,GAAQ,CAACrT,EAAO8F,KACtB,MAAMwN,EAAeF,EAAMpT,EAAOpE,EAAI,IACrC6Q,EAAY6G,KAAkB9M,EAAOV,GAAOwN,EAAa,IAG5DH,EAAMvX,QAAKW,EAEJiK,CACT,CACF,CAEA,OAAO6M,CAAM,EAGf,OAAOD,EAAM1Y,EAAK,EAAE,EA8DpByU,aACAoE,WA1DkBrH,GAClBA,IAAUY,EAASZ,IAAUU,EAAWV,KAAWU,EAAWV,EAAM1J,OAASoK,EAAWV,EAAMsH,QC9oBhG,SAASC,GAAWlL,EAASmL,EAAMC,EAAQC,EAASC,GAClDnR,MAAM1H,KAAKU,MAEPgH,MAAMoR,kBACRpR,MAAMoR,kBAAkBpY,KAAMA,KAAKwI,aAEnCxI,KAAKyX,OAAQ,IAAKzQ,OAASyQ,MAG7BzX,KAAK6M,QAAUA,EACf7M,KAAKK,KAAO,aACZ2X,IAAShY,KAAKgY,KAAOA,GACrBC,IAAWjY,KAAKiY,OAASA,GACzBC,IAAYlY,KAAKkY,QAAUA,GAC3BC,IAAanY,KAAKmY,SAAWA,EAC/B,CAEAE,GAAMnD,SAAS6C,GAAY/Q,MAAO,CAChCsR,OAAQ,WACN,MAAO,CAELzL,QAAS7M,KAAK6M,QACdxM,KAAML,KAAKK,KAEXkY,YAAavY,KAAKuY,YAClBC,OAAQxY,KAAKwY,OAEbC,SAAUzY,KAAKyY,SACfC,WAAY1Y,KAAK0Y,WACjBC,aAAc3Y,KAAK2Y,aACnBlB,MAAOzX,KAAKyX,MAEZQ,OAAQI,GAAMb,aAAaxX,KAAKiY,QAChCD,KAAMhY,KAAKgY,KACXY,OAAQ5Y,KAAKmY,UAAYnY,KAAKmY,SAASS,OAAS5Y,KAAKmY,SAASS,OAAS,KAE3E,IAGF,MAAM,GAAYb,GAAW1Y,UACvB2T,GAAc,CAAC,EAErB,CACE,uBACA,iBACA,eACA,YACA,cACA,4BACA,iBACA,mBACA,kBACA,eACA,kBACA,mBAEAxM,SAAQwR,IACRhF,GAAYgF,GAAQ,CAAC1T,MAAO0T,EAAK,IAGnC/T,OAAOmP,iBAAiB2E,GAAY/E,IACpC/O,OAAOI,eAAe,GAAW,eAAgB,CAACC,OAAO,IAGzDyT,GAAWc,KAAO,CAAC5I,EAAO+H,EAAMC,EAAQC,EAASC,EAAUW,KACzD,MAAMC,EAAa9U,OAAOmB,OAAO,IAgBjC,OAdAiT,GAAMhD,aAAapF,EAAO8I,GAAY,SAAgB/Z,GACpD,OAAOA,IAAQgI,MAAM3H,SACvB,IAAGiL,GACe,iBAATA,IAGTyN,GAAWzY,KAAKyZ,EAAY9I,EAAMpD,QAASmL,EAAMC,EAAQC,EAASC,GAElEY,EAAWC,MAAQ/I,EAEnB8I,EAAW1Y,KAAO4P,EAAM5P,KAExByY,GAAe7U,OAAOmR,OAAO2D,EAAYD,GAElCC,CAAU,EAGnB,YCrFA,SAASE,GAAYzI,GACnB,OAAO6H,GAAMhH,cAAcb,IAAU6H,GAAMxH,QAAQL,EACrD,CASA,SAAS0I,GAAe9O,GACtB,OAAOiO,GAAM1C,SAASvL,EAAK,MAAQA,EAAInI,MAAM,GAAI,GAAKmI,CACxD,CAWA,SAAS+O,GAAUC,EAAMhP,EAAKiP,GAC5B,OAAKD,EACEA,EAAKE,OAAOlP,GAAKiD,KAAI,SAAckM,EAAOrZ,GAG/C,OADAqZ,EAAQL,GAAeK,IACfF,GAAQnZ,EAAI,IAAMqZ,EAAQ,IAAMA,CAC1C,IAAGC,KAAKH,EAAO,IAAM,IALHjP,CAMpB,CAaA,MAAMqP,GAAapB,GAAMhD,aAAagD,GAAO,CAAC,EAAG,MAAM,SAAgB/N,GACrE,MAAO,WAAW5L,KAAK4L,EACzB,IA8JA,GArIA,SAAoBtL,EAAK0a,EAAUvM,GACjC,IAAKkL,GAAMjH,SAASpS,GAClB,MAAM,IAAIqD,UAAU,4BAItBqX,EAAWA,GAAY,IAAyB7F,SAYhD,MAAM8F,GATNxM,EAAUkL,GAAMhD,aAAalI,EAAS,CACpCwM,YAAY,EACZN,MAAM,EACNO,SAAS,IACR,GAAO,SAAiBC,EAAQlC,GAEjC,OAAQU,GAAMtH,YAAY4G,EAAOkC,GACnC,KAE2BF,WAErBG,EAAU3M,EAAQ2M,SAAWC,EAC7BV,EAAOlM,EAAQkM,KACfO,EAAUzM,EAAQyM,QAElBI,GADQ7M,EAAQ8M,MAAwB,oBAATA,MAAwBA,OACpC5B,GAAMd,oBAAoBmC,GAEnD,IAAKrB,GAAMnH,WAAW4I,GACpB,MAAM,IAAIzX,UAAU,8BAGtB,SAAS6X,EAAa5V,GACpB,GAAc,OAAVA,EAAgB,MAAO,GAE3B,GAAI+T,GAAM9G,OAAOjN,GACf,OAAOA,EAAM6V,cAGf,IAAKH,GAAW3B,GAAM5G,OAAOnN,GAC3B,MAAM,IAAI,GAAW,gDAGvB,OAAI+T,GAAMrH,cAAc1M,IAAU+T,GAAM5F,aAAanO,GAC5C0V,GAA2B,mBAATC,KAAsB,IAAIA,KAAK,CAAC3V,IAAU8V,OAAOvB,KAAKvU,GAG1EA,CACT,CAYA,SAASyV,EAAezV,EAAO8F,EAAKgP,GAClC,IAAIpD,EAAM1R,EAEV,GAAIA,IAAU8U,GAAyB,iBAAV9U,EAC3B,GAAI+T,GAAM1C,SAASvL,EAAK,MAEtBA,EAAMuP,EAAavP,EAAMA,EAAInI,MAAM,GAAI,GAEvCqC,EAAQ+V,KAAKC,UAAUhW,QAClB,GACJ+T,GAAMxH,QAAQvM,IAnGvB,SAAqB0R,GACnB,OAAOqC,GAAMxH,QAAQmF,KAASA,EAAIhH,KAAKiK,GACzC,CAiGiCsB,CAAYjW,KACnC+T,GAAM3G,WAAWpN,IAAU+T,GAAM1C,SAASvL,EAAK,SAAW4L,EAAMqC,GAAMtC,QAAQzR,IAYhF,OATA8F,EAAM8O,GAAe9O,GAErB4L,EAAIxP,SAAQ,SAAcgU,EAAIC,IAC1BpC,GAAMtH,YAAYyJ,IAAc,OAAPA,GAAgBd,EAAS5F,QAEtC,IAAZ8F,EAAmBT,GAAU,CAAC/O,GAAMqQ,EAAOpB,GAAqB,OAAZO,EAAmBxP,EAAMA,EAAM,KACnF8P,EAAaM,GAEjB,KACO,EAIX,QAAIvB,GAAY3U,KAIhBoV,EAAS5F,OAAOqF,GAAUC,EAAMhP,EAAKiP,GAAOa,EAAa5V,KAElD,EACT,CAEA,MAAMmT,EAAQ,GAERiD,EAAiBzW,OAAOmR,OAAOqE,GAAY,CAC/CM,iBACAG,eACAjB,iBAyBF,IAAKZ,GAAMjH,SAASpS,GAClB,MAAM,IAAIqD,UAAU,0BAKtB,OA5BA,SAASsY,EAAMrW,EAAO8U,GACpB,IAAIf,GAAMtH,YAAYzM,GAAtB,CAEA,IAA8B,IAA1BmT,EAAM1V,QAAQuC,GAChB,MAAM0C,MAAM,kCAAoCoS,EAAKI,KAAK,MAG5D/B,EAAMxP,KAAK3D,GAEX+T,GAAM7R,QAAQlC,GAAO,SAAckW,EAAIpQ,IAKtB,OAJEiO,GAAMtH,YAAYyJ,IAAc,OAAPA,IAAgBV,EAAQxa,KAChEoa,EAAUc,EAAInC,GAAMpH,SAAS7G,GAAOA,EAAIyK,OAASzK,EAAKgP,EAAMsB,KAI5DC,EAAMH,EAAIpB,EAAOA,EAAKE,OAAOlP,GAAO,CAACA,GAEzC,IAEAqN,EAAMxO,KAlB8B,CAmBtC,CAMA0R,CAAM3b,GAEC0a,CACT,EC5MA,SAASkB,GAAOnK,GACd,MAAMoK,EAAU,CACd,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,MAAO,IACP,MAAO,MAET,OAAOhZ,mBAAmB4O,GAAKqE,QAAQ,oBAAoB,SAAkBgG,GAC3E,OAAOD,EAAQC,EACjB,GACF,CAUA,SAASC,GAAqBC,EAAQ7N,GACpCnN,KAAKib,OAAS,GAEdD,GAAU,GAAWA,EAAQhb,KAAMmN,EACrC,CAEA,MAAM,GAAY4N,GAAqB1b,UAEvC,GAAUyU,OAAS,SAAgBzT,EAAMiE,GACvCtE,KAAKib,OAAOhT,KAAK,CAAC5H,EAAMiE,GAC1B,EAEA,GAAUiI,SAAW,SAAkB2O,GACrC,MAAMC,EAAUD,EAAU,SAAS5W,GACjC,OAAO4W,EAAQ5b,KAAKU,KAAMsE,EAAOsW,GACnC,EAAIA,GAEJ,OAAO5a,KAAKib,OAAO5N,KAAI,SAAc6I,GACnC,OAAOiF,EAAQjF,EAAK,IAAM,IAAMiF,EAAQjF,EAAK,GAC/C,GAAG,IAAIsD,KAAK,IACd,EAEA,YC5CA,SAAS,GAAOlI,GACd,OAAOzP,mBAAmByP,GACxBwD,QAAQ,QAAS,KACjBA,QAAQ,OAAQ,KAChBA,QAAQ,QAAS,KACjBA,QAAQ,OAAQ,KAChBA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,IACrB,CAWe,SAASsG,GAASC,EAAKL,EAAQ7N,GAE5C,IAAK6N,EACH,OAAOK,EAGT,MAAMF,EAAUhO,GAAWA,EAAQyN,QAAU,GAEvCU,EAAcnO,GAAWA,EAAQoO,UAEvC,IAAIC,EAUJ,GAPEA,EADEF,EACiBA,EAAYN,EAAQ7N,GAEpBkL,GAAM1G,kBAAkBqJ,GACzCA,EAAOzO,WACP,IAAI,GAAqByO,EAAQ7N,GAASZ,SAAS4O,GAGnDK,EAAkB,CACpB,MAAMC,EAAgBJ,EAAItZ,QAAQ,MAEX,IAAnB0Z,IACFJ,EAAMA,EAAIpZ,MAAM,EAAGwZ,IAErBJ,KAA8B,IAAtBA,EAAItZ,QAAQ,KAAc,IAAM,KAAOyZ,CACjD,CAEA,OAAOH,CACT,CCQA,SAlEA,MACE,WAAA7S,GACExI,KAAK0b,SAAW,EAClB,CAUA,GAAAC,CAAIC,EAAWC,EAAU1O,GAOvB,OANAnN,KAAK0b,SAASzT,KAAK,CACjB2T,YACAC,WACAC,cAAa3O,GAAUA,EAAQ2O,YAC/BC,QAAS5O,EAAUA,EAAQ4O,QAAU,OAEhC/b,KAAK0b,SAASvb,OAAS,CAChC,CASA,KAAA6b,CAAMC,GACAjc,KAAK0b,SAASO,KAChBjc,KAAK0b,SAASO,GAAM,KAExB,CAOA,KAAAC,GACMlc,KAAK0b,WACP1b,KAAK0b,SAAW,GAEpB,CAYA,OAAAlV,CAAQ8F,GACN+L,GAAM7R,QAAQxG,KAAK0b,UAAU,SAAwBhW,GACzC,OAANA,GACF4G,EAAG5G,EAEP,GACF,GCjEF,IACEyW,mBAAmB,EACnBC,mBAAmB,EACnBC,qBAAqB,GCDvB,IACEC,WAAW,EACXC,QAAS,CACPC,gBCJsC,oBAApBA,gBAAkCA,gBAAkB,GDKtE3I,SEN+B,oBAAbA,SAA2BA,SAAW,KFOxDoG,KGP2B,oBAATA,KAAuBA,KAAO,MHSlDwC,UAAW,CAAC,OAAQ,QAAS,OAAQ,OAAQ,MAAO,SIXhDC,GAAkC,oBAAXle,QAA8C,oBAAbmD,SAmBxDgb,IACHC,GAEuB,oBAAdne,WAA6BA,UAAUme,QADxCF,IAAiB,CAAC,cAAe,eAAgB,MAAM3a,QAAQ6a,IAAW,GAFvD,IAC3BA,GAaH,MAAMC,GAE2B,oBAAtBC,mBAEP1b,gBAAgB0b,mBACc,mBAAvB1b,KAAK2b,cAIVC,GAASN,IAAiBle,OAAOsD,SAASmb,MAAQ,mBCvCxD,OACK,KACA,ICyFL,GA9CA,SAAwBvD,GACtB,SAASwD,EAAU9D,EAAM9U,EAAOwG,EAAQ2P,GACtC,IAAIpa,EAAO+Y,EAAKqB,KAEhB,GAAa,cAATpa,EAAsB,OAAO,EAEjC,MAAM8c,EAAejG,OAAOC,UAAU9W,GAChC+c,EAAS3C,GAASrB,EAAKjZ,OAG7B,OAFAE,GAAQA,GAAQgY,GAAMxH,QAAQ/F,GAAUA,EAAO3K,OAASE,EAEpD+c,GACE/E,GAAM/B,WAAWxL,EAAQzK,GAC3ByK,EAAOzK,GAAQ,CAACyK,EAAOzK,GAAOiE,GAE9BwG,EAAOzK,GAAQiE,GAGT6Y,IAGLrS,EAAOzK,IAAUgY,GAAMjH,SAAStG,EAAOzK,MAC1CyK,EAAOzK,GAAQ,IAGF6c,EAAU9D,EAAM9U,EAAOwG,EAAOzK,GAAOoa,IAEtCpC,GAAMxH,QAAQ/F,EAAOzK,MACjCyK,EAAOzK,GA/Cb,SAAuB2V,GACrB,MAAMhX,EAAM,CAAC,EACP+J,EAAO9E,OAAO8E,KAAKiN,GACzB,IAAI9V,EACJ,MAAMgS,EAAMnJ,EAAK5I,OACjB,IAAIiK,EACJ,IAAKlK,EAAI,EAAGA,EAAIgS,EAAKhS,IACnBkK,EAAMrB,EAAK7I,GACXlB,EAAIoL,GAAO4L,EAAI5L,GAEjB,OAAOpL,CACT,CAoCqBqe,CAAcvS,EAAOzK,MAG9B8c,EACV,CAEA,GAAI9E,GAAM1E,WAAW+F,IAAarB,GAAMnH,WAAWwI,EAAS4D,SAAU,CACpE,MAAMte,EAAM,CAAC,EAMb,OAJAqZ,GAAMpC,aAAayD,GAAU,CAACrZ,EAAMiE,KAClC4Y,EA1EN,SAAuB7c,GAKrB,OAAOgY,GAAMlC,SAAS,gBAAiB9V,GAAMgN,KAAIyN,GAC3B,OAAbA,EAAM,GAAc,GAAKA,EAAM,IAAMA,EAAM,IAEtD,CAkEgByC,CAAcld,GAAOiE,EAAOtF,EAAK,EAAE,IAGxCA,CACT,CAEA,OAAO,IACT,ECzDMwe,GAAW,CAEfC,aAAc,GAEdC,QAAS,CAAC,MAAO,OAAQ,SAEzBC,iBAAkB,CAAC,SAA0BC,EAAMC,GACjD,MAAMC,EAAcD,EAAQE,kBAAoB,GAC1CC,EAAqBF,EAAY/b,QAAQ,qBAAuB,EAChEkc,EAAkB5F,GAAMjH,SAASwM,GAQvC,GANIK,GAAmB5F,GAAMzF,WAAWgL,KACtCA,EAAO,IAAI/J,SAAS+J,IAGHvF,GAAM1E,WAAWiK,GAGlC,OAAOI,EAAqB3D,KAAKC,UAAU,GAAesD,IAASA,EAGrE,GAAIvF,GAAMrH,cAAc4M,IACtBvF,GAAM3E,SAASkK,IACfvF,GAAMhE,SAASuJ,IACfvF,GAAM7G,OAAOoM,IACbvF,GAAM5G,OAAOmM,IACbvF,GAAMzG,iBAAiBgM,GAEvB,OAAOA,EAET,GAAIvF,GAAMtE,kBAAkB6J,GAC1B,OAAOA,EAAKzJ,OAEd,GAAIkE,GAAM1G,kBAAkBiM,GAE1B,OADAC,EAAQK,eAAe,mDAAmD,GACnEN,EAAKrR,WAGd,IAAImF,EAEJ,GAAIuM,EAAiB,CACnB,GAAIH,EAAY/b,QAAQ,sCAAwC,EAC9D,OCvEO,SAA0B6b,EAAMzQ,GAC7C,OAAO,GAAWyQ,EAAM,IAAIO,GAAS5B,QAAQC,gBAAmBvY,OAAOmR,OAAO,CAC5E0E,QAAS,SAASxV,EAAO8F,EAAKgP,EAAMgF,GAClC,OAAID,GAASE,QAAUhG,GAAM3E,SAASpP,IACpCtE,KAAK8T,OAAO1J,EAAK9F,EAAMiI,SAAS,YACzB,GAGF6R,EAAQrE,eAAeva,MAAMQ,KAAMP,UAC5C,GACC0N,GACL,CD4DemR,CAAiBV,EAAM5d,KAAKue,gBAAgBhS,WAGrD,IAAKmF,EAAa2G,GAAM3G,WAAWkM,KAAUE,EAAY/b,QAAQ,wBAA0B,EAAG,CAC5F,MAAMyc,EAAYxe,KAAKye,KAAOze,KAAKye,IAAI5K,SAEvC,OAAO,GACLnC,EAAa,CAAC,UAAWkM,GAAQA,EACjCY,GAAa,IAAIA,EACjBxe,KAAKue,eAET,CACF,CAEA,OAAIN,GAAmBD,GACrBH,EAAQK,eAAe,oBAAoB,GAxEjD,SAAyBQ,EAAUC,EAAQzD,GACzC,GAAI7C,GAAMpH,SAASyN,GACjB,IAEE,OADA,EAAWrE,KAAKuE,OAAOF,GAChBrG,GAAMxD,KAAK6J,EACpB,CAAE,MAAOnf,GACP,GAAe,gBAAXA,EAAEc,KACJ,MAAMd,CAEV,CAGF,OAAO,EAAY8a,KAAKC,WAAWoE,EACrC,CA4DaG,CAAgBjB,IAGlBA,CACT,GAEAkB,kBAAmB,CAAC,SAA2BlB,GAC7C,MAAMH,EAAezd,KAAKyd,cAAgBD,GAASC,aAC7CrB,EAAoBqB,GAAgBA,EAAarB,kBACjD2C,EAAsC,SAAtB/e,KAAKgf,aAE3B,GAAI3G,GAAMvG,WAAW8L,IAASvF,GAAMzG,iBAAiBgM,GACnD,OAAOA,EAGT,GAAIA,GAAQvF,GAAMpH,SAAS2M,KAAWxB,IAAsBpc,KAAKgf,cAAiBD,GAAgB,CAChG,MACME,IADoBxB,GAAgBA,EAAatB,oBACP4C,EAEhD,IACE,OAAO1E,KAAKuE,MAAMhB,EACpB,CAAE,MAAOre,GACP,GAAI0f,EAAmB,CACrB,GAAe,gBAAX1f,EAAEc,KACJ,MAAM,GAAWwY,KAAKtZ,EAAG,GAAW2f,iBAAkBlf,KAAM,KAAMA,KAAKmY,UAEzE,MAAM5Y,CACR,CACF,CACF,CAEA,OAAOqe,CACT,GAMAuB,QAAS,EAETC,eAAgB,aAChBC,eAAgB,eAEhBC,kBAAmB,EACnBC,eAAgB,EAEhBd,IAAK,CACH5K,SAAUsK,GAAS5B,QAAQ1I,SAC3BoG,KAAMkE,GAAS5B,QAAQtC,MAGzBuF,eAAgB,SAAwB5G,GACtC,OAAOA,GAAU,KAAOA,EAAS,GACnC,EAEAiF,QAAS,CACP4B,OAAQ,CACN,OAAU,oCACV,oBAAgB5e,KAKtBwX,GAAM7R,QAAQ,CAAC,SAAU,MAAO,OAAQ,OAAQ,MAAO,UAAWtH,IAChEse,GAASK,QAAQ3e,GAAU,CAAC,CAAC,IAG/B,YE1JMwgB,GAAoBrH,GAAM7B,YAAY,CAC1C,MAAO,gBAAiB,iBAAkB,eAAgB,OAC1D,UAAW,OAAQ,OAAQ,oBAAqB,sBAChD,gBAAiB,WAAY,eAAgB,sBAC7C,UAAW,cAAe,eCLtBmJ,GAAapb,OAAO,aAE1B,SAASqb,GAAgBC,GACvB,OAAOA,GAAUjV,OAAOiV,GAAQhL,OAAOnE,aACzC,CAEA,SAASoP,GAAexb,GACtB,OAAc,IAAVA,GAA4B,MAATA,EACdA,EAGF+T,GAAMxH,QAAQvM,GAASA,EAAM+I,IAAIyS,IAAkBlV,OAAOtG,EACnE,CAgBA,SAASyb,GAAiBvN,EAASlO,EAAOub,EAAQrK,EAAQwK,GACxD,OAAI3H,GAAMnH,WAAWsE,GACZA,EAAOlW,KAAKU,KAAMsE,EAAOub,IAG9BG,IACF1b,EAAQub,GAGLxH,GAAMpH,SAAS3M,GAEhB+T,GAAMpH,SAASuE,IACiB,IAA3BlR,EAAMvC,QAAQyT,GAGnB6C,GAAMxF,SAAS2C,GACVA,EAAO9W,KAAK4F,QADrB,OANA,EASF,CAsBA,MAAM2b,GACJ,WAAAzX,CAAYqV,GACVA,GAAW7d,KAAKyM,IAAIoR,EACtB,CAEA,GAAApR,CAAIoT,EAAQK,EAAgBC,GAC1B,MAAM/e,EAAOpB,KAEb,SAASogB,EAAUC,EAAQC,EAASC,GAClC,MAAMC,EAAUZ,GAAgBU,GAEhC,IAAKE,EACH,MAAM,IAAIxZ,MAAM,0CAGlB,MAAMoD,EAAMiO,GAAMlG,QAAQ/Q,EAAMof,KAE5BpW,QAAqBvJ,IAAdO,EAAKgJ,KAAmC,IAAbmW,QAAmC1f,IAAb0f,IAAwC,IAAdnf,EAAKgJ,MACzFhJ,EAAKgJ,GAAOkW,GAAWR,GAAeO,GAE1C,CAEA,MAAMI,EAAa,CAAC5C,EAAS0C,IAC3BlI,GAAM7R,QAAQqX,GAAS,CAACwC,EAAQC,IAAYF,EAAUC,EAAQC,EAASC,KAEzE,GAAIlI,GAAMhH,cAAcwO,IAAWA,aAAkB7f,KAAKwI,YACxDiY,EAAWZ,EAAQK,QACd,GAAG7H,GAAMpH,SAAS4O,KAAYA,EAASA,EAAOhL,UArEtB,iCAAiCnW,KAqEmBmhB,EArEVhL,QAsEvE4L,ED1EN,CAAeC,IACb,MAAMC,EAAS,CAAC,EAChB,IAAIvW,EACAkH,EACApR,EAsBJ,OApBAwgB,GAAcA,EAAW/J,MAAM,MAAMnQ,SAAQ,SAAgBoa,GAC3D1gB,EAAI0gB,EAAK7e,QAAQ,KACjBqI,EAAMwW,EAAKC,UAAU,EAAG3gB,GAAG2U,OAAOnE,cAClCY,EAAMsP,EAAKC,UAAU3gB,EAAI,GAAG2U,QAEvBzK,GAAQuW,EAAOvW,IAAQsV,GAAkBtV,KAIlC,eAARA,EACEuW,EAAOvW,GACTuW,EAAOvW,GAAKnC,KAAKqJ,GAEjBqP,EAAOvW,GAAO,CAACkH,GAGjBqP,EAAOvW,GAAOuW,EAAOvW,GAAOuW,EAAOvW,GAAO,KAAOkH,EAAMA,EAE3D,IAEOqP,CACR,EC+CgBG,CAAajB,GAASK,QAC5B,GAAI7H,GAAMtG,UAAU8N,GACzB,IAAK,MAAOzV,EAAK9F,KAAUub,EAAOvC,UAChC8C,EAAU9b,EAAO8F,EAAK+V,QAGd,MAAVN,GAAkBO,EAAUF,EAAgBL,EAAQM,GAGtD,OAAOngB,IACT,CAEA,GAAAqK,CAAIwV,EAAQlB,GAGV,GAFAkB,EAASD,GAAgBC,GAEb,CACV,MAAMzV,EAAMiO,GAAMlG,QAAQnS,KAAM6f,GAEhC,GAAIzV,EAAK,CACP,MAAM9F,EAAQtE,KAAKoK,GAEnB,IAAKuU,EACH,OAAOra,EAGT,IAAe,IAAXqa,EACF,OA5GV,SAAqBlO,GACnB,MAAMsQ,EAAS9c,OAAOmB,OAAO,MACvB4b,EAAW,mCACjB,IAAIlG,EAEJ,KAAQA,EAAQkG,EAAShf,KAAKyO,IAC5BsQ,EAAOjG,EAAM,IAAMA,EAAM,GAG3B,OAAOiG,CACT,CAkGiBE,CAAY3c,GAGrB,GAAI+T,GAAMnH,WAAWyN,GACnB,OAAOA,EAAOrf,KAAKU,KAAMsE,EAAO8F,GAGlC,GAAIiO,GAAMxF,SAAS8L,GACjB,OAAOA,EAAO3c,KAAKsC,GAGrB,MAAM,IAAIjC,UAAU,yCACtB,CACF,CACF,CAEA,GAAAmK,CAAIqT,EAAQqB,GAGV,GAFArB,EAASD,GAAgBC,GAEb,CACV,MAAMzV,EAAMiO,GAAMlG,QAAQnS,KAAM6f,GAEhC,SAAUzV,QAAqBvJ,IAAdb,KAAKoK,IAAwB8W,IAAWnB,GAAiB/f,EAAMA,KAAKoK,GAAMA,EAAK8W,GAClG,CAEA,OAAO,CACT,CAEA,OAAOrB,EAAQqB,GACb,MAAM9f,EAAOpB,KACb,IAAImhB,GAAU,EAEd,SAASC,EAAad,GAGpB,GAFAA,EAAUV,GAAgBU,GAEb,CACX,MAAMlW,EAAMiO,GAAMlG,QAAQ/Q,EAAMkf,IAE5BlW,GAAS8W,IAAWnB,GAAiB3e,EAAMA,EAAKgJ,GAAMA,EAAK8W,YACtD9f,EAAKgJ,GAEZ+W,GAAU,EAEd,CACF,CAQA,OANI9I,GAAMxH,QAAQgP,GAChBA,EAAOrZ,QAAQ4a,GAEfA,EAAavB,GAGRsB,CACT,CAEA,KAAAjF,CAAMgF,GACJ,MAAMnY,EAAO9E,OAAO8E,KAAK/I,MACzB,IAAIE,EAAI6I,EAAK5I,OACTghB,GAAU,EAEd,KAAOjhB,KAAK,CACV,MAAMkK,EAAMrB,EAAK7I,GACbghB,IAAWnB,GAAiB/f,EAAMA,KAAKoK,GAAMA,EAAK8W,GAAS,YACtDlhB,KAAKoK,GACZ+W,GAAU,EAEd,CAEA,OAAOA,CACT,CAEA,SAAAE,CAAUC,GACR,MAAMlgB,EAAOpB,KACP6d,EAAU,CAAC,EAsBjB,OApBAxF,GAAM7R,QAAQxG,MAAM,CAACsE,EAAOub,KAC1B,MAAMzV,EAAMiO,GAAMlG,QAAQ0L,EAASgC,GAEnC,GAAIzV,EAGF,OAFAhJ,EAAKgJ,GAAO0V,GAAexb,eACpBlD,EAAKye,GAId,MAAM0B,EAAaD,EA9JzB,SAAsBzB,GACpB,OAAOA,EAAOhL,OACXnE,cAAcoE,QAAQ,mBAAmB,CAAC0M,EAAGC,EAAMhR,IAC3CgR,EAAKrf,cAAgBqO,GAElC,CAyJkCiR,CAAa7B,GAAUjV,OAAOiV,GAAQhL,OAE9D0M,IAAe1B,UACVze,EAAKye,GAGdze,EAAKmgB,GAAczB,GAAexb,GAElCuZ,EAAQ0D,IAAc,CAAI,IAGrBvhB,IACT,CAEA,MAAAsZ,IAAUqI,GACR,OAAO3hB,KAAKwI,YAAY8Q,OAAOtZ,QAAS2hB,EAC1C,CAEA,MAAArJ,CAAOsJ,GACL,MAAM5iB,EAAMiF,OAAOmB,OAAO,MAM1B,OAJAiT,GAAM7R,QAAQxG,MAAM,CAACsE,EAAOub,KACjB,MAATvb,IAA2B,IAAVA,IAAoBtF,EAAI6gB,GAAU+B,GAAavJ,GAAMxH,QAAQvM,GAASA,EAAMkV,KAAK,MAAQlV,EAAM,IAG3GtF,CACT,CAEA,CAACuF,OAAOE,YACN,OAAOR,OAAOqZ,QAAQtd,KAAKsY,UAAU/T,OAAOE,WAC9C,CAEA,QAAA8H,GACE,OAAOtI,OAAOqZ,QAAQtd,KAAKsY,UAAUjL,KAAI,EAAEwS,EAAQvb,KAAWub,EAAS,KAAOvb,IAAOkV,KAAK,KAC5F,CAEA,IAAKjV,OAAOM,eACV,MAAO,cACT,CAEA,WAAOgU,CAAKrI,GACV,OAAOA,aAAiBxQ,KAAOwQ,EAAQ,IAAIxQ,KAAKwQ,EAClD,CAEA,aAAO8I,CAAOuI,KAAUF,GACtB,MAAMG,EAAW,IAAI9hB,KAAK6hB,GAI1B,OAFAF,EAAQnb,SAASsE,GAAWgX,EAASrV,IAAI3B,KAElCgX,CACT,CAEA,eAAOC,CAASlC,GACd,MAIMmC,GAJYhiB,KAAK2f,IAAe3f,KAAK2f,IAAc,CACvDqC,UAAW,CAAC,IAGcA,UACtB3iB,EAAYW,KAAKX,UAEvB,SAAS4iB,EAAe3B,GACtB,MAAME,EAAUZ,GAAgBU,GAE3B0B,EAAUxB,KAtNrB,SAAwBxhB,EAAK6gB,GAC3B,MAAMqC,EAAe7J,GAAMzB,YAAY,IAAMiJ,GAE7C,CAAC,MAAO,MAAO,OAAOrZ,SAAQvH,IAC5BgF,OAAOI,eAAerF,EAAKC,EAAaijB,EAAc,CACpD5d,MAAO,SAAS6d,EAAMC,EAAMC,GAC1B,OAAOriB,KAAKf,GAAYK,KAAKU,KAAM6f,EAAQsC,EAAMC,EAAMC,EACzD,EACArd,cAAc,GACd,GAEN,CA4MQsd,CAAejjB,EAAWihB,GAC1B0B,EAAUxB,IAAW,EAEzB,CAIA,OAFAnI,GAAMxH,QAAQgP,GAAUA,EAAOrZ,QAAQyb,GAAkBA,EAAepC,GAEjE7f,IACT,EAGFigB,GAAa8B,SAAS,CAAC,eAAgB,iBAAkB,SAAU,kBAAmB,aAAc,kBAGpG1J,GAAMvF,kBAAkBmN,GAAa5gB,WAAW,EAAEiF,SAAQ8F,KACxD,IAAImY,EAASnY,EAAI,GAAGhI,cAAgBgI,EAAInI,MAAM,GAC9C,MAAO,CACLoI,IAAK,IAAM/F,EACX,GAAAmI,CAAI+V,GACFxiB,KAAKuiB,GAAUC,CACjB,EACF,IAGFnK,GAAM9B,cAAc0J,IAEpB,YC/Re,SAASwC,GAAcC,EAAKvK,GACzC,MAAMF,EAASjY,MAAQ,GACjBwS,EAAU2F,GAAYF,EACtB4F,EAAU,GAAahF,KAAKrG,EAAQqL,SAC1C,IAAID,EAAOpL,EAAQoL,KAQnB,OANAvF,GAAM7R,QAAQkc,GAAK,SAAmBpW,GACpCsR,EAAOtR,EAAGhN,KAAK2Y,EAAQ2F,EAAMC,EAAQwD,YAAalJ,EAAWA,EAASS,YAAS/X,EACjF,IAEAgd,EAAQwD,YAEDzD,CACT,CCzBe,SAAS+E,GAASre,GAC/B,SAAUA,IAASA,EAAMse,WAC3B,CCUA,SAASC,GAAchW,EAASoL,EAAQC,GAEtC,GAAW5Y,KAAKU,KAAiB,MAAX6M,EAAkB,WAAaA,EAAS,GAAWiW,aAAc7K,EAAQC,GAC/FlY,KAAKK,KAAO,eACd,CAEAgY,GAAMnD,SAAS2N,GAAe,GAAY,CACxCD,YAAY,IAGd,YCXe,SAASG,GAAOnc,EAASiJ,EAAQsI,GAC9C,MAAMqH,EAAiBrH,EAASF,OAAOuH,eAClCrH,EAASS,QAAW4G,IAAkBA,EAAerH,EAASS,QAGjE/I,EAAO,IAAI,GACT,mCAAqCsI,EAASS,OAC9C,CAAC,GAAWoK,gBAAiB,GAAW9D,kBAAkB3P,KAAKC,MAAM2I,EAASS,OAAS,KAAO,GAC9FT,EAASF,OACTE,EAASD,QACTC,IAPFvR,EAAQuR,EAUZ,CC4BA,MCnDA,IAAgB8K,EAAUC,EAAkBC,EAAO,KACjD,IAAIC,EAAgB,EACpB,MAAMC,EDGR,SAAqBC,EAAcC,GACjCD,EAAeA,GAAgB,GAC/B,MAAME,EAAQ,IAAI1S,MAAMwS,GAClBG,EAAa,IAAI3S,MAAMwS,GAC7B,IAEII,EAFAC,EAAO,EACPC,EAAO,EAKX,OAFAL,OAAc1iB,IAAR0iB,EAAoBA,EAAM,IAEzB,SAAcM,GACnB,MAAMC,EAAMC,KAAKD,MAEXE,EAAYP,EAAWG,GAExBF,IACHA,EAAgBI,GAGlBN,EAAMG,GAAQE,EACdJ,EAAWE,GAAQG,EAEnB,IAAI5jB,EAAI0jB,EACJK,EAAa,EAEjB,KAAO/jB,IAAMyjB,GACXM,GAAcT,EAAMtjB,KACpBA,GAAQojB,EASV,GANAK,GAAQA,EAAO,GAAKL,EAEhBK,IAASC,IACXA,GAAQA,EAAO,GAAKN,GAGlBQ,EAAMJ,EAAgBH,EACxB,OAGF,MAAMW,EAASF,GAAaF,EAAME,EAElC,OAAOE,EAAS3U,KAAK4U,MAAmB,IAAbF,EAAoBC,QAAUrjB,CAC3D,CACF,CC/CuB,CAAY,GAAI,KAErC,OCCF,SAAkByL,EAAI6W,GACpB,IAAIiB,EAAY,EAChB,MAAMC,EAAY,IAAOlB,EACzB,IAAImB,EAAQ,KACZ,OAAO,WACL,MAAMC,GAAiB,IAATvkB,KAER8jB,EAAMC,KAAKD,MACjB,GAAIS,GAAST,EAAMM,EAAYC,EAM7B,OALIC,IACFE,aAAaF,GACbA,EAAQ,MAEVF,EAAYN,EACLxX,EAAG9M,MAAM,KAAMC,WAEnB6kB,IACHA,EAAQG,YAAW,KACjBH,EAAQ,KACRF,EAAYL,KAAKD,MACVxX,EAAG9M,MAAM,KAAMC,aACrB4kB,GAAaP,EAAMM,IAE1B,CACF,CDzBS,EAAS7kB,IACd,MAAMmlB,EAASnlB,EAAEmlB,OACXC,EAAQplB,EAAEqlB,iBAAmBrlB,EAAEolB,WAAQ9jB,EACvCgkB,EAAgBH,EAAStB,EACzB0B,EAAOzB,EAAawB,GAG1BzB,EAAgBsB,EAEhB,MAAM9G,EAAO,CACX8G,SACAC,QACAI,SAAUJ,EAASD,EAASC,OAAS9jB,EACrC2iB,MAAOqB,EACPC,KAAMA,QAAcjkB,EACpBmkB,UAAWF,GAAQH,GAVLD,GAAUC,GAUeA,EAAQD,GAAUI,OAAOjkB,EAChEokB,MAAO1lB,EACPqlB,iBAA2B,MAATD,GAGpB/G,EAAKsF,EAAmB,WAAa,WAAY,EAEjDD,EAASrF,EAAK,GACbuF,EACJ,EE1BD,GAAehF,GAASxB,sBAItB,WACE,MAAMuI,EAAO,kBAAkBxmB,KAAKD,UAAUE,WACxCwmB,EAAiBxjB,SAASyjB,cAAc,KAC9C,IAAIC,EAQJ,SAASC,EAAWjK,GAClB,IAAI4B,EAAO5B,EAWX,OATI6J,IAEFC,EAAeI,aAAa,OAAQtI,GACpCA,EAAOkI,EAAelI,MAGxBkI,EAAeI,aAAa,OAAQtI,GAG7B,CACLA,KAAMkI,EAAelI,KACrBuI,SAAUL,EAAeK,SAAWL,EAAeK,SAAS1Q,QAAQ,KAAM,IAAM,GAChF2Q,KAAMN,EAAeM,KACrBC,OAAQP,EAAeO,OAASP,EAAeO,OAAO5Q,QAAQ,MAAO,IAAM,GAC3E6Q,KAAMR,EAAeQ,KAAOR,EAAeQ,KAAK7Q,QAAQ,KAAM,IAAM,GACpE8Q,SAAUT,EAAeS,SACzBC,KAAMV,EAAeU,KACrBC,SAAiD,MAAtCX,EAAeW,SAAS3c,OAAO,GACxCgc,EAAeW,SACf,IAAMX,EAAeW,SAE3B,CAUA,OARAT,EAAYC,EAAW9mB,OAAOsD,SAASmb,MAQhC,SAAyB8I,GAC9B,MAAMpF,EAAUtI,GAAMpH,SAAS8U,GAAeT,EAAWS,GAAcA,EACvE,OAAQpF,EAAO6E,WAAaH,EAAUG,UAClC7E,EAAO8E,OAASJ,EAAUI,IAChC,CACD,CAlDD,GAsDS,WACL,OAAO,CACT,EC9DJ,GAAetH,GAASxB,sBAGtB,CACE,KAAAqJ,CAAM3lB,EAAMiE,EAAO2hB,EAAS7M,EAAM8M,EAAQC,GACxC,MAAMzkB,EAAS,CAACrB,EAAO,IAAMwB,mBAAmByC,IAEhD+T,GAAMlH,SAAS8U,IAAYvkB,EAAOuG,KAAK,WAAa,IAAI8b,KAAKkC,GAASG,eAEtE/N,GAAMpH,SAASmI,IAAS1X,EAAOuG,KAAK,QAAUmR,GAE9Cf,GAAMpH,SAASiV,IAAWxkB,EAAOuG,KAAK,UAAYie,IAEvC,IAAXC,GAAmBzkB,EAAOuG,KAAK,UAE/BtG,SAASD,OAASA,EAAO8X,KAAK,KAChC,EAEA,IAAA6M,CAAKhmB,GACH,MAAMya,EAAQnZ,SAASD,OAAOoZ,MAAM,IAAIwL,OAAO,aAAejmB,EAAO,cACrE,OAAQya,EAAQyL,mBAAmBzL,EAAM,IAAM,IACjD,EAEA,MAAA0L,CAAOnmB,GACLL,KAAKgmB,MAAM3lB,EAAM,GAAI0jB,KAAKD,MAAQ,MACpC,GAMF,CACE,KAAAkC,GAAS,EACTK,KAAI,IACK,KAET,MAAAG,GAAU,GCxBC,SAASC,GAAcC,EAASC,GAC7C,OAAID,ICHG,8BAA8BhoB,KDGPioB,GENjB,SAAqBD,EAASE,GAC3C,OAAOA,EACHF,EAAQ5R,QAAQ,SAAU,IAAM,IAAM8R,EAAY9R,QAAQ,OAAQ,IAClE4R,CACN,CFGWG,CAAYH,EAASC,GAEvBA,CACT,CGfA,MAAMG,GAAmBtW,GAAUA,aAAiB,GAAe,IAAKA,GAAUA,EAWnE,SAASuW,GAAYC,EAASC,GAE3CA,EAAUA,GAAW,CAAC,EACtB,MAAMhP,EAAS,CAAC,EAEhB,SAASiP,EAAepc,EAAQ6M,EAAQnD,GACtC,OAAI6D,GAAMhH,cAAcvG,IAAWuN,GAAMhH,cAAcsG,GAC9CU,GAAM9D,MAAMjV,KAAK,CAACkV,YAAW1J,EAAQ6M,GACnCU,GAAMhH,cAAcsG,GACtBU,GAAM9D,MAAM,CAAC,EAAGoD,GACdU,GAAMxH,QAAQ8G,GAChBA,EAAO1V,QAET0V,CACT,CAGA,SAASwP,EAAoB3iB,EAAGoQ,EAAGJ,GACjC,OAAK6D,GAAMtH,YAAY6D,GAEXyD,GAAMtH,YAAYvM,QAAvB,EACE0iB,OAAermB,EAAW2D,EAAGgQ,GAF7B0S,EAAe1iB,EAAGoQ,EAAGJ,EAIhC,CAGA,SAAS4S,EAAiB5iB,EAAGoQ,GAC3B,IAAKyD,GAAMtH,YAAY6D,GACrB,OAAOsS,OAAermB,EAAW+T,EAErC,CAGA,SAASyS,EAAiB7iB,EAAGoQ,GAC3B,OAAKyD,GAAMtH,YAAY6D,GAEXyD,GAAMtH,YAAYvM,QAAvB,EACE0iB,OAAermB,EAAW2D,GAF1B0iB,OAAermB,EAAW+T,EAIrC,CAGA,SAAS0S,EAAgB9iB,EAAGoQ,EAAGtK,GAC7B,OAAIA,KAAQ2c,EACHC,EAAe1iB,EAAGoQ,GAChBtK,KAAQ0c,EACVE,OAAermB,EAAW2D,QAD5B,CAGT,CAEA,MAAM+iB,EAAW,CACflM,IAAK+L,EACLloB,OAAQkoB,EACRxJ,KAAMwJ,EACNV,QAASW,EACT1J,iBAAkB0J,EAClBvI,kBAAmBuI,EACnB3Y,iBAAkB2Y,EAClBlI,QAASkI,EACTG,eAAgBH,EAChBI,gBAAiBJ,EACjBK,cAAeL,EACf3J,QAAS2J,EACTrI,aAAcqI,EACdjI,eAAgBiI,EAChBhI,eAAgBgI,EAChBM,iBAAkBN,EAClBO,mBAAoBP,EACpBQ,WAAYR,EACZ/H,iBAAkB+H,EAClB9H,cAAe8H,EACfS,eAAgBT,EAChBU,UAAWV,EACX7Y,UAAW6Y,EACX5Y,WAAY4Y,EACZW,YAAaX,EACbY,WAAYZ,EACZa,iBAAkBb,EAClB7H,eAAgB8H,EAChBzJ,QAAS,CAACrZ,EAAGoQ,IAAMuS,EAAoBL,GAAgBtiB,GAAIsiB,GAAgBlS,IAAI,IASjF,OANAyD,GAAM7R,QAAQvC,OAAO8E,KAAK9E,OAAOmR,OAAO,CAAC,EAAG4R,EAASC,KAAW,SAA4B3c,GAC1F,MAAMiK,EAAQgT,EAASjd,IAAS6c,EAC1BgB,EAAc5T,EAAMyS,EAAQ1c,GAAO2c,EAAQ3c,GAAOA,GACvD+N,GAAMtH,YAAYoX,IAAgB5T,IAAU+S,IAAqBrP,EAAO3N,GAAQ6d,EACnF,IAEOlQ,CACT,CChGA,SAAgBA,IACd,MAAMmQ,EAAYrB,GAAY,CAAC,EAAG9O,GAElC,IAaI6F,GAbA,KAACF,EAAI,cAAE8J,EAAa,eAAErI,EAAc,eAAED,EAAc,QAAEvB,EAAO,KAAEwK,GAAQD,EAe3E,GAbAA,EAAUvK,QAAUA,EAAU,GAAahF,KAAKgF,GAEhDuK,EAAU/M,IAAMD,GAASqL,GAAc2B,EAAU1B,QAAS0B,EAAU/M,KAAMpD,EAAO+C,OAAQ/C,EAAOvJ,kBAG5F2Z,GACFxK,EAAQpR,IAAI,gBAAiB,SAC3B6b,MAAMD,EAAKE,UAAY,IAAM,KAAOF,EAAKG,SAAWC,SAAS5mB,mBAAmBwmB,EAAKG,WAAa,MAMlGnQ,GAAM1E,WAAWiK,GACnB,GAAIO,GAASxB,uBAAyBwB,GAAStB,+BAC7CgB,EAAQK,oBAAerd,QAClB,IAAiD,KAA5Cid,EAAcD,EAAQE,kBAA6B,CAE7D,MAAOvY,KAASub,GAAUjD,EAAcA,EAAYnH,MAAM,KAAKtJ,KAAIkM,GAASA,EAAM1E,SAAQW,OAAO1J,SAAW,GAC5G+R,EAAQK,eAAe,CAAC1Y,GAAQ,yBAA0Bub,GAAQvH,KAAK,MACzE,CAOF,GAAI2E,GAASxB,wBACX+K,GAAiBrP,GAAMnH,WAAWwW,KAAmBA,EAAgBA,EAAcU,IAE/EV,IAAoC,IAAlBA,GAA2BgB,GAAgBN,EAAU/M,MAAO,CAEhF,MAAMsN,EAAYtJ,GAAkBD,GAAkBwJ,GAAQvC,KAAKjH,GAE/DuJ,GACF9K,EAAQpR,IAAI4S,EAAgBsJ,EAEhC,CAGF,OAAOP,CACR,EC1CD,GAFwD,oBAAnBS,gBAEG,SAAU5Q,GAChD,OAAO,IAAInP,SAAQ,SAA4BlC,EAASiJ,GACtD,MAAMiZ,EAAUC,GAAc9Q,GAC9B,IAAI+Q,EAAcF,EAAQlL,KAC1B,MAAMqL,EAAiB,GAAapQ,KAAKiQ,EAAQjL,SAASwD,YAC1D,IACI6H,GADA,aAAClK,GAAgB8J,EAErB,SAAS7hB,IACH6hB,EAAQd,aACVc,EAAQd,YAAYmB,YAAYD,GAG9BJ,EAAQM,QACVN,EAAQM,OAAOC,oBAAoB,QAASH,EAEhD,CAEA,IAAIhR,EAAU,IAAI2Q,eAOlB,SAASS,IACP,IAAKpR,EACH,OAGF,MAAMqR,EAAkB,GAAa1Q,KACnC,0BAA2BX,GAAWA,EAAQsR,yBAahDzG,IAAO,SAAkBze,GACvBsC,EAAQtC,GACR2C,GACF,IAAG,SAAiBmJ,GAClBP,EAAOO,GACPnJ,GACF,GAfiB,CACf2W,KAHoBoB,GAAiC,SAAjBA,GAA4C,SAAjBA,EACxC9G,EAAQC,SAA/BD,EAAQuR,aAGR7Q,OAAQV,EAAQU,OAChB8Q,WAAYxR,EAAQwR,WACpB7L,QAAS0L,EACTtR,SACAC,YAYFA,EAAU,IACZ,CAlCAA,EAAQyR,KAAKb,EAAQ5pB,OAAOkD,cAAe0mB,EAAQzN,KAAK,GAGxDnD,EAAQiH,QAAU2J,EAAQ3J,QAiCtB,cAAejH,EAEjBA,EAAQoR,UAAYA,EAGpBpR,EAAQ0R,mBAAqB,WACtB1R,GAAkC,IAAvBA,EAAQ2R,aAQD,IAAnB3R,EAAQU,QAAkBV,EAAQ4R,aAAwD,IAAzC5R,EAAQ4R,YAAY/nB,QAAQ,WAKjF0iB,WAAW6E,EACb,EAIFpR,EAAQ6R,QAAU,WACX7R,IAILrI,EAAO,IAAI,GAAW,kBAAmB,GAAWma,aAAclB,EAAS5Q,IAG3EA,EAAU,KACZ,EAGAA,EAAQ+R,QAAU,WAGhBpa,EAAO,IAAI,GAAW,gBAAiB,GAAWqa,YAAapB,EAAS5Q,IAGxEA,EAAU,IACZ,EAGAA,EAAQiS,UAAY,WAClB,IAAIC,EAAsBtB,EAAQ3J,QAAU,cAAgB2J,EAAQ3J,QAAU,cAAgB,mBAC9F,MAAM1B,EAAeqL,EAAQrL,cAAgB,GACzCqL,EAAQsB,sBACVA,EAAsBtB,EAAQsB,qBAEhCva,EAAO,IAAI,GACTua,EACA3M,EAAapB,oBAAsB,GAAWgO,UAAY,GAAWL,aACrElB,EACA5Q,IAGFA,EAAU,IACZ,OAGgBrX,IAAhBmoB,GAA6BC,EAAe/K,eAAe,MAGvD,qBAAsBhG,GACxBG,GAAM7R,QAAQyiB,EAAe3Q,UAAU,SAA0BhH,EAAKlH,GACpE8N,EAAQoS,iBAAiBlgB,EAAKkH,EAChC,IAIG+G,GAAMtH,YAAY+X,EAAQrB,mBAC7BvP,EAAQuP,kBAAoBqB,EAAQrB,iBAIlCzI,GAAiC,SAAjBA,IAClB9G,EAAQ8G,aAAe8J,EAAQ9J,cAIS,mBAA/B8J,EAAQlB,oBACjB1P,EAAQqS,iBAAiB,WAAYC,GAAqB1B,EAAQlB,oBAAoB,IAIhD,mBAA7BkB,EAAQnB,kBAAmCzP,EAAQuS,QAC5DvS,EAAQuS,OAAOF,iBAAiB,WAAYC,GAAqB1B,EAAQnB,oBAGvEmB,EAAQd,aAAec,EAAQM,UAGjCF,EAAawB,IACNxS,IAGLrI,GAAQ6a,GAAUA,EAAOllB,KAAO,IAAI,GAAc,KAAMyS,EAAQC,GAAWwS,GAC3ExS,EAAQyS,QACRzS,EAAU,KAAI,EAGhB4Q,EAAQd,aAAec,EAAQd,YAAY4C,UAAU1B,GACjDJ,EAAQM,SACVN,EAAQM,OAAOyB,QAAU3B,IAAeJ,EAAQM,OAAOmB,iBAAiB,QAASrB,KAIrF,MAAM1D,EChLK,SAAuBnK,GACpC,MAAMP,EAAQ,4BAA4B9Y,KAAKqZ,GAC/C,OAAOP,GAASA,EAAM,IAAM,EAC9B,CD6KqBgQ,CAAchC,EAAQzN,KAEnCmK,IAAsD,IAA1CrH,GAAS1B,UAAU1a,QAAQyjB,GACzC3V,EAAO,IAAI,GAAW,wBAA0B2V,EAAW,IAAK,GAAWxC,gBAAiB/K,IAM9FC,EAAQ6S,KAAK/B,GAAe,KAC9B,GACF,EEhJA,GA1CuB,CAACgC,EAAS7L,KAC/B,IAEI0L,EAFAI,EAAa,IAAIC,gBAIrB,MAAMnB,EAAU,SAAUW,GACxB,IAAKG,EAAS,CACZA,GAAU,EACV1B,IACA,MAAM/Y,EAAMsa,aAAkB1jB,MAAQ0jB,EAAS1qB,KAAKmrB,OACpDF,EAAWN,MAAMva,aAAe,GAAaA,EAAM,IAAI,GAAcA,aAAepJ,MAAQoJ,EAAIvD,QAAUuD,GAC5G,CACF,EAEA,IAAIkU,EAAQnF,GAAWsF,YAAW,KAChCsF,EAAQ,IAAI,GAAW,WAAW5K,mBAA0B,GAAWkL,WAAU,GAChFlL,GAEH,MAAMgK,EAAc,KACd6B,IACF1G,GAASE,aAAaF,GACtBA,EAAQ,KACR0G,EAAQxkB,SAAQ4iB,IACdA,IACCA,EAAOC,oBAAsBD,EAAOC,oBAAoB,QAASU,GAAWX,EAAOD,YAAYY,GAAS,IAE3GiB,EAAU,KACZ,EAGFA,EAAQxkB,SAAS4iB,GAAWA,GAAUA,EAAOmB,kBAAoBnB,EAAOmB,iBAAiB,QAASR,KAElG,MAAM,OAACX,GAAU6B,EAIjB,OAFA7B,EAAOD,YAAcA,EAEd,CAACC,EAAQ,KACd9E,GAASE,aAAaF,GACtBA,EAAQ,IAAI,EACZ,ECxCS8G,GAAc,UAAWC,EAAOC,GAC3C,IAAIpZ,EAAMmZ,EAAME,WAEhB,IAAKD,GAAapZ,EAAMoZ,EAEtB,kBADMD,GAIR,IACIG,EADAC,EAAM,EAGV,KAAOA,EAAMvZ,GACXsZ,EAAMC,EAAMH,QACND,EAAMppB,MAAMwpB,EAAKD,GACvBC,EAAMD,CAEV,EAQaE,GAAc,CAACC,EAAQL,EAAWM,EAAYC,EAAUjR,KACnE,MAAMnW,EAPiBoE,gBAAiBijB,EAAUR,EAAW1Q,GAC7D,UAAW,MAAMyQ,KAASS,QACjBV,GAAYnX,YAAYC,OAAOmX,GAASA,QAAezQ,EAAOhQ,OAAOygB,IAAUC,EAE1F,CAGmBS,CAAUJ,EAAQL,EAAW1Q,GAE9C,IAAI4I,EAAQ,EAEZ,OAAO,IAAIwI,eAAe,CACxBxmB,KAAM,QAEN,UAAMymB,CAAKhB,GACT,MAAM,KAAChkB,EAAI,MAAE3C,SAAeG,EAASgD,OAErC,GAAIR,EAGF,OAFAgkB,EAAWiB,aACXL,IAIF,IAAI3Z,EAAM5N,EAAMinB,WAChBK,GAAcA,EAAWpI,GAAStR,GAClC+Y,EAAWkB,QAAQ,IAAIxZ,WAAWrO,GACpC,EACAomB,OAAOS,IACLU,EAASV,GACF1mB,EAAS2nB,WAEjB,CACDC,cAAe,GAChB,EC3CGC,GAAyB,CAAC3H,EAAOrY,KACrC,MAAMsY,EAA4B,MAATD,EACzB,OAAQD,GAAWD,YAAW,IAAMnY,EAAG,CACrCsY,mBACAD,QACAD,YACC,EAGC6H,GAAoC,mBAAVC,OAA2C,mBAAZC,SAA8C,mBAAbC,SAC1FC,GAA4BJ,IAA8C,mBAAnBP,eAGvDY,GAAaL,KAA4C,mBAAhBM,aACzC3R,GAA0C,IAAI2R,YAAjCpc,GAAQyK,GAAQN,OAAOnK,IACtC5H,MAAO4H,GAAQ,IAAIkC,iBAAiB,IAAI+Z,SAASjc,GAAKqc,gBADtD,IAAE5R,GAIN,MAAM6R,GAAwBJ,IAA6B,MACzD,IAAIK,GAAiB,EAErB,MAAMC,EAAiB,IAAIR,QAAQtO,GAASnB,OAAQ,CAClDkQ,KAAM,IAAIlB,eACV9sB,OAAQ,OACR,UAAIiuB,GAEF,OADAH,GAAiB,EACV,MACT,IACCnP,QAAQrR,IAAI,gBAEf,OAAOwgB,IAAmBC,CAC3B,EAb0D,GAiBrDG,GAAyBT,MAA+B,MAC5D,IACE,OAAOtU,GAAMzG,iBAAiB,IAAI8a,SAAS,IAAIQ,KACjD,CAAE,MAAM9c,GAER,CACD,EAN6D,GAQxDid,GAAY,CAChB1B,OAAQyB,IAA0B,CAAEE,GAAQA,EAAIJ,OAG7B,IAAEI,GAAvBf,KAAuBe,GAOpB,IAAIZ,SANL,CAAC,OAAQ,cAAe,OAAQ,WAAY,UAAUlmB,SAAQhB,KAC3D6nB,GAAU7nB,KAAU6nB,GAAU7nB,GAAQ6S,GAAMnH,WAAWoc,GAAI9nB,IAAU8nB,GAAQA,EAAI9nB,KAChF,CAAC+nB,EAAGtV,KACF,MAAM,IAAI,GAAW,kBAAkBzS,sBAA0B,GAAWgoB,gBAAiBvV,EAAO,EACrG,KAIP,MC5DMwV,GAAgB,CACpBC,KCNF,KDOEC,IAAKA,GACLnB,MDyFaD,IAAoB,OAAQtU,IACzC,IAAI,IACFoD,EAAG,OACHnc,EAAM,KACN0e,EAAI,OACJwL,EAAM,YACNpB,EAAW,QACX7I,EAAO,mBACPyI,EAAkB,iBAClBD,EAAgB,aAChB3I,EAAY,QACZnB,EAAO,gBACP4J,EAAkB,cAAa,aAC/BmG,GACE7E,GAAc9Q,GAElB+G,EAAeA,GAAgBA,EAAe,IAAItO,cAAgB,OAElE,IAGImd,EAAU3V,GAHT4V,EAAgBC,GAAgB3E,GAAUpB,GAAe7I,EAC5D,GAAe,CAACiK,EAAQpB,GAAc7I,GAAW,GAInD,MAAM0M,EAAW,MACdgC,GAAYpJ,YAAW,KACtBqJ,GAAkBA,EAAe3E,aAAa,IAGhD0E,GAAW,CAAI,EAGjB,IAAIG,EAEJ,IACE,GACErG,GAAoBoF,IAAoC,QAAX7tB,GAA+B,SAAXA,GACG,KAAnE8uB,OA1CmBnlB,OAAOgV,EAASqP,KACxC,MAAM/sB,EAASkY,GAAMrB,eAAe6G,EAAQoQ,oBAE5C,OAAiB,MAAV9tB,EA7Ba0I,OAAOqkB,GACf,MAARA,EACK,EAGN7U,GAAM5G,OAAOyb,GACPA,EAAK7V,KAGXgB,GAAMd,oBAAoB2V,UACb,IAAIT,QAAQS,GAAMJ,eAAevB,WAG9ClT,GAAMtE,kBAAkBmZ,GAClBA,EAAK3B,YAGXlT,GAAM1G,kBAAkBub,KACzBA,GAAc,IAGb7U,GAAMpH,SAASic,UACFN,GAAWM,IAAO3B,gBADlC,GAQwB2C,CAAchB,GAAQ/sB,CAAM,EAuClBguB,CAAkBtQ,EAASD,IACzD,CACA,IAMIwQ,EANAC,EAAW,IAAI5B,QAAQpR,EAAK,CAC9Bnc,OAAQ,OACRguB,KAAMtP,EACNuP,OAAQ,SAKN9U,GAAM1E,WAAWiK,KAAUwQ,EAAoBC,EAASxQ,QAAQxT,IAAI,kBACtEwT,EAAQK,eAAekQ,GAGrBC,EAASnB,OACXtP,EAAO8N,GAAY2C,EAASnB,KA1GT,MA0GmCZ,GACpD0B,EACAxD,GAAqB7C,IACpB,KAAMiF,IAEb,CAEKvU,GAAMpH,SAASwW,KAClBA,EAAkBA,EAAkB,OAAS,QAG/CvP,EAAU,IAAIuU,QAAQpR,EAAK,IACtBuS,EACHxE,OAAQ0E,EACR5uB,OAAQA,EAAOkD,cACfyb,QAASA,EAAQwD,YAAY/I,SAC7B4U,KAAMtP,EACNuP,OAAQ,OACR1F,oBAGF,IAAItP,QAAiBqU,MAAMtU,GAE3B,MAAMoW,EAAmBlB,KAA4C,WAAjBpO,GAA8C,aAAjBA,GAEjF,GAAIoO,KAA2BxF,GAAsB0G,GAAmB,CACtE,MAAMnhB,EAAU,CAAC,EAEjB,CAAC,SAAU,aAAc,WAAW3G,SAAQ8D,IAC1C6C,EAAQ7C,GAAQ6N,EAAS7N,EAAK,IAGhC,MAAMikB,EAAwBlW,GAAMrB,eAAemB,EAAS0F,QAAQxT,IAAI,mBAExE8N,EAAW,IAAIuU,SACbhB,GAAYvT,EAAS+U,KA7IF,MA6I4BtF,GAAsB0E,GACnEiC,EACA/D,GAAqB5C,GAAoB,IACxC0G,GAAoBzC,EAAUe,IACjCzf,EAEJ,CAEA6R,EAAeA,GAAgB,OAE/B,IAAIwP,QAAqBnB,GAAUhV,GAAMlG,QAAQkb,GAAWrO,IAAiB,QAAQ7G,EAAUF,GAM/F,OAJCqW,GAAoBzC,IAErBkC,GAAeA,UAEF,IAAIjlB,SAAQ,CAAClC,EAASiJ,KACjCkT,GAAOnc,EAASiJ,EAAQ,CACtB+N,KAAM4Q,EACN3Q,QAAS,GAAahF,KAAKV,EAAS0F,SACpCjF,OAAQT,EAASS,OACjB8Q,WAAYvR,EAASuR,WACrBzR,SACAC,WACD,GAEL,CAAE,MAAO9H,GAGP,GAFAyb,IAEIzb,GAAoB,cAAbA,EAAI/P,MAAwB,SAAS3B,KAAK0R,EAAIvD,SACvD,MAAM5I,OAAOmR,OACX,IAAI,GAAW,gBAAiB,GAAW8U,YAAajS,EAAQC,GAChE,CACEc,MAAO5I,EAAI4I,OAAS5I,IAK1B,MAAM,GAAWyI,KAAKzI,EAAKA,GAAOA,EAAI4H,KAAMC,EAAQC,EACtD,CACD,ICpNDG,GAAM7R,QAAQinB,IAAe,CAACnhB,EAAIhI,KAChC,GAAIgI,EAAI,CACN,IACErI,OAAOI,eAAeiI,EAAI,OAAQ,CAAChI,SACrC,CAAE,MAAO/E,GAET,CACA0E,OAAOI,eAAeiI,EAAI,cAAe,CAAChI,SAC5C,KAGF,MAAMmqB,GAAgBtD,GAAW,KAAKA,IAEhCuD,GAAoBhR,GAAYrF,GAAMnH,WAAWwM,IAAwB,OAAZA,IAAgC,IAAZA,EAEvF,GACeiR,IACXA,EAAWtW,GAAMxH,QAAQ8d,GAAYA,EAAW,CAACA,GAEjD,MAAM,OAACxuB,GAAUwuB,EACjB,IAAIC,EACAlR,EAEJ,MAAMmR,EAAkB,CAAC,EAEzB,IAAK,IAAI3uB,EAAI,EAAGA,EAAIC,EAAQD,IAAK,CAE/B,IAAI+b,EAIJ,GALA2S,EAAgBD,EAASzuB,GAGzBwd,EAAUkR,GAELF,GAAiBE,KACpBlR,EAAU+P,IAAexR,EAAKrR,OAAOgkB,IAAgBle,oBAErC7P,IAAZ6c,GACF,MAAM,IAAI,GAAW,oBAAoBzB,MAI7C,GAAIyB,EACF,MAGFmR,EAAgB5S,GAAM,IAAM/b,GAAKwd,CACnC,CAEA,IAAKA,EAAS,CAEZ,MAAMoR,EAAU7qB,OAAOqZ,QAAQuR,GAC5BxhB,KAAI,EAAE4O,EAAI8S,KAAW,WAAW9S,OACpB,IAAV8S,EAAkB,sCAAwC,mCAG/D,IAAIlpB,EAAI1F,EACL2uB,EAAQ3uB,OAAS,EAAI,YAAc2uB,EAAQzhB,IAAIohB,IAAcjV,KAAK,MAAQ,IAAMiV,GAAaK,EAAQ,IACtG,0BAEF,MAAM,IAAI,GACR,wDAA0DjpB,EAC1D,kBAEJ,CAEA,OAAO6X,CAAO,EE3DlB,SAASsR,GAA6B/W,GAKpC,GAJIA,EAAO+P,aACT/P,EAAO+P,YAAYiH,mBAGjBhX,EAAOmR,QAAUnR,EAAOmR,OAAOyB,QACjC,MAAM,IAAI,GAAc,KAAM5S,EAElC,CASe,SAASiX,GAAgBjX,GAiBtC,OAhBA+W,GAA6B/W,GAE7BA,EAAO4F,QAAU,GAAahF,KAAKZ,EAAO4F,SAG1C5F,EAAO2F,KAAO6E,GAAcnjB,KAC1B2Y,EACAA,EAAO0F,mBAGgD,IAArD,CAAC,OAAQ,MAAO,SAAS5b,QAAQkW,EAAO/Y,SAC1C+Y,EAAO4F,QAAQK,eAAe,qCAAqC,GAGrDyQ,GAAoB1W,EAAOyF,SAAW,GAASA,QAExDA,CAAQzF,GAAQnR,MAAK,SAA6BqR,GAYvD,OAXA6W,GAA6B/W,GAG7BE,EAASyF,KAAO6E,GAAcnjB,KAC5B2Y,EACAA,EAAO6G,kBACP3G,GAGFA,EAAS0F,QAAU,GAAahF,KAAKV,EAAS0F,SAEvC1F,CACT,IAAG,SAA4BgT,GAe7B,OAdKxI,GAASwI,KACZ6D,GAA6B/W,GAGzBkT,GAAUA,EAAOhT,WACnBgT,EAAOhT,SAASyF,KAAO6E,GAAcnjB,KACnC2Y,EACAA,EAAO6G,kBACPqM,EAAOhT,UAETgT,EAAOhT,SAAS0F,QAAU,GAAahF,KAAKsS,EAAOhT,SAAS0F,WAIzD/U,QAAQ+G,OAAOsb,EACxB,GACF,CChFO,MCKDgE,GAAa,CAAC,EAGpB,CAAC,SAAU,UAAW,SAAU,WAAY,SAAU,UAAU3oB,SAAQ,CAAChB,EAAMtF,KAC7EivB,GAAW3pB,GAAQ,SAAmBgL,GACpC,cAAcA,IAAUhL,GAAQ,KAAOtF,EAAI,EAAI,KAAO,KAAOsF,CAC/D,CAAC,IAGH,MAAM4pB,GAAqB,CAAC,EAW5BD,GAAW1R,aAAe,SAAsB4R,EAAWC,EAASziB,GAClE,SAAS0iB,EAAcC,EAAKC,GAC1B,MAAO,uCAAoDD,EAAM,IAAOC,GAAQ5iB,EAAU,KAAOA,EAAU,GAC7G,CAGA,MAAO,CAACvI,EAAOkrB,EAAKE,KAClB,IAAkB,IAAdL,EACF,MAAM,IAAI,GACRE,EAAcC,EAAK,qBAAuBF,EAAU,OAASA,EAAU,KACvE,GAAWK,gBAef,OAXIL,IAAYF,GAAmBI,KACjCJ,GAAmBI,IAAO,EAE1B7vB,QAAQuP,KACNqgB,EACEC,EACA,+BAAiCF,EAAU,8CAK1CD,GAAYA,EAAU/qB,EAAOkrB,EAAKE,EAAY,CAEzD,EAmCA,UACEE,cAxBF,SAAuBziB,EAAS0iB,EAAQC,GACtC,GAAuB,iBAAZ3iB,EACT,MAAM,IAAI,GAAW,4BAA6B,GAAW4iB,sBAE/D,MAAMhnB,EAAO9E,OAAO8E,KAAKoE,GACzB,IAAIjN,EAAI6I,EAAK5I,OACb,KAAOD,KAAM,GAAG,CACd,MAAMsvB,EAAMzmB,EAAK7I,GACXmvB,EAAYQ,EAAOL,GACzB,GAAIH,EAAJ,CACE,MAAM/qB,EAAQ6I,EAAQqiB,GAChBxb,OAAmBnT,IAAVyD,GAAuB+qB,EAAU/qB,EAAOkrB,EAAKriB,GAC5D,IAAe,IAAX6G,EACF,MAAM,IAAI,GAAW,UAAYwb,EAAM,YAAcxb,EAAQ,GAAW+b,qBAG5E,MACA,IAAqB,IAAjBD,EACF,MAAM,IAAI,GAAW,kBAAoBN,EAAK,GAAWQ,eAE7D,CACF,EAIEb,eC9EI,GAAaE,GAAUF,WAS7B,MAAMc,GACJ,WAAAznB,CAAY0nB,GACVlwB,KAAKwd,SAAW0S,EAChBlwB,KAAKmwB,aAAe,CAClBjY,QAAS,IAAI,GACbC,SAAU,IAAI,GAElB,CAUA,aAAMD,CAAQkY,EAAanY,GACzB,IACE,aAAajY,KAAKquB,SAAS+B,EAAanY,EAC1C,CAAE,MAAO7H,GACP,GAAIA,aAAepJ,MAAO,CACxB,IAAIqpB,EAEJrpB,MAAMoR,kBAAoBpR,MAAMoR,kBAAkBiY,EAAQ,CAAC,GAAMA,EAAQ,IAAIrpB,MAG7E,MAAMyQ,EAAQ4Y,EAAM5Y,MAAQ4Y,EAAM5Y,MAAM3C,QAAQ,QAAS,IAAM,GAC/D,IACO1E,EAAIqH,MAGEA,IAAU7M,OAAOwF,EAAIqH,OAAO9B,SAAS8B,EAAM3C,QAAQ,YAAa,OACzE1E,EAAIqH,OAAS,KAAOA,GAHpBrH,EAAIqH,MAAQA,CAKhB,CAAE,MAAOlY,GAET,CACF,CAEA,MAAM6Q,CACR,CACF,CAEA,QAAAie,CAAS+B,EAAanY,GAGO,iBAAhBmY,GACTnY,EAASA,GAAU,CAAC,GACboD,IAAM+U,EAEbnY,EAASmY,GAAe,CAAC,EAG3BnY,EAAS8O,GAAY/mB,KAAKwd,SAAUvF,GAEpC,MAAM,aAACwF,EAAY,iBAAE/O,EAAgB,QAAEmP,GAAW5F,OAE7BpX,IAAjB4c,GACF4R,GAAUO,cAAcnS,EAAc,CACpCtB,kBAAmB,GAAWsB,aAAa,GAAW6S,SACtDlU,kBAAmB,GAAWqB,aAAa,GAAW6S,SACtDjU,oBAAqB,GAAWoB,aAAa,GAAW6S,WACvD,GAGmB,MAApB5hB,IACE2J,GAAMnH,WAAWxC,GACnBuJ,EAAOvJ,iBAAmB,CACxB6M,UAAW7M,GAGb2gB,GAAUO,cAAclhB,EAAkB,CACxCkM,OAAQ,GAAW2V,SACnBhV,UAAW,GAAWgV,WACrB,IAKPtY,EAAO/Y,QAAU+Y,EAAO/Y,QAAUc,KAAKwd,SAASte,QAAU,OAAOwR,cAGjE,IAAI8f,EAAiB3S,GAAWxF,GAAM9D,MACpCsJ,EAAQ4B,OACR5B,EAAQ5F,EAAO/Y,SAGjB2e,GAAWxF,GAAM7R,QACf,CAAC,SAAU,MAAO,OAAQ,OAAQ,MAAO,QAAS,WACjDtH,WACQ2e,EAAQ3e,EAAO,IAI1B+Y,EAAO4F,QAAU,GAAavE,OAAOkX,EAAgB3S,GAGrD,MAAM4S,EAA0B,GAChC,IAAIC,GAAiC,EACrC1wB,KAAKmwB,aAAajY,QAAQ1R,SAAQ,SAAoCmqB,GACjC,mBAAxBA,EAAY5U,UAA0D,IAAhC4U,EAAY5U,QAAQ9D,KAIrEyY,EAAiCA,GAAkCC,EAAY7U,YAE/E2U,EAAwBG,QAAQD,EAAY/U,UAAW+U,EAAY9U,UACrE,IAEA,MAAMgV,EAA2B,GAKjC,IAAIC,EAJJ9wB,KAAKmwB,aAAahY,SAAS3R,SAAQ,SAAkCmqB,GACnEE,EAAyB5oB,KAAK0oB,EAAY/U,UAAW+U,EAAY9U,SACnE,IAGA,IACI3J,EADAhS,EAAI,EAGR,IAAKwwB,EAAgC,CACnC,MAAMK,EAAQ,CAAC7B,GAAgB/vB,KAAKa,WAAOa,GAO3C,IANAkwB,EAAMH,QAAQpxB,MAAMuxB,EAAON,GAC3BM,EAAM9oB,KAAKzI,MAAMuxB,EAAOF,GACxB3e,EAAM6e,EAAM5wB,OAEZ2wB,EAAUhoB,QAAQlC,QAAQqR,GAEnB/X,EAAIgS,GACT4e,EAAUA,EAAQhqB,KAAKiqB,EAAM7wB,KAAM6wB,EAAM7wB,MAG3C,OAAO4wB,CACT,CAEA5e,EAAMue,EAAwBtwB,OAE9B,IAAIioB,EAAYnQ,EAIhB,IAFA/X,EAAI,EAEGA,EAAIgS,GAAK,CACd,MAAM8e,EAAcP,EAAwBvwB,KACtC+wB,EAAaR,EAAwBvwB,KAC3C,IACEkoB,EAAY4I,EAAY5I,EAC1B,CAAE,MAAOnY,GACPghB,EAAW3xB,KAAKU,KAAMiQ,GACtB,KACF,CACF,CAEA,IACE6gB,EAAU5B,GAAgB5vB,KAAKU,KAAMooB,EACvC,CAAE,MAAOnY,GACP,OAAOnH,QAAQ+G,OAAOI,EACxB,CAKA,IAHA/P,EAAI,EACJgS,EAAM2e,EAAyB1wB,OAExBD,EAAIgS,GACT4e,EAAUA,EAAQhqB,KAAK+pB,EAAyB3wB,KAAM2wB,EAAyB3wB,MAGjF,OAAO4wB,CACT,CAEA,MAAAI,CAAOjZ,GAGL,OAAOmD,GADUqL,IADjBxO,EAAS8O,GAAY/mB,KAAKwd,SAAUvF,IACEyO,QAASzO,EAAOoD,KAC5BpD,EAAO+C,OAAQ/C,EAAOvJ,iBAClD,EAIF2J,GAAM7R,QAAQ,CAAC,SAAU,MAAO,OAAQ,YAAY,SAA6BtH,GAE/E+wB,GAAM5wB,UAAUH,GAAU,SAASmc,EAAKpD,GACtC,OAAOjY,KAAKkY,QAAQ6O,GAAY9O,GAAU,CAAC,EAAG,CAC5C/Y,SACAmc,MACAuC,MAAO3F,GAAU,CAAC,GAAG2F,OAEzB,CACF,IAEAvF,GAAM7R,QAAQ,CAAC,OAAQ,MAAO,UAAU,SAA+BtH,GAGrE,SAASiyB,EAAmBC,GAC1B,OAAO,SAAoB/V,EAAKuC,EAAM3F,GACpC,OAAOjY,KAAKkY,QAAQ6O,GAAY9O,GAAU,CAAC,EAAG,CAC5C/Y,SACA2e,QAASuT,EAAS,CAChB,eAAgB,uBACd,CAAC,EACL/V,MACAuC,SAEJ,CACF,CAEAqS,GAAM5wB,UAAUH,GAAUiyB,IAE1BlB,GAAM5wB,UAAUH,EAAS,QAAUiyB,GAAmB,EACxD,IAEA,YCxNA,MAAME,GACJ,WAAA7oB,CAAY8oB,GACV,GAAwB,mBAAbA,EACT,MAAM,IAAIjvB,UAAU,gCAGtB,IAAIkvB,EAEJvxB,KAAK8wB,QAAU,IAAIhoB,SAAQ,SAAyBlC,GAClD2qB,EAAiB3qB,CACnB,IAEA,MAAM2S,EAAQvZ,KAGdA,KAAK8wB,QAAQhqB,MAAK4jB,IAChB,IAAKnR,EAAMiY,WAAY,OAEvB,IAAItxB,EAAIqZ,EAAMiY,WAAWrxB,OAEzB,KAAOD,KAAM,GACXqZ,EAAMiY,WAAWtxB,GAAGwqB,GAEtBnR,EAAMiY,WAAa,IAAI,IAIzBxxB,KAAK8wB,QAAQhqB,KAAO2qB,IAClB,IAAIC,EAEJ,MAAMZ,EAAU,IAAIhoB,SAAQlC,IAC1B2S,EAAMqR,UAAUhkB,GAChB8qB,EAAW9qB,CAAO,IACjBE,KAAK2qB,GAMR,OAJAX,EAAQpG,OAAS,WACfnR,EAAM4P,YAAYuI,EACpB,EAEOZ,CAAO,EAGhBQ,GAAS,SAAgBzkB,EAASoL,EAAQC,GACpCqB,EAAM4R,SAKV5R,EAAM4R,OAAS,IAAI,GAActe,EAASoL,EAAQC,GAClDqZ,EAAehY,EAAM4R,QACvB,GACF,CAKA,gBAAA8D,GACE,GAAIjvB,KAAKmrB,OACP,MAAMnrB,KAAKmrB,MAEf,CAMA,SAAAP,CAAU3H,GACJjjB,KAAKmrB,OACPlI,EAASjjB,KAAKmrB,QAIZnrB,KAAKwxB,WACPxxB,KAAKwxB,WAAWvpB,KAAKgb,GAErBjjB,KAAKwxB,WAAa,CAACvO,EAEvB,CAMA,WAAAkG,CAAYlG,GACV,IAAKjjB,KAAKwxB,WACR,OAEF,MAAM/W,EAAQza,KAAKwxB,WAAWzvB,QAAQkhB,IACvB,IAAXxI,GACFza,KAAKwxB,WAAWG,OAAOlX,EAAO,EAElC,CAMA,aAAO9C,GACL,IAAI+S,EAIJ,MAAO,CACLnR,MAJY,IAAI8X,IAAY,SAAkB3sB,GAC9CgmB,EAAShmB,CACX,IAGEgmB,SAEJ,EAGF,YCxHMkH,GAAiB,CACrBC,SAAU,IACVC,mBAAoB,IACpBC,WAAY,IACZC,WAAY,IACZC,GAAI,IACJC,QAAS,IACTC,SAAU,IACVC,4BAA6B,IAC7BC,UAAW,IACXC,aAAc,IACdC,eAAgB,IAChBC,YAAa,IACbC,gBAAiB,IACjBC,OAAQ,IACRC,gBAAiB,IACjBC,iBAAkB,IAClBC,MAAO,IACPC,SAAU,IACVC,YAAa,IACbC,SAAU,IACVC,OAAQ,IACRC,kBAAmB,IACnBC,kBAAmB,IACnBC,WAAY,IACZC,aAAc,IACdC,gBAAiB,IACjBC,UAAW,IACXC,SAAU,IACVC,iBAAkB,IAClBC,cAAe,IACfC,4BAA6B,IAC7BC,eAAgB,IAChBC,SAAU,IACVC,KAAM,IACNC,eAAgB,IAChBC,mBAAoB,IACpBC,gBAAiB,IACjBC,WAAY,IACZC,qBAAsB,IACtBC,oBAAqB,IACrBC,kBAAmB,IACnBC,UAAW,IACXC,mBAAoB,IACpBC,oBAAqB,IACrBC,OAAQ,IACRC,iBAAkB,IAClBC,SAAU,IACVC,gBAAiB,IACjBC,qBAAsB,IACtBC,gBAAiB,IACjBC,4BAA6B,IAC7BC,2BAA4B,IAC5BC,oBAAqB,IACrBC,eAAgB,IAChBC,WAAY,IACZC,mBAAoB,IACpBC,eAAgB,IAChBC,wBAAyB,IACzBC,sBAAuB,IACvBC,oBAAqB,IACrBC,aAAc,IACdC,YAAa,IACbC,8BAA+B,KAGjC1xB,OAAOqZ,QAAQsU,IAAgBprB,SAAQ,EAAE4D,EAAK9F,MAC5CstB,GAAettB,GAAS8F,CAAG,IAG7B,YCxBMwrB,GAnBN,SAASC,EAAeC,GACtB,MAAMtjB,EAAU,IAAI,GAAMsjB,GACpBtrB,EAAWrL,EAAK,GAAME,UAAU6Y,QAAS1F,GAa/C,OAVA6F,GAAM1D,OAAOnK,EAAU,GAAMnL,UAAWmT,EAAS,CAACR,YAAY,IAG9DqG,GAAM1D,OAAOnK,EAAUgI,EAAS,KAAM,CAACR,YAAY,IAGnDxH,EAASpF,OAAS,SAAgB8qB,GAChC,OAAO2F,EAAe9O,GAAY+O,EAAe5F,GACnD,EAEO1lB,CACT,CAGcqrB,CAAe,IAG7BD,GAAM3F,MAAQ,GAGd2F,GAAM/S,cAAgB,GACtB+S,GAAMvE,YAAc,GACpBuE,GAAMjT,SAAWA,GACjBiT,GAAMG,QLvDiB,QKwDvBH,GAAMI,WAAa,GAGnBJ,GAAM7d,WAAa,GAGnB6d,GAAMK,OAASL,GAAM/S,cAGrB+S,GAAMM,IAAM,SAAaC,GACvB,OAAOrtB,QAAQotB,IAAIC,EACrB,EAEAP,GAAMQ,OC9CS,SAAgBC,GAC7B,OAAO,SAAcrgB,GACnB,OAAOqgB,EAAS72B,MAAM,KAAMwW,EAC9B,CACF,ED6CA4f,GAAMU,aE7DS,SAAsBC,GACnC,OAAOle,GAAMjH,SAASmlB,KAAsC,IAAzBA,EAAQD,YAC7C,EF8DAV,GAAM7O,YAAcA,GAEpB6O,GAAM3V,aAAe,GAErB2V,GAAMY,WAAahmB,GAAS,GAAe6H,GAAMzF,WAAWpC,GAAS,IAAIqD,SAASrD,GAASA,GAE3FolB,GAAMa,WAAa9H,GAEnBiH,GAAMhE,eAAiB,GAEvBgE,GAAMc,QAAUd,GAGhB,mQGxF8C,IAEzBe,GAAgB,SAAA1pB,GAAA,SAAA0pB,IAAA,OAAApsB,EAAA,KAAAosB,GAAA5pB,GAAA,KAAA4pB,EAAAl3B,UAAA,QAAAiM,EAAAirB,EAAA1pB,GAAAhC,EAAA0rB,EAAA,EAAShqB,0PCFA,IAEzBiqB,GAAmB,SAAA3pB,GAAA,SAAA2pB,IAAA,OAAArsB,EAAA,KAAAqsB,GAAA7pB,GAAA,KAAA6pB,EAAAn3B,UAAA,QAAAiM,EAAAkrB,EAAA3pB,GAAAhC,EAAA2rB,EAAA,EAASjqB,0PCFH,IAEzBkqB,GAAc,SAAA5pB,GAAA,SAAA4pB,IAAA,OAAAtsB,EAAA,KAAAssB,GAAA9pB,GAAA,KAAA8pB,EAAAp3B,UAAA,QAAAiM,EAAAmrB,EAAA5pB,GAAAhC,EAAA4rB,EAAA,EAASlqB,0PCFE,IAEzBmqB,GAAmB,SAAA7pB,GAAA,SAAA6pB,IAAA,OAAAvsB,EAAA,KAAAusB,GAAA/pB,GAAA,KAAA+pB,EAAAr3B,UAAA,QAAAiM,EAAAorB,EAAA7pB,GAAAhC,EAAA6rB,EAAA,EAASnqB,0PCFH,IAEzBoqB,GAAmB,SAAA9pB,GAAA,SAAA8pB,IAAA,OAAAxsB,EAAA,KAAAwsB,GAAAhqB,GAAA,KAAAgqB,EAAAt3B,UAAA,QAAAiM,EAAAqrB,EAAA9pB,GAAAhC,EAAA8rB,EAAA,EAASpqB,0PCFH,IAEzBqqB,GAAW,SAAA/pB,GAAA,SAAA+pB,IAAA,OAAAzsB,EAAA,KAAAysB,GAAAjqB,GAAA,KAAAiqB,EAAAv3B,UAAA,QAAAiM,EAAAsrB,EAAA/pB,GAAAhC,EAAA+rB,EAAA,EAASrqB,0PCFK,IAEzBsqB,GAAS,SAAAhqB,GAAA,SAAAgqB,IAAA,OAAA1sB,EAAA,KAAA0sB,GAAAlqB,GAAA,KAAAkqB,EAAAx3B,UAAA,QAAAiM,EAAAurB,EAAAhqB,GAAAhC,EAAAgsB,EAAA,EAAStqB,uBCejCuqB,IAAU,EAQVC,GACe,oBAAZC,SACa,MAApBA,QAAQC,UACiB,MAAzBD,QAAQC,SAAS/pB,KAEEgqB,GAAO,WAc1B,SAAAA,EAAoBC,GAA8BhtB,EAAA,KAAA+sB,GAAA,KAA9BC,cAAAA,EAClBv3B,KAAKkO,OAASlO,KAAKu3B,cAAcrpB,OACjClO,KAAKoN,MACyB,MAA5BpN,KAAKu3B,cAAcnqB,MACfpN,KAAKu3B,cAAcnqB,MACnBiN,KAAKuE,MAAMvE,KAAKC,UAAUta,KAAKu3B,cAAcnqB,QACnDpN,KAAK4N,YAC+B,MAAlC5N,KAAKu3B,cAAc3pB,YACf5N,KAAKu3B,cAAc3pB,YACnByM,KAAKuE,MAAMvE,KAAKC,UAAUta,KAAKu3B,cAAc3pB,cACnD5N,KAAK6N,yBAA2B7N,KAAKu3B,cAAc1pB,yBACnD7N,KAAK+N,2BACH/N,KAAKu3B,cAAcxpB,2BACrB/N,KAAKw3B,qBAAuBx3B,KAAKu3B,cAAcvpB,WAC/ChO,KAAKiO,qBAAuBjO,KAAKu3B,cAActpB,qBAC/CjO,KAAKmO,uBAAyBnO,KAAKu3B,cAAcppB,uBACjDnO,KAAKy3B,sBAAwBz3B,KAAKu3B,cAAchpB,kBAEhDvO,KAAKsD,OAAStD,KAAKu3B,cAAcj0B,OAEjCtD,KAAK03B,6BACL13B,KAAK23B,kBAAoB,CAC3B,CA+WC,IAAAC,EAtTAC,EAXAC,EAXAC,EAbAC,EAJAC,EAlBAC,EAsZA,OAtZAjtB,EAAAqsB,EAAA,EAAAltB,IAAA,MAAA9F,OAAA4zB,EAAAhoB,EAAAvM,IAAAA,MAED,SAAAw0B,EACEC,GAAgB,IAAAC,EAAA3oB,EAAA4oB,EAAAC,EAAAC,EAAAxZ,EAAAyZ,EAAAh5B,UAAA,OAAAkE,IAAAA,MAAA,SAAA+0B,GAAA,cAAAA,EAAAxvB,KAAAwvB,EAAAjxB,MAAA,OAIU,OAH1B4wB,EAAoBI,EAAAt4B,OAAA,QAAAU,IAAA43B,EAAA,GAAAA,EAAA,GAAG,CAAC,EAOlBH,GAPmB5oB,EAAA+oB,EAAAt4B,OAAA,QAAAU,IAAA43B,EAAA,GAAAA,EAAA,GAOrB,CAAC,GALHF,YAAAA,OAAW,IAAAD,EAAG,KAAIA,EAAAE,EAAA9oB,EAClBsP,aAAAA,OAAY,IAAAwZ,OAAG33B,EAAS23B,EAAAE,EAAAnxB,OAAA,SAMnBvH,KAAK24B,eAAkB,MAAOP,EAAU,CAC7CC,gBAAAA,EACAE,YAAAA,EACAvZ,aAAAA,KACA,wBAAA0Z,EAAAtvB,OAAA,GAAA+uB,EAAA,UACH,SAAAS,GAAA,OAAAV,EAAA14B,MAAA,KAAAC,UAAA,KAAA2K,IAAA,SAAA9F,OAAA2zB,EAAA/nB,EAAAvM,IAAAA,MAED,SAAAk1B,EAAgBT,GAAgB,IAAAC,EAAAS,EAAAr5B,UAAA,OAAAkE,IAAAA,MAAA,SAAAo1B,GAAA,cAAAA,EAAA7vB,KAAA6vB,EAAAtxB,MAAA,OAA2B,OAAzB4wB,EAAoBS,EAAA34B,OAAA,QAAAU,IAAAi4B,EAAA,GAAAA,EAAA,GAAG,CAAC,EAACC,EAAAxxB,OAAA,SAClDvH,KAAK24B,eAAkB,SAAUP,EAAU,CAAEC,gBAAAA,KAAkB,wBAAAU,EAAA3vB,OAAA,GAAAyvB,EAAA,UACvE,SAAAG,GAAA,OAAAf,EAAAz4B,MAAA,KAAAC,UAAA,KAAA2K,IAAA,OAAA9F,OAAA0zB,EAAA9nB,EAAAvM,IAAAA,MAED,SAAAs1B,EACEb,GAAgB,IAAAc,EAAAb,EAAA9pB,EAAA4qB,EAAA15B,UAAA,OAAAkE,IAAAA,MAAA,SAAAy1B,GAAA,cAAAA,EAAAlwB,KAAAkwB,EAAA3xB,MAAA,OAGW,OAF3ByxB,EAAmBC,EAAAh5B,OAAA,QAAAU,IAAAs4B,EAAA,GAAAA,EAAA,GAAG,CAAC,EACvBd,EAAoBc,EAAAh5B,OAAA,QAAAU,IAAAs4B,EAAA,GAAAA,EAAA,GAAG,CAAC,EACxB5qB,EAAsB4qB,EAAAh5B,OAAA,QAAAU,IAAAs4B,EAAA,GAAAA,EAAA,GAAG,CAAC,EAACC,EAAA7xB,OAAA,SAEpBvH,KAAK24B,eAAkB,OAAQP,EAAU,CAC9CC,gBAAAA,EACAa,eAAAA,EACA3qB,kBAAAA,KACA,wBAAA6qB,EAAAhwB,OAAA,GAAA6vB,EAAA,UACH,SAAAI,GAAA,OAAArB,EAAAx4B,MAAA,KAAAC,UAAA,KAAA2K,IAAA,MAAA9F,OAAAyzB,EAAA7nB,EAAAvM,IAAAA,MAED,SAAA21B,EACElB,GAAgB,IAAAc,EAAAb,EAAAkB,EAAA95B,UAAA,OAAAkE,IAAAA,MAAA,SAAA61B,GAAA,cAAAA,EAAAtwB,KAAAswB,EAAA/xB,MAAA,OAES,OADzByxB,EAAmBK,EAAAp5B,OAAA,QAAAU,IAAA04B,EAAA,GAAAA,EAAA,GAAG,CAAC,EACvBlB,EAAoBkB,EAAAp5B,OAAA,QAAAU,IAAA04B,EAAA,GAAAA,EAAA,GAAG,CAAC,EAACC,EAAAjyB,OAAA,SAElBvH,KAAK24B,eAAkB,MAAOP,EAAU,CAC7CC,gBAAAA,EACAa,eAAAA,KACA,wBAAAM,EAAApwB,OAAA,GAAAkwB,EAAA,UACH,SAAAG,GAAA,OAAA1B,EAAAv4B,MAAA,KAAAC,UAAA,KAAA2K,IAAA,QAAA9F,OAAAwzB,EAAA5nB,EAAAvM,IAAAA,MAED,SAAA+1B,EACEtB,GAAgB,IAAAc,EAAAb,EAAAsB,EAAAl6B,UAAA,OAAAkE,IAAAA,MAAA,SAAAi2B,GAAA,cAAAA,EAAA1wB,KAAA0wB,EAAAnyB,MAAA,OAES,OADzByxB,EAAmBS,EAAAx5B,OAAA,QAAAU,IAAA84B,EAAA,GAAAA,EAAA,GAAG,CAAC,EACvBtB,EAAoBsB,EAAAx5B,OAAA,QAAAU,IAAA84B,EAAA,GAAAA,EAAA,GAAG,CAAC,EAACC,EAAAryB,OAAA,SAElBvH,KAAK24B,eAAkB,QAASP,EAAU,CAC/CC,gBAAAA,EACAa,eAAAA,KACA,wBAAAU,EAAAxwB,OAAA,GAAAswB,EAAA,UACH,SAAAG,GAAA,OAAA/B,EAAAt4B,MAAA,KAAAC,UAAA,KAAA2K,IAAA,iBAAA9F,OAAAuzB,EAAA3nB,EAAAvM,IAAAA,MAED,SAAAm2B,EACEC,EACA3B,EAAgB4B,GAAA,IAAAC,EAAA5B,EAAA6B,EAAAhB,EAAAiB,EAAA5rB,EAAA6rB,EAAA7B,EAAA8B,EAAArb,EAAAsb,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAhuB,EAAA,YAAAnJ,IAAAA,MAAA,SAAAo3B,GAAA,cAAAA,EAAA7xB,KAAA6xB,EAAAtzB,MAAA,OAAAwyB,EAAAD,EAEd3B,gBAAAA,OAAe,IAAA4B,EAAG,KAAIA,EAAAC,EAAAF,EACtBd,eAAAA,OAAc,IAAAgB,EAAG,KAAIA,EAAAC,EAAAH,EACrBzrB,kBAAAA,OAAiB,IAAA4rB,EAAG,CAAC,EAACA,EAAAC,EAAAJ,EACtBzB,YAAAA,OAAW,IAAA6B,EAAG,KAAIA,EAAAC,EAAAL,EAClBhb,aAAAA,OAAY,IAAAqb,OAAGx5B,EAASw5B,EAAAC,EAAAN,EACxBO,sBAAAA,OAAqB,IAAAD,GAAQA,EAAAE,EAAAR,EAC7BS,gBAAAA,OAAe,IAAAD,OAAG35B,EAAS25B,EAW7Bx6B,KAAKu3B,cAAc3oB,WAEb8rB,EAAgB3W,KAAKD,MAE3B9jB,KAAKsD,OAAOhD,MAAM,YAADgZ,OACHohB,EAAa,iBAAAphB,OAAgBygB,EAAY33B,cAAa,cAAAkX,OAAa8e,IAC/EwC,EAAAj3B,IAAAA,MAAA,SAAAi3B,IAAA,IAAAttB,EAAA0tB,EAAAC,EAAAjT,EAAArQ,EAAAQ,EAAA+iB,EAAAC,EAAAC,EAAA,OAAAz3B,IAAAA,MAAA,SAAA03B,GAAA,cAAAA,EAAAnyB,KAAAmyB,EAAA5zB,MAAA,OAWE,GALI6F,EAAOR,EAAKwuB,YAAYZ,GAC9B5tB,EAAKxJ,OAAOhD,MAAM,YAADgZ,OACHohB,EAAa,iBAAAphB,OAAgBygB,EAAY33B,cAAa,kBAAAkX,OAAiBwhB,EAAQ,aAAAxhB,OACzFhM,EAAKmN,SAIL8d,IAAeA,EAAY1N,QAAO,CAAAwQ,EAAA5zB,KAAA,eAAA4zB,EAAA9zB,OAAA,UAAAnB,EAC7B0C,QAAQ+G,OAAO,IAAI7I,MAAM,iCAA8B,OA8G7D,OA9G6Dq0B,EAAAnyB,KAAA,EAMxD+xB,EAAqC,CACzC/7B,OAAQ66B,EACR1e,IAAKvO,EAAKyuB,OAAOnD,EAAU9qB,GAC3BuQ,QAAS5Z,OAAOmR,OACd,CAAC,EACDtI,EAAK0uB,iBACLjtB,EACAzB,EAAK2qB,uBAEPnY,iBAAkBmc,IAClBlc,cAAekc,IACfzc,aAAAA,EACAQ,eAAgB,SAAC5G,GAKf,OAAOA,EAAS,CAClB,EACAkG,kBAAmB,CACjB,SAAClB,EAAMC,GACL,IAAI6d,EAAkB9d,EAStB,YAPc/c,IAAZgd,GACgB,iBAATD,GACPC,EAAQ,iBACRA,EAAQ,gBAAgB8d,WAAW,sBAEnCD,EAAkBrhB,KAAKuE,MAAMhB,IAExB8d,CACT,KAI0B,IAA1BnB,IACFU,EAAe9b,QAA0C,IAAhCrS,EAAKe,0BAG5BwqB,GAA2D,IAAxCp0B,OAAO8E,KAAKsvB,GAAiBl4B,SAClD86B,EAAejgB,OAASqd,GAGtBvrB,EAAKqB,yBACP8sB,EAAejgB,OAASigB,EAAejgB,QAAU,CAAC,EAClDigB,EAAejgB,OAAO,uBAAyBlO,EAAKoB,QAGlDpB,EAAKyqB,cAAc/oB,WACrB1B,EAAKxJ,OAAOhD,MAAM,YAADgZ,OACHohB,EAAa,6BAE3BO,EAAezsB,UAAY1B,EAAKyqB,cAAc/oB,YACjB,IAApBisB,IACJtD,IAKHrqB,EAAKxJ,OAAOhD,MAAM,YAADgZ,OAAaohB,EAAa,yBAC3CO,EAAezsB,UAAY,IAAIotB,GAAAA,MAAU,CAAEC,WAAW,KALtD/uB,EAAKxJ,OAAO4L,KAAK,YAADoK,OACFohB,EAAa,gFAQ3B5tB,EAAKyqB,cAAc9oB,YACrB3B,EAAKxJ,OAAOhD,MAAM,YAADgZ,OACHohB,EAAa,8BAE3BO,EAAexsB,WAAa3B,EAAKyqB,cAAc9oB,aAClB,IAApBgsB,IACJtD,IAKHrqB,EAAKxJ,OAAOhD,MAAM,YAADgZ,OAAaohB,EAAa,yBAC3CO,EAAexsB,WAAa,IAAIqtB,GAAAA,MAAW,CAAED,WAAW,KALxD/uB,EAAKxJ,OAAO4L,KAAK,YAADoK,OACFohB,EAAa,gFAQ3B5tB,EAAKyqB,cAAc7oB,mBACrB5B,EAAKxJ,OAAOhD,MAAM,YAADgZ,OACHohB,EAAa,oCAE3BO,EAAevsB,iBAAmB5B,EAAKyqB,cAAc7oB,kBAIrDwqB,IAC4B,iBAAnBA,GACmB,IAA1BA,EAAe/4B,QACY,WAA1BuD,EAAOw1B,IACiC,IAAvCj1B,OAAO8E,KAAKmwB,GAAgB/4B,UAEhC86B,EAAerd,KAAOsb,GAIpBX,IACIvQ,EAAc4N,GAAMvE,YACpB1Z,EAASqQ,EAAYrQ,SAC3BqjB,EAAgB,kBAAMrjB,EAAO+S,QAAQ,EACrC6N,EAAYhO,iBAAiB,QAASyQ,GACtCC,EAAejT,YAAcrQ,EAAO4B,OACrC8hB,EAAA5zB,KAAA,GAEsBmuB,GAAMqF,GAAe,QAQ1C,IARI9iB,EAAQkjB,EAAAj0B,MACDwR,QAAU,GAAKT,EAASS,QAAU,KAG7C9L,EAAKivB,mBAAmBzuB,EAAM4pB,IAEhCpqB,EAAKxJ,OAAOhD,MAAM,YAADgZ,OACHohB,EAAa,sBAAAphB,OAAqBhM,EAAKmN,MAAK,iCAAAnB,OAAgCnB,EAASS,OAAM,QAGrGT,EAASS,QAAU,KAAOT,EAASS,OAAS,KAAG,CAAAyiB,EAAA5zB,KAAA,gBAAA4zB,EAAA9zB,OAAA,UAAAnB,EAE1C0C,QAAQlC,QAAQuR,EAASyF,QAAK,aAC5BzF,EAASS,OAAS,KAAG,CAAAyiB,EAAA5zB,KAAA,gBAAA4zB,EAAA9zB,OAAA,UAAAnB,EAEvB0C,QAAQ+G,OACb/C,EAAKkvB,uBAAuB7jB,EAAuB,QAAf+iB,EAAE/iB,EAASyF,YAAI,IAAAsd,OAAA,EAAbA,EAAeruB,YACtD,cAIKC,EAAKkvB,uBAAuB7jB,EAAuB,QAAfgjB,EAAEhjB,EAASyF,YAAI,IAAAud,OAAA,EAAbA,EAAetuB,SAAQ,QAAAwuB,EAAA5zB,KAAA,iBAkBnE,OAlBmE4zB,EAAAnyB,KAAA,GAAAmyB,EAAAY,GAAAZ,EAAA,SAIrEvuB,EAAKivB,mBAAmBzuB,GA7Rd,GA8RVqtB,EAAaU,EAAAY,GACbnvB,EAAKxJ,OAAO4L,KAAK,YAADoK,OACFohB,EAAa,sBAAAphB,OACvBhM,EAAKmN,MAAK,oBAAAnB,OACO+hB,EAAAY,GAAMjkB,KAAI,KAAAsB,OAAI+hB,EAAAY,GAAMpvB,SAAOyM,OAC1B,MAAlB+hB,EAAAY,GAAM9jB,SACF,GACA,MAAQkC,KAAKC,UAAwB,QAAf8gB,EAACC,EAAAY,GAAM9jB,gBAAQ,IAAAijB,OAAA,EAAdA,EAAgBxd,MAAK,MAIpD9Q,EAAKxJ,OAAO4L,KAAK,YAADoK,OACFohB,EAAa,mBAAAphB,OAAkBxM,EAAKmB,qBAAoB,mCACpEotB,EAAA5zB,KAAA,GACIqF,EAAKwX,MAAMxX,EAAKmB,sBAAqB,QAI1C,OAJ0CotB,EAAAnyB,KAAA,GAEvCqvB,GAAeyC,GACjBzC,EAAYlP,oBAAoB,QAAS2R,GAC1CK,EAAA7xB,OAAA,6BAAA6xB,EAAAjyB,OAAA,GAAAwxB,EAAA,wBAxKCE,EAAW,EAAC,YAChBA,GAAY96B,KAAKw3B,qBAAuB,GAAC,CAAAuD,EAAAtzB,KAAA,gBAAAszB,EAAAtxB,cAAAmxB,IAAA,oBAAAC,EAAAE,EAAAkB,IAAA,CAAAlB,EAAAtzB,KAAA,gBAAAszB,EAAAxzB,OAAA,SAAAszB,EAAAz0B,GAAA,QACzC00B,IAAUC,EAAAtzB,KAAA,gBA2KV,OAFFzH,KAAKsD,OAAOhD,MAAM,YAADgZ,OACHohB,EAAa,0CACzBK,EAAAxzB,OAAA,SACKuB,QAAQ+G,OAAO8qB,IAAc,yBAAAI,EAAA3xB,OAAA,GAAA0wB,EAAA,UACrC,SAAAoC,EAAAC,EAAAC,GAAA,OAAAvE,EAAAr4B,MAAA,KAAAC,UAAA,IAID,CAAA2K,IAAA,cAAA9F,MACA,WAAqC,IAAzBo2B,EAAaj7B,UAAAU,OAAA,QAAAU,IAAApB,UAAA,GAAAA,UAAA,GAAG,EAE1B,GAAwB,MAApBO,KAAK4N,YAAqB,CAM5B,GALA5N,KAAKsD,OAAOhD,MAAM,YAADgZ,OACHohB,EAAa,yBAAAphB,OACvBtZ,KAAK4N,YAAY6M,MAAK,QAAAnB,QACc,IAA/BtZ,KAAK4N,YAAYyuB,UAAqB,UAAY,eAG1B,IAA/Br8B,KAAK4N,YAAYyuB,WACjBr8B,KAAKs8B,sBAAsBt8B,KAAK4N,YAAa8sB,GAK7C,OAHA16B,KAAKsD,OAAOhD,MAAM,YAADgZ,OACHohB,EAAa,mCAAAphB,OAAkCtZ,KAAK4N,YAAY6M,QAEvEza,KAAK4N,YAEd5N,KAAKsD,OAAOhD,MAAM,YAADgZ,OACHohB,EAAa,sCAE7B,CAGA16B,KAAKsD,OAAOhD,MAAM,YAADgZ,OACHohB,EAAa,oBAAAphB,OAAmBtZ,KAAKoN,MAC9CC,KACC,SAACC,GAAI,cAAAgM,OACKhM,EAAKmN,MAAK,QAAAnB,QACG,IAAnBhM,EAAK+uB,UAAqB,UAAY,YAAW,IAGtD7iB,KAAK,UAGV,IADA,IAAI+iB,EAAsBv8B,KAAKoN,MAAM,GAC5BlN,EAAI,EAAGA,GAAKF,KAAKoN,MAAMjN,OAAQD,IAGtC,GAFAF,KAAK23B,kBAAoB33B,KAAK23B,iBAAmB,GAAK33B,KAAKoN,MAAMjN,QAGnC,KAF9Bo8B,EAAgBv8B,KAAKoN,MAAMpN,KAAK23B,mBAEhB0E,WACdr8B,KAAKs8B,sBAAsBC,EAAe7B,GAK1C,OAHA16B,KAAKsD,OAAOhD,MAAM,YAADgZ,OACHohB,EAAa,mCAAAphB,OAAkCijB,EAAc9hB,QAEpE8hB,EASX,OAHAv8B,KAAKsD,OAAOhD,MAAM,YAADgZ,OACHohB,EAAa,iEAAAphB,OAAgEijB,EAAc9hB,QAElG8hB,CACT,GAAC,CAAAnyB,IAAA,wBAAA9F,MAED,SAAsBgJ,GAAkC,IAA5BotB,EAAaj7B,UAAAU,OAAA,QAAAU,IAAApB,UAAA,GAAAA,UAAA,GAAG,EACpC+8B,EACJzY,KAAKD,MAAQxW,EAAKmvB,oBACgB,IAAlCz8B,KAAK+N,2BAMP,OALIyuB,GACFx8B,KAAKsD,OAAOhD,MAAM,YAADgZ,OACHohB,EAAa,WAAAphB,OAAUhM,EAAKmN,MAAK,+CAAAnB,OAA8CtZ,KAAK+N,2BAA0B,oCAGvHyuB,CACT,GAAC,CAAApyB,IAAA,6BAAA9F,MAED,WAAmC,IAAAyK,EAAA,KACT,MAApB/O,KAAK4N,cACP5N,KAAK4N,YAAY6M,MAAQ,cACzBza,KAAK+7B,mBAAmB/7B,KAAK4N,YAAaspB,KAG5Cl3B,KAAKoN,MAAM5G,SAAQ,SAAC8G,EAAMpN,GACxBoN,EAAKmN,MAAQva,EACb6O,EAAKgtB,mBAAmBzuB,EAAM4pB,GAChC,GACF,GAAC,CAAA9sB,IAAA,qBAAA9F,MAED,SAAmBgJ,EAAM+uB,GACvB/uB,EAAK+uB,UAAYA,EACjB/uB,EAAKmvB,oBAAsB1Y,KAAKD,KAClC,GAAC,CAAA1Z,IAAA,SAAA9F,MAED,SAAO8zB,EAAkB9qB,GACvB,OAAgB,MAAZA,EAAK+N,IACA,GAAP/B,OAAUhM,EAAK+N,KAAG/B,OAAG8e,GAEhB,GAAP9e,OAAUhM,EAAKkY,SAAQ,OAAAlM,OAAMhM,EAAKmY,KAAI,KAAAnM,OAAIhM,EAAKuY,MAAIvM,OAAGhM,EAAK8L,MAAIE,OAAG8e,EACpE,GAAC,CAAAhuB,IAAA,iBAAA9F,MAED,WACE,IAAMk3B,EAAiB,CAAC,EAKxB,OAJKx7B,KAAKmO,yBACRqtB,EA7ZmB,uBA6ZgBx7B,KAAKkO,QAE1CstB,EAAe,gBAAkB,mBAC1BA,CACT,GAAC,CAAApxB,IAAA,QAAA9F,OAAAszB,EAAA1nB,EAAAvM,IAAAA,MAED,SAAA+4B,EAAYC,GAAO,OAAAh5B,IAAAA,MAAA,SAAAi5B,GAAA,cAAAA,EAAA1zB,KAAA0zB,EAAAn1B,MAAA,cAAAm1B,EAAAr1B,OAAA,SACV,IAAIuB,SAAQ,SAAClC,GAAO,OAAK6d,WAAW7d,EAAmB,IAAV+1B,EAAe,KAAC,wBAAAC,EAAAxzB,OAAA,GAAAszB,EAAA,KACrE,SAAAG,GAAA,OAAAjF,EAAAp4B,MAAA,KAAAC,UAAA,KAAA2K,IAAA,yBAAA9F,MAED,SACE6T,EACA2kB,GAEA,IAAIC,EAAe,iCAAHzjB,OAAoCnB,EAASS,QAE9B,iBAAtBkkB,GACsB,KAA7BA,EAAkBjoB,SAElBkoB,GAAgB,mBAAJzjB,OAAuBwjB,IAGrC,IAAI7sB,EAAQ,IAAItD,EAAeowB,GAoB/B,OAjBE9sB,EADsB,MAApBkI,EAASS,OACH,IAAI+d,GAAiBoG,GACA,MAApB5kB,EAASS,OACV,IAAIge,GAAoBmG,GACH,MAApB5kB,EAASS,OACV,IAAIie,GAAekG,GACE,MAApB5kB,EAASS,OACV,IAAIke,GAAoBiG,GACH,MAApB5kB,EAASS,OACV,IAAIme,GAAoBgG,GACvB5kB,EAASS,QAAU,KAAOT,EAASS,QAAU,IAC9C,IAAIoe,GAAY+F,GAEhB,IAAI9F,GAAU8F,IAGlBC,WAAa7kB,EAASS,OAErB3I,CACT,KAACqnB,CAAA,CA1byB,GCNtB2F,GAAe,eAEAC,GAAW,WAC9B,SAAAA,EAAoBC,GAAkB5yB,EAAA,KAAA2yB,GAAA,KAAlBC,QAAAA,CAAmB,CAOtC,IAAAC,EAPuCC,EAiBvC,OAjBuCpyB,EAAAiyB,EAAA,EAAA9yB,IAAA,SAAA9F,OAAA+4B,EAAAntB,EAAAvM,IAAAA,MAExC,SAAAw0B,EACEtI,GAA8B,IAAA1iB,EAAAsrB,EAAAh5B,UAAA,OAAAkE,IAAAA,MAAA,SAAA+0B,GAAA,cAAAA,EAAAxvB,KAAAwvB,EAAAjxB,MAAA,OACO,OAArC0F,EAAgCsrB,EAAAt4B,OAAA,QAAAU,IAAA43B,EAAA,GAAAA,EAAA,GAAG,CAAC,EAACC,EAAAnxB,OAAA,SAE9BvH,KAAKm9B,QAAQG,KAAuBL,GAAcpN,EAAQ1iB,IAAQ,wBAAAurB,EAAAtvB,OAAA,GAAA+uB,EAAA,UAC1E,SAAAS,GAAA,OAAAyE,EAAA79B,MAAA,KAAAC,UAAA,KAAA2K,IAAA,WAAA9F,OAAA84B,EAAAltB,EAAAvM,IAAAA,MAED,SAAAk1B,IAAA,IAAA1rB,EAAA2rB,EAAAr5B,UAAA,OAAAkE,IAAAA,MAAA,SAAAo1B,GAAA,cAAAA,EAAA7vB,KAAA6vB,EAAAtxB,MAAA,OAC0C,OAAxC0F,EAAmC2rB,EAAA34B,OAAA,QAAAU,IAAAi4B,EAAA,GAAAA,EAAA,GAAG,CAAC,EAACC,EAAAxxB,OAAA,SAEjCvH,KAAKm9B,QAAQ9yB,IAAwB4yB,GAAc9vB,IAAQ,wBAAA4rB,EAAA3vB,OAAA,GAAAyvB,EAAA,UACnE,kBAAAuE,EAAA59B,MAAA,KAAAC,UAAA,OAAA2K,IAAA,eAAAC,IAED,WACE,OAAO4yB,EACT,KAACC,CAAA,CAlB6B,0PC1Bc,IAGzBK,GAAW,SAAAtwB,GAE9B,SAAAswB,EAAY1wB,EAAiB2wB,GAAiC,IAAA1wB,EAEzB,OAFyBvC,EAAA,KAAAgzB,IAC5DzwB,EAAAC,GAAA,KAAAwwB,EAAA,CAAM1wB,KACD2wB,cAAgBA,EAAc1wB,CACrC,CAAC,OAL6BpB,EAAA6xB,EAAAtwB,GAK7BhC,EAAAsyB,EAAA,CAL6B,CAAS5wB,GCH1B,SAAS8wB,GAAkBznB,EAAK9D,IAClC,MAAPA,GAAeA,EAAM8D,EAAI7V,UAAQ+R,EAAM8D,EAAI7V,QAC/C,IAAK,IAAID,EAAI,EAAGw9B,EAAO,IAAI5sB,MAAMoB,GAAMhS,EAAIgS,EAAKhS,IAAKw9B,EAAKx9B,GAAK8V,EAAI9V,GACnE,OAAOw9B,CACT,CCHe,SAASC,GAA4Bv5B,EAAGw5B,GACrD,GAAKx5B,EAAL,CACA,GAAiB,iBAANA,EAAgB,OAAO,GAAiBA,EAAGw5B,GACtD,IAAI15B,EAAID,OAAO5E,UAAUkN,SAASjN,KAAK8E,GAAGnC,MAAM,GAAI,GAEpD,MADU,WAANiC,GAAkBE,EAAEoE,cAAatE,EAAIE,EAAEoE,YAAYnI,MAC7C,QAAN6D,GAAqB,QAANA,EAAoB4M,MAAM+H,KAAKzU,GACxC,cAANF,GAAqB,2CAA2CxF,KAAKwF,GAAW,GAAiBE,EAAGw5B,QAAxG,CALc,CAMhB,CCJe,SAASC,GAAmB7nB,GACzC,OCJa,SAA4BA,GACzC,GAAIlF,MAAMD,QAAQmF,GAAM,OAAO,GAAiBA,EAClD,CDES,CAAkBA,IELZ,SAA0B8nB,GACvC,GAAsB,oBAAXv5B,QAAmD,MAAzBu5B,EAAKv5B,OAAOE,WAA2C,MAAtBq5B,EAAK,cAAuB,OAAOhtB,MAAM+H,KAAKilB,EACtH,CFGmC,CAAgB9nB,IAAQ,GAA2BA,IGLvE,WACb,MAAM,IAAI3T,UAAU,uIACtB,CHG8F,EAC9F,CINA,IAGqB07B,GAAgB,oBAAAA,IAAAxzB,EAAA,KAAAwzB,GAAA3yB,EAAA,qBACO,IAAIiB,KAAkBjB,EAAA,4BACf,IAAIiB,IAAkB,CAOvE,IAAA2xB,EAkFC,OAzFsE/yB,EAAA8yB,EAAA,EAAA3zB,IAAA,aAAA9F,MAEvE,WACEtE,KAAKi+B,cAAgB,IAAI5xB,IACzBrM,KAAKk+B,qBAAuB,IAAI7xB,GAClC,GAEA,CAAAjC,IAAA,UAAA9F,OAAA05B,EAAA9tB,EAAAvM,IAAAA,MACA,SAAAw0B,EACEgG,EACAC,EACAC,EACAC,GAA0B,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA9a,EAAA+a,EAAAC,EAAA3mB,EAAA4mB,EAAAC,EAAA,OAAAr7B,IAAAA,MAAA,SAAA+0B,GAAA,cAAAA,EAAAxvB,KAAAwvB,EAAAjxB,MAAA,OAM0C,GAN1C82B,EAKtBD,EAFFE,wBAAAA,OAAuB,IAAAD,EApBU,IAoBuBA,EAAAE,EAEtDH,EADFI,QAAAA,OAAO,IAAAD,EApBU,IAoBOA,IAEFD,GAA2B,GAAKE,GAAW,GAE9C,CAAFhG,EAAAjxB,KAAA,eAAAixB,EAAAnxB,OAAA,SACV62B,EAAgB9+B,KAAIE,MAApB4+B,EAAe,CAAMD,GAAc7kB,OAAAukB,GAAKQ,MAAyB,OAOpD,GAJhBM,EAA+BtkB,KAAKC,UACxC+jB,GAEIO,EAAa5+B,KAAKi+B,cAAc5zB,IAAIs0B,GACpC7a,EAAMC,KAAKD,OAEb8a,EAAY,CAAFlG,EAAAjxB,KAAA,SAEwD,KAAlEqc,EAAM8a,EAAWK,iBAA6C,IAA1BT,GACpB,CAAF9F,EAAAjxB,KAAA,SAEmD,OADjEzH,KAAKi+B,cAAciB,OAAOP,GAC1B3+B,KAAKi+B,cAAcxxB,IAAIkyB,EAA8BC,GAAYlG,EAAAnxB,OAAA,SAC1DuB,QAAQlC,QAAQg4B,EAAWzmB,WAAS,QAE3CnY,KAAKi+B,cAAciB,OAAOP,GAA8B,QAM3D,KAFKE,EAAoB7+B,KAAKk+B,qBAAqB7zB,IAClDs0B,IAGqB,CAAFjG,EAAAjxB,KAAA,SAGa,KAD9Bqc,EAAM+a,EAAkBI,iBACE,IAA1BT,GACgB,CAAF9F,EAAAjxB,KAAA,SAKZ,OAJFzH,KAAKk+B,qBAAqBgB,OAAOP,GACjC3+B,KAAKk+B,qBAAqBzxB,IACxBkyB,EACAE,GACAnG,EAAAnxB,OAAA,SACKs3B,EAAkBC,iBAAe,QAExC9+B,KAAKk+B,qBAAqBgB,OAAOP,GAA8B,QAWhE,OAPGG,EAAkBV,EAAgB9+B,KAAIE,MAApB4+B,EAAe,CACrCD,GAAc7kB,OAAAukB,GACXQ,KAELr+B,KAAKk+B,qBAAqBzxB,IAAIkyB,EAA8B,CAC1DM,iBAAkBnb,EAClBgb,gBAAAA,IACCpG,EAAAjxB,KAAA,GAEoBq3B,EAAe,QAgBrC,OAhBK3mB,EAAQugB,EAAAtxB,KACdpH,KAAKi+B,cAAcxxB,IAAIkyB,EAA8B,CACnDM,iBAAkBnb,EAClB3L,SAAAA,IAGyBnY,KAAKi+B,cAAc5mB,KAAOqnB,IAE7CK,EAAc/+B,KAAKi+B,cAAcl1B,OAAOtB,OAAOnD,MACrDtE,KAAKi+B,cAAciB,OAAOH,IAG1B/+B,KAAKk+B,qBAAqB7mB,KAAOqnB,IAE3BK,EAAc/+B,KAAKk+B,qBAAqBn1B,OAAOtB,OAAOnD,MAC5DtE,KAAKk+B,qBAAqBgB,OAAOH,IAClCrG,EAAAnxB,OAAA,SACM4Q,GAAQ,yBAAAugB,EAAAtvB,OAAA,GAAA+uB,EAAA,UAChB,SAAAS,EAAAI,EAAAK,EAAAI,GAAA,OAAAuE,EAAAx+B,MAAA,KAAAC,UAAA,MAAAs+B,CAAA,CA3FkC,GCU/Bd,GAAe,aAERkC,GAAmB,WAK9B,SAAAA,EACYC,EACAjC,EACA5F,GACVhtB,EAAA,KAAA40B,GAAA/zB,EAAA,wBAN6C,IAAI2yB,IAAkB,KAGzDqB,eAAAA,EAAsB,KACtBjC,QAAAA,EAAgB,KAChB5F,cAAAA,CACT,CAIF,IAAA8H,EA2CA,OA/CGp0B,EAAAk0B,EAAA,EAAA/0B,IAAA,aAAA9F,MAEJ,WACEtE,KAAKs/B,iBAAiBC,YACxB,GAAC,CAAAn1B,IAAA,SAAA9F,OAAA+6B,EAAAnvB,EAAAvM,IAAAA,MAED,SAAAw0B,EACEqH,GAAuD,IAAA9vB,EAAA+vB,EAAArxB,EAAAkqB,EAAAC,EAAAmH,EAAAt1B,EAAAu1B,EAAAlH,EAAAh5B,UAAA,OAAAkE,IAAAA,MAAA,SAAA+0B,GAAA,cAAAA,EAAAxvB,KAAAwvB,EAAAjxB,MAAA,OAWvD,IAAW2C,KANUq1B,GALkC/vB,EAAA+oB,EAAAt4B,OAAA,QAAAU,IAAA43B,EAAA,GAAAA,EAAA,GAKpC,CAAC,GAHlBrqB,6BAAAA,OAA4B,IAAAqxB,EAAGz/B,KAAKu3B,cACjCnpB,6BAA4BqxB,EAAAnH,EAAA5oB,EAC/B6oB,YAAAA,OAAW,IAAAD,EAAG,KAAIA,EAGdoH,EAAwB,CAAC,GACqB,IAAhD1/B,KAAKu3B,cAAclpB,2BACrBqxB,EAAiC,WAAI,GAErBF,EACZ1uB,MAAMD,QAAQ2uB,EAAiBp1B,MACjCs1B,EAAsBt1B,GAAOo1B,EAAiBp1B,GAAKoP,KAAK,MAO3D,OAJKmmB,EAAc17B,OAAOmR,OACzB,CAAC,EACDoqB,EACAE,GACDhH,EAAAnxB,OAAA,SAEMvH,KAAKs/B,iBAAiBM,QAC3B5/B,KAAKm9B,QACLn9B,KAAKm9B,QAAQ9yB,IACb,CAACrK,KAAK6/B,aAAa,UAAWF,EAAa,CAAEpH,YAAAA,IAC7C,CACEiG,wBAAyBpwB,KAE5B,wBAAAsqB,EAAAtvB,OAAA,GAAA+uB,EAAA,UACF,SAAAS,GAAA,OAAAyG,EAAA7/B,MAAA,KAAAC,UAAA,KAAA2K,IAAA,eAAA9F,MAED,SAAuBw7B,GACrB,MAAO,GAAPxmB,OAAU4jB,GAAYD,aAAY,KAAA3jB,OAAItZ,KAAKo/B,gBAAc9lB,OAAG2jB,IAAY3jB,YACxDzY,IAAdi/B,EAA0B,GAAK,IAAMA,EAEzC,IAAC,EAAA11B,IAAA,eAAAC,IAED,WACE,OAAO4yB,EACT,KAACkC,CAAA,CAxD6B,0PCoOhC,IAAMhI,GACe,oBAAZC,SACa,MAApBA,QAAQC,UACiB,MAAzBD,QAAQC,SAAS/pB,KAEEyyB,GAAS,SAAArwB,GAI5B,SAAAqwB,EACEX,EACAjC,EACA5F,GACA,OAAAhtB,EAAA,KAAAw1B,GAAAhzB,GAAA,KAAAgzB,EAAA,CACMX,EAAgBjC,EAAS5F,GACjC,CAkLA,IAAAyI,EAPAC,EArCAC,EA/EAC,EATCC,EANAnI,EA1BAoI,EATAC,EALAjD,EA2LA,OArM2B3xB,EAAAq0B,EAAArwB,GAU3BzE,EAAA80B,EAAA,EAAA31B,IAAA,SAAA9F,OAAA+4B,EAAAntB,EAAAvM,IAAAA,MAED,SAAAw0B,EAAax2B,GAAW,IAAAwL,EAAAsrB,EAAAh5B,UAAA,OAAAkE,IAAAA,MAAA,SAAA+0B,GAAA,cAAAA,EAAAxvB,KAAAwvB,EAAAjxB,MAAA,OAAuC,GAArC0F,EAAgCsrB,EAAAt4B,OAAA,QAAAU,IAAA43B,EAAA,GAAAA,EAAA,GAAG,CAAC,EACvD92B,EAAU,CAAF+2B,EAAAjxB,KAAA,cAAQ,IAAIT,MAAM,wBAAuB,cAAA0xB,EAAAnxB,OAAA,SAC/CvH,KAAKm9B,QAAQG,KAAQt9B,KAAK6/B,eAAgBl+B,EAAUwL,IAAQ,wBAAAurB,EAAAtvB,OAAA,GAAA+uB,EAAA,UACpE,SAAAS,GAAA,OAAAyE,EAAA79B,MAAA,KAAAC,UAAA,KAAA2K,IAAA,SAAA9F,OAAAg8B,EAAApwB,EAAAvM,IAAAA,MAED,SAAAk1B,EAAal3B,GAAW,IAAAwL,EAAA2rB,EAAAr5B,UAAA,OAAAkE,IAAAA,MAAA,SAAAo1B,GAAA,cAAAA,EAAA7vB,KAAA6vB,EAAAtxB,MAAA,OAAuC,GAArC0F,EAAgC2rB,EAAA34B,OAAA,QAAAU,IAAAi4B,EAAA,GAAAA,EAAA,GAAG,CAAC,EACvDn3B,EAAU,CAAFo3B,EAAAtxB,KAAA,cAAQ,IAAIT,MAAM,wBAAuB,cAAA+xB,EAAAxxB,OAAA,SAC/CvH,KAAKm9B,QAAQG,KAClBt9B,KAAK6/B,eACLl+B,EACAsC,OAAOmR,OAAO,CAAC,EAAGjI,EAAS,CAAEozB,OAAQ,aACtC,wBAAAxH,EAAA3vB,OAAA,GAAAyvB,EAAA,UACF,SAAAG,GAAA,OAAAsH,EAAA9gC,MAAA,KAAAC,UAAA,KAAA2K,IAAA,SAAA9F,OAAA+7B,EAAAnwB,EAAAvM,IAAAA,MAOD,SAAAs1B,EACEt3B,GAAW,IAAAwL,EAAAgsB,EAAA15B,UAAA,OAAAkE,IAAAA,MAAA,SAAAy1B,GAAA,cAAAA,EAAAlwB,KAAAkwB,EAAA3xB,MAAA,OACqD,GAAhE0F,EAA2DgsB,EAAAh5B,OAAA,QAAAU,IAAAs4B,EAAA,GAAAA,EAAA,GAAG,CAAC,EAE1Dx3B,EAAU,CAAFy3B,EAAA3xB,KAAA,cAAQ,IAAIT,MAAM,wBAAuB,UAE1B,MAAxBmG,EAAmB,UAAS,CAAAisB,EAAA3xB,KAAA,eAAA2xB,EAAA7xB,OAAA,SACvBvH,KAAKm9B,QAAQqD,MAClBxgC,KAAK6/B,eACLl+B,EACAsC,OAAOmR,OAAO,CAAC,EAAGjI,KACnB,cAAAisB,EAAA7xB,OAAA,SAEMvH,KAAKm9B,QAAQG,KAClBt9B,KAAK6/B,eACLl+B,EACAsC,OAAOmR,OAAO,CAAC,EAAGjI,EAAS,CAAEozB,OAAQ,aACtC,wBAAAnH,EAAAhwB,OAAA,GAAA6vB,EAAA,UAEJ,SAAAI,GAAA,OAAAgH,EAAA7gC,MAAA,KAAAC,UAAA,KAAA2K,IAAA,SAAA9F,OAAA2zB,EAAA/nB,EAAAvM,IAAAA,MAED,SAAA21B,IAAA,IAAAmH,EAAAlH,EAAA95B,UAAA,OAAAkE,IAAAA,MAAA,SAAA61B,GAAA,cAAAA,EAAAtwB,KAAAswB,EAAA/xB,MAAA,OACyB,OAAvBg5B,EAAkBlH,EAAAp5B,OAAA,QAAAU,IAAA04B,EAAA,GAAAA,EAAA,GAAG,CAAC,EAACC,EAAAjyB,OAAA,SAEhBvH,KAAKm9B,QAAQ+B,OAAuBl/B,KAAK6/B,eAAgBY,IAAM,wBAAAjH,EAAApwB,OAAA,GAAAkwB,EAAA,UACvE,kBAAArB,EAAAz4B,MAAA,KAAAC,UAAA,KAAA2K,IAAA,aAAA9F,OAAA87B,EAAAlwB,EAAAvM,IAAAA,MAED,SAAA+1B,EAAiBgH,GAAc,IAAAvzB,EAAAwsB,EAAAl6B,UAAA,OAAAkE,IAAAA,MAAA,SAAAi2B,GAAA,cAAAA,EAAA1wB,KAAA0wB,EAAAnyB,MAAA,OAG3B,OAH6B0F,EAAiCwsB,EAAAx5B,OAAA,QAAAU,IAAA84B,EAAA,GAAAA,EAAA,GAAG,CAAC,EACpE35B,KAAKu3B,cAAcj0B,OAAO4L,KACxB,mKACA0qB,EAAAryB,OAAA,SACKvH,KAAK2gC,OAAOD,EAAWvzB,IAAQ,wBAAAysB,EAAAxwB,OAAA,GAAAswB,EAAA,UACvC,SAAAD,GAAA,OAAA2G,EAAA5gC,MAAA,KAAAC,UAAA,IAED,CAAA2K,IAAA,SAAA9F,OAAA67B,EAAAjwB,EAAAvM,IAAAA,MAcA,SAAAm2B,EACE4G,GAAuB,IAAAvzB,EAAAyzB,EAAAC,EAAAC,EAAAC,EAAAC,EAAAvhC,UAAA,OAAAkE,IAAAA,MAAA,SAAA03B,GAAA,cAAAA,EAAAnyB,KAAAmyB,EAAA5zB,MAAA,OACe,GAAtC0F,EAAiC6zB,EAAA7gC,OAAA,QAAAU,IAAAmgC,EAAA,GAAAA,EAAA,GAAG,CAAC,GAGjClwB,MAAMD,QAAQ6vB,GAAY,CAAFrF,EAAA5zB,KAAA,SAAA4zB,EAAAnyB,KAAA,EAExB03B,EAAyBF,EACtBrzB,KAAI,SAAC1L,GAAQ,OAAK0Y,KAAKC,UAAU3Y,EAAS,IAC1C6X,KAAK,MAAM6hB,EAAA5zB,KAAA,mBAAA4zB,EAAAnyB,KAAA,EAAAmyB,EAAAY,GAAAZ,EAAA,WAIZA,EAAAY,cAAiBgF,YACjB5F,EAAAY,GAAMpvB,QAAQq0B,SAAS,qCAAmC,CAAA7F,EAAA5zB,KAAA,eAEpD,IAAIT,MAAM,GAADsS,OAAA+hB,EAAAY,GAAA,oVAIb,cAIE,IAAIj1B,MAAKq0B,EAAAY,IAAO,QAAAZ,EAAA5zB,KAAA,iBAGxBm5B,EAAyBF,EAAU,eAAArF,EAAA5zB,KAAA,GAGFzH,KAAKm9B,QAAQxE,eAC9C,OACA34B,KAAK6/B,aAAa,UAClB,CACExH,gBAAiBlrB,EACjB+rB,eAAgB0H,EAChBryB,kBAAmB,CAAE,eAAgB,cACrCgsB,uBAAuB,EACvBE,kBAAiBtD,KAEpB,QAVyB,GAApB0J,EAAoBxF,EAAAj0B,MAYtB0J,MAAMD,QAAQ6vB,GAAY,CAAFrF,EAAA5zB,KAAA,SAMzB,GALKq5B,EAAsBD,EACzBlqB,MAAM,MACNtJ,KAAI,SAACrJ,GAAC,OAAKqW,KAAKuE,MAAM5a,EAAE,OACrB+8B,EAAcD,EAAoBtrB,QACtC,SAACxR,GAAC,OAAmB,IAAdA,EAAEm9B,OAAiB,KAEZhhC,OAAS,GAAC,CAAAk7B,EAAA5zB,KAAA,eAClB,IAAI81B,GAAY,GAADjkB,OAEjBwnB,EAAoB3gC,OAAS4gC,EAAY5gC,OAAM,sCAAAmZ,OAE/CynB,EAAY5gC,OAAM,0IAEpB2gC,GACD,eAAAzF,EAAA9zB,OAAA,SAEMu5B,GAAmB,QAAAzF,EAAA5zB,KAAA,wBAAA4zB,EAAA9zB,OAAA,SAGrBs5B,GAAoB,yBAAAxF,EAAAjyB,OAAA,GAAA0wB,EAAA,kBAE9B,SAAAD,GAAA,OAAAsG,EAAA3gC,MAAA,KAAAC,UAAA,IACD,CAAA2K,IAAA,eAAA9F,OAAA47B,EAAAhwB,EAAAvM,IAAAA,MAGA,SAAA+4B,EACE0E,GAA0B,IAAAj0B,EAAA0zB,EAAAC,EAAAC,EAAAM,EAAA5hC,UAAA,OAAAkE,IAAAA,MAAA,SAAAo3B,GAAA,cAAAA,EAAA7xB,KAAA6xB,EAAAtzB,MAAA,OACY,OAAtC0F,EAAiCk0B,EAAAlhC,OAAA,QAAAU,IAAAwgC,EAAA,GAAAA,EAAA,GAAG,CAAC,EAACtG,EAAAtzB,KAAA,EAEHzH,KAAKm9B,QAAQxE,eAC9C,OACA34B,KAAK6/B,aAAa,UAClB,CACExH,gBAAiBlrB,EACjB+rB,eAAgBkI,EAChB7yB,kBAAmB,CAAE,eAAgB,cACrCgsB,uBAAuB,EACvBE,kBAAiBtD,KAEpB,OAKyE,GAfpE0J,EAAoB9F,EAAA3zB,KAYpB05B,EAAsBD,EACzBlqB,MAAM,MACNtJ,KAAI,SAACrJ,GAAC,OAAKqW,KAAKuE,MAAM5a,EAAE,OACrB+8B,EAAcD,EAAoBtrB,QAAO,SAACxR,GAAC,OAAmB,IAAdA,EAAEm9B,OAAiB,KACzDhhC,OAAS,GAAC,CAAA46B,EAAAtzB,KAAA,eAClB,IAAI81B,GAAY,GAADjkB,OAEjBwnB,EAAoB3gC,OAAS4gC,EAAY5gC,OAAM,sCAAAmZ,OAE/CynB,EAAY5gC,OAAM,0IAEpB2gC,GACD,eAAA/F,EAAAxzB,OAAA,SAEMu5B,GAAmB,yBAAA/F,EAAA3xB,OAAA,GAAAszB,EAAA,UAE7B,SAAAR,GAAA,OAAAgE,EAAA1gC,MAAA,KAAAC,UAAA,IAED,CAAA2K,IAAA,SAAA9F,OAAA27B,EAAA/vB,EAAAvM,IAAAA,MAGA,SAAA29B,IAAA,IAAAn0B,EAAAo0B,EAAA9hC,UAAA,OAAAkE,IAAAA,MAAA,SAAAi5B,GAAA,cAAAA,EAAA1zB,KAAA0zB,EAAAn1B,MAAA,OAAoD,OAAvC0F,EAAkCo0B,EAAAphC,OAAA,QAAAU,IAAA0gC,EAAA,GAAAA,EAAA,GAAG,CAAC,EAAC3E,EAAAr1B,OAAA,SAC3CvH,KAAKm9B,QAAQ9yB,IAAYrK,KAAK6/B,aAAa,UAAW1yB,IAAQ,wBAAAyvB,EAAAxzB,OAAA,GAAAk4B,EAAA,UACtE,kBAAArB,EAAAzgC,MAAA,KAAAC,UAAA,IAED,CAAA2K,IAAA,eAAA9F,OAAA07B,EAAA9vB,EAAAvM,IAAAA,MAGA,SAAA69B,IAAA,IAAAr0B,EAAAs0B,EAAAhiC,UAAA,OAAAkE,IAAAA,MAAA,SAAA+9B,GAAA,cAAAA,EAAAx4B,KAAAw4B,EAAAj6B,MAAA,OACyC,OAAvC0F,EAAkCs0B,EAAAthC,OAAA,QAAAU,IAAA4gC,EAAA,GAAAA,EAAA,GAAG,CAAC,EAACC,EAAAn6B,OAAA,SAEhCvH,KAAKm9B,QAAQ9yB,IAAgBrK,KAAK6/B,aAAa,UAAW1yB,EAAS,CACxE6R,aAAc,YACd,wBAAA0iB,EAAAt4B,OAAA,GAAAo4B,EAAA,UACH,kBAAAxB,EAAAxgC,MAAA,KAAAC,UAAA,MAAAsgC,CAAA,CArM2B,CACpBZ,IC9MWwC,GAAS,WAC5B,SAAAA,EACUvC,EACAjC,GACR5yB,EAAA,KAAAo3B,GAAA,KAFQvC,eAAAA,EAAsB,KACtBjC,QAAAA,CACP,CAUF,IAAAC,EAVGkD,EAwBH,OAxBGr1B,EAAA02B,EAAA,EAAAv3B,IAAA,SAAA9F,OAAAg8B,EAAApwB,EAAAvM,IAAAA,MAEJ,SAAAw0B,EACEyJ,EACA5mB,GAA4B,OAAArX,IAAAA,MAAA,SAAA+0B,GAAA,cAAAA,EAAAxvB,KAAAwvB,EAAAjxB,MAAA,cAAAixB,EAAAnxB,OAAA,SAErBvH,KAAKm9B,QAAQ0E,IAClB7hC,KAAK6/B,aAAa+B,GAClB5mB,IACD,wBAAA0d,EAAAtvB,OAAA,GAAA+uB,EAAA,UACF,SAAAS,EAAAI,GAAA,OAAAsH,EAAA9gC,MAAA,KAAAC,UAAA,KAAA2K,IAAA,WAAA9F,OAAA84B,EAAAltB,EAAAvM,IAAAA,MAED,SAAAk1B,IAAA,OAAAl1B,IAAAA,MAAA,SAAAo1B,GAAA,cAAAA,EAAA7vB,KAAA6vB,EAAAtxB,MAAA,cAAAsxB,EAAAxxB,OAAA,SACSvH,KAAKm9B,QAAQ9yB,IAA6BrK,KAAK6/B,iBAAe,wBAAA9G,EAAA3vB,OAAA,GAAAyvB,EAAA,UACtE,kBAAAuE,EAAA59B,MAAA,KAAAC,UAAA,KAAA2K,IAAA,eAAA9F,MAED,SAAqBw7B,GACnB,MAAO,GAAPxmB,OAAU4jB,GAAYD,aAAY,KAAA3jB,OAAItZ,KAAKo/B,gBAAc9lB,OACvDqoB,EAAU1E,cAAY3jB,YACPzY,IAAdi/B,EAA0B,GAAK,IAAMA,EAC1C,IAAC,EAAA11B,IAAA,eAAAC,IAED,WACE,MAlEiB,YAmEnB,KAACs3B,CAAA,CA5B2B,GC/BTG,GAAQ,WAC3B,SAAAA,EACU1C,EACAwC,EACAzE,GACR5yB,EAAA,KAAAu3B,GAAA,KAHQ1C,eAAAA,EAAsB,KACtBwC,WAAAA,EAAkB,KAClBzE,QAAAA,CACP,CAIF,IAAAlF,EAJGmF,EAYH,OAZGnyB,EAAA62B,EAAA,EAAA13B,IAAA,WAAA9F,OAAA84B,EAAAltB,EAAAvM,IAAAA,MAEJ,SAAAw0B,IAAA,OAAAx0B,IAAAA,MAAA,SAAA+0B,GAAA,cAAAA,EAAAxvB,KAAAwvB,EAAAjxB,MAAA,cAAAixB,EAAAnxB,OAAA,SACSvH,KAAKm9B,QAAQ9yB,IAAoBrK,KAAK6/B,iBAAe,wBAAAnH,EAAAtvB,OAAA,GAAA+uB,EAAA,UAC7D,kBAAAiF,EAAA59B,MAAA,KAAAC,UAAA,KAAA2K,IAAA,SAAA9F,OAAA2zB,EAAA/nB,EAAAvM,IAAAA,MAED,SAAAk1B,IAAA,OAAAl1B,IAAAA,MAAA,SAAAo1B,GAAA,cAAAA,EAAA7vB,KAAA6vB,EAAAtxB,MAAA,cAAAsxB,EAAAxxB,OAAA,SACSvH,KAAKm9B,QAAQ+B,OAA6Bl/B,KAAK6/B,iBAAe,wBAAA9G,EAAA3vB,OAAA,GAAAyvB,EAAA,UACtE,kBAAAZ,EAAAz4B,MAAA,KAAAC,UAAA,KAAA2K,IAAA,eAAA9F,MAED,WACE,MAAO,GAAPgV,OAAU4jB,GAAYD,aAAY,KAAA3jB,OAAItZ,KAAKo/B,gBAAc9lB,OAAGqoB,GAAU1E,aAAY,KAAA3jB,OAAItZ,KAAK4hC,WAC7F,KAACE,CAAA,CAjB0B,GCKRC,GAAQ,WAC3B,SAAAA,EAAoB3C,EAAgCjC,GAAkB5yB,EAAA,KAAAw3B,GAAA,KAAlD3C,eAAAA,EAAsB,KAAUjC,QAAAA,CAAmB,CAUtE,IAAAC,EAVuEkD,EAwBvE,OAxBuEr1B,EAAA82B,EAAA,EAAA33B,IAAA,SAAA9F,OAAAg8B,EAAApwB,EAAAvM,IAAAA,MAExE,SAAAw0B,EACE6J,EACAhnB,GAA2B,OAAArX,IAAAA,MAAA,SAAA+0B,GAAA,cAAAA,EAAAxvB,KAAAwvB,EAAAjxB,MAAA,cAAAixB,EAAAnxB,OAAA,SAEpBvH,KAAKm9B,QAAQ0E,IAClB7hC,KAAK6/B,aAAamC,GAClBhnB,IACD,wBAAA0d,EAAAtvB,OAAA,GAAA+uB,EAAA,UACF,SAAAS,EAAAI,GAAA,OAAAsH,EAAA9gC,MAAA,KAAAC,UAAA,KAAA2K,IAAA,WAAA9F,OAAA84B,EAAAltB,EAAAvM,IAAAA,MAED,SAAAk1B,IAAA,OAAAl1B,IAAAA,MAAA,SAAAo1B,GAAA,cAAAA,EAAA7vB,KAAA6vB,EAAAtxB,MAAA,cAAAsxB,EAAAxxB,OAAA,SACSvH,KAAKm9B,QAAQ9yB,IAA4BrK,KAAK6/B,iBAAe,wBAAA9G,EAAA3vB,OAAA,GAAAyvB,EAAA,UACrE,kBAAAuE,EAAA59B,MAAA,KAAAC,UAAA,KAAA2K,IAAA,eAAA9F,MAED,SAAqBw7B,GACnB,MAAO,GAAPxmB,OAAU4jB,GAAYD,aAAY,KAAA3jB,OAAItZ,KAAKo/B,gBAAc9lB,OACvDyoB,EAAS9E,cAAY3jB,YACNzY,IAAdi/B,EAA0B,GAAK,IAAMA,EAC1C,IAAC,EAAA11B,IAAA,eAAAC,IAED,WACE,MArCiB,WAsCnB,KAAC03B,CAAA,CAzB0B,GCLRE,GAAO,WAC1B,SAAAA,EACU7C,EACA4C,EACA7E,GACR5yB,EAAA,KAAA03B,GAAA,KAHQ7C,eAAAA,EAAsB,KACtB4C,UAAAA,EAAiB,KACjB7E,QAAAA,CACP,CAIF,IAAAlF,EAJGmF,EAYH,OAZGnyB,EAAAg3B,EAAA,EAAA73B,IAAA,WAAA9F,OAAA84B,EAAAltB,EAAAvM,IAAAA,MAEJ,SAAAw0B,IAAA,OAAAx0B,IAAAA,MAAA,SAAA+0B,GAAA,cAAAA,EAAAxvB,KAAAwvB,EAAAjxB,MAAA,cAAAixB,EAAAnxB,OAAA,SACSvH,KAAKm9B,QAAQ9yB,IAAmBrK,KAAK6/B,iBAAe,wBAAAnH,EAAAtvB,OAAA,GAAA+uB,EAAA,UAC5D,kBAAAiF,EAAA59B,MAAA,KAAAC,UAAA,KAAA2K,IAAA,SAAA9F,OAAA2zB,EAAA/nB,EAAAvM,IAAAA,MAED,SAAAk1B,IAAA,OAAAl1B,IAAAA,MAAA,SAAAo1B,GAAA,cAAAA,EAAA7vB,KAAA6vB,EAAAtxB,MAAA,cAAAsxB,EAAAxxB,OAAA,SACSvH,KAAKm9B,QAAQ+B,OAA4Bl/B,KAAK6/B,iBAAe,wBAAA9G,EAAA3vB,OAAA,GAAAyvB,EAAA,UACrE,kBAAAZ,EAAAz4B,MAAA,KAAAC,UAAA,KAAA2K,IAAA,eAAA9F,MAED,WACE,MAAO,GAAPgV,OAAU4jB,GAAYD,aAAY,KAAA3jB,OAAItZ,KAAKo/B,gBAAc9lB,OAAGyoB,GAAS9E,aAAY,KAAA3jB,OAAItZ,KAAKgiC,UAC5F,KAACC,CAAA,CAjByB,GCJfC,GAAQ,WACnB,SAAAA,EACU9C,EACA+C,EACAhF,GACR5yB,EAAA,KAAA23B,GAAA,KAHQ9C,eAAAA,EAAsB,KACtB+C,WAAAA,EAAkB,KAClBhF,QAAAA,CACP,CAQF,IAAAkD,EAJApI,EAJGmF,EAmBH,OAnBGnyB,EAAAi3B,EAAA,EAAA93B,IAAA,WAAA9F,OAAA84B,EAAAltB,EAAAvM,IAAAA,MAEJ,SAAAw0B,IAAA,OAAAx0B,IAAAA,MAAA,SAAA+0B,GAAA,cAAAA,EAAAxvB,KAAAwvB,EAAAjxB,MAAA,cAAAixB,EAAAnxB,OAAA,SACSvH,KAAKm9B,QAAQ9yB,IAAOrK,KAAK6/B,iBAAe,wBAAAnH,EAAAtvB,OAAA,GAAA+uB,EAAA,UAChD,kBAAAiF,EAAA59B,MAAA,KAAAC,UAAA,KAAA2K,IAAA,SAAA9F,OAAA2zB,EAAA/nB,EAAAvM,IAAAA,MAED,SAAAk1B,EAAa1rB,GAAqB,OAAAxJ,IAAAA,MAAA,SAAAo1B,GAAA,cAAAA,EAAA7vB,KAAA6vB,EAAAtxB,MAAA,cAAAsxB,EAAAxxB,OAAA,SACzBvH,KAAKm9B,QAAQ+B,OAAUl/B,KAAK6/B,eAAgB1yB,IAAQ,wBAAA4rB,EAAA3vB,OAAA,GAAAyvB,EAAA,UAC5D,SAAAD,GAAA,OAAAX,EAAAz4B,MAAA,KAAAC,UAAA,KAAA2K,IAAA,SAAA9F,OAAA+7B,EAAAnwB,EAAAvM,IAAAA,MAED,SAAAs1B,EACEmJ,GAA2B,IAAAj1B,EAAAgsB,EAAA15B,UAAA,OAAAkE,IAAAA,MAAA,SAAAy1B,GAAA,cAAAA,EAAAlwB,KAAAkwB,EAAA3xB,MAAA,OACU,OAArC0F,EAAgCgsB,EAAAh5B,OAAA,QAAAU,IAAAs4B,EAAA,GAAAA,EAAA,GAAG,CAAC,EAACC,EAAA7xB,OAAA,SAE9BvH,KAAKm9B,QAAQqD,MAASxgC,KAAK6/B,eAAgBuC,EAAiBj1B,IAAQ,wBAAAisB,EAAAhwB,OAAA,GAAA6vB,EAAA,UAC5E,SAAAD,GAAA,OAAAqH,EAAA7gC,MAAA,KAAAC,UAAA,KAAA2K,IAAA,eAAA9F,MAED,WACE,MAAO,GAAPgV,OAAU4jB,GAAYD,aAAY,KAAA3jB,OAAItZ,KAAKo/B,gBAAc9lB,OAAGymB,GAAU9C,aAAY,KAAA3jB,OAAItZ,KAAKmiC,WAC7F,KAACD,CAAA,CAxBkB,GCoDAG,GAAU,WAQ7B,SAAAA,EACmBhiC,EACA88B,EACA5F,GACjBhtB,EAAA,KAAA83B,GAAAj3B,EAAA,2BAVyD,CAAC,GAACA,EAAA,2BAEL,CAAC,GAACA,EAAA,0BAEJ,CAAC,GAAC,KAGrC/K,KAAAA,EAAY,KACZ88B,QAAAA,EAAgB,KAChB5F,cAAAA,EAEjBv3B,KAAKK,KAAOA,EACZL,KAAKm9B,QAAUA,EACfn9B,KAAKu3B,cAAgBA,EAErBv3B,KAAKsiC,WAAa,IAAIvC,GACpB//B,KAAKK,KACLL,KAAKm9B,QACLn9B,KAAKu3B,eAEPv3B,KAAKuiC,WAAa,IAAIZ,GAAU3hC,KAAKK,KAAML,KAAKm9B,SAChDn9B,KAAKwiC,UAAY,IAAIT,GAAS/hC,KAAKK,KAAML,KAAKm9B,QAChD,CAYC,IAAAsF,EAJAxK,EAJAoI,EAJAjD,EA6EA,OA7EAnyB,EAAAo3B,EAAA,EAAAj4B,IAAA,WAAA9F,OAAA84B,EAAAltB,EAAAvM,IAAAA,MAED,SAAAw0B,IAAA,OAAAx0B,IAAAA,MAAA,SAAA+0B,GAAA,cAAAA,EAAAxvB,KAAAwvB,EAAAjxB,MAAA,cAAAixB,EAAAnxB,OAAA,SACSvH,KAAKm9B,QAAQ9yB,IAAsBrK,KAAK6/B,iBAAe,wBAAAnH,EAAAtvB,OAAA,GAAA+uB,EAAA,UAC/D,kBAAAiF,EAAA59B,MAAA,KAAAC,UAAA,KAAA2K,IAAA,SAAA9F,OAAA+7B,EAAAnwB,EAAAvM,IAAAA,MAED,SAAAk1B,EAAahJ,GAA8B,OAAAlsB,IAAAA,MAAA,SAAAo1B,GAAA,cAAAA,EAAA7vB,KAAA6vB,EAAAtxB,MAAA,cAAAsxB,EAAAxxB,OAAA,SAClCvH,KAAKm9B,QAAQqD,MAAwBxgC,KAAK6/B,eAAgBhQ,IAAO,wBAAAkJ,EAAA3vB,OAAA,GAAAyvB,EAAA,UACzE,SAAAD,GAAA,OAAAyH,EAAA7gC,MAAA,KAAAC,UAAA,KAAA2K,IAAA,SAAA9F,OAAA2zB,EAAA/nB,EAAAvM,IAAAA,MAED,SAAAs1B,IAAA,OAAAt1B,IAAAA,MAAA,SAAAy1B,GAAA,cAAAA,EAAAlwB,KAAAkwB,EAAA3xB,MAAA,cAAA2xB,EAAA7xB,OAAA,SACSvH,KAAKm9B,QAAQ+B,OAAyBl/B,KAAK6/B,iBAAe,wBAAAzG,EAAAhwB,OAAA,GAAA6vB,EAAA,UAClE,kBAAAhB,EAAAz4B,MAAA,KAAAC,UAAA,KAAA2K,IAAA,SAAA9F,OAAAm+B,EAAAvyB,EAAAvM,IAAAA,MAED,SAAA21B,IAAA,OAAA31B,IAAAA,MAAA,SAAA61B,GAAA,cAAAA,EAAAtwB,KAAAswB,EAAA/xB,MAAA,cAAA+xB,EAAAtwB,KAAA,EAAAswB,EAAA/xB,KAAA,EAEUzH,KAAK0iC,WAAU,cAAAlJ,EAAAjyB,OAAA,UACd,GAAI,UAAAiyB,EAAAtwB,KAAA,EAAAswB,EAAAyC,GAAAzC,EAAA,WAEPA,EAAAyC,cAAapF,IAAc,CAAA2C,EAAA/xB,KAAA,gBAAA+xB,EAAAjyB,OAAA,UAAS,GAAK,cAAAiyB,EAAAyC,GAAA,yBAAAzC,EAAApwB,OAAA,GAAAkwB,EAAA,kBAGhD,kBAAAmJ,EAAAjjC,MAAA,KAAAC,UAAA,KAAA2K,IAAA,YAAA9F,MAID,SAAU69B,GACR,OAAKA,QAG0CthC,IAAzCb,KAAK2iC,oBAAoBR,KAC3BniC,KAAK2iC,oBAAoBR,GAAc,IAAID,GACzCliC,KAAKK,KACL8hC,EACAniC,KAAKm9B,UAGFn9B,KAAK2iC,oBAAoBR,IATzBniC,KAAKsiC,UAWhB,GAAC,CAAAl4B,IAAA,YAAA9F,MAID,SAAUs9B,GACR,YAAmB/gC,IAAf+gC,EACK5hC,KAAKuiC,iBAEiC1hC,IAAzCb,KAAK4iC,oBAAoBhB,KAC3B5hC,KAAK4iC,oBAAoBhB,GAAc,IAAIE,GACzC9hC,KAAKK,KACLuhC,EACA5hC,KAAKm9B,UAGFn9B,KAAK4iC,oBAAoBhB,GAEpC,GAAC,CAAAx3B,IAAA,WAAA9F,MAID,SAAS09B,GACP,YAAkBnhC,IAAdmhC,EACKhiC,KAAKwiC,gBAE+B3hC,IAAvCb,KAAK6iC,mBAAmBb,KAC1BhiC,KAAK6iC,mBAAmBb,GAAa,IAAIC,GACvCjiC,KAAKK,KACL2hC,EACAhiC,KAAKm9B,UAGFn9B,KAAK6iC,mBAAmBb,GAEnC,GAAC,CAAA53B,IAAA,eAAA9F,MAED,WACE,MAAO,GAAPgV,OAAU4jB,GAAYD,aAAY,KAAA3jB,OAAItZ,KAAKK,KAC7C,KAACgiC,CAAA,CArG4B,GC1DzBpF,GAAe,WAcA6F,GAAO,WAC1B,SAAAA,EAAoB3F,GAAkB5yB,EAAA,KAAAu4B,GAAA,KAAlB3F,QAAAA,CAAmB,CAUtC,IAAAC,EAVuCkD,EAsBvC,OAtBuCr1B,EAAA63B,EAAA,EAAA14B,IAAA,SAAA9F,OAAAg8B,EAAApwB,EAAAvM,IAAAA,MAExC,SAAAw0B,EACE93B,EACA0iC,GAAoC,OAAAp/B,IAAAA,MAAA,SAAA+0B,GAAA,cAAAA,EAAAxvB,KAAAwvB,EAAAjxB,MAAA,cAAAixB,EAAAnxB,OAAA,SAE7BvH,KAAKm9B,QAAQ0E,IAClB7hC,KAAK6/B,aAAax/B,GAClB0iC,IACD,wBAAArK,EAAAtvB,OAAA,GAAA+uB,EAAA,UACF,SAAAS,EAAAI,GAAA,OAAAsH,EAAA9gC,MAAA,KAAAC,UAAA,KAAA2K,IAAA,WAAA9F,OAAA84B,EAAAltB,EAAAvM,IAAAA,MAED,SAAAk1B,IAAA,OAAAl1B,IAAAA,MAAA,SAAAo1B,GAAA,cAAAA,EAAA7vB,KAAA6vB,EAAAtxB,MAAA,cAAAsxB,EAAAxxB,OAAA,SACSvH,KAAKm9B,QAAQ9yB,IAAqC4yB,KAAa,wBAAAlE,EAAA3vB,OAAA,GAAAyvB,EAAA,UACvE,kBAAAuE,EAAA59B,MAAA,KAAAC,UAAA,KAAA2K,IAAA,eAAA9F,MAED,SAAqB0+B,GACnB,MAAO,GAAP1pB,OAAUwpB,EAAQ7F,aAAY,KAAA3jB,OAAI0pB,EACpC,IAAC,EAAA54B,IAAA,eAAAC,IAED,WACE,OAAO4yB,EACT,KAAC6F,CAAA,CAvByB,GCbPG,GAAK,WACxB,SAAAA,EAAoB5iC,EAAsB88B,GAAkB5yB,EAAA,KAAA04B,GAAA,KAAxC5iC,KAAAA,EAAY,KAAU88B,QAAAA,CAAmB,CAI5D,IAAAlF,EAJ6DmF,EAY7D,OAZ6DnyB,EAAAg4B,EAAA,EAAA74B,IAAA,WAAA9F,OAAA84B,EAAAltB,EAAAvM,IAAAA,MAE9D,SAAAw0B,IAAA,OAAAx0B,IAAAA,MAAA,SAAA+0B,GAAA,cAAAA,EAAAxvB,KAAAwvB,EAAAjxB,MAAA,cAAAixB,EAAAnxB,OAAA,SACSvH,KAAKm9B,QAAQ9yB,IAA2BrK,KAAK6/B,iBAAe,wBAAAnH,EAAAtvB,OAAA,GAAA+uB,EAAA,UACpE,kBAAAiF,EAAA59B,MAAA,KAAAC,UAAA,KAAA2K,IAAA,SAAA9F,OAAA2zB,EAAA/nB,EAAAvM,IAAAA,MAED,SAAAk1B,IAAA,OAAAl1B,IAAAA,MAAA,SAAAo1B,GAAA,cAAAA,EAAA7vB,KAAA6vB,EAAAtxB,MAAA,cAAAsxB,EAAAxxB,OAAA,SACSvH,KAAKm9B,QAAQ+B,OAA8Bl/B,KAAK6/B,iBAAe,wBAAA9G,EAAA3vB,OAAA,GAAAyvB,EAAA,UACvE,kBAAAZ,EAAAz4B,MAAA,KAAAC,UAAA,KAAA2K,IAAA,eAAA9F,MAED,WACE,MAAO,GAAPgV,OAAUwpB,GAAQ7F,aAAY,KAAA3jB,OAAItZ,KAAKK,KACzC,KAAC4iC,CAAA,CAbuB,aCEpBhG,GAAe,QAYAiG,GAAI,WACvB,SAAAA,EAAoB/F,GAAkB5yB,EAAA,KAAA24B,GAAA,KAAlB/F,QAAAA,EAClBn9B,KAAKm9B,QAAUA,CACjB,CAIC,IAAAC,EAJAC,EA4BA,OA5BApyB,EAAAi4B,EAAA,EAAA94B,IAAA,SAAA9F,OAAA+4B,EAAAntB,EAAAvM,IAAAA,MAED,SAAAw0B,EAAand,GAAuB,OAAArX,IAAAA,MAAA,SAAA+0B,GAAA,cAAAA,EAAAxvB,KAAAwvB,EAAAjxB,MAAA,cAAAixB,EAAAnxB,OAAA,SAC3BvH,KAAKm9B,QAAQG,KAAgB4F,EAAKjG,aAAcjiB,IAAO,wBAAA0d,EAAAtvB,OAAA,GAAA+uB,EAAA,UAC/D,SAAAS,GAAA,OAAAyE,EAAA79B,MAAA,KAAAC,UAAA,KAAA2K,IAAA,WAAA9F,OAAA84B,EAAAltB,EAAAvM,IAAAA,MAED,SAAAk1B,IAAA,OAAAl1B,IAAAA,MAAA,SAAAo1B,GAAA,cAAAA,EAAA7vB,KAAA6vB,EAAAtxB,MAAA,cAAAsxB,EAAAxxB,OAAA,SACSvH,KAAKm9B,QAAQ9yB,IAAwB4yB,KAAa,wBAAAlE,EAAA3vB,OAAA,GAAAyvB,EAAA,UAC1D,kBAAAuE,EAAA59B,MAAA,KAAAC,UAAA,KAAA2K,IAAA,0BAAA9F,MAED,SACE6+B,EACAC,GAIA,IAAMC,EAAahpB,KAAKC,UAAU8oB,GAC5BE,EAASlpB,OAAOvB,MACpB0qB,EAAAA,GAAAA,YAAW,SAAUJ,GAAWK,OAAOH,GAAYC,OAAO,WAEtDG,EAAYN,EAAUO,OAAO,EAAG,GAChCC,EAAe,GAAHrqB,OAAMgqB,GAAMhqB,OAAGmqB,GAASnqB,OAAG+pB,GAE7C,OAAOjpB,OAAOvB,KAAK8qB,GAAcp3B,SAAS,SAC5C,IAAC,EAAAnC,IAAA,eAAAC,IAED,WACE,OAAO4yB,EACT,KAACiG,CAAA,CA/BsB,GCGJU,GAAG,WACtB,SAAAA,EAAoB3nB,EAAoBkhB,GAAkB5yB,EAAA,KAAAq5B,GAAA,KAAtC3nB,GAAAA,EAAU,KAAUkhB,QAAAA,CAAmB,CAI1D,IAAAlF,EAJ2DmF,EAY3D,OAZ2DnyB,EAAA24B,EAAA,EAAAx5B,IAAA,WAAA9F,OAAA84B,EAAAltB,EAAAvM,IAAAA,MAE5D,SAAAw0B,IAAA,OAAAx0B,IAAAA,MAAA,SAAA+0B,GAAA,cAAAA,EAAAxvB,KAAAwvB,EAAAjxB,MAAA,cAAAixB,EAAAnxB,OAAA,SACSvH,KAAKm9B,QAAQ9yB,IAAerK,KAAK6/B,iBAAe,wBAAAnH,EAAAtvB,OAAA,GAAA+uB,EAAA,UACxD,kBAAAiF,EAAA59B,MAAA,KAAAC,UAAA,KAAA2K,IAAA,SAAA9F,OAAA2zB,EAAA/nB,EAAAvM,IAAAA,MAED,SAAAk1B,IAAA,OAAAl1B,IAAAA,MAAA,SAAAo1B,GAAA,cAAAA,EAAA7vB,KAAA6vB,EAAAtxB,MAAA,cAAAsxB,EAAAxxB,OAAA,SACSvH,KAAKm9B,QAAQ+B,OAAwBl/B,KAAK6/B,iBAAe,wBAAA9G,EAAA3vB,OAAA,GAAAyvB,EAAA,UACjE,kBAAAZ,EAAAz4B,MAAA,KAAAC,UAAA,KAAA2K,IAAA,eAAA9F,MAED,WACE,MAAO,GAAPgV,OAAU4pB,GAAKjG,aAAY,KAAA3jB,OAAItZ,KAAKic,GACtC,KAAC2nB,CAAA,CAbqB,GCXHC,GAAK,WACxB,SAAAA,EAAoB1G,GAAkB5yB,EAAA,KAAAs5B,GAAA,KAAlB1G,QAAAA,CAAmB,CAAC,IAAAC,EAIvC,OAJuCnyB,EAAA44B,EAAA,EAAAz5B,IAAA,WAAA9F,OAAA84B,EAAAltB,EAAAvM,IAAAA,MAExC,SAAAw0B,IAAA,OAAAx0B,IAAAA,MAAA,SAAA+0B,GAAA,cAAAA,EAAAxvB,KAAAwvB,EAAAjxB,MAAA,cAAAixB,EAAAnxB,OAAA,SACSvH,KAAKm9B,QAAQ9yB,IAXH,WAWyC,wBAAAquB,EAAAtvB,OAAA,GAAA+uB,EAAA,UAC3D,kBAAAiF,EAAA59B,MAAA,KAAAC,UAAA,MAAAokC,CAAA,CALuB,GCeLC,GAAO,WAC1B,SAAAA,EAAoB3G,GAAkB5yB,EAAA,KAAAu5B,GAAA,KAAlB3G,QAAAA,CAAmB,CAAC,IAAAC,EAIvC,OAJuCnyB,EAAA64B,EAAA,EAAA15B,IAAA,WAAA9F,OAAA84B,EAAAltB,EAAAvM,IAAAA,MAExC,SAAAw0B,IAAA,OAAAx0B,IAAAA,MAAA,SAAA+0B,GAAA,cAAAA,EAAAxvB,KAAAwvB,EAAAjxB,MAAA,cAAAixB,EAAAnxB,OAAA,SACSvH,KAAKm9B,QAAQ9yB,IA1BH,kBA0BoB,wBAAAquB,EAAAtvB,OAAA,GAAA+uB,EAAA,UACtC,kBAAAiF,EAAA59B,MAAA,KAAAC,UAAA,MAAAqkC,CAAA,CALyB,GCAPA,GAAO,WAC1B,SAAAA,EAAoB3G,GAAkB5yB,EAAA,KAAAu5B,GAAA,KAAlB3G,QAAAA,CAAmB,CAAC,IAAAC,EAIvC,OAJuCnyB,EAAA64B,EAAA,EAAA15B,IAAA,WAAA9F,OAAA84B,EAAAltB,EAAAvM,IAAAA,MAExC,SAAAw0B,IAAA,OAAAx0B,IAAAA,MAAA,SAAA+0B,GAAA,cAAAA,EAAAxvB,KAAAwvB,EAAAjxB,MAAA,cAAAixB,EAAAnxB,OAAA,SACSvH,KAAKm9B,QAAQ9yB,IA1BH,gBA0BoB,wBAAAquB,EAAAtvB,OAAA,GAAA+uB,EAAA,UACtC,kBAAAiF,EAAA59B,MAAA,KAAAC,UAAA,MAAAqkC,CAAA,CALyB,GChBPC,GAAM,WACzB,SAAAA,EAAoB5G,GAAkB5yB,EAAA,KAAAw5B,GAAA,KAAlB5G,QAAAA,CAAmB,CAAC,IAAAC,EAIvC,OAJuCnyB,EAAA84B,EAAA,EAAA35B,IAAA,WAAA9F,OAAA84B,EAAAltB,EAAAvM,IAAAA,MAExC,SAAAw0B,IAAA,OAAAx0B,IAAAA,MAAA,SAAA+0B,GAAA,cAAAA,EAAAxvB,KAAAwvB,EAAAjxB,MAAA,cAAAixB,EAAAnxB,OAAA,SACSvH,KAAKm9B,QAAQ9yB,IAVH,YAUoC,wBAAAquB,EAAAtvB,OAAA,GAAA+uB,EAAA,UACtD,kBAAAiF,EAAA59B,MAAA,KAAAC,UAAA,MAAAskC,CAAA,CALwB,GCJNC,GAAU,WAC7B,SAAAA,EAAoB7G,GAAkB5yB,EAAA,KAAAy5B,GAAA,KAAlB7G,QAAAA,CAAmB,CAAC,IAAAa,EAWvC,OAXuC/yB,EAAA+4B,EAAA,EAAA55B,IAAA,UAAA9F,OAAA05B,EAAA9tB,EAAAvM,IAAAA,MAExC,SAAAw0B,EACE8L,GAA2D,IAAA5L,EAAAI,EAAAh5B,UAAA,OAAAkE,IAAAA,MAAA,SAAA+0B,GAAA,cAAAA,EAAAxvB,KAAAwvB,EAAAjxB,MAAA,OAClB,OAAzC4wB,EAAoCI,EAAAt4B,OAAA,QAAAU,IAAA43B,EAAA,GAAAA,EAAA,GAAG,CAAC,EAACC,EAAAnxB,OAAA,SAElCvH,KAAKm9B,QAAQG,KAAK,GAADhkB,OATP,cAUA,KAAAA,OAAI2qB,GACnB,CAAC,EACD5L,IACD,wBAAAK,EAAAtvB,OAAA,GAAA+uB,EAAA,UACF,SAAAS,GAAA,OAAAoF,EAAAx+B,MAAA,KAAAC,UAAA,MAAAukC,CAAA,CAZ4B,GC6BVE,GAAW,WAG9B,SAAAA,EACU/G,EACA5F,GAER,IADQ4M,EAA2B1kC,UAAAU,OAAA,QAAAU,IAAApB,UAAA,IAAAA,UAAA,GAAQ8K,EAAA,KAAA25B,GAAA,KAFnC/G,QAAAA,EAAgB,KAChB5F,cAAAA,EAA4B,KAC5B4M,mBAAAA,EAERnkC,KAAKs/B,iBAAmB,IAAIvB,EAC9B,CAIC,IAAAC,EA2BA,OA/BA/yB,EAAAi5B,EAAA,EAAA95B,IAAA,aAAA9F,MAED,WACEtE,KAAKs/B,iBAAiBC,YACxB,GAAC,CAAAn1B,IAAA,UAAA9F,OAAA05B,EAAA9tB,EAAAvM,IAAAA,MAED,SAAAw0B,EACEiM,GAAyC,IAAAC,EAAA5E,EAAArxB,EAAAG,EAAAmxB,EAAAC,EAAAlH,EAAAh5B,UAAA,OAAAkE,IAAAA,MAAA,SAAA+0B,GAAA,cAAAA,EAAAxvB,KAAAwvB,EAAAjxB,MAAA,OAgBiC,OAf1E48B,EAA+C5L,EAAAt4B,OAAA,QAAAU,IAAA43B,EAAA,GAAAA,EAAA,GAAG,CAAC,EAIFgH,GAJGhH,EAAAt4B,OAAA,QAAAU,IAAA43B,EAAA,GAAAA,EAAA,GAIL,CAAC,GAF9CrqB,6BAAAA,OAA4B,IAAAqxB,EAAGz/B,KAAKu3B,cACjCnpB,6BAA4BqxB,EAG3BlxB,EAAoB,CAAC,EACvBvO,KAAKmkC,qBACP51B,EAAkB,gBAAkB,cAGhCmxB,EAAwB,CAAC,GACqB,IAAhD1/B,KAAKu3B,cAAclpB,2BACrBqxB,EAAiC,WAAI,GAEjCC,EAAc17B,OAAOmR,OAAO,CAAC,EAAGivB,EAAc3E,GAAsBhH,EAAAnxB,OAAA,SAEnEvH,KAAKs/B,iBAAiBM,QAC3B5/B,KAAKm9B,QACLn9B,KAAKm9B,QAAQG,KACb,CA5De,gBA4DA8G,EAAgBzE,EAAapxB,GAC5C,CAAEiwB,wBAAyBpwB,KAC5B,wBAAAsqB,EAAAtvB,OAAA,GAAA+uB,EAAA,UACF,SAAAS,GAAA,OAAAoF,EAAAx+B,MAAA,KAAAC,UAAA,MAAAykC,CAAA,CAxC6B,GClBXI,GAAO,WAC1B,SAAAA,EAAoBnH,GAAkB5yB,EAAA,KAAA+5B,GAAA,KAAlBnH,QAAAA,CAAmB,CAOtC,IAAAC,EAPuCkD,EAqBvC,OArBuCr1B,EAAAq5B,EAAA,EAAAl6B,IAAA,SAAA9F,OAAAg8B,EAAApwB,EAAAvM,IAAAA,MAExC,SAAAw0B,EACEoM,EACAvpB,GAA0B,OAAArX,IAAAA,MAAA,SAAA+0B,GAAA,cAAAA,EAAAxvB,KAAAwvB,EAAAjxB,MAAA,cAAAixB,EAAAnxB,OAAA,SAEnBvH,KAAKm9B,QAAQ0E,IAAkB7hC,KAAK6/B,aAAa0E,GAAWvpB,IAAO,wBAAA0d,EAAAtvB,OAAA,GAAA+uB,EAAA,UAC3E,SAAAS,EAAAI,GAAA,OAAAsH,EAAA9gC,MAAA,KAAAC,UAAA,KAAA2K,IAAA,WAAA9F,OAAA84B,EAAAltB,EAAAvM,IAAAA,MAED,SAAAk1B,IAAA,OAAAl1B,IAAAA,MAAA,SAAAo1B,GAAA,cAAAA,EAAA7vB,KAAA6vB,EAAAtxB,MAAA,cAAAsxB,EAAAxxB,OAAA,SACSvH,KAAKm9B,QAAQ9yB,IAA2BrK,KAAK6/B,iBAAe,wBAAA9G,EAAA3vB,OAAA,GAAAyvB,EAAA,UACpE,kBAAAuE,EAAA59B,MAAA,KAAAC,UAAA,KAAA2K,IAAA,eAAA9F,MAED,SAAqBw7B,GACnB,MAAO,GAAPxmB,OAAUgrB,EAAQrH,cAAY3jB,YACdzY,IAAdi/B,EAA0B,GAAK,IAAMA,EAEzC,IAAC,EAAA11B,IAAA,eAAAC,IAED,WACE,MA/BiB,UAgCnB,KAACi6B,CAAA,CAtByB,GCJPE,GAAM,WACzB,SAAAA,EAAoBD,EAA0BpH,GAAkB5yB,EAAA,KAAAi6B,GAAA,KAA5CD,SAAAA,EAAgB,KAAUpH,QAAAA,CAAmB,CAIhE,IAAAlF,EAJiEmF,EAYjE,OAZiEnyB,EAAAu5B,EAAA,EAAAp6B,IAAA,WAAA9F,OAAA84B,EAAAltB,EAAAvM,IAAAA,MAElE,SAAAw0B,IAAA,OAAAx0B,IAAAA,MAAA,SAAA+0B,GAAA,cAAAA,EAAAxvB,KAAAwvB,EAAAjxB,MAAA,cAAAixB,EAAAnxB,OAAA,SACSvH,KAAKm9B,QAAQ9yB,IAAkBrK,KAAK6/B,iBAAe,wBAAAnH,EAAAtvB,OAAA,GAAA+uB,EAAA,UAC3D,kBAAAiF,EAAA59B,MAAA,KAAAC,UAAA,KAAA2K,IAAA,SAAA9F,OAAA2zB,EAAA/nB,EAAAvM,IAAAA,MAED,SAAAk1B,IAAA,OAAAl1B,IAAAA,MAAA,SAAAo1B,GAAA,cAAAA,EAAA7vB,KAAA6vB,EAAAtxB,MAAA,cAAAsxB,EAAAxxB,OAAA,SACSvH,KAAKm9B,QAAQ+B,OAA2Bl/B,KAAK6/B,iBAAe,wBAAA9G,EAAA3vB,OAAA,GAAAyvB,EAAA,UACpE,kBAAAZ,EAAAz4B,MAAA,KAAAC,UAAA,KAAA2K,IAAA,eAAA9F,MAED,WACE,MAAO,GAAPgV,OAAUgrB,GAAQrH,aAAY,KAAA3jB,OAAItZ,KAAKukC,SACzC,KAACC,CAAA,CAbwB,GCCNC,GAAc,WACjC,SAAAA,EAA6BtH,GAAkB5yB,EAAA,KAAAk6B,GAAA,KAAlBtH,QAAAA,EAC3Bn9B,KAAKm9B,QAAUA,CACjB,CAUC,IAAAC,EAVAkD,EAwBA,OAxBAr1B,EAAAw5B,EAAA,EAAAr6B,IAAA,SAAA9F,OAAAg8B,EAAApwB,EAAAvM,IAAAA,MAED,SAAAw0B,EACE93B,EACA2a,GAAiC,OAAArX,IAAAA,MAAA,SAAA+0B,GAAA,cAAAA,EAAAxvB,KAAAwvB,EAAAjxB,MAAA,cAAAixB,EAAAnxB,OAAA,SAE1BvH,KAAKm9B,QAAQ0E,IAClB7hC,KAAK6/B,aAAax/B,GAClB2a,IACD,wBAAA0d,EAAAtvB,OAAA,GAAA+uB,EAAA,UACF,SAAAS,EAAAI,GAAA,OAAAsH,EAAA9gC,MAAA,KAAAC,UAAA,KAAA2K,IAAA,WAAA9F,OAAA84B,EAAAltB,EAAAvM,IAAAA,MAED,SAAAk1B,IAAA,OAAAl1B,IAAAA,MAAA,SAAAo1B,GAAA,cAAAA,EAAA7vB,KAAA6vB,EAAAtxB,MAAA,cAAAsxB,EAAAxxB,OAAA,SACSvH,KAAKm9B,QAAQ9yB,IAAkCrK,KAAK6/B,iBAAe,wBAAA9G,EAAA3vB,OAAA,GAAAyvB,EAAA,UAC3E,kBAAAuE,EAAA59B,MAAA,KAAAC,UAAA,KAAA2K,IAAA,eAAA9F,MAED,SAAqBw7B,GACnB,MAAO,GAAPxmB,OAAUmrB,EAAexH,cAAY3jB,YACrBzY,IAAdi/B,EAA0B,GAAK,IAAMA,EAEzC,IAAC,EAAA11B,IAAA,eAAAC,IAED,WACE,MA5BiB,kBA6BnB,KAACo6B,CAAA,CA3BgC,GCmBdC,GAAa,WAChC,SAAAA,EACUrkC,EACA88B,GACR5yB,EAAA,KAAAm6B,GAAA,KAFQrkC,KAAAA,EAAY,KACZ88B,QAAAA,CACP,CAIF,IAAAlF,EAJGmF,EAYH,OAZGnyB,EAAAy5B,EAAA,EAAAt6B,IAAA,WAAA9F,OAAA84B,EAAAltB,EAAAvM,IAAAA,MAEJ,SAAAw0B,IAAA,OAAAx0B,IAAAA,MAAA,SAAA+0B,GAAA,cAAAA,EAAAxvB,KAAAwvB,EAAAjxB,MAAA,cAAAixB,EAAAnxB,OAAA,SACSvH,KAAKm9B,QAAQ9yB,IAAyBrK,KAAK6/B,iBAAe,wBAAAnH,EAAAtvB,OAAA,GAAA+uB,EAAA,UAClE,kBAAAiF,EAAA59B,MAAA,KAAAC,UAAA,KAAA2K,IAAA,SAAA9F,OAAA2zB,EAAA/nB,EAAAvM,IAAAA,MAED,SAAAk1B,IAAA,OAAAl1B,IAAAA,MAAA,SAAAo1B,GAAA,cAAAA,EAAA7vB,KAAA6vB,EAAAtxB,MAAA,cAAAsxB,EAAAxxB,OAAA,SACSvH,KAAKm9B,QAAQ+B,OAAkCl/B,KAAK6/B,iBAAe,wBAAA9G,EAAA3vB,OAAA,GAAAyvB,EAAA,UAC3E,kBAAAZ,EAAAz4B,MAAA,KAAAC,UAAA,KAAA2K,IAAA,eAAA9F,MAED,WACE,MAAO,GAAPgV,OAAUmrB,GAAexH,aAAY,KAAA3jB,OAAItZ,KAAKK,KAChD,KAACqkC,CAAA,CAhB+B,GC1BbC,GAAe,WAClC,SAAAA,EAA6BxH,GAAkB5yB,EAAA,KAAAo6B,GAAA,KAAlBxH,QAAAA,EAC3Bn9B,KAAKm9B,QAAUA,CACjB,CAAC,IAAAE,EAmBA,OAnBApyB,EAAA05B,EAAA,EAAAv6B,IAAA,SAAA9F,OAAA+4B,EAAAntB,EAAAvM,IAAAA,MAED,SAAAw0B,EACEnd,GAAkC,OAAArX,IAAAA,MAAA,SAAA+0B,GAAA,cAAAA,EAAAxvB,KAAAwvB,EAAAjxB,MAAA,cAAAixB,EAAAnxB,OAAA,SAE3BvH,KAAKm9B,QAAQG,KAClBt9B,KAAK6/B,eACL7kB,IACD,wBAAA0d,EAAAtvB,OAAA,GAAA+uB,EAAA,UACF,SAAAS,GAAA,OAAAyE,EAAA79B,MAAA,KAAAC,UAAA,KAAA2K,IAAA,eAAA9F,MAED,SAAqBw7B,GACnB,MAAO,GAAPxmB,OAAUqrB,EAAgB1H,cAAY3jB,YACtBzY,IAAdi/B,EAA0B,GAAK,IAAMA,EAEzC,IAAC,EAAA11B,IAAA,eAAAC,IAED,WACE,MAvBiB,mBAwBnB,KAACs6B,CAAA,CAtBiC,GCEfC,GAAS,WAK5B,SAAAA,EAA6BzH,GAAkB5yB,EAAA,KAAAq6B,GAAAx5B,EAAA,gCAH4B,CAAC,GAAC,KAGhD+xB,QAAAA,EAC3Bn9B,KAAKm9B,QAAUA,EACfn9B,KAAK6kC,gBAAkB,IAAIJ,GAAezkC,KAAKm9B,SAC/Cn9B,KAAK8kC,iBAAmB,IAAIH,GAAgB3kC,KAAKm9B,QACnD,CAmBC,OAnBAlyB,EAAA25B,EAAA,EAAAx6B,IAAA,QAAA9F,MAED,SAAM2X,GACJ,YAAWpb,IAAPob,EACKjc,KAAK6kC,sBAE8BhkC,IAAtCb,KAAK+kC,yBAAyB9oB,KAChCjc,KAAK+kC,yBAAyB9oB,GAAM,IAAIyoB,GAAczoB,EAAIjc,KAAKm9B,UAE1Dn9B,KAAK+kC,yBAAyB9oB,GAEzC,GAAC,CAAA7R,IAAA,SAAA9F,MAED,WACE,OAAOtE,KAAK8kC,gBACd,IAAC,EAAA16B,IAAA,eAAAC,IAED,WACE,MA7BiB,YA8BnB,KAACu6B,CAAA,CA5B2B,GCOTI,GAAS,WAC5B,SAAAA,EAAoB7H,GAAkB5yB,EAAA,KAAAy6B,GAAA,KAAlB7H,QAAAA,CAAmB,CAUtC,IAAAC,EAVuCkD,EAwBvC,OAxBuCr1B,EAAA+5B,EAAA,EAAA56B,IAAA,SAAA9F,OAAAg8B,EAAApwB,EAAAvM,IAAAA,MAExC,SAAAw0B,EACE8M,EACAjqB,GAA4B,OAAArX,IAAAA,MAAA,SAAA+0B,GAAA,cAAAA,EAAAxvB,KAAAwvB,EAAAjxB,MAAA,cAAAixB,EAAAnxB,OAAA,SAErBvH,KAAKm9B,QAAQ0E,IAClB7hC,KAAK6/B,aAAaoF,GAClBjqB,IACD,wBAAA0d,EAAAtvB,OAAA,GAAA+uB,EAAA,UACF,SAAAS,EAAAI,GAAA,OAAAsH,EAAA9gC,MAAA,KAAAC,UAAA,KAAA2K,IAAA,WAAA9F,OAAA84B,EAAAltB,EAAAvM,IAAAA,MAED,SAAAk1B,IAAA,OAAAl1B,IAAAA,MAAA,SAAAo1B,GAAA,cAAAA,EAAA7vB,KAAA6vB,EAAAtxB,MAAA,cAAAsxB,EAAAxxB,OAAA,SACSvH,KAAKm9B,QAAQ9yB,IAA6BrK,KAAK6/B,iBAAe,wBAAA9G,EAAA3vB,OAAA,GAAAyvB,EAAA,UACtE,kBAAAuE,EAAA59B,MAAA,KAAAC,UAAA,KAAA2K,IAAA,eAAA9F,MAED,SAAqBw7B,GACnB,MAAO,GAAPxmB,OAAU0rB,EAAU/H,cAAY3jB,YAChBzY,IAAdi/B,EAA0B,GAAK,IAAMA,EAEzC,IAAC,EAAA11B,IAAA,eAAAC,IAED,WACE,MAnCiB,YAoCnB,KAAC26B,CAAA,CAzB2B,GCDTE,GAAQ,WAC3B,SAAAA,EACUD,EACA9H,GACR5yB,EAAA,KAAA26B,GAAA,KAFQD,WAAAA,EAAkB,KAClB9H,QAAAA,CACP,CAIF,IAAAlF,EAJGmF,EAYH,OAZGnyB,EAAAi6B,EAAA,EAAA96B,IAAA,WAAA9F,OAAA84B,EAAAltB,EAAAvM,IAAAA,MAEJ,SAAAw0B,IAAA,OAAAx0B,IAAAA,MAAA,SAAA+0B,GAAA,cAAAA,EAAAxvB,KAAAwvB,EAAAjxB,MAAA,cAAAixB,EAAAnxB,OAAA,SACSvH,KAAKm9B,QAAQ9yB,IAAoBrK,KAAK6/B,iBAAe,wBAAAnH,EAAAtvB,OAAA,GAAA+uB,EAAA,UAC7D,kBAAAiF,EAAA59B,MAAA,KAAAC,UAAA,KAAA2K,IAAA,SAAA9F,OAAA2zB,EAAA/nB,EAAAvM,IAAAA,MAED,SAAAk1B,IAAA,OAAAl1B,IAAAA,MAAA,SAAAo1B,GAAA,cAAAA,EAAA7vB,KAAA6vB,EAAAtxB,MAAA,cAAAsxB,EAAAxxB,OAAA,SACSvH,KAAKm9B,QAAQ+B,OAA6Bl/B,KAAK6/B,iBAAe,wBAAA9G,EAAA3vB,OAAA,GAAAyvB,EAAA,UACtE,kBAAAZ,EAAAz4B,MAAA,KAAAC,UAAA,KAAA2K,IAAA,eAAA9F,MAED,WACE,MAAO,GAAPgV,OAAU0rB,GAAU/H,aAAY,KAAA3jB,OAAItZ,KAAKilC,WAC3C,KAACC,CAAA,CAhB0B,GCLRC,GAAkB,WACrC,SAAAA,EAA6BhI,GAAkB5yB,EAAA,KAAA46B,GAAA,KAAlBhI,QAAAA,EAC3Bn9B,KAAKm9B,QAAUA,CACjB,CASC,IAAAC,EATAC,EAyBA,OAzBApyB,EAAAk6B,EAAA,EAAA/6B,IAAA,SAAA9F,OAAA+4B,EAAAntB,EAAAvM,IAAAA,MAED,SAAAw0B,EACEnd,GAAqC,OAAArX,IAAAA,MAAA,SAAA+0B,GAAA,cAAAA,EAAAxvB,KAAAwvB,EAAAjxB,MAAA,cAAAixB,EAAAnxB,OAAA,SAE9BvH,KAAKm9B,QAAQG,KAClBt9B,KAAK6/B,eACL7kB,IACD,wBAAA0d,EAAAtvB,OAAA,GAAA+uB,EAAA,UACF,SAAAS,GAAA,OAAAyE,EAAA79B,MAAA,KAAAC,UAAA,KAAA2K,IAAA,WAAA9F,OAAA84B,EAAAltB,EAAAvM,IAAAA,MAED,SAAAk1B,IAAA,OAAAl1B,IAAAA,MAAA,SAAAo1B,GAAA,cAAAA,EAAA7vB,KAAA6vB,EAAAtxB,MAAA,cAAAsxB,EAAAxxB,OAAA,SACSvH,KAAKm9B,QAAQ9yB,IAClBrK,KAAK6/B,iBACN,wBAAA9G,EAAA3vB,OAAA,GAAAyvB,EAAA,UACF,kBAAAuE,EAAA59B,MAAA,KAAAC,UAAA,KAAA2K,IAAA,eAAA9F,MAED,SAAqBw7B,GACnB,MAAO,GAAPxmB,OAAU6rB,EAAmBlI,cAAY3jB,YACzBzY,IAAdi/B,EAA0B,GAAK,IAAMA,EAEzC,IAAC,EAAA11B,IAAA,eAAAC,IAED,WACE,MA7BiB,uBA8BnB,KAAC86B,CAAA,CA5BoC,GCYlBC,GAAiB,WACpC,SAAAA,EACUnpB,EACAkhB,GACR5yB,EAAA,KAAA66B,GAAA,KAFQnpB,GAAAA,EAAU,KACVkhB,QAAAA,CACP,CAaF,IAAAlF,EAJAmF,EATGiD,EAuBH,OAvBGp1B,EAAAm6B,EAAA,EAAAh7B,IAAA,SAAA9F,OAAA+7B,EAAAnwB,EAAAvM,IAAAA,MAEJ,SAAAw0B,EACEnd,GAAqC,OAAArX,IAAAA,MAAA,SAAA+0B,GAAA,cAAAA,EAAAxvB,KAAAwvB,EAAAjxB,MAAA,cAAAixB,EAAAnxB,OAAA,SAE9BvH,KAAKm9B,QAAQ0E,IAClB7hC,KAAK6/B,eACL7kB,IACD,wBAAA0d,EAAAtvB,OAAA,GAAA+uB,EAAA,UACF,SAAAS,GAAA,OAAAyH,EAAA7gC,MAAA,KAAAC,UAAA,KAAA2K,IAAA,WAAA9F,OAAA84B,EAAAltB,EAAAvM,IAAAA,MAED,SAAAk1B,IAAA,OAAAl1B,IAAAA,MAAA,SAAAo1B,GAAA,cAAAA,EAAA7vB,KAAA6vB,EAAAtxB,MAAA,cAAAsxB,EAAAxxB,OAAA,SACSvH,KAAKm9B,QAAQ9yB,IAA6BrK,KAAK6/B,iBAAe,wBAAA9G,EAAA3vB,OAAA,GAAAyvB,EAAA,UACtE,kBAAAuE,EAAA59B,MAAA,KAAAC,UAAA,KAAA2K,IAAA,SAAA9F,OAAA2zB,EAAA/nB,EAAAvM,IAAAA,MAED,SAAAs1B,IAAA,OAAAt1B,IAAAA,MAAA,SAAAy1B,GAAA,cAAAA,EAAAlwB,KAAAkwB,EAAA3xB,MAAA,cAAA2xB,EAAA7xB,OAAA,SACSvH,KAAKm9B,QAAQ+B,OAClBl/B,KAAK6/B,iBACN,wBAAAzG,EAAAhwB,OAAA,GAAA6vB,EAAA,UACF,kBAAAhB,EAAAz4B,MAAA,KAAAC,UAAA,KAAA2K,IAAA,eAAA9F,MAED,WACE,MAAO,GAAPgV,OAAU6rB,GAAmBlI,aAAY,KAAA3jB,OAAItZ,KAAKic,GACpD,KAACmpB,CAAA,CA3BmC,GCfhCnI,GAAe,iBAMAoI,GAAa,WAOhC,SAAAA,EAA6BlI,GAAkB5yB,EAAA,KAAA86B,GAAAj6B,EAAA,oCAF3C,CAAC,GAAC,KAEuB+xB,QAAAA,EAC3Bn9B,KAAKm9B,QAAUA,EACfn9B,KAAKslC,qBAAuB,IAAIH,GAAmBnlC,KAAKm9B,QAC1D,CAAC,IAAAC,EAwBA,OAxBAnyB,EAAAo6B,EAAA,EAAAj7B,IAAA,WAAA9F,OAAA84B,EAAAltB,EAAAvM,IAAAA,MAED,SAAAw0B,IAAA,OAAAx0B,IAAAA,MAAA,SAAA+0B,GAAA,cAAAA,EAAAxvB,KAAAwvB,EAAAjxB,MAAA,cAAAixB,EAAAnxB,OAAA,SACSvH,KAAKm9B,QAAQ9yB,IAAiC4yB,KAAa,wBAAAvE,EAAAtvB,OAAA,GAAA+uB,EAAA,UACnE,kBAAAiF,EAAA59B,MAAA,KAAAC,UAAA,KAAA2K,IAAA,SAAA9F,MAID,SAAO2X,GACL,YAAWpb,IAAPob,EACKjc,KAAKslC,2BAEkCzkC,IAA1Cb,KAAKulC,6BAA6BtpB,KACpCjc,KAAKulC,6BAA6BtpB,GAAM,IAAImpB,GAC1CnpB,EACAjc,KAAKm9B,UAGFn9B,KAAKulC,6BAA6BtpB,GAE7C,IAAC,EAAA7R,IAAA,eAAAC,IAED,WACE,OAAO4yB,EACT,KAACoI,CAAA,CAlC+B,GCObG,GAAY,WAC/B,SAAAA,EACUvpB,EACAkhB,GACR5yB,EAAA,KAAAi7B,GAAA,KAFQvpB,GAAAA,EAAU,KACVkhB,QAAAA,CACP,CAaF,IAAAlF,EATAoI,EAJGjD,EAqBH,OArBGnyB,EAAAu6B,EAAA,EAAAp7B,IAAA,WAAA9F,OAAA84B,EAAAltB,EAAAvM,IAAAA,MAEJ,SAAAw0B,IAAA,OAAAx0B,IAAAA,MAAA,SAAA+0B,GAAA,cAAAA,EAAAxvB,KAAAwvB,EAAAjxB,MAAA,cAAAixB,EAAAnxB,OAAA,SACSvH,KAAKm9B,QAAQ9yB,IAA0BrK,KAAK6/B,iBAAe,wBAAAnH,EAAAtvB,OAAA,GAAA+uB,EAAA,UACnE,kBAAAiF,EAAA59B,MAAA,KAAAC,UAAA,KAAA2K,IAAA,SAAA9F,OAAA+7B,EAAAnwB,EAAAvM,IAAAA,MAED,SAAAk1B,EACE7d,GAAgC,OAAArX,IAAAA,MAAA,SAAAo1B,GAAA,cAAAA,EAAA7vB,KAAA6vB,EAAAtxB,MAAA,cAAAsxB,EAAAxxB,OAAA,SAEzBvH,KAAKm9B,QAAQ0E,IAClB7hC,KAAK6/B,eACL7kB,IACD,wBAAA+d,EAAA3vB,OAAA,GAAAyvB,EAAA,UACF,SAAAD,GAAA,OAAAyH,EAAA7gC,MAAA,KAAAC,UAAA,KAAA2K,IAAA,SAAA9F,OAAA2zB,EAAA/nB,EAAAvM,IAAAA,MAED,SAAAs1B,IAAA,OAAAt1B,IAAAA,MAAA,SAAAy1B,GAAA,cAAAA,EAAAlwB,KAAAkwB,EAAA3xB,MAAA,cAAA2xB,EAAA7xB,OAAA,SACSvH,KAAKm9B,QAAQ+B,OAAiCl/B,KAAK6/B,iBAAe,wBAAAzG,EAAAhwB,OAAA,GAAA6vB,EAAA,UAC1E,kBAAAhB,EAAAz4B,MAAA,KAAAC,UAAA,KAAA2K,IAAA,eAAA9F,MAED,WACE,MAAO,GAAPgV,OAAU+rB,GAAcpI,aAAY,KAAA3jB,OAAItZ,KAAKic,GAC/C,KAACupB,CAAA,CAzB8B,GCMZC,GAAM,WAuBzB,SAAAA,EAAYt4B,GAA+B,IAAAu4B,EAAAn7B,EAAA,KAAAk7B,GACzCt4B,EAAQgB,uBAAuD,QAAjCu3B,EAAGv4B,EAAQgB,8BAAsB,IAAAu3B,GAAAA,EAE/D1lC,KAAKu3B,cAAgB,IAAIrqB,EAAcC,GACvCnN,KAAKm9B,QAAU,IAAI7F,GAAQt3B,KAAKu3B,eAChCv3B,KAAKM,MAAQ,IAAIujC,GAAM7jC,KAAKm9B,SAC5Bn9B,KAAK2lC,QAAU,IAAI7B,GAAQ9jC,KAAKm9B,SAChCn9B,KAAK4lC,MAAQ,IAAIC,GAAM7lC,KAAKm9B,SAC5Bn9B,KAAK8lC,OAAS,IAAI/B,GAAO/jC,KAAKm9B,SAC9Bn9B,KAAK+lC,WAAa,IAAI/B,GAAWhkC,KAAKm9B,SACtCn9B,KAAKgmC,YAAc,IAAI9B,GAAYlkC,KAAKm9B,QAASn9B,KAAKu3B,eACtDv3B,KAAKimC,aAAe,IAAI/I,GAAYl9B,KAAKm9B,SACzCn9B,KAAKkmC,sBAAwB,CAAC,EAC9BlmC,KAAKmmC,SAAW,IAAIrD,GAAQ9iC,KAAKm9B,SACjCn9B,KAAKomC,kBAAoB,CAAC,EAC1BpmC,KAAKqmC,MAAQ,IAAInD,GAAKljC,KAAKm9B,SAC3Bn9B,KAAKsmC,eAAiB,CAAC,EACvBtmC,KAAKumC,SAAW,IAAIjC,GAAQtkC,KAAKm9B,SACjCn9B,KAAKwmC,kBAAoB,CAAC,EAC1BxmC,KAAKymC,WAAa,IAAIzB,GAAUhlC,KAAKm9B,SACrCn9B,KAAK0mC,oBAAsB,CAAC,EAC5B1mC,KAAK2mC,UAAY,IAAI/B,GAAU5kC,KAAKm9B,SACpCn9B,KAAK4mC,eAAiB,IAAIvB,GAAcrlC,KAAKm9B,SAC7Cn9B,KAAK6mC,wBAA0B,CAAC,CAClC,CAoFC,OApFA57B,EAAAw6B,EAAA,EAAAr7B,IAAA,cAAA9F,MAMD,SAAY86B,GACV,YAAuBv+B,IAAnBu+B,EACKp/B,KAAKimC,mBAEuCplC,IAA/Cb,KAAKkmC,sBAAsB9G,KAC7Bp/B,KAAKkmC,sBAAsB9G,GAAkB,IAAIiD,GAC/CjD,EACAp/B,KAAKm9B,QACLn9B,KAAKu3B,gBAGFv3B,KAAKkmC,sBAAsB9G,GAEtC,GAAC,CAAAh1B,IAAA,UAAA9F,MAID,SAAQ0+B,GACN,YAAkBniC,IAAdmiC,EACKhjC,KAAKmmC,eAE8BtlC,IAAtCb,KAAKomC,kBAAkBpD,KACzBhjC,KAAKomC,kBAAkBpD,GAAa,IAAIC,GAAMD,EAAWhjC,KAAKm9B,UAEzDn9B,KAAKomC,kBAAkBpD,GAElC,GAAC,CAAA54B,IAAA,OAAA9F,MAID,SAAK2X,GACH,YAAWpb,IAAPob,EACKjc,KAAKqmC,YAEoBxlC,IAA5Bb,KAAKsmC,eAAerqB,KACtBjc,KAAKsmC,eAAerqB,GAAM,IAAI2nB,GAAI3nB,EAAIjc,KAAKm9B,UAEtCn9B,KAAKsmC,eAAerqB,GAE/B,GAAC,CAAA7R,IAAA,UAAA9F,MAID,SAAQ2X,GACN,YAAWpb,IAAPob,EACKjc,KAAKumC,eAEuB1lC,IAA/Bb,KAAKwmC,kBAAkBvqB,KACzBjc,KAAKwmC,kBAAkBvqB,GAAM,IAAIuoB,GAAOvoB,EAAIjc,KAAKm9B,UAE5Cn9B,KAAKwmC,kBAAkBvqB,GAElC,GAAC,CAAA7R,IAAA,YAAA9F,MAID,SAAU2X,GACR,YAAWpb,IAAPob,EACKjc,KAAKymC,iBAEyB5lC,IAAjCb,KAAK0mC,oBAAoBzqB,KAC3Bjc,KAAK0mC,oBAAoBzqB,GAAM,IAAIipB,GAASjpB,EAAIjc,KAAKm9B,UAEhDn9B,KAAK0mC,oBAAoBzqB,GAEpC,GAAC,CAAA7R,IAAA,gBAAA9F,MAID,SAAc2X,GACZ,YAAWpb,IAAPob,EACKjc,KAAK4mC,qBAE6B/lC,IAArCb,KAAK6mC,wBAAwB5qB,KAC/Bjc,KAAK6mC,wBAAwB5qB,GAAM,IAAIupB,GAAavpB,EAAIjc,KAAKm9B,UAExDn9B,KAAK6mC,wBAAwB5qB,GAExC,KAACwpB,CAAA,CAnIwB,GCpBpB,IAAMqB,GAAoB,WAG/B,SAAAA,EACmBzmC,EACA88B,EACA5F,GACjBhtB,EAAA,KAAAu8B,GAAA,KAHiBzmC,KAAAA,EAAY,KACZ88B,QAAAA,EAAgB,KAChB5F,cAAAA,EAEjBv3B,KAAKsiC,WAAa,IAAInD,GACpBn/B,KAAKK,KACLL,KAAKm9B,QACLn9B,KAAKu3B,cAET,CAIC,OAJAtsB,EAAA67B,EAAA,EAAA18B,IAAA,YAAA9F,MAED,WACE,OAAOtE,KAAKsiC,UACd,KAACwE,CAAA,CAjB8B,GCEZC,GAAY,WAM/B,SAAAA,EAAY55B,GAA+B,IAAAu4B,EAAAn7B,EAAA,KAAAw8B,GACzC55B,EAAQgB,uBAAuD,QAAjCu3B,EAAGv4B,EAAQgB,8BAAsB,IAAAu3B,GAAAA,GAE1B,IAAnCv4B,EAAQgB,yBACPhB,EAAQe,QAAU,IAAI/N,OAAS,MAEhCR,QAAQuP,KACN,qIAEF/B,EAAQgB,wBAAyB,GAGnCnO,KAAKu3B,cAAgB,IAAIrqB,EAAcC,GACvCnN,KAAKm9B,QAAU,IAAI7F,GAAQt3B,KAAKu3B,eAChCv3B,KAAKgmC,YAAc,IAAI9B,GAAYlkC,KAAKm9B,QAASn9B,KAAKu3B,eAAe,GACrEv3B,KAAKkmC,sBAAwB,CAAC,CAChC,CA6BC,OA7BAj7B,EAAA87B,EAAA,EAAA38B,IAAA,aAAA9F,MAED,WACEtE,KAAKgmC,YAAYzG,aAGjBt7B,OAAOqZ,QAAQtd,KAAKkmC,uBAAuB1/B,SAAQ,SAAAkJ,GAAqB,IC9BrCsG,EAAK9V,ED8BgC85B,GC9BhC95B,ED8BgC,EElC7D,SAAyB8V,GACtC,GAAIlF,MAAMD,QAAQmF,GAAM,OAAOA,CACjC,CDGS,CAD8BA,ED8BqCtG,IGlC7D,SAA+B1L,EAAG2B,GAC/C,IAAI5B,EAAI,MAAQC,EAAI,KAAO,oBAAsBO,QAAUP,EAAEO,OAAOE,WAAaT,EAAE,cACnF,GAAI,MAAQD,EAAG,CACb,IAAIxE,EACF2E,EACAhE,EACA0E,EACAJ,EAAI,GACJoB,GAAI,EACJxB,GAAI,EACN,IACE,GAAIlE,GAAK6D,EAAIA,EAAEzE,KAAK0E,IAAIyD,KAAM,IAAM9B,EAAG,CACrC,GAAI1B,OAAOF,KAAOA,EAAG,OACrB6B,GAAI,CACN,MAAO,OAASA,GAAKrG,EAAIW,EAAEZ,KAAKyE,IAAIkD,QAAUzC,EAAEyD,KAAK1I,EAAE+E,OAAQE,EAAErE,SAAWwF,GAAIC,GAAI,GACtF,CAAE,MAAO5B,GACPI,GAAI,EAAIF,EAAIF,CACd,CAAE,QACA,IACE,IAAK4B,GAAK,MAAQ7B,EAAU,SAAMa,EAAIb,EAAU,SAAKE,OAAOW,KAAOA,GAAI,MACzE,CAAE,QACA,GAAIR,EAAG,MAAMF,CACf,CACF,CACA,OAAOM,CACT,CACF,CFrBgC,CAAqBwR,EAAK9V,IAAM,GAA2B8V,EAAK9V,IGLjF,WACb,MAAM,IAAImC,UAAU,4IACtB,CHGsG,ID6B5C23B,EAAA,GAAYA,EAAA,GACrD0G,YAAYnB,YACzB,GACF,GAAC,CAAAn1B,IAAA,cAAA9F,MAED,SACE86B,GAEA,GAAKA,EAaH,YAPmDv+B,IAA/Cb,KAAKkmC,sBAAsB9G,KAC7Bp/B,KAAKkmC,sBAAsB9G,GAAkB,IAAI0H,GAC/C1H,EACAp/B,KAAKm9B,QACLn9B,KAAKu3B,gBAGFv3B,KAAKkmC,sBAAsB9G,GAZlC,MAAM,IAAIp4B,MACR,+LAaN,KAAC+/B,CAAA,CAnD8B,GKDjC,UAAiBtB,OAAAA,GAAQsB,aAAAA,GAAcC,OAAAA","sources":["webpack://Typesense/./node_modules/loglevel/lib/loglevel.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/regenerator/index.js","webpack://Typesense/webpack/bootstrap","webpack://Typesense/webpack/runtime/compat get default export","webpack://Typesense/webpack/runtime/define property getters","webpack://Typesense/webpack/runtime/hasOwnProperty shorthand","webpack://Typesense/webpack/runtime/make namespace object","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://Typesense/./src/Typesense/Errors/TypesenseError.ts","webpack://Typesense/./src/Typesense/Errors/MissingConfigurationError.ts","webpack://Typesense/./src/Typesense/Configuration.ts","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://Typesense/./node_modules/axios/lib/helpers/bind.js","webpack://Typesense/./node_modules/axios/lib/utils.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosError.js","webpack://Typesense/./node_modules/axios/lib/helpers/toFormData.js","webpack://Typesense/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/helpers/buildURL.js","webpack://Typesense/./node_modules/axios/lib/core/InterceptorManager.js","webpack://Typesense/./node_modules/axios/lib/defaults/transitional.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/index.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://Typesense/./node_modules/axios/lib/platform/common/utils.js","webpack://Typesense/./node_modules/axios/lib/platform/index.js","webpack://Typesense/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://Typesense/./node_modules/axios/lib/defaults/index.js","webpack://Typesense/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://Typesense/./node_modules/axios/lib/core/transformData.js","webpack://Typesense/./node_modules/axios/lib/cancel/isCancel.js","webpack://Typesense/./node_modules/axios/lib/cancel/CanceledError.js","webpack://Typesense/./node_modules/axios/lib/core/settle.js","webpack://Typesense/./node_modules/axios/lib/helpers/speedometer.js","webpack://Typesense/./node_modules/axios/lib/helpers/progressEventReducer.js","webpack://Typesense/./node_modules/axios/lib/helpers/throttle.js","webpack://Typesense/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://Typesense/./node_modules/axios/lib/helpers/cookies.js","webpack://Typesense/./node_modules/axios/lib/core/buildFullPath.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://Typesense/./node_modules/axios/lib/helpers/combineURLs.js","webpack://Typesense/./node_modules/axios/lib/core/mergeConfig.js","webpack://Typesense/./node_modules/axios/lib/helpers/resolveConfig.js","webpack://Typesense/./node_modules/axios/lib/adapters/xhr.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://Typesense/./node_modules/axios/lib/helpers/composeSignals.js","webpack://Typesense/./node_modules/axios/lib/helpers/trackStream.js","webpack://Typesense/./node_modules/axios/lib/adapters/fetch.js","webpack://Typesense/./node_modules/axios/lib/adapters/adapters.js","webpack://Typesense/./node_modules/axios/lib/helpers/null.js","webpack://Typesense/./node_modules/axios/lib/core/dispatchRequest.js","webpack://Typesense/./node_modules/axios/lib/env/data.js","webpack://Typesense/./node_modules/axios/lib/helpers/validator.js","webpack://Typesense/./node_modules/axios/lib/core/Axios.js","webpack://Typesense/./node_modules/axios/lib/cancel/CancelToken.js","webpack://Typesense/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://Typesense/./node_modules/axios/lib/axios.js","webpack://Typesense/./node_modules/axios/lib/helpers/spread.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://Typesense/./src/Typesense/Errors/RequestMalformed.ts","webpack://Typesense/./src/Typesense/Errors/RequestUnauthorized.ts","webpack://Typesense/./src/Typesense/Errors/ObjectNotFound.ts","webpack://Typesense/./src/Typesense/Errors/ObjectAlreadyExists.ts","webpack://Typesense/./src/Typesense/Errors/ObjectUnprocessable.ts","webpack://Typesense/./src/Typesense/Errors/ServerError.ts","webpack://Typesense/./src/Typesense/Errors/HTTPError.ts","webpack://Typesense/./src/Typesense/ApiCall.ts","webpack://Typesense/./src/Typesense/Collections.ts","webpack://Typesense/./src/Typesense/Errors/ImportError.ts","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://Typesense/./src/Typesense/RequestWithCache.ts","webpack://Typesense/./src/Typesense/SearchOnlyDocuments.ts","webpack://Typesense/./src/Typesense/Documents.ts","webpack://Typesense/./src/Typesense/Overrides.ts","webpack://Typesense/./src/Typesense/Override.ts","webpack://Typesense/./src/Typesense/Synonyms.ts","webpack://Typesense/./src/Typesense/Synonym.ts","webpack://Typesense/./src/Typesense/Document.ts","webpack://Typesense/./src/Typesense/Collection.ts","webpack://Typesense/./src/Typesense/Aliases.ts","webpack://Typesense/./src/Typesense/Alias.ts","webpack://Typesense/./src/Typesense/Keys.ts","webpack://Typesense/./src/Typesense/Key.ts","webpack://Typesense/./src/Typesense/Debug.ts","webpack://Typesense/./src/Typesense/Metrics.ts","webpack://Typesense/./src/Typesense/Stats.ts","webpack://Typesense/./src/Typesense/Health.ts","webpack://Typesense/./src/Typesense/Operations.ts","webpack://Typesense/./src/Typesense/MultiSearch.ts","webpack://Typesense/./src/Typesense/Presets.ts","webpack://Typesense/./src/Typesense/Preset.ts","webpack://Typesense/./src/Typesense/AnalyticsRules.ts","webpack://Typesense/./src/Typesense/AnalyticsRule.ts","webpack://Typesense/./src/Typesense/AnalyticsEvents.ts","webpack://Typesense/./src/Typesense/Analytics.ts","webpack://Typesense/./src/Typesense/Stopwords.ts","webpack://Typesense/./src/Typesense/Stopword.ts","webpack://Typesense/./src/Typesense/ConversationModels.ts","webpack://Typesense/./src/Typesense/ConversationModel.ts","webpack://Typesense/./src/Typesense/Conversations.ts","webpack://Typesense/./src/Typesense/Conversation.ts","webpack://Typesense/./src/Typesense/Client.ts","webpack://Typesense/./src/Typesense/SearchOnlyCollection.ts","webpack://Typesense/./src/Typesense/SearchClient.ts","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://Typesense/./src/Typesense.ts"],"sourcesContent":["/*\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 var _loggersByName = {};\n var defaultLogger = null;\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() {\n /*jshint validthis:true */\n var level = this.getLevel();\n\n // Replace the actual methods.\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, this.name);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n\n // Return any important warnings.\n if (typeof console === undefinedType && level < this.levels.SILENT) {\n return \"No console available for logging\";\n }\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) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this);\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, factory) {\n // Private instance variables.\n var self = this;\n /**\n * The level inherited from a parent logger (or a global default). We\n * cache this here rather than delegating to the parent so that it stays\n * in sync with the actual logging methods that we have installed (the\n * parent could change levels but we might not have rebuilt the loggers\n * in this child yet).\n * @type {number}\n */\n var inheritedLevel;\n /**\n * The default level for this logger, if any. If set, this overrides\n * `inheritedLevel`.\n * @type {number|null}\n */\n var defaultLevel;\n /**\n * A user-specific level for this logger. If set, this overrides\n * `defaultLevel`.\n * @type {number|null}\n */\n var userLevel;\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 cookieName = encodeURIComponent(storageKey);\n var location = cookie.indexOf(cookieName + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(\n cookie.slice(location + cookieName.length + 1)\n )[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 } 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 function normalizeLevel(input) {\n var level = input;\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 return level;\n } else {\n throw new TypeError(\"log.setLevel() called with invalid level: \" + input);\n }\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 if (userLevel != null) {\n return userLevel;\n } else if (defaultLevel != null) {\n return defaultLevel;\n } else {\n return inheritedLevel;\n }\n };\n\n self.setLevel = function (level, persist) {\n userLevel = normalizeLevel(level);\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(userLevel);\n }\n\n // NOTE: in v2, this should call rebuild(), which updates children.\n return replaceLoggingMethods.call(self);\n };\n\n self.setDefaultLevel = function (level) {\n defaultLevel = normalizeLevel(level);\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.resetLevel = function () {\n userLevel = null;\n clearPersistedLevel();\n replaceLoggingMethods.call(self);\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 self.rebuild = function () {\n if (defaultLogger !== self) {\n inheritedLevel = normalizeLevel(defaultLogger.getLevel());\n }\n replaceLoggingMethods.call(self);\n\n if (defaultLogger === self) {\n for (var childName in _loggersByName) {\n _loggersByName[childName].rebuild();\n }\n }\n };\n\n // Initialize all the internal levels.\n inheritedLevel = normalizeLevel(\n defaultLogger ? defaultLogger.getLevel() : \"WARN\"\n );\n var initialLevel = getPersistedLevel();\n if (initialLevel != null) {\n userLevel = normalizeLevel(initialLevel);\n }\n replaceLoggingMethods.call(self);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n defaultLogger = new Logger();\n\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,\n defaultLogger.methodFactory\n );\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","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 e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw new Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\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))","// 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};","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(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\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 _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n try {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n } catch (e) {\n return typeof fn === \"function\";\n }\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\n}","export default class TypesenseError extends Error {\n httpStatus?: number;\n\n // Source: https://stackoverflow.com/a/58417721/123545\n constructor(message?: string) {\n super(message);\n this.name = new.target.name;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class MissingConfigurationError extends TypesenseError {}\n","import * as logger from \"loglevel\";\nimport { Logger, LogLevelDesc } from \"loglevel\";\nimport { MissingConfigurationError } from \"./Errors\";\nimport type { Agent as HTTPAgent } from \"http\";\nimport type { Agent as HTTPSAgent } from \"https\";\n\nexport interface NodeConfiguration {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n url?: string;\n}\n\nexport interface NodeConfigurationWithHostname {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n}\n\nexport interface NodeConfigurationWithUrl {\n url: string;\n}\n\nexport interface ConfigurationOptions {\n apiKey: string;\n nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n randomizeNodes?: boolean;\n /**\n * @deprecated\n * masterNode is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n masterNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n /**\n * @deprecated\n * readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n readReplicaNodes?:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n connectionTimeoutSeconds?: number;\n timeoutSeconds?: number;\n healthcheckIntervalSeconds?: number;\n numRetries?: number;\n retryIntervalSeconds?: number;\n sendApiKeyAsQueryParam?: boolean | undefined;\n useServerSideSearchCache?: boolean;\n cacheSearchResultsForSeconds?: number;\n additionalHeaders?: Record;\n\n logLevel?: LogLevelDesc;\n logger?: Logger;\n\n /**\n * Set a custom HTTP Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPAgent } = require(\"http\");\n * ...\n * httpAgent: new HTTPAgent({ keepAlive: true }),\n * @type {HTTPAgent}\n */\n httpAgent?: HTTPAgent;\n\n /**\n * Set a custom HTTPS Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPSAgent } = require(\"https\");\n * ...\n * httpsAgent: new HTTPSAgent({ keepAlive: true }),\n * @type {HTTPSAgent}\n */\n httpsAgent?: HTTPSAgent;\n\n /**\n * Set a custom paramsSerializer\n *\n * See axios documentation for more information on how to use this parameter: https://axios-http.com/docs/req_config\n * This is helpful for handling React Native issues like this: https://github.com/axios/axios/issues/6102#issuecomment-2085301397\n * @type {any}\n */\n paramsSerializer?: any;\n}\n\nexport default class Configuration {\n readonly nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n readonly nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n readonly connectionTimeoutSeconds: number;\n readonly healthcheckIntervalSeconds: number;\n readonly numRetries: number;\n readonly retryIntervalSeconds: number;\n readonly apiKey: string;\n readonly sendApiKeyAsQueryParam?: boolean;\n readonly cacheSearchResultsForSeconds: number;\n readonly useServerSideSearchCache: boolean;\n readonly logger: Logger;\n readonly logLevel: LogLevelDesc;\n readonly additionalHeaders?: Record;\n readonly httpAgent?: HTTPAgent;\n readonly httpsAgent?: HTTPSAgent;\n readonly paramsSerializer?: any;\n\n constructor(options: ConfigurationOptions) {\n this.nodes = options.nodes || [];\n this.nodes = this.nodes\n .map((node) => this.setDefaultPathInNode(node))\n .map((node) => this.setDefaultPortInNode(node))\n .map((node) => ({ ...node })) as NodeConfiguration[]; // Make a deep copy\n\n if (options.randomizeNodes == null) {\n options.randomizeNodes = true;\n }\n\n if (options.randomizeNodes === true) {\n this.shuffleArray(this.nodes);\n }\n\n this.nearestNode = options.nearestNode;\n this.nearestNode = this.setDefaultPathInNode(this.nearestNode);\n this.nearestNode = this.setDefaultPortInNode(this.nearestNode);\n\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\n this.apiKey = options.apiKey;\n this.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam; // We will set a default for this in Client and SearchClient\n\n this.cacheSearchResultsForSeconds =\n options.cacheSearchResultsForSeconds || 0; // Disable client-side cache by default\n this.useServerSideSearchCache = options.useServerSideSearchCache || false;\n\n this.logger = options.logger || logger;\n this.logLevel = options.logLevel || \"warn\";\n this.logger.setLevel(this.logLevel);\n\n this.additionalHeaders = options.additionalHeaders;\n\n this.httpAgent = options.httpAgent;\n this.httpsAgent = options.httpsAgent;\n\n this.paramsSerializer = options.paramsSerializer;\n\n this.showDeprecationWarnings(options);\n this.validate();\n }\n\n validate(): boolean {\n if (this.nodes == null || this.nodes.length === 0 || this.validateNodes()) {\n throw new MissingConfigurationError(\n \"Ensure that nodes[].protocol, nodes[].host and nodes[].port are set\",\n );\n }\n\n if (\n this.nearestNode != null &&\n this.isNodeMissingAnyParameters(this.nearestNode)\n ) {\n throw new MissingConfigurationError(\n \"Ensure that nearestNodes.protocol, nearestNodes.host and nearestNodes.port are set\",\n );\n }\n\n if (this.apiKey == null) {\n throw new MissingConfigurationError(\"Ensure that apiKey is set\");\n }\n\n return true;\n }\n\n private validateNodes(): boolean {\n return this.nodes.some((node) => {\n return this.isNodeMissingAnyParameters(node);\n });\n }\n\n private isNodeMissingAnyParameters(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl,\n ): boolean {\n return (\n ![\"protocol\", \"host\", \"port\", \"path\"].every((key) => {\n return node.hasOwnProperty(key);\n }) && node[\"url\"] == null\n );\n }\n\n private setDefaultPathInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (node != null && !node.hasOwnProperty(\"path\")) {\n node[\"path\"] = \"\";\n }\n return node;\n }\n\n private setDefaultPortInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (\n node != null &&\n !node.hasOwnProperty(\"port\") &&\n node.hasOwnProperty(\"protocol\")\n ) {\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\n private showDeprecationWarnings(options: ConfigurationOptions): void {\n if (options.timeoutSeconds) {\n this.logger.warn(\n \"Deprecation warning: timeoutSeconds is now renamed to connectionTimeoutSeconds\",\n );\n }\n if (options.masterNode) {\n this.logger.warn(\n \"Deprecation warning: masterNode is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n if (options.readReplicaNodes) {\n this.logger.warn(\n \"Deprecation warning: readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n }\n\n private shuffleArray(array) {\n for (let i = array.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [array[i], array[j]] = [array[j], array[i]];\n }\n }\n}\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}","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\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 && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let 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 {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\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 *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\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 (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 const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\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 *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && 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 *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\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 *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","'use strict';\n\nimport utils from '../utils.js';\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 {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n 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: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\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 * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\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 */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n 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 *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\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 *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\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 *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = (\n (product) => {\n return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0\n })(typeof navigator !== 'undefined' && navigator.product);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\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\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\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 env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\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 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\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} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\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 *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\n\nexport default (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n }, freq);\n}\n","'use strict';\n\n/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n const threshold = 1000 / freq;\n let timer = null;\n return function throttled() {\n const force = this === true;\n\n const now = Date.now();\n if (force || now - timestamp > threshold) {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n timestamp = now;\n return fn.apply(null, arguments);\n }\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n timestamp = Date.now();\n return fn.apply(null, arguments);\n }, threshold - (now - timestamp));\n }\n };\n}\n\nexport default throttle;\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\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 const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let 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 const 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","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\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 *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default 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\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 *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\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 *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, 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(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const 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 withXSRFToken: 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 beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\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\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport progressEventReducer from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType} = _config;\n let 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 let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, 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 const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n 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(new AxiosError('Request aborted', AxiosError.ECONNABORTED, _config, 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(new AxiosError('Network Error', AxiosError.ERR_NETWORK, _config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n _config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\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', progressEventReducer(_config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof _config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(_config.onUploadProgress));\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : 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 const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst composeSignals = (signals, timeout) => {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (cancel) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = cancel instanceof Error ? cancel : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal &&\n (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort));\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = unsubscribe;\n\n return [signal, () => {\n timer && clearTimeout(timer);\n timer = null;\n }];\n}\n\nexport default composeSignals;\n","\n\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize, encode) {\n for await (const chunk of iterable) {\n yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize);\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => {\n const iterator = readBytes(stream, chunkSize, encode);\n\n let bytes = 0;\n\n return new ReadableStream({\n type: 'bytes',\n\n async pull(controller) {\n const {done, value} = await iterator.next();\n\n if (done) {\n controller.close();\n onFinish();\n return;\n }\n\n let len = value.byteLength;\n onProgress && onProgress(bytes += len);\n controller.enqueue(new Uint8Array(value));\n },\n cancel(reason) {\n onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport progressEventReducer from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst fetchProgressDecorator = (total, fn) => {\n const lengthComputable = total != null;\n return (loaded) => setTimeout(() => fn({\n lengthComputable,\n total,\n loaded\n }));\n}\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst supportsRequestStream = isReadableStreamSupported && (() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n})();\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported && !!(()=> {\n try {\n return utils.isReadableStream(new Response('').body);\n } catch(err) {\n // return undefined\n }\n})();\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n return (await new Request(body).arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ?\n composeSignals([signal, cancelToken], timeout) : [];\n\n let finished, request;\n\n const onFinish = () => {\n !finished && setTimeout(() => {\n composedSignal && composedSignal.unsubscribe();\n });\n\n finished = true;\n }\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, fetchProgressDecorator(\n requestContentLength,\n progressEventReducer(onUploadProgress)\n ), null, encodeText);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'cors' : 'omit';\n }\n\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n withCredentials\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onDownloadProgress && fetchProgressDecorator(\n responseContentLength,\n progressEventReducer(onDownloadProgress, true)\n ), isStreamResponse && onFinish, encodeText),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && onFinish();\n\n stopTimeout && stopTimeout();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n onFinish();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\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 *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(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 config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\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 config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.7.2\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\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 *\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 (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\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 *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(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 {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _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 const {transitional, paramsSerializer, headers} = config;\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 if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let 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 const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\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,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(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, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n 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\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const 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 */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\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\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\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 *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestMalformed extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestUnauthorized extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectNotFound extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectAlreadyExists extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectUnprocessable extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ServerError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class HTTPError extends TypesenseError {}\n","import axios, { AxiosRequestConfig, AxiosResponse, Method } from \"axios\";\nimport { Logger } from \"loglevel\";\nimport {\n HTTPError,\n ObjectAlreadyExists,\n ObjectNotFound,\n ObjectUnprocessable,\n RequestMalformed,\n RequestUnauthorized,\n ServerError,\n} from \"./Errors\";\nimport TypesenseError from \"./Errors/TypesenseError\";\nimport Configuration, { NodeConfiguration } from \"./Configuration\";\nimport { Agent as HTTPAgent } from \"http\";\nimport { Agent as HTTPSAgent } from \"https\";\n\nconst APIKEYHEADERNAME = \"X-TYPESENSE-API-KEY\";\nconst HEALTHY = true;\nconst UNHEALTHY = false;\n\ninterface Node extends NodeConfiguration {\n isHealthy: boolean;\n index: string | number;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class ApiCall {\n private readonly apiKey: string;\n private readonly nodes: Node[];\n private readonly nearestNode: Node;\n private readonly connectionTimeoutSeconds: number;\n private readonly healthcheckIntervalSeconds: number;\n private readonly retryIntervalSeconds: number;\n private readonly sendApiKeyAsQueryParam?: boolean;\n private readonly numRetriesPerRequest: number;\n private readonly additionalUserHeaders?: Record;\n\n private readonly logger: Logger;\n private currentNodeIndex: number;\n\n constructor(private 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\n this.logger = this.configuration.logger;\n\n this.initializeMetadataForNodes();\n this.currentNodeIndex = -1;\n }\n\n async get(\n endpoint: string,\n queryParameters: any = {},\n {\n abortSignal = null,\n responseType = undefined,\n }: {\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n } = {},\n ): Promise {\n return this.performRequest(\"get\", endpoint, {\n queryParameters,\n abortSignal,\n responseType,\n });\n }\n\n async delete(endpoint: string, queryParameters: any = {}): Promise {\n return this.performRequest(\"delete\", endpoint, { queryParameters });\n }\n\n async post(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n additionalHeaders: any = {},\n ): Promise {\n return this.performRequest(\"post\", endpoint, {\n queryParameters,\n bodyParameters,\n additionalHeaders,\n });\n }\n\n async put(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"put\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async patch(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"patch\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async performRequest(\n requestType: Method,\n endpoint: string,\n {\n queryParameters = null,\n bodyParameters = null,\n additionalHeaders = {},\n abortSignal = null,\n responseType = undefined,\n skipConnectionTimeout = false,\n enableKeepAlive = undefined,\n }: {\n queryParameters?: any;\n bodyParameters?: any;\n additionalHeaders?: any;\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n skipConnectionTimeout?: boolean;\n enableKeepAlive?: boolean | undefined;\n },\n ): Promise {\n this.configuration.validate();\n\n const requestNumber = Date.now();\n let lastException;\n this.logger.debug(\n `Request #${requestNumber}: Performing ${requestType.toUpperCase()} request: ${endpoint}`,\n );\n for (\n let numTries = 1;\n numTries <= this.numRetriesPerRequest + 1;\n numTries++\n ) {\n const node = this.getNextNode(requestNumber);\n this.logger.debug(\n `Request #${requestNumber}: Attempting ${requestType.toUpperCase()} request Try #${numTries} to Node ${\n node.index\n }`,\n );\n\n if (abortSignal && abortSignal.aborted) {\n return Promise.reject(new Error(\"Request aborted by caller.\"));\n }\n\n let abortListener;\n\n try {\n const requestOptions: AxiosRequestConfig = {\n method: requestType,\n url: this.uriFor(endpoint, node),\n headers: Object.assign(\n {},\n this.defaultHeaders(),\n additionalHeaders,\n this.additionalUserHeaders,\n ),\n maxContentLength: Infinity,\n maxBodyLength: Infinity,\n responseType,\n validateStatus: (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 (data, headers) => {\n let transformedData = data;\n if (\n headers !== undefined &&\n typeof data === \"string\" &&\n headers[\"content-type\"] &&\n headers[\"content-type\"].startsWith(\"application/json\")\n ) {\n transformedData = JSON.parse(data);\n }\n return transformedData;\n },\n ],\n };\n\n if (skipConnectionTimeout !== true) {\n requestOptions.timeout = this.connectionTimeoutSeconds * 1000;\n }\n\n if (queryParameters && Object.keys(queryParameters).length !== 0) {\n requestOptions.params = queryParameters;\n }\n\n if (this.sendApiKeyAsQueryParam) {\n requestOptions.params = requestOptions.params || {};\n requestOptions.params[\"x-typesense-api-key\"] = this.apiKey;\n }\n\n if (this.configuration.httpAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpAgent`,\n );\n requestOptions.httpAgent = this.configuration.httpAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling KeepAlive`);\n requestOptions.httpAgent = new HTTPAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.httpsAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpsAgent`,\n );\n requestOptions.httpsAgent = this.configuration.httpsAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling keepAlive`);\n requestOptions.httpsAgent = new HTTPSAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.paramsSerializer) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom paramsSerializer`,\n );\n requestOptions.paramsSerializer = this.configuration.paramsSerializer;\n }\n\n if (\n bodyParameters &&\n ((typeof bodyParameters === \"string\" &&\n bodyParameters.length !== 0) ||\n (typeof bodyParameters === \"object\" &&\n Object.keys(bodyParameters).length !== 0))\n ) {\n requestOptions.data = bodyParameters;\n }\n\n // Translate from user-provided AbortController to the Axios request cancel mechanism.\n if (abortSignal) {\n const cancelToken = axios.CancelToken;\n const source = cancelToken.source();\n abortListener = () => source.cancel();\n abortSignal.addEventListener(\"abort\", abortListener);\n requestOptions.cancelToken = source.token;\n }\n\n const response = await axios(requestOptions);\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.setNodeHealthcheck(node, HEALTHY);\n }\n this.logger.debug(\n `Request #${requestNumber}: Request to Node ${node.index} was made. Response Code was ${response.status}.`,\n );\n\n if (response.status >= 200 && response.status < 300) {\n // If response is 2xx return a resolved promise\n return Promise.resolve(response.data);\n } else if (response.status < 500) {\n // Next, if response is anything but 5xx, don't retry, return a custom error\n return Promise.reject(\n this.customErrorForResponse(response, response.data?.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.customErrorForResponse(response, response.data?.message);\n }\n } catch (error: any) {\n // This block handles retries for HTTPStatus > 500 and network layer issues like connection timeouts\n this.setNodeHealthcheck(node, UNHEALTHY);\n lastException = error;\n this.logger.warn(\n `Request #${requestNumber}: Request to Node ${\n node.index\n } failed due to \"${error.code} ${error.message}${\n error.response == null\n ? \"\"\n : \" - \" + JSON.stringify(error.response?.data)\n }\"`,\n );\n // this.logger.debug(error.stack)\n this.logger.warn(\n `Request #${requestNumber}: Sleeping for ${this.retryIntervalSeconds}s and then retrying request...`,\n );\n await this.timer(this.retryIntervalSeconds);\n } finally {\n if (abortSignal && abortListener) {\n abortSignal.removeEventListener(\"abort\", abortListener);\n }\n }\n }\n this.logger.debug(\n `Request #${requestNumber}: No retries left. Raising last error`,\n );\n return Promise.reject(lastException);\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 getNextNode(requestNumber = 0): Node {\n // Check if nearestNode is set and is healthy, if so return it\n if (this.nearestNode != null) {\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: Node ${\n this.nearestNode.index\n } is ${this.nearestNode.isHealthy === true ? \"Healthy\" : \"Unhealthy\"}`,\n );\n if (\n this.nearestNode.isHealthy === true ||\n this.nodeDueForHealthcheck(this.nearestNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${this.nearestNode.index}`,\n );\n return this.nearestNode;\n }\n this.logger.debug(\n `Request #${requestNumber}: Falling back to individual nodes`,\n );\n }\n\n // Fallback to nodes as usual\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: ${this.nodes\n .map(\n (node) =>\n `Node ${node.index} is ${\n node.isHealthy === true ? \"Healthy\" : \"Unhealthy\"\n }`,\n )\n .join(\" || \")}`,\n );\n let candidateNode: Node = this.nodes[0];\n for (let i = 0; i <= this.nodes.length; i++) {\n this.currentNodeIndex = (this.currentNodeIndex + 1) % this.nodes.length;\n candidateNode = this.nodes[this.currentNodeIndex];\n if (\n candidateNode.isHealthy === true ||\n this.nodeDueForHealthcheck(candidateNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\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(\n `Request #${requestNumber}: No healthy nodes were found. Returning the next node, Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\n\n nodeDueForHealthcheck(node, requestNumber = 0): boolean {\n const isDueForHealthcheck =\n Date.now() - node.lastAccessTimestamp >\n this.healthcheckIntervalSeconds * 1000;\n if (isDueForHealthcheck) {\n this.logger.debug(\n `Request #${requestNumber}: Node ${node.index} has exceeded healtcheckIntervalSeconds of ${this.healthcheckIntervalSeconds}. Adding it back into rotation.`,\n );\n }\n return isDueForHealthcheck;\n }\n\n initializeMetadataForNodes(): void {\n if (this.nearestNode != null) {\n this.nearestNode.index = \"nearestNode\";\n this.setNodeHealthcheck(this.nearestNode, HEALTHY);\n }\n\n this.nodes.forEach((node, i) => {\n node.index = i;\n this.setNodeHealthcheck(node, HEALTHY);\n });\n }\n\n setNodeHealthcheck(node, isHealthy): void {\n node.isHealthy = isHealthy;\n node.lastAccessTimestamp = Date.now();\n }\n\n uriFor(endpoint: string, node): string {\n if (node.url != null) {\n return `${node.url}${endpoint}`;\n }\n return `${node.protocol}://${node.host}:${node.port}${node.path}${endpoint}`;\n }\n\n defaultHeaders(): any {\n const defaultHeaders = {};\n if (!this.sendApiKeyAsQueryParam) {\n defaultHeaders[APIKEYHEADERNAME] = this.apiKey;\n }\n defaultHeaders[\"Content-Type\"] = \"application/json\";\n return defaultHeaders;\n }\n\n async timer(seconds): Promise {\n return new Promise((resolve) => setTimeout(resolve, seconds * 1000));\n }\n\n customErrorForResponse(\n response: AxiosResponse,\n messageFromServer: string,\n ): TypesenseError {\n let errorMessage = `Request failed with HTTP code ${response.status}`;\n if (\n typeof messageFromServer === \"string\" &&\n messageFromServer.trim() !== \"\"\n ) {\n errorMessage += ` | Server said: ${messageFromServer}`;\n }\n\n let error = new TypesenseError(errorMessage);\n\n if (response.status === 400) {\n error = new RequestMalformed(errorMessage);\n } else if (response.status === 401) {\n error = new RequestUnauthorized(errorMessage);\n } else if (response.status === 404) {\n error = new ObjectNotFound(errorMessage);\n } else if (response.status === 409) {\n error = new ObjectAlreadyExists(errorMessage);\n } else if (response.status === 422) {\n error = new ObjectUnprocessable(errorMessage);\n } else if (response.status >= 500 && response.status <= 599) {\n error = new ServerError(errorMessage);\n } else {\n error = new HTTPError(errorMessage);\n }\n\n error.httpStatus = response.status;\n\n return error;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { CollectionFieldSchema, CollectionSchema } from \"./Collection\";\n\nexport interface CollectionCreateSchema {\n name: string;\n default_sorting_field?: string;\n fields?: CollectionFieldSchema[];\n symbols_to_index?: string[];\n token_separators?: string[];\n enable_nested_fields?: boolean;\n metadata?: object;\n voice_query_model?: {\n model_name?: string;\n };\n}\n\nexport interface CollectionCreateOptions {\n src_name?: string;\n}\n\nexport interface CollectionsRetrieveOptions {\n exclude_fields?: string;\n}\n\nconst RESOURCEPATH = \"/collections\";\n\nexport default class Collections {\n constructor(private apiCall: ApiCall) {}\n\n async create(\n schema: CollectionCreateSchema,\n options: CollectionCreateOptions = {},\n ): Promise {\n return this.apiCall.post(RESOURCEPATH, schema, options);\n }\n\n async retrieve(\n options: CollectionsRetrieveOptions = {},\n ): Promise {\n return this.apiCall.get(RESOURCEPATH, options);\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import TypesenseError from \"./TypesenseError\";\nimport { ImportResponse } from \"../Documents\";\n\nexport default class ImportError extends TypesenseError {\n importResults: ImportResponse[];\n constructor(message: string, importResults: ImportResponse[]) {\n super(message);\n this.importResults = importResults;\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 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}","const defaultCacheResponseForSeconds = 2 * 60;\nconst defaultMaxSize = 100;\n\nexport default class RequestWithCache {\n private responseCache: Map = new Map();\n private responsePromiseCache: Map = new Map();\n\n clearCache() {\n this.responseCache = new Map();\n this.responsePromiseCache = new Map();\n }\n\n // Todo: should probably be passed a callback instead, or an apiCall instance. Types are messy this way\n async perform(\n requestContext: any,\n requestFunction: (...params: any) => unknown,\n requestFunctionArguments: any[],\n cacheOptions: CacheOptions\n ): Promise {\n const {\n cacheResponseForSeconds = defaultCacheResponseForSeconds,\n maxSize = defaultMaxSize,\n } = cacheOptions;\n const isCacheDisabled = cacheResponseForSeconds <= 0 || maxSize <= 0;\n\n if (isCacheDisabled) {\n return requestFunction.call(requestContext, ...requestFunctionArguments);\n }\n\n const requestFunctionArgumentsJSON = JSON.stringify(\n requestFunctionArguments\n );\n const cacheEntry = this.responseCache.get(requestFunctionArgumentsJSON);\n const now = Date.now();\n\n if (cacheEntry) {\n const isEntryValid =\n now - cacheEntry.requestTimestamp < cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n this.responseCache.set(requestFunctionArgumentsJSON, cacheEntry);\n return Promise.resolve(cacheEntry.response);\n } else {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n\n const cachePromiseEntry = this.responsePromiseCache.get(\n requestFunctionArgumentsJSON\n );\n\n if (cachePromiseEntry) {\n const isEntryValid =\n now - cachePromiseEntry.requestTimestamp <\n cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n this.responsePromiseCache.set(\n requestFunctionArgumentsJSON,\n cachePromiseEntry\n );\n return cachePromiseEntry.responsePromise;\n } else {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n\n const responsePromise = requestFunction.call(\n requestContext,\n ...requestFunctionArguments\n );\n this.responsePromiseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n responsePromise,\n });\n\n const response = await responsePromise;\n this.responseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n response,\n });\n\n const isCacheOverMaxSize = this.responseCache.size > maxSize;\n if (isCacheOverMaxSize) {\n const oldestEntry = this.responseCache.keys().next().value;\n this.responseCache.delete(oldestEntry);\n }\n const isResponsePromiseCacheOverMaxSize =\n this.responsePromiseCache.size > maxSize;\n if (isResponsePromiseCacheOverMaxSize) {\n const oldestEntry = this.responsePromiseCache.keys().next().value;\n this.responsePromiseCache.delete(oldestEntry);\n }\n return response as T;\n }\n}\n\ninterface CacheOptions {\n cacheResponseForSeconds?: number;\n maxSize?: number;\n}\n","import RequestWithCache from \"./RequestWithCache\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport Collections from \"./Collections\";\nimport type {\n DocumentSchema,\n SearchableDocuments,\n SearchOptions,\n SearchParams,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\n\nconst RESOURCEPATH = \"/documents\";\n\nexport class SearchOnlyDocuments\n implements SearchableDocuments\n{\n protected requestWithCache: RequestWithCache = new RequestWithCache();\n\n constructor(\n protected collectionName: string,\n protected apiCall: ApiCall,\n protected configuration: Configuration\n ) {}\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n abortSignal = null,\n }: SearchOptions = {}\n ): Promise> {\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n for (const key in searchParameters) {\n if (Array.isArray(searchParameters[key])) {\n additionalQueryParams[key] = searchParameters[key].join(\",\");\n }\n }\n const queryParams = Object.assign(\n {},\n searchParameters,\n additionalQueryParams\n );\n\n return this.requestWithCache.perform(\n this.apiCall,\n this.apiCall.get,\n [this.endpointPath(\"search\"), queryParams, { abortSignal }],\n {\n cacheResponseForSeconds: cacheSearchResultsForSeconds,\n }\n ) as Promise>;\n }\n\n protected endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + operation\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import type { ReadStream } from \"fs\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport { ImportError } from \"./Errors\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\n// Todo: use generic to extract filter_by values\nexport interface DeleteQuery {\n filter_by?: string;\n batch_size?: number;\n ignore_not_found?: boolean;\n}\n\nexport interface DeleteResponse {\n num_deleted: number;\n}\n\ninterface ImportResponseSuccess {\n success: true;\n}\n\nexport interface ImportResponseFail {\n success: false;\n error: string;\n document: DocumentSchema;\n code: number;\n}\n\nexport type ImportResponse = ImportResponseSuccess | ImportResponseFail;\n\nexport type DocumentSchema = Record;\n\nexport interface SearchParamsWithPreset extends Partial {\n preset: string;\n}\n\ntype OperationMode = \"off\" | \"always\" | \"fallback\";\nexport interface SearchParams {\n // From https://typesense.org/docs/latest/api/documents.html#arguments\n q?: string;\n query_by?: string | string[];\n query_by_weights?: string | number[];\n prefix?: string | boolean | boolean[]; // default: true\n filter_by?: string;\n enable_lazy_filter?: boolean; // default: false\n sort_by?: string | string[]; // default: text match desc\n facet_by?: string | string[];\n max_facet_values?: number;\n facet_sample_threshold?: number;\n facet_sample_percent?: number;\n facet_query?: string;\n facet_query_num_typos?: number;\n facet_return_parent?: string;\n page?: number; // default: 1\n per_page?: number; // default: 10, max 250\n group_by?: string | string[];\n group_limit?: number; // default:\n group_missing_values?: boolean;\n include_fields?: string | string[];\n exclude_fields?: string | string[];\n highlight_fields?: string | string[]; // default: all queried fields\n highlight_full_fields?: string | string[]; // default: all fields\n highlight_affix_num_tokens?: number; // default: 4\n highlight_start_tag?: string; // default: \n highlight_end_tag?: string; // default: \n enable_highlight_v1?: boolean;\n snippet_threshold?: number; // default: 30\n num_typos?: string | number | number[]; // default: 2\n min_len_1typo?: number;\n min_len_2typo?: number;\n split_join_tokens?: OperationMode;\n exhaustive_search?: boolean;\n drop_tokens_threshold?: number; // default: 10\n typo_tokens_threshold?: number; // default: 100\n pinned_hits?: string | string[];\n hidden_hits?: string | string[];\n limit_hits?: number; // default: no limit\n pre_segmented_query?: boolean;\n enable_overrides?: boolean;\n prioritize_exact_match?: boolean; // default: true\n prioritize_token_position?: boolean;\n prioritize_num_matching_fields?: boolean;\n search_cutoff_ms?: number;\n use_cache?: boolean;\n max_candidates?: number;\n infix?: OperationMode | OperationMode[];\n preset?: string;\n text_match_type?: \"max_score\" | \"max_weight\";\n vector_query?: string;\n \"x-typesense-api-key\"?: string;\n \"x-typesense-user-id\"?: string;\n offset?: number;\n limit?: number;\n stopwords?: string;\n conversation?: boolean;\n conversation_model_id?: string;\n conversation_id?: string;\n voice_query?: string;\n}\n\ntype SearchResponseHighlightObject = {\n matched_tokens?: string[];\n snippet?: string;\n value?: string;\n};\n\nexport type SearchResponseHighlight = T extends string | number\n ? SearchResponseHighlightObject\n : {\n [TAttribute in keyof T]?: SearchResponseHighlight;\n };\n\nexport interface SearchResponseHit {\n curated?: true;\n highlights?: [\n {\n field: keyof T;\n snippet?: string;\n value?: string;\n snippets?: string[];\n indices?: number[];\n matched_tokens: string[][] | string[];\n },\n ];\n highlight: SearchResponseHighlight;\n document: T;\n text_match: number;\n text_match_info?: {\n best_field_score: string; // To prevent scores from being truncated by JSON spec\n best_field_weight: number;\n fields_matched: number;\n score: string; // To prevent scores from being truncated by JSON spec\n tokens_matched: number;\n };\n}\n\nexport interface SearchResponseFacetCountSchema {\n counts: {\n count: number;\n highlighted: string;\n value: string;\n }[];\n field_name: keyof T;\n stats: {\n avg?: number;\n max?: number;\n min?: number;\n sum?: number;\n };\n}\n\nexport interface SearchResponseRequestParams {\n collection_name?: string;\n q?: string;\n page?: number;\n per_page?: number;\n first_q?: string;\n voice_query?: {\n transcribed_query?: string;\n };\n}\n\n// Todo: we could infer whether this is a grouped response by adding the search params as a generic\nexport interface SearchResponse {\n facet_counts?: SearchResponseFacetCountSchema[];\n found: number;\n found_docs?: number;\n out_of: number;\n page: number;\n request_params: SearchResponseRequestParams;\n search_time_ms: number;\n search_cutoff?: boolean;\n hits?: SearchResponseHit[];\n grouped_hits?: {\n group_key: string[];\n hits: SearchResponseHit[];\n found?: number;\n }[];\n conversation?: {\n answer: string;\n conversation_history: {\n conversation: object[];\n id: string;\n last_updated: number;\n ttl: number;\n };\n conversation_id: string;\n query: string;\n };\n error?: string;\n code?: number;\n}\n\nexport interface DocumentWriteParameters {\n dirty_values?: \"coerce_or_reject\" | \"coerce_or_drop\" | \"drop\" | \"reject\";\n action?: \"create\" | \"update\" | \"upsert\" | \"emplace\";\n}\n\nexport interface UpdateByFilterParameters {\n filter_by?: string;\n}\n\nexport interface UpdateByFilterResponse {\n num_updated: number;\n}\n\nexport interface DocumentImportParameters extends DocumentWriteParameters {\n batch_size?: number;\n return_doc?: boolean;\n return_id?: boolean;\n}\n\nexport interface DocumentsExportParameters {\n filter_by?: string;\n include_fields?: string;\n exclude_fields?: string;\n}\n\nexport interface SearchableDocuments {\n search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n options: SearchOptions,\n ): Promise>;\n clearCache(): void;\n}\n\nexport interface WriteableDocuments {\n create(document: T, options: DocumentWriteParameters): Promise;\n upsert(document: T, options: DocumentWriteParameters): Promise;\n update(document: T, options: DocumentWriteParameters): Promise;\n delete(query: DeleteQuery): Promise;\n import(\n documents: T[] | string,\n options: DocumentWriteParameters,\n ): Promise;\n export(options: DocumentsExportParameters): Promise;\n}\n\nexport interface SearchOptions {\n cacheSearchResultsForSeconds?: number;\n abortSignal?: AbortSignal | null;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class Documents\n extends SearchOnlyDocuments\n implements WriteableDocuments\n{\n constructor(\n collectionName: string,\n apiCall: ApiCall,\n configuration: Configuration,\n ) {\n super(collectionName, apiCall, configuration);\n }\n\n async create(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(this.endpointPath(), document, options);\n }\n\n async upsert(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"upsert\" }),\n );\n }\n\n async update(\n document: T,\n options: UpdateByFilterParameters,\n ): Promise;\n async update(document: T, options: DocumentWriteParameters): Promise;\n async update(\n document: T,\n options: DocumentWriteParameters | UpdateByFilterParameters = {},\n ): Promise {\n if (!document) throw new Error(\"No document provided\");\n\n if (options[\"filter_by\"] != null) {\n return this.apiCall.patch(\n this.endpointPath(),\n document,\n Object.assign({}, options),\n );\n } else {\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"update\" }),\n );\n }\n }\n\n async delete(\n query: DeleteQuery = {} as DeleteQuery,\n ): Promise {\n return this.apiCall.delete(this.endpointPath(), query);\n }\n\n async createMany(documents: T[], options: DocumentImportParameters = {}) {\n this.configuration.logger.warn(\n \"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 );\n return this.import(documents, options);\n }\n\n /**\n * Import a set of documents in a batch.\n * @param {string|Array} documents - Can be a JSONL string of documents or an array of document objects.\n * @param options\n * @return {string|Array} Returns a JSONL string if the input was a JSONL string, otherwise it returns an array of results.\n */\n async import(\n documents: string,\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[],\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[] | string,\n options: DocumentImportParameters = {},\n ): Promise {\n let documentsInJSONLFormat;\n if (Array.isArray(documents)) {\n try {\n documentsInJSONLFormat = documents\n .map((document) => JSON.stringify(document))\n .join(\"\\n\");\n } catch (error: any) {\n // if rangeerror, throw custom error message\n if (\n error instanceof RangeError &&\n error.message.includes(\"Too many properties to enumerate\")\n ) {\n throw new Error(`${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\n // else, throw the non-range error anyways\n throw new Error(error);\n }\n } else {\n documentsInJSONLFormat = documents;\n }\n\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n if (Array.isArray(documents)) {\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter(\n (r) => r.success === false,\n );\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n } else {\n return resultsInJSONLFormat as string;\n }\n }\n /**\n * Imports documents from a NodeJS readable stream of JSONL.\n */\n async importStream(\n readableStream: ReadStream,\n options: DocumentImportParameters = {},\n ): Promise {\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\n queryParameters: options,\n bodyParameters: readableStream,\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter((r) => r.success === false);\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n }\n\n /**\n * Returns a JSONL string for all the documents in this collection\n */\n async export(options: DocumentsExportParameters = {}): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options);\n }\n\n /**\n * Returns a NodeJS readable stream of JSONL for all the documents in this collection.\n */\n async exportStream(\n options: DocumentsExportParameters = {},\n ): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options, {\n responseType: \"stream\",\n });\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { OverrideSchema } from \"./Override\";\n\nconst RESOURCEPATH = \"/overrides\";\n\nexport interface OverrideRuleQuerySchema {\n query?: string;\n match?: \"exact\" | \"contains\";\n}\n\nexport interface OverrideRuleFilterSchema {\n filter_by?: string;\n}\n\nexport interface OverrideRuleTagsSchema {\n tags?: string[];\n}\n\nexport interface OverrideCreateSchema {\n rule: OverrideRuleQuerySchema &\n OverrideRuleFilterSchema &\n OverrideRuleTagsSchema;\n filter_by?: string;\n sort_by?: string;\n remove_matched_tokens?: boolean;\n replace_query?: string;\n includes?: Array<{\n id: string;\n position: number;\n }>;\n excludes?: Array<{ id: string }>;\n filter_curated_hits?: boolean;\n effective_from_ts?: number;\n effective_to_ts?: number;\n stop_processing?: boolean;\n metadata?: object;\n}\n\nexport interface OverridesRetrieveSchema {\n overrides: OverrideSchema[];\n}\n\nexport default class Overrides {\n constructor(\n private collectionName: string,\n private apiCall: ApiCall,\n ) {}\n\n async upsert(\n overrideId: string,\n params: OverrideCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(overrideId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${\n Overrides.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + operation}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Overrides, { OverrideCreateSchema } from \"./Overrides\";\n\nexport interface OverrideSchema extends OverrideCreateSchema {\n id: string;\n}\n\nexport interface OverrideDeleteSchema {\n id: string;\n}\n\nexport default class Override {\n constructor(\n private collectionName: string,\n private overrideId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${Overrides.RESOURCEPATH}/${this.overrideId}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { SynonymSchema } from \"./Synonym\";\n\nconst RESOURCEPATH = \"/synonyms\";\n\nexport interface SynonymCreateSchema {\n synonyms: string[];\n root?: string;\n locale?: string;\n symbols_to_index?: string[];\n}\n\nexport interface SynonymsRetrieveSchema {\n synonyms: SynonymSchema[];\n}\n\nexport default class Synonyms {\n constructor(private collectionName: string, private apiCall: ApiCall) {}\n\n async upsert(\n synonymId: string,\n params: SynonymCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(synonymId),\n params\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${\n Synonyms.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + operation}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Synonyms, { SynonymCreateSchema } from \"./Synonyms\";\n\nexport interface SynonymSchema extends SynonymCreateSchema {\n id: string;\n}\n\nexport interface SynonymDeleteSchema {\n id: string;\n}\n\nexport default class Synonym {\n constructor(\n private collectionName: string,\n private synonymId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${Synonyms.RESOURCEPATH}/${this.synonymId}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Documents, {\n DeleteQuery,\n DocumentSchema,\n DocumentWriteParameters,\n} from \"./Documents\";\n\nexport class Document {\n constructor(\n private collectionName: string,\n private documentId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(options?: DeleteQuery): Promise {\n return this.apiCall.delete(this.endpointPath(), options);\n }\n\n async update(\n partialDocument: Partial,\n options: DocumentWriteParameters = {}\n ): Promise {\n return this.apiCall.patch(this.endpointPath(), partialDocument, options);\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${Documents.RESOURCEPATH}/${this.documentId}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections, { CollectionCreateSchema } from \"./Collections\";\nimport Documents, { DocumentSchema } from \"./Documents\";\nimport { ObjectNotFound } from \"./Errors\";\nimport Overrides from \"./Overrides\";\nimport Override from \"./Override\";\nimport Synonyms from \"./Synonyms\";\nimport Synonym from \"./Synonym\";\nimport { Document } from \"./Document\";\n\nexport type FieldType =\n | \"string\"\n | \"int32\"\n | \"int64\"\n | \"float\"\n | \"bool\"\n | \"geopoint\"\n | \"geopoint[]\"\n | \"string[]\"\n | \"int32[]\"\n | \"int64[]\"\n | \"float[]\"\n | \"bool[]\"\n | \"object\"\n | \"object[]\"\n | \"auto\"\n | \"string*\"\n | \"image\";\n\nexport interface CollectionFieldSchema {\n name: string;\n type: FieldType;\n optional?: boolean;\n facet?: boolean;\n index?: boolean;\n sort?: boolean;\n locale?: string;\n infix?: boolean;\n stem?: boolean;\n num_dim?: number;\n store?: boolean;\n [t: string]: unknown;\n}\n\nexport interface CollectionSchema extends CollectionCreateSchema {\n created_at: number;\n num_documents: number;\n num_memory_shards: number;\n}\n\nexport interface CollectionDropFieldSchema {\n name: string;\n drop: true;\n}\n\nexport interface CollectionUpdateSchema\n extends Partial> {\n fields?: (CollectionFieldSchema | CollectionDropFieldSchema)[];\n}\n\nexport default class Collection {\n private readonly _documents: Documents;\n private individualDocuments: Record> = {};\n private readonly _overrides: Overrides;\n private individualOverrides: Record = {};\n private readonly _synonyms: Synonyms;\n private individualSynonyms: Record = {};\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any,\n ) {\n this.name = name;\n this.apiCall = apiCall;\n this.configuration = configuration;\n\n this._documents = new Documents(\n this.name,\n this.apiCall,\n this.configuration,\n );\n this._overrides = new Overrides(this.name, this.apiCall);\n this._synonyms = new Synonyms(this.name, this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(schema: CollectionUpdateSchema): Promise {\n return this.apiCall.patch(this.endpointPath(), schema);\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n async exists(): Promise {\n try {\n await this.retrieve();\n return true;\n } catch (e) {\n if (e instanceof ObjectNotFound) return false;\n throw e;\n }\n }\n\n documents(): Documents;\n documents(documentId: string): Document;\n documents(documentId?: string): Document | Documents {\n if (!documentId) {\n return this._documents;\n } else {\n if (this.individualDocuments[documentId] === undefined) {\n this.individualDocuments[documentId] = new Document(\n this.name,\n documentId,\n this.apiCall,\n );\n }\n return this.individualDocuments[documentId];\n }\n }\n\n overrides(): Overrides;\n overrides(overrideId: string): Override;\n overrides(overrideId?: string): Overrides | Override {\n if (overrideId === undefined) {\n return this._overrides;\n } else {\n if (this.individualOverrides[overrideId] === undefined) {\n this.individualOverrides[overrideId] = new Override(\n this.name,\n overrideId,\n this.apiCall,\n );\n }\n return this.individualOverrides[overrideId];\n }\n }\n\n synonyms(): Synonyms;\n synonyms(synonymId: string): Synonym;\n synonyms(synonymId?: string): Synonyms | Synonym {\n if (synonymId === undefined) {\n return this._synonyms;\n } else {\n if (this.individualSynonyms[synonymId] === undefined) {\n this.individualSynonyms[synonymId] = new Synonym(\n this.name,\n synonymId,\n this.apiCall,\n );\n }\n return this.individualSynonyms[synonymId];\n }\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${this.name}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/aliases\";\n\nexport interface CollectionAliasCreateSchema {\n collection_name: string;\n}\n\nexport interface CollectionAliasSchema extends CollectionAliasCreateSchema {\n name: string;\n}\n\nexport interface CollectionAliasesResponseSchema {\n aliases: CollectionAliasSchema[];\n}\n\nexport default class Aliases {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n name: string,\n mapping: CollectionAliasCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(name),\n mapping\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n private endpointPath(aliasName): string {\n return `${Aliases.RESOURCEPATH}/${aliasName}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import Aliases, { CollectionAliasSchema } from \"./Aliases\";\nimport ApiCall from \"./ApiCall\";\n\nexport default class Alias {\n constructor(private name: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Aliases.RESOURCEPATH}/${this.name}`;\n }\n}\n","import { createHmac } from \"crypto\";\nimport ApiCall from \"./ApiCall\";\nimport { KeyCreateSchema, KeySchema } from \"./Key\";\nimport { SearchParams } from \"./Documents\";\n\nconst RESOURCEPATH = \"/keys\";\n\nexport interface KeysRetrieveSchema {\n keys: KeySchema[];\n}\n\nexport interface GenerateScopedSearchKeyParams extends Partial {\n expires_at?: number;\n cache_ttl?: number;\n limit_multi_searches?: number;\n}\n\nexport default class Keys {\n constructor(private apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(params: KeyCreateSchema): Promise {\n return this.apiCall.post(Keys.RESOURCEPATH, params);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n generateScopedSearchKey(\n searchKey: string,\n parameters: GenerateScopedSearchKeyParams\n ): string {\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 const paramsJSON = JSON.stringify(parameters);\n const digest = Buffer.from(\n createHmac(\"sha256\", searchKey).update(paramsJSON).digest(\"base64\")\n );\n const keyPrefix = searchKey.substr(0, 4);\n const rawScopedKey = `${digest}${keyPrefix}${paramsJSON}`;\n\n return Buffer.from(rawScopedKey).toString(\"base64\");\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Keys from \"./Keys\";\n\nexport interface KeyCreateSchema {\n actions: string[];\n collections: string[];\n description?: string;\n value?: string;\n value_prefix?: string;\n expires_at?: number;\n}\n\nexport interface KeyDeleteSchema {\n id: number;\n}\n\nexport interface KeySchema extends KeyCreateSchema {\n id: number;\n}\n\nexport default class Key {\n constructor(private id: number, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Keys.RESOURCEPATH}/${this.id}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/debug\";\n\nexport interface DebugResponseSchema {\n state: number;\n version: string;\n}\n\nexport default class Debug {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/metrics.json\";\n\nexport interface MetricsResponse {\n [key: `system_cpu${number}_active_percentage`]: string;\n system_cpu_active_percentage: string;\n system_disk_total_bytes: string;\n system_disk_used_bytes: string;\n system_memory_total_bytes: string;\n system_memory_total_swap_bytes?: string;\n system_memory_used_bytes: string;\n system_memory_used_swap_bytes?: string;\n system_network_received_bytes: string;\n system_network_sent_bytes: string;\n typesense_memory_active_bytes: string;\n typesense_memory_allocated_bytes: string;\n typesense_memory_fragmentation_ratio: string;\n typesense_memory_mapped_bytes: string;\n typesense_memory_metadata_bytes: string;\n typesense_memory_resident_bytes: string;\n typesense_memory_retained_bytes: string;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/stats.json\";\n\nexport interface EndpointStats {\n [endpoint: string]: number;\n}\n\nexport interface StatsResponse {\n delete_latency_ms?: number;\n delete_requests_per_second?: number;\n import_latency_ms?: number;\n import_requests_per_second?: number;\n latency_ms?: EndpointStats;\n overloaded_requests_per_second?: number;\n pending_write_batches?: number;\n requests_per_second?: EndpointStats;\n search_latency_ms?: number;\n search_requests_per_second?: number;\n total_requests_per_second?: number;\n write_latency_ms?: number;\n write_requests_per_second?: number;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/health\";\n\nexport interface HealthResponse {\n ok: boolean;\n}\n\nexport default class Health {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/operations\";\n\nexport default class Operations {\n constructor(private apiCall: ApiCall) {}\n\n async perform(\n operationName: \"vote\" | \"snapshot\" | \"cache/clear\" | string,\n queryParameters: Record = {}\n ): Promise {\n return this.apiCall.post(\n `${RESOURCEPATH}/${operationName}`,\n {},\n queryParameters\n );\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport RequestWithCache from \"./RequestWithCache\";\nimport {\n DocumentSchema,\n SearchParams,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\n\nconst RESOURCEPATH = \"/multi_search\";\n\nexport interface MultiSearchRequestSchema extends SearchParams {\n collection?: string;\n \"x-typesense-api-key\"?: string;\n}\n\nexport interface MultiSearchRequestWithPresetSchema\n extends SearchParamsWithPreset {\n collection?: string;\n \"x-typesense-api-key\"?: string;\n}\n\nexport interface MultiSearchRequestsSchema {\n searches: (MultiSearchRequestSchema | MultiSearchRequestWithPresetSchema)[];\n}\n\nexport interface MultiSearchResponse {\n results: { [Index in keyof T]: SearchResponse } & {\n length: T[\"length\"];\n };\n}\n\nexport default class MultiSearch {\n private requestWithCache: RequestWithCache;\n\n constructor(\n private apiCall: ApiCall,\n private configuration: Configuration,\n private useTextContentType: boolean = false\n ) {\n this.requestWithCache = new RequestWithCache();\n }\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async perform(\n searchRequests: MultiSearchRequestsSchema,\n commonParams: Partial = {},\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n }: { cacheSearchResultsForSeconds?: number } = {}\n ): Promise> {\n const additionalHeaders = {};\n if (this.useTextContentType) {\n additionalHeaders[\"content-type\"] = \"text/plain\";\n }\n\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n const queryParams = Object.assign({}, commonParams, additionalQueryParams);\n\n return this.requestWithCache.perform(\n this.apiCall,\n this.apiCall.post,\n [RESOURCEPATH, searchRequests, queryParams, additionalHeaders],\n { cacheResponseForSeconds: cacheSearchResultsForSeconds }\n ) as Promise>;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { PresetSchema } from \"./Preset\";\nimport { SearchParams } from \"./Documents\";\nimport { MultiSearchRequestsSchema } from \"./MultiSearch\";\n\nconst RESOURCEPATH = \"/presets\";\n\nexport interface PresetCreateSchema {\n value: SearchParams | MultiSearchRequestsSchema;\n}\n\nexport interface PresetsRetrieveSchema {\n presets: PresetSchema[];\n}\n\nexport default class Presets {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n presetId: string,\n params: PresetCreateSchema\n ): Promise {\n return this.apiCall.put(this.endpointPath(presetId), params);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Presets.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + operation\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Presets, { PresetCreateSchema } from \"./Presets\";\n\nexport interface PresetSchema extends PresetCreateSchema {\n name: string;\n}\n\nexport interface PresetDeleteSchema {\n name: string;\n}\n\nexport default class Preset {\n constructor(private presetId: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Presets.RESOURCEPATH}/${this.presetId}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n AnalyticsRuleCreateSchema,\n AnalyticsRuleSchema,\n} from \"./AnalyticsRule\";\n\nexport interface AnalyticsRulesRetrieveSchema {\n rules: AnalyticsRuleSchema[];\n}\n\nconst RESOURCEPATH = \"/analytics/rules\";\n\nexport default class AnalyticsRules {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async upsert(\n name: string,\n params: AnalyticsRuleCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(name),\n params\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsRules.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + operation\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\n\nexport interface AnalyticsRuleCreateSchema {\n type: \"popular_queries\" | \"nohits_queries\" | \"counter\";\n params: {\n source: {\n collections: string[];\n events?: Array<{\n type: string;\n weight: number;\n name: string;\n }>;\n };\n expand_query?: boolean;\n destination: {\n collection: string;\n counter_field?: string;\n };\n limit?: number;\n };\n}\n\nexport interface AnalyticsRuleDeleteSchema {\n name: string;\n}\n\nexport interface AnalyticsRuleSchema extends AnalyticsRuleCreateSchema {\n name: string;\n}\n\nexport default class AnalyticsRule {\n constructor(\n private name: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${AnalyticsRules.RESOURCEPATH}/${this.name}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { AnalyticsEventCreateSchema } from \"./AnalyticsEvent\";\n\nconst RESOURCEPATH = \"/analytics/events\";\n\nexport default class AnalyticsEvents {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: AnalyticsEventCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsEvents.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + operation\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\nimport AnalyticsRule from \"./AnalyticsRule\";\nimport AnalyticsEvents from \"./AnalyticsEvents\";\n\nconst RESOURCEPATH = \"/analytics\";\n\nexport default class Analytics {\n private readonly _analyticsRules: AnalyticsRules;\n private readonly individualAnalyticsRules: Record = {};\n private readonly _analyticsEvents: AnalyticsEvents;\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._analyticsRules = new AnalyticsRules(this.apiCall);\n this._analyticsEvents = new AnalyticsEvents(this.apiCall);\n }\n\n rules(id?: string): AnalyticsRules | AnalyticsRule {\n if (id === undefined) {\n return this._analyticsRules;\n } else {\n if (this.individualAnalyticsRules[id] === undefined) {\n this.individualAnalyticsRules[id] = new AnalyticsRule(id, this.apiCall);\n }\n return this.individualAnalyticsRules[id];\n }\n }\n\n events(): AnalyticsEvents {\n return this._analyticsEvents;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { StopwordSchema } from \"./Stopword\";\n\nconst RESOURCEPATH = \"/stopwords\";\n\nexport interface StopwordCreateSchema {\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordsRetrieveSchema {\n stopwords: StopwordSchema[];\n}\n\nexport default class Stopwords {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n stopwordId: string,\n params: StopwordCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(stopwordId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Stopwords.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + operation\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Stopwords, { StopwordCreateSchema } from \"./Stopwords\";\n\nexport interface StopwordSchema extends StopwordCreateSchema {\n id: string;\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordDeleteSchema {\n id: string;\n}\n\nexport default class Stopword {\n constructor(\n private stopwordId: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Stopwords.RESOURCEPATH}/${this.stopwordId}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n ConversationModelCreateSchema,\n ConversationModelSchema,\n} from \"./ConversationModel\";\n\nconst RESOURCEPATH = \"/conversations/models\";\n\nexport default class ConversationModels {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(\n this.endpointPath(),\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${ConversationModels.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + operation\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\n\nexport interface ConversationModelCreateSchema {\n id?: string;\n model_name: string;\n api_key?: string;\n system_prompt?: string;\n max_bytes: number;\n history_collection?: string;\n}\n\nexport interface ConversationModelDeleteSchema {\n id: string;\n}\n\nexport interface ConversationModelSchema extends ConversationModelCreateSchema {\n id: string;\n}\n\nexport default class ConversationModel {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async update(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(\n this.endpointPath(),\n );\n }\n\n private endpointPath(): string {\n return `${ConversationModels.RESOURCEPATH}/${this.id}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\nimport ConversationModel from \"./ConversationModel\";\nimport { ConversationSchema } from \"./Conversation\";\n\nconst RESOURCEPATH = \"/conversations\";\n\nexport interface ConversationsRetrieveSchema {\n conversations: ConversationSchema[];\n}\n\nexport default class Conversations {\n private readonly _conversationsModels: ConversationModels;\n private readonly individualConversationModels: Record<\n string,\n ConversationModel\n > = {};\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._conversationsModels = new ConversationModels(this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n models(): ConversationModels;\n models(id: string): ConversationModel;\n models(id?: string): ConversationModels | ConversationModel {\n if (id === undefined) {\n return this._conversationsModels;\n } else {\n if (this.individualConversationModels[id] === undefined) {\n this.individualConversationModels[id] = new ConversationModel(\n id,\n this.apiCall,\n );\n }\n return this.individualConversationModels[id];\n }\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Conversations from \"./Conversations\";\n\nexport interface ConversationDeleteSchema {\n id: number;\n}\n\nexport interface ConversationUpdateSchema {\n ttl: number;\n}\n\nexport interface ConversationSchema {\n id: number;\n conversation: object[];\n last_updated: number;\n ttl: number;\n}\n\nexport default class Conversation {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(\n params: ConversationUpdateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Conversations.RESOURCEPATH}/${this.id}`;\n }\n}\n","/* eslint-disable no-dupe-class-members */\n\nimport Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Collection from \"./Collection\";\nimport Aliases from \"./Aliases\";\nimport Alias from \"./Alias\";\nimport Keys from \"./Keys\";\nimport Key from \"./Key\";\nimport Debug from \"./Debug\";\nimport Metrics from \"./Metrics\";\nimport Stats from \"./Stats\";\nimport Health from \"./Health\";\nimport Operations from \"./Operations\";\nimport MultiSearch from \"./MultiSearch\";\nimport Presets from \"./Presets\";\nimport Preset from \"./Preset\";\nimport Analytics from \"./Analytics\";\nimport Stopwords from \"./Stopwords\";\nimport Stopword from \"./Stopword\";\nimport Conversations from \"./Conversations\";\nimport Conversation from \"./Conversation\";\n\nexport default class Client {\n configuration: Configuration;\n apiCall: ApiCall;\n debug: Debug;\n metrics: Metrics;\n stats: Stats;\n health: Health;\n operations: Operations;\n multiSearch: MultiSearch;\n analytics: Analytics;\n private readonly _collections: Collections;\n private readonly individualCollections: Record;\n private readonly _aliases: Aliases;\n private readonly individualAliases: Record;\n private readonly _keys: Keys;\n private readonly individualKeys: Record;\n private readonly _presets: Presets;\n private readonly individualPresets: Record;\n private readonly _stopwords: Stopwords;\n private readonly individualStopwords: Record;\n private readonly _conversations: Conversations;\n private readonly individualConversations: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? false;\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.debug = new Debug(this.apiCall);\n this.metrics = new Metrics(this.apiCall);\n this.stats = new Stats(this.apiCall);\n this.health = new Health(this.apiCall);\n this.operations = new Operations(this.apiCall);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration);\n this._collections = new Collections(this.apiCall);\n this.individualCollections = {};\n this._aliases = new Aliases(this.apiCall);\n this.individualAliases = {};\n this._keys = new Keys(this.apiCall);\n this.individualKeys = {};\n this._presets = new Presets(this.apiCall);\n this.individualPresets = {};\n this._stopwords = new Stopwords(this.apiCall);\n this.individualStopwords = {};\n this.analytics = new Analytics(this.apiCall);\n this._conversations = new Conversations(this.apiCall);\n this.individualConversations = {};\n }\n\n collections(): Collections;\n collections = object>(\n collectionName: string,\n ): Collection;\n collections(collectionName?: string): Collections | Collection {\n if (collectionName === undefined) {\n return this._collections;\n } else {\n if (this.individualCollections[collectionName] === undefined) {\n this.individualCollections[collectionName] = new Collection(\n collectionName,\n this.apiCall,\n this.configuration,\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n\n aliases(): Aliases;\n aliases(aliasName: string): Alias;\n aliases(aliasName?: string): Aliases | Alias {\n if (aliasName === undefined) {\n return this._aliases;\n } else {\n if (this.individualAliases[aliasName] === undefined) {\n this.individualAliases[aliasName] = new Alias(aliasName, this.apiCall);\n }\n return this.individualAliases[aliasName];\n }\n }\n\n keys(): Keys;\n keys(id: number): Key;\n keys(id?: number): Keys | Key {\n if (id === undefined) {\n return this._keys;\n } else {\n if (this.individualKeys[id] === undefined) {\n this.individualKeys[id] = new Key(id, this.apiCall);\n }\n return this.individualKeys[id];\n }\n }\n\n presets(): Presets;\n presets(id: string): Preset;\n presets(id?: string): Presets | Preset {\n if (id === undefined) {\n return this._presets;\n } else {\n if (this.individualPresets[id] === undefined) {\n this.individualPresets[id] = new Preset(id, this.apiCall);\n }\n return this.individualPresets[id];\n }\n }\n\n stopwords(): Stopwords;\n stopwords(id: string): Stopword;\n stopwords(id?: string): Stopwords | Stopword {\n if (id === undefined) {\n return this._stopwords;\n } else {\n if (this.individualStopwords[id] === undefined) {\n this.individualStopwords[id] = new Stopword(id, this.apiCall);\n }\n return this.individualStopwords[id];\n }\n }\n\n conversations(): Conversations;\n conversations(id: string): Conversation;\n conversations(id?: string): Conversations | Conversation {\n if (id === undefined) {\n return this._conversations;\n } else {\n if (this.individualConversations[id] === undefined) {\n this.individualConversations[id] = new Conversation(id, this.apiCall);\n }\n return this.individualConversations[id];\n }\n }\n}\n","import { DocumentSchema, SearchableDocuments } from \"./Documents\";\nimport ApiCall from \"./ApiCall\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\nexport class SearchOnlyCollection {\n private readonly _documents: SearchableDocuments;\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any\n ) {\n this._documents = new SearchOnlyDocuments(\n this.name,\n this.apiCall,\n this.configuration\n );\n }\n\n documents(): SearchableDocuments {\n return this._documents;\n }\n}\n","import Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport MultiSearch from \"./MultiSearch\";\nimport { DocumentSchema } from \"./Documents\";\nimport { SearchOnlyCollection } from \"./SearchOnlyCollection\";\n\nexport default class SearchClient {\n public readonly multiSearch: MultiSearch;\n private readonly configuration: Configuration;\n private readonly apiCall: ApiCall;\n private readonly individualCollections: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? true;\n if (\n options.sendApiKeyAsQueryParam === true &&\n (options.apiKey || \"\").length > 2000\n ) {\n console.warn(\n \"[typesense] API Key is longer than 2000 characters which is over the allowed limit, so disabling sending it as a query parameter.\"\n );\n options.sendApiKeyAsQueryParam = false;\n }\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration, true);\n this.individualCollections = {};\n }\n\n clearCache() {\n this.multiSearch.clearCache();\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Object.entries(this.individualCollections).forEach(([_, collection]) => {\n collection.documents().clearCache();\n });\n }\n\n collections(\n collectionName: string\n ): SearchOnlyCollection | SearchOnlyCollection {\n if (!collectionName) {\n throw new Error(\n \"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(\n collectionName,\n this.apiCall,\n this.configuration\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n}\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(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\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}","import Client from \"./Typesense/Client\";\nimport SearchClient from \"./Typesense/SearchClient\";\nimport * as Errors from \"./Typesense/Errors\";\n\nexport { Client, SearchClient, Errors };\nexport default { Client, SearchClient, Errors };\n"],"names":["root","definition","noop","undefinedType","isIE","window","navigator","test","userAgent","logMethods","_loggersByName","defaultLogger","bindMethod","obj","methodName","method","bind","Function","prototype","call","e","apply","arguments","traceForIE","console","log","trace","replaceLoggingMethods","level","this","getLevel","i","length","methodFactory","name","debug","levels","SILENT","enableLoggingWhenConsoleArrives","defaultMethodFactory","_level","_loggerName","undefined","realMethod","Logger","factory","inheritedLevel","defaultLevel","userLevel","self","storageKey","getPersistedLevel","storedLevel","localStorage","ignore","cookie","document","cookieName","encodeURIComponent","location","indexOf","exec","slice","normalizeLevel","input","toUpperCase","TypeError","setLevel","persist","levelNum","levelName","persistLevelIfPossible","setDefaultLevel","resetLevel","removeItem","clearPersistedLevel","enableAll","TRACE","disableAll","rebuild","childName","initialLevel","getLogger","logger","_log","noConflict","getLoggers","_typeof","_regeneratorRuntime","module","exports","__esModule","t","r","Object","n","hasOwnProperty","o","defineProperty","value","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","constructor","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","stop","rval","handle","complete","finish","delegateYield","runtime","regeneratorRuntime","accidentalStrictMode","globalThis","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","key","get","prop","_classCallCheck","instance","Constructor","toPropertyKey","toPrimitive","String","_defineProperties","target","props","descriptor","_createClass","protoProps","staticProps","_defineProperty","_assertThisInitialized","ReferenceError","_possibleConstructorReturn","_getPrototypeOf","_setPrototypeOf","_inherits","subClass","superClass","_isNativeReflectConstruct","Boolean","valueOf","Reflect","construct","_wrapNativeSuper","Class","_cache","Map","fn","toString","has","set","Wrapper","TypesenseError","_Error","message","_this","_callSuper","MissingConfigurationError","_TypesenseError","Configuration","options","nodes","map","node","setDefaultPathInNode","setDefaultPortInNode","_objectSpread","randomizeNodes","shuffleArray","nearestNode","connectionTimeoutSeconds","timeoutSeconds","healthcheckIntervalSeconds","numRetries","retryIntervalSeconds","apiKey","sendApiKeyAsQueryParam","cacheSearchResultsForSeconds","useServerSideSearchCache","logLevel","additionalHeaders","httpAgent","httpsAgent","paramsSerializer","showDeprecationWarnings","validate","validateNodes","isNodeMissingAnyParameters","_this2","some","every","warn","masterNode","readReplicaNodes","array","j","Math","floor","random","_ref","asyncGeneratorStep","gen","reject","_next","_throw","info","error","_asyncToGenerator","args","err","thisArg","kindOf","cache","thing","str","toLowerCase","kindOfTest","typeOfTest","isArray","Array","isUndefined","isArrayBuffer","isString","isFunction","isNumber","isObject","isPlainObject","val","isDate","isFile","isBlob","isFileList","isURLSearchParams","isReadableStream","isRequest","isResponse","isHeaders","allOwnKeys","getOwnPropertyNames","len","findKey","_key","_global","global","isContextDefined","context","isTypedArray","TypedArray","Uint8Array","isHTMLForm","isRegExp","reduceDescriptors","reducer","descriptors","getOwnPropertyDescriptors","reducedDescriptors","ret","defineProperties","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","isAsyncFn","isBuffer","isFormData","kind","FormData","append","isArrayBufferView","result","ArrayBuffer","isView","buffer","isBoolean","isStream","pipe","merge","caseless","assignValue","targetKey","extend","b","trim","replace","stripBOM","content","charCodeAt","inherits","superConstructor","assign","toFlatObject","sourceObj","destObj","filter","propFilter","merged","endsWith","searchString","position","lastIndex","toArray","arr","forEachEntry","pair","matchAll","regExp","matches","hasOwnProp","freezeMethods","toObjectSet","arrayOrString","delimiter","split","toCamelCase","m","p1","p2","toFiniteNumber","defaultValue","Number","isFinite","generateString","size","alphabet","isSpecCompliantForm","toJSONObject","stack","visit","source","reducedValue","isThenable","catch","AxiosError","code","config","request","response","captureStackTrace","utils","toJSON","description","number","fileName","lineNumber","columnNumber","status","from","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","path","dots","concat","token","join","predicates","formData","metaTokens","indexes","option","visitor","defaultVisitor","useBlob","Blob","convertValue","toISOString","Buffer","JSON","stringify","isFlatArray","el","index","exposedHelpers","build","encode","charMap","match","AxiosURLSearchParams","params","_pairs","encoder","_encode","buildURL","url","serializeFn","serialize","serializedParams","hashmarkIndex","handlers","use","fulfilled","rejected","synchronous","runWhen","eject","id","clear","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","isBrowser","classes","URLSearchParams","protocols","hasBrowserEnv","hasStandardBrowserEnv","product","hasStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","origin","href","buildPath","isNumericKey","isLast","arrayToObject","entries","parsePropPath","defaults","transitional","adapter","transformRequest","data","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","setContentType","platform","helpers","isNode","toURLEncodedForm","formSerializer","_FormData","env","rawValue","parser","parse","stringifySafely","transformResponse","JSONRequested","responseType","strictJSONParsing","ERR_BAD_RESPONSE","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","ignoreDuplicateOf","$internals","normalizeHeader","header","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","rawHeaders","parsed","line","substring","parseHeaders","tokens","tokensRE","parseTokens","matcher","deleted","deleteHeader","normalize","format","normalized","w","char","formatHeader","targets","asStrings","first","computed","accessor","accessors","defineAccessor","accessorName","arg1","arg2","arg3","buildAccessors","mapped","headerValue","transformData","fns","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","settle","ERR_BAD_REQUEST","listener","isDownloadStream","freq","bytesNotified","_speedometer","samplesCount","min","bytes","timestamps","firstSampleTS","head","tail","chunkLength","now","Date","startedAt","bytesCount","passed","round","timestamp","threshold","timer","force","clearTimeout","setTimeout","loaded","total","lengthComputable","progressBytes","rate","progress","estimated","event","msie","urlParsingNode","createElement","originURL","resolveURL","setAttribute","protocol","host","search","hash","hostname","port","pathname","requestURL","write","expires","domain","secure","toGMTString","read","RegExp","decodeURIComponent","remove","buildFullPath","baseURL","requestedURL","relativeURL","combineURLs","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","withCredentials","withXSRFToken","onUploadProgress","onDownloadProgress","decompress","beforeRedirect","transport","cancelToken","socketPath","responseEncoding","configValue","newConfig","auth","btoa","username","password","unescape","isURLSameOrigin","xsrfValue","cookies","XMLHttpRequest","_config","resolveConfig","requestData","requestHeaders","onCanceled","unsubscribe","signal","removeEventListener","onloadend","responseHeaders","getAllResponseHeaders","responseText","statusText","open","onreadystatechange","readyState","responseURL","onabort","ECONNABORTED","onerror","ERR_NETWORK","ontimeout","timeoutErrorMessage","ETIMEDOUT","setRequestHeader","addEventListener","progressEventReducer","upload","cancel","abort","subscribe","aborted","parseProtocol","send","signals","controller","AbortController","reason","streamChunk","chunk","chunkSize","byteLength","end","pos","trackStream","stream","onProgress","onFinish","iterable","readBytes","ReadableStream","pull","close","enqueue","return","highWaterMark","fetchProgressDecorator","isFetchSupported","fetch","Request","Response","isReadableStreamSupported","encodeText","TextEncoder","arrayBuffer","supportsRequestStream","duplexAccessed","hasContentType","body","duplex","supportsResponseStream","resolvers","res","_","ERR_NOT_SUPPORT","knownAdapters","http","xhr","fetchOptions","finished","composedSignal","stopTimeout","requestContentLength","getContentLength","getBodyLength","resolveBodyLength","contentTypeHeader","_request","isStreamResponse","responseContentLength","responseData","renderReason","isResolvedHandle","adapters","nameOrAdapter","rejectedReasons","reasons","state","throwIfCancellationRequested","throwIfRequested","dispatchRequest","validators","deprecatedWarnings","validator","version","formatMessage","opt","desc","opts","ERR_DEPRECATED","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","Axios","instanceConfig","interceptors","configOrUrl","dummy","boolean","function","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","unshift","responseInterceptorChain","promise","chain","onFulfilled","onRejected","getUri","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","splice","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","axios","createInstance","defaultConfig","VERSION","toFormData","Cancel","all","promises","spread","callback","isAxiosError","payload","formToJSON","getAdapter","default","RequestMalformed","RequestUnauthorized","ObjectNotFound","ObjectAlreadyExists","ObjectUnprocessable","ServerError","HTTPError","HEALTHY","isNodeJSEnvironment","process","versions","ApiCall","configuration","numRetriesPerRequest","additionalUserHeaders","initializeMetadataForNodes","currentNodeIndex","_timer","_performRequest","_patch","_put","_post","_delete2","_get","_callee","endpoint","queryParameters","_ref$abortSignal","abortSignal","_ref$responseType","_args","_context","performRequest","_x","_callee2","_args2","_context2","_x2","_callee3","bodyParameters","_args3","_context3","_x3","_callee4","_args4","_context4","_x4","_callee5","_args5","_context5","_x5","_callee6","requestType","_ref2","_ref2$queryParameters","_ref2$bodyParameters","_ref2$additionalHeade","_ref2$abortSignal","_ref2$responseType","_ref2$skipConnectionT","skipConnectionTimeout","_ref2$enableKeepAlive","enableKeepAlive","requestNumber","lastException","_loop","_ret","numTries","_context7","abortListener","requestOptions","_response$data","_response$data2","_error$response","_context6","getNextNode","uriFor","defaultHeaders","Infinity","transformedData","startsWith","HTTPAgent","keepAlive","HTTPSAgent","setNodeHealthcheck","customErrorForResponse","t0","_x6","_x7","_x8","isHealthy","nodeDueForHealthcheck","candidateNode","isDueForHealthcheck","lastAccessTimestamp","_callee7","seconds","_context8","_x9","messageFromServer","errorMessage","httpStatus","RESOURCEPATH","Collections","apiCall","_retrieve","_create","post","ImportError","importResults","_arrayLikeToArray","arr2","_unsupportedIterableToArray","minLen","_toConsumableArray","iter","RequestWithCache","_perform","responseCache","responsePromiseCache","requestContext","requestFunction","requestFunctionArguments","cacheOptions","_cacheOptions$cacheRe","cacheResponseForSeconds","_cacheOptions$maxSize","maxSize","requestFunctionArgumentsJSON","cacheEntry","cachePromiseEntry","responsePromise","oldestEntry","_oldestEntry","requestTimestamp","delete","SearchOnlyDocuments","collectionName","_search","requestWithCache","clearCache","searchParameters","_ref$cacheSearchResul","additionalQueryParams","queryParams","perform","endpointPath","operation","Documents","_exportStream","_export2","_importStream","_import2","_createMany","_update","_upsert","action","patch","query","documents","import","documentsInJSONLFormat","resultsInJSONLFormat","resultsInJSONFormat","failedItems","_args6","RangeError","includes","success","readableStream","_args7","_callee8","_args8","_callee9","_args9","_context9","Overrides","overrideId","put","Override","Synonyms","synonymId","Synonym","Document","documentId","partialDocument","Collection","_documents","_overrides","_synonyms","_exists","retrieve","individualDocuments","individualOverrides","individualSynonyms","Aliases","mapping","aliasName","Alias","Keys","searchKey","parameters","paramsJSON","digest","createHmac","update","keyPrefix","substr","rawScopedKey","Key","Debug","Metrics","Health","Operations","operationName","MultiSearch","useTextContentType","searchRequests","commonParams","Presets","presetId","Preset","AnalyticsRules","AnalyticsRule","AnalyticsEvents","Analytics","_analyticsRules","_analyticsEvents","individualAnalyticsRules","Stopwords","stopwordId","Stopword","ConversationModels","ConversationModel","Conversations","_conversationsModels","individualConversationModels","Conversation","Client","_options$sendApiKeyAs","metrics","stats","Stats","health","operations","multiSearch","_collections","individualCollections","_aliases","individualAliases","_keys","individualKeys","_presets","individualPresets","_stopwords","individualStopwords","analytics","_conversations","individualConversations","SearchOnlyCollection","SearchClient","Errors"],"sourceRoot":""} \ No newline at end of file diff --git a/lib/Typesense.d.ts b/lib/Typesense.d.ts deleted file mode 100644 index 3cdd44e6..00000000 --- a/lib/Typesense.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import Client from "./Typesense/Client"; -import SearchClient from "./Typesense/SearchClient"; -import * as Errors from "./Typesense/Errors"; -export { Client, SearchClient, Errors }; -declare const _default: { - Client: typeof Client; - SearchClient: typeof SearchClient; - Errors: typeof Errors; -}; -export default _default; diff --git a/lib/Typesense.js b/lib/Typesense.js deleted file mode 100644 index 22556ae5..00000000 --- a/lib/Typesense.js +++ /dev/null @@ -1,12 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Errors = exports.SearchClient = exports.Client = void 0; -var tslib_1 = require("tslib"); -var Client_1 = tslib_1.__importDefault(require("./Typesense/Client")); -exports.Client = Client_1.default; -var SearchClient_1 = tslib_1.__importDefault(require("./Typesense/SearchClient")); -exports.SearchClient = SearchClient_1.default; -var Errors = tslib_1.__importStar(require("./Typesense/Errors")); -exports.Errors = Errors; -exports.default = { Client: Client_1.default, SearchClient: SearchClient_1.default, Errors: Errors }; -//# sourceMappingURL=Typesense.js.map \ No newline at end of file diff --git a/lib/Typesense.js.map b/lib/Typesense.js.map deleted file mode 100644 index 10f3e223..00000000 --- a/lib/Typesense.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Typesense.js","sourceRoot":"","sources":["../src/Typesense.ts"],"names":[],"mappings":";;;;AAAA,sEAAwC;AAI/B,iBAJF,gBAAM,CAIE;AAHf,kFAAoD;AAGnC,uBAHV,sBAAY,CAGU;AAF7B,iEAA6C;AAEd,wBAAM;AACrC,kBAAe,EAAE,MAAM,kBAAA,EAAE,YAAY,wBAAA,EAAE,MAAM,QAAA,EAAE,CAAC"} \ No newline at end of file diff --git a/lib/Typesense/Alias.d.ts b/lib/Typesense/Alias.d.ts deleted file mode 100644 index 6e36a7d3..00000000 --- a/lib/Typesense/Alias.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { CollectionAliasSchema } from "./Aliases"; -import ApiCall from "./ApiCall"; -export default class Alias { - private name; - private apiCall; - constructor(name: string, apiCall: ApiCall); - retrieve(): Promise; - delete(): Promise; - private endpointPath; -} diff --git a/lib/Typesense/Alias.js b/lib/Typesense/Alias.js deleted file mode 100644 index 531ff21f..00000000 --- a/lib/Typesense/Alias.js +++ /dev/null @@ -1,30 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var Aliases_1 = tslib_1.__importDefault(require("./Aliases")); -var Alias = /** @class */ (function () { - function Alias(name, apiCall) { - this.name = name; - this.apiCall = apiCall; - } - Alias.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - Alias.prototype.delete = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.delete(this.endpointPath())]; - }); - }); - }; - Alias.prototype.endpointPath = function () { - return "".concat(Aliases_1.default.RESOURCEPATH, "/").concat(this.name); - }; - return Alias; -}()); -exports.default = Alias; -//# sourceMappingURL=Alias.js.map \ No newline at end of file diff --git a/lib/Typesense/Alias.js.map b/lib/Typesense/Alias.js.map deleted file mode 100644 index 8716e9e2..00000000 --- a/lib/Typesense/Alias.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Alias.js","sourceRoot":"","sources":["../../src/Typesense/Alias.ts"],"names":[],"mappings":";;;AAAA,8DAA2D;AAG3D;IACE,eAAoB,IAAY,EAAU,OAAgB;QAAtC,SAAI,GAAJ,IAAI,CAAQ;QAAU,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAExD,wBAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAwB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACrE;IAEK,sBAAM,GAAZ;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAwB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACxE;IAEO,4BAAY,GAApB;QACE,OAAO,UAAG,iBAAO,CAAC,YAAY,cAAI,IAAI,CAAC,IAAI,CAAE,CAAC;IAChD,CAAC;IACH,YAAC;AAAD,CAAC,AAdD,IAcC"} \ No newline at end of file diff --git a/lib/Typesense/Aliases.d.ts b/lib/Typesense/Aliases.d.ts deleted file mode 100644 index aad02136..00000000 --- a/lib/Typesense/Aliases.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import ApiCall from "./ApiCall"; -export interface CollectionAliasCreateSchema { - collection_name: string; -} -export interface CollectionAliasSchema extends CollectionAliasCreateSchema { - name: string; -} -export interface CollectionAliasesResponseSchema { - aliases: CollectionAliasSchema[]; -} -export default class Aliases { - private apiCall; - constructor(apiCall: ApiCall); - upsert(name: string, mapping: CollectionAliasCreateSchema): Promise; - retrieve(): Promise; - private endpointPath; - static get RESOURCEPATH(): string; -} diff --git a/lib/Typesense/Aliases.js b/lib/Typesense/Aliases.js deleted file mode 100644 index a054489d..00000000 --- a/lib/Typesense/Aliases.js +++ /dev/null @@ -1,36 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var RESOURCEPATH = "/aliases"; -var Aliases = /** @class */ (function () { - function Aliases(apiCall) { - this.apiCall = apiCall; - } - Aliases.prototype.upsert = function (name, mapping) { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.put(this.endpointPath(name), mapping)]; - }); - }); - }; - Aliases.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(RESOURCEPATH)]; - }); - }); - }; - Aliases.prototype.endpointPath = function (aliasName) { - return "".concat(Aliases.RESOURCEPATH, "/").concat(aliasName); - }; - Object.defineProperty(Aliases, "RESOURCEPATH", { - get: function () { - return RESOURCEPATH; - }, - enumerable: false, - configurable: true - }); - return Aliases; -}()); -exports.default = Aliases; -//# sourceMappingURL=Aliases.js.map \ No newline at end of file diff --git a/lib/Typesense/Aliases.js.map b/lib/Typesense/Aliases.js.map deleted file mode 100644 index 45897a6f..00000000 --- a/lib/Typesense/Aliases.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Aliases.js","sourceRoot":"","sources":["../../src/Typesense/Aliases.ts"],"names":[],"mappings":";;;AAEA,IAAM,YAAY,GAAG,UAAU,CAAC;AAchC;IACE,iBAAoB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAElC,wBAAM,GAAZ,UACE,IAAY,EACZ,OAAoC;;;gBAEpC,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CACrB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EACvB,OAAO,CACR,EAAC;;;KACH;IAEK,0BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAkC,YAAY,CAAC,EAAC;;;KACxE;IAEO,8BAAY,GAApB,UAAqB,SAAS;QAC5B,OAAO,UAAG,OAAO,CAAC,YAAY,cAAI,SAAS,CAAE,CAAC;IAChD,CAAC;IAED,sBAAW,uBAAY;aAAvB;YACE,OAAO,YAAY,CAAC;QACtB,CAAC;;;OAAA;IACH,cAAC;AAAD,CAAC,AAxBD,IAwBC"} \ No newline at end of file diff --git a/lib/Typesense/Analytics.d.ts b/lib/Typesense/Analytics.d.ts deleted file mode 100644 index ea151dad..00000000 --- a/lib/Typesense/Analytics.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -import ApiCall from "./ApiCall"; -import AnalyticsRules from "./AnalyticsRules"; -import AnalyticsRule from "./AnalyticsRule"; -import AnalyticsEvents from "./AnalyticsEvents"; -export default class Analytics { - private readonly apiCall; - private readonly _analyticsRules; - private readonly individualAnalyticsRules; - private readonly _analyticsEvents; - constructor(apiCall: ApiCall); - rules(id?: string): AnalyticsRules | AnalyticsRule; - events(): AnalyticsEvents; - static get RESOURCEPATH(): string; -} diff --git a/lib/Typesense/Analytics.js b/lib/Typesense/Analytics.js deleted file mode 100644 index 620f3bfb..00000000 --- a/lib/Typesense/Analytics.js +++ /dev/null @@ -1,40 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var AnalyticsRules_1 = tslib_1.__importDefault(require("./AnalyticsRules")); -var AnalyticsRule_1 = tslib_1.__importDefault(require("./AnalyticsRule")); -var AnalyticsEvents_1 = tslib_1.__importDefault(require("./AnalyticsEvents")); -var RESOURCEPATH = "/analytics"; -var Analytics = /** @class */ (function () { - function Analytics(apiCall) { - this.apiCall = apiCall; - this.individualAnalyticsRules = {}; - this.apiCall = apiCall; - this._analyticsRules = new AnalyticsRules_1.default(this.apiCall); - this._analyticsEvents = new AnalyticsEvents_1.default(this.apiCall); - } - Analytics.prototype.rules = function (id) { - if (id === undefined) { - return this._analyticsRules; - } - else { - if (this.individualAnalyticsRules[id] === undefined) { - this.individualAnalyticsRules[id] = new AnalyticsRule_1.default(id, this.apiCall); - } - return this.individualAnalyticsRules[id]; - } - }; - Analytics.prototype.events = function () { - return this._analyticsEvents; - }; - Object.defineProperty(Analytics, "RESOURCEPATH", { - get: function () { - return RESOURCEPATH; - }, - enumerable: false, - configurable: true - }); - return Analytics; -}()); -exports.default = Analytics; -//# sourceMappingURL=Analytics.js.map \ No newline at end of file diff --git a/lib/Typesense/Analytics.js.map b/lib/Typesense/Analytics.js.map deleted file mode 100644 index 246fa2a9..00000000 --- a/lib/Typesense/Analytics.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Analytics.js","sourceRoot":"","sources":["../../src/Typesense/Analytics.ts"],"names":[],"mappings":";;;AACA,4EAA8C;AAC9C,0EAA4C;AAC5C,8EAAgD;AAEhD,IAAM,YAAY,GAAG,YAAY,CAAC;AAElC;IAKE,mBAA6B,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;QAH5B,6BAAwB,GAAkC,EAAE,CAAC;QAI5E,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,IAAI,wBAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,gBAAgB,GAAG,IAAI,yBAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC;IAED,yBAAK,GAAL,UAAM,EAAW;QACf,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC,eAAe,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC;gBACpD,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAAC,GAAG,IAAI,uBAAa,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1E,CAAC;YACD,OAAO,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,0BAAM,GAAN;QACE,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED,sBAAW,yBAAY;aAAvB;YACE,OAAO,YAAY,CAAC;QACtB,CAAC;;;OAAA;IACH,gBAAC;AAAD,CAAC,AA7BD,IA6BC"} \ No newline at end of file diff --git a/lib/Typesense/AnalyticsEvent.d.ts b/lib/Typesense/AnalyticsEvent.d.ts deleted file mode 100644 index ee67d7a6..00000000 --- a/lib/Typesense/AnalyticsEvent.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -export interface AnalyticsEventCreateSchema { - type: string; - name: string; - data?: object; -} diff --git a/lib/Typesense/AnalyticsEvent.js b/lib/Typesense/AnalyticsEvent.js deleted file mode 100644 index 6c827326..00000000 --- a/lib/Typesense/AnalyticsEvent.js +++ /dev/null @@ -1,3 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -//# sourceMappingURL=AnalyticsEvent.js.map \ No newline at end of file diff --git a/lib/Typesense/AnalyticsEvent.js.map b/lib/Typesense/AnalyticsEvent.js.map deleted file mode 100644 index df36680c..00000000 --- a/lib/Typesense/AnalyticsEvent.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AnalyticsEvent.js","sourceRoot":"","sources":["../../src/Typesense/AnalyticsEvent.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/lib/Typesense/AnalyticsEvents.d.ts b/lib/Typesense/AnalyticsEvents.d.ts deleted file mode 100644 index 98157081..00000000 --- a/lib/Typesense/AnalyticsEvents.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -import ApiCall from "./ApiCall"; -import { AnalyticsEventCreateSchema } from "./AnalyticsEvent"; -export default class AnalyticsEvents { - private readonly apiCall; - constructor(apiCall: ApiCall); - create(params: AnalyticsEventCreateSchema): Promise; - private endpointPath; - static get RESOURCEPATH(): string; -} diff --git a/lib/Typesense/AnalyticsEvents.js b/lib/Typesense/AnalyticsEvents.js deleted file mode 100644 index ea613178..00000000 --- a/lib/Typesense/AnalyticsEvents.js +++ /dev/null @@ -1,30 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var RESOURCEPATH = "/analytics/events"; -var AnalyticsEvents = /** @class */ (function () { - function AnalyticsEvents(apiCall) { - this.apiCall = apiCall; - this.apiCall = apiCall; - } - AnalyticsEvents.prototype.create = function (params) { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.post(this.endpointPath(), params)]; - }); - }); - }; - AnalyticsEvents.prototype.endpointPath = function (operation) { - return "".concat(AnalyticsEvents.RESOURCEPATH).concat(operation === undefined ? "" : "/" + operation); - }; - Object.defineProperty(AnalyticsEvents, "RESOURCEPATH", { - get: function () { - return RESOURCEPATH; - }, - enumerable: false, - configurable: true - }); - return AnalyticsEvents; -}()); -exports.default = AnalyticsEvents; -//# sourceMappingURL=AnalyticsEvents.js.map \ No newline at end of file diff --git a/lib/Typesense/AnalyticsEvents.js.map b/lib/Typesense/AnalyticsEvents.js.map deleted file mode 100644 index ea8de94a..00000000 --- a/lib/Typesense/AnalyticsEvents.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AnalyticsEvents.js","sourceRoot":"","sources":["../../src/Typesense/AnalyticsEvents.ts"],"names":[],"mappings":";;;AAGA,IAAM,YAAY,GAAG,mBAAmB,CAAC;AAEzC;IACE,yBAA6B,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;QAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEK,gCAAM,GAAZ,UACE,MAAkC;;;gBAElC,sBAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CACtB,IAAI,CAAC,YAAY,EAAE,EACnB,MAAM,CACP,EAAC;;;KACH;IAEO,sCAAY,GAApB,UAAqB,SAAkB;QACrC,OAAO,UAAG,eAAe,CAAC,YAAY,SACpC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,SAAS,CAC9C,CAAC;IACL,CAAC;IAED,sBAAW,+BAAY;aAAvB;YACE,OAAO,YAAY,CAAC;QACtB,CAAC;;;OAAA;IACH,sBAAC;AAAD,CAAC,AAvBD,IAuBC"} \ No newline at end of file diff --git a/lib/Typesense/AnalyticsRule.d.ts b/lib/Typesense/AnalyticsRule.d.ts deleted file mode 100644 index 1eb865e5..00000000 --- a/lib/Typesense/AnalyticsRule.d.ts +++ /dev/null @@ -1,34 +0,0 @@ -import ApiCall from "./ApiCall"; -export interface AnalyticsRuleCreateSchema { - type: "popular_queries" | "nohits_queries" | "counter"; - params: { - source: { - collections: string[]; - events?: Array<{ - type: string; - weight: number; - name: string; - }>; - }; - expand_query?: boolean; - destination: { - collection: string; - counter_field?: string; - }; - limit?: number; - }; -} -export interface AnalyticsRuleDeleteSchema { - name: string; -} -export interface AnalyticsRuleSchema extends AnalyticsRuleCreateSchema { - name: string; -} -export default class AnalyticsRule { - private name; - private apiCall; - constructor(name: string, apiCall: ApiCall); - retrieve(): Promise; - delete(): Promise; - private endpointPath; -} diff --git a/lib/Typesense/AnalyticsRule.js b/lib/Typesense/AnalyticsRule.js deleted file mode 100644 index 1d40c1b8..00000000 --- a/lib/Typesense/AnalyticsRule.js +++ /dev/null @@ -1,30 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var AnalyticsRules_1 = tslib_1.__importDefault(require("./AnalyticsRules")); -var AnalyticsRule = /** @class */ (function () { - function AnalyticsRule(name, apiCall) { - this.name = name; - this.apiCall = apiCall; - } - AnalyticsRule.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - AnalyticsRule.prototype.delete = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.delete(this.endpointPath())]; - }); - }); - }; - AnalyticsRule.prototype.endpointPath = function () { - return "".concat(AnalyticsRules_1.default.RESOURCEPATH, "/").concat(this.name); - }; - return AnalyticsRule; -}()); -exports.default = AnalyticsRule; -//# sourceMappingURL=AnalyticsRule.js.map \ No newline at end of file diff --git a/lib/Typesense/AnalyticsRule.js.map b/lib/Typesense/AnalyticsRule.js.map deleted file mode 100644 index 71e4752d..00000000 --- a/lib/Typesense/AnalyticsRule.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AnalyticsRule.js","sourceRoot":"","sources":["../../src/Typesense/AnalyticsRule.ts"],"names":[],"mappings":";;;AACA,4EAA8C;AA8B9C;IACE,uBACU,IAAY,EACZ,OAAgB;QADhB,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAS;IACvB,CAAC;IAEE,gCAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAsB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACnE;IAEK,8BAAM,GAAZ;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAA4B,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KAC5E;IAEO,oCAAY,GAApB;QACE,OAAO,UAAG,wBAAc,CAAC,YAAY,cAAI,IAAI,CAAC,IAAI,CAAE,CAAC;IACvD,CAAC;IACH,oBAAC;AAAD,CAAC,AAjBD,IAiBC"} \ No newline at end of file diff --git a/lib/Typesense/AnalyticsRules.d.ts b/lib/Typesense/AnalyticsRules.d.ts deleted file mode 100644 index 5ac34f01..00000000 --- a/lib/Typesense/AnalyticsRules.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import ApiCall from "./ApiCall"; -import { AnalyticsRuleCreateSchema, AnalyticsRuleSchema } from "./AnalyticsRule"; -export interface AnalyticsRulesRetrieveSchema { - rules: AnalyticsRuleSchema[]; -} -export default class AnalyticsRules { - private readonly apiCall; - constructor(apiCall: ApiCall); - upsert(name: string, params: AnalyticsRuleCreateSchema): Promise; - retrieve(): Promise; - private endpointPath; - static get RESOURCEPATH(): string; -} diff --git a/lib/Typesense/AnalyticsRules.js b/lib/Typesense/AnalyticsRules.js deleted file mode 100644 index f84e2649..00000000 --- a/lib/Typesense/AnalyticsRules.js +++ /dev/null @@ -1,37 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var RESOURCEPATH = "/analytics/rules"; -var AnalyticsRules = /** @class */ (function () { - function AnalyticsRules(apiCall) { - this.apiCall = apiCall; - this.apiCall = apiCall; - } - AnalyticsRules.prototype.upsert = function (name, params) { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.put(this.endpointPath(name), params)]; - }); - }); - }; - AnalyticsRules.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - AnalyticsRules.prototype.endpointPath = function (operation) { - return "".concat(AnalyticsRules.RESOURCEPATH).concat(operation === undefined ? "" : "/" + operation); - }; - Object.defineProperty(AnalyticsRules, "RESOURCEPATH", { - get: function () { - return RESOURCEPATH; - }, - enumerable: false, - configurable: true - }); - return AnalyticsRules; -}()); -exports.default = AnalyticsRules; -//# sourceMappingURL=AnalyticsRules.js.map \ No newline at end of file diff --git a/lib/Typesense/AnalyticsRules.js.map b/lib/Typesense/AnalyticsRules.js.map deleted file mode 100644 index c49c5229..00000000 --- a/lib/Typesense/AnalyticsRules.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AnalyticsRules.js","sourceRoot":"","sources":["../../src/Typesense/AnalyticsRules.ts"],"names":[],"mappings":";;;AAUA,IAAM,YAAY,GAAG,kBAAkB,CAAC;AAExC;IACE,wBAA6B,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;QAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEK,+BAAM,GAAZ,UACE,IAAY,EACZ,MAAiC;;;gBAEjC,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CACrB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EACvB,MAAM,CACP,EAAC;;;KACH;IAEK,iCAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAA+B,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KAC5E;IAEO,qCAAY,GAApB,UAAqB,SAAkB;QACrC,OAAO,UAAG,cAAc,CAAC,YAAY,SACnC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,SAAS,CAC9C,CAAC;IACL,CAAC;IAED,sBAAW,8BAAY;aAAvB;YACE,OAAO,YAAY,CAAC;QACtB,CAAC;;;OAAA;IACH,qBAAC;AAAD,CAAC,AA5BD,IA4BC"} \ No newline at end of file diff --git a/lib/Typesense/ApiCall.d.ts b/lib/Typesense/ApiCall.d.ts deleted file mode 100644 index e1f288a2..00000000 --- a/lib/Typesense/ApiCall.d.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { AxiosRequestConfig, AxiosResponse, Method } from "axios"; -import TypesenseError from "./Errors/TypesenseError"; -import Configuration, { NodeConfiguration } from "./Configuration"; -interface Node extends NodeConfiguration { - isHealthy: boolean; - index: string | number; -} -export default class ApiCall { - private configuration; - private readonly apiKey; - private readonly nodes; - private readonly nearestNode; - private readonly connectionTimeoutSeconds; - private readonly healthcheckIntervalSeconds; - private readonly retryIntervalSeconds; - private readonly sendApiKeyAsQueryParam?; - private readonly numRetriesPerRequest; - private readonly additionalUserHeaders?; - private readonly logger; - private currentNodeIndex; - constructor(configuration: Configuration); - get(endpoint: string, queryParameters?: any, { abortSignal, responseType, }?: { - abortSignal?: any; - responseType?: AxiosRequestConfig["responseType"] | undefined; - }): Promise; - delete(endpoint: string, queryParameters?: any): Promise; - post(endpoint: string, bodyParameters?: any, queryParameters?: any, additionalHeaders?: any): Promise; - put(endpoint: string, bodyParameters?: any, queryParameters?: any): Promise; - patch(endpoint: string, bodyParameters?: any, queryParameters?: any): Promise; - performRequest(requestType: Method, endpoint: string, { queryParameters, bodyParameters, additionalHeaders, abortSignal, responseType, skipConnectionTimeout, enableKeepAlive, }: { - queryParameters?: any; - bodyParameters?: any; - additionalHeaders?: any; - abortSignal?: any; - responseType?: AxiosRequestConfig["responseType"] | undefined; - skipConnectionTimeout?: boolean; - enableKeepAlive?: boolean | undefined; - }): Promise; - getNextNode(requestNumber?: number): Node; - nodeDueForHealthcheck(node: any, requestNumber?: number): boolean; - initializeMetadataForNodes(): void; - setNodeHealthcheck(node: any, isHealthy: any): void; - uriFor(endpoint: string, node: any): string; - defaultHeaders(): any; - timer(seconds: any): Promise; - customErrorForResponse(response: AxiosResponse, messageFromServer: string): TypesenseError; -} -export {}; diff --git a/lib/Typesense/ApiCall.js b/lib/Typesense/ApiCall.js deleted file mode 100644 index f7ece604..00000000 --- a/lib/Typesense/ApiCall.js +++ /dev/null @@ -1,384 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var axios_1 = tslib_1.__importDefault(require("axios")); -var Errors_1 = require("./Errors"); -var TypesenseError_1 = tslib_1.__importDefault(require("./Errors/TypesenseError")); -var http_1 = require("http"); -var https_1 = require("https"); -var APIKEYHEADERNAME = "X-TYPESENSE-API-KEY"; -var HEALTHY = true; -var UNHEALTHY = false; -var isNodeJSEnvironment = typeof process !== "undefined" && - process.versions != null && - process.versions.node != null; -var ApiCall = /** @class */ (function () { - function ApiCall(configuration) { - this.configuration = configuration; - this.apiKey = this.configuration.apiKey; - this.nodes = - this.configuration.nodes == null - ? this.configuration.nodes - : JSON.parse(JSON.stringify(this.configuration.nodes)); // Make a copy, since we'll be adding additional metadata to the nodes - this.nearestNode = - this.configuration.nearestNode == null - ? this.configuration.nearestNode - : JSON.parse(JSON.stringify(this.configuration.nearestNode)); - this.connectionTimeoutSeconds = this.configuration.connectionTimeoutSeconds; - this.healthcheckIntervalSeconds = - this.configuration.healthcheckIntervalSeconds; - this.numRetriesPerRequest = this.configuration.numRetries; - this.retryIntervalSeconds = this.configuration.retryIntervalSeconds; - this.sendApiKeyAsQueryParam = this.configuration.sendApiKeyAsQueryParam; - this.additionalUserHeaders = this.configuration.additionalHeaders; - this.logger = this.configuration.logger; - this.initializeMetadataForNodes(); - this.currentNodeIndex = -1; - } - ApiCall.prototype.get = function (endpoint, queryParameters, _a) { - if (queryParameters === void 0) { queryParameters = {}; } - var _b = _a === void 0 ? {} : _a, _c = _b.abortSignal, abortSignal = _c === void 0 ? null : _c, _d = _b.responseType, responseType = _d === void 0 ? undefined : _d; - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_e) { - return [2 /*return*/, this.performRequest("get", endpoint, { - queryParameters: queryParameters, - abortSignal: abortSignal, - responseType: responseType, - })]; - }); - }); - }; - ApiCall.prototype.delete = function (endpoint, queryParameters) { - if (queryParameters === void 0) { queryParameters = {}; } - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.performRequest("delete", endpoint, { queryParameters: queryParameters })]; - }); - }); - }; - ApiCall.prototype.post = function (endpoint, bodyParameters, queryParameters, additionalHeaders) { - if (bodyParameters === void 0) { bodyParameters = {}; } - if (queryParameters === void 0) { queryParameters = {}; } - if (additionalHeaders === void 0) { additionalHeaders = {}; } - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.performRequest("post", endpoint, { - queryParameters: queryParameters, - bodyParameters: bodyParameters, - additionalHeaders: additionalHeaders, - })]; - }); - }); - }; - ApiCall.prototype.put = function (endpoint, bodyParameters, queryParameters) { - if (bodyParameters === void 0) { bodyParameters = {}; } - if (queryParameters === void 0) { queryParameters = {}; } - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.performRequest("put", endpoint, { - queryParameters: queryParameters, - bodyParameters: bodyParameters, - })]; - }); - }); - }; - ApiCall.prototype.patch = function (endpoint, bodyParameters, queryParameters) { - if (bodyParameters === void 0) { bodyParameters = {}; } - if (queryParameters === void 0) { queryParameters = {}; } - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.performRequest("patch", endpoint, { - queryParameters: queryParameters, - bodyParameters: bodyParameters, - })]; - }); - }); - }; - ApiCall.prototype.performRequest = function (requestType, endpoint, _a) { - var _b, _c, _d; - 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, _l = _a.enableKeepAlive, enableKeepAlive = _l === void 0 ? undefined : _l; - return tslib_1.__awaiter(this, void 0, void 0, function () { - var requestNumber, lastException, _loop_1, this_1, numTries, state_1; - return tslib_1.__generator(this, function (_m) { - switch (_m.label) { - case 0: - this.configuration.validate(); - requestNumber = Date.now(); - this.logger.debug("Request #".concat(requestNumber, ": Performing ").concat(requestType.toUpperCase(), " request: ").concat(endpoint)); - _loop_1 = function (numTries) { - var node, abortListener, requestOptions, cancelToken, source_1, response, error_1; - return tslib_1.__generator(this, function (_o) { - switch (_o.label) { - case 0: - node = this_1.getNextNode(requestNumber); - this_1.logger.debug("Request #".concat(requestNumber, ": Attempting ").concat(requestType.toUpperCase(), " request Try #").concat(numTries, " to Node ").concat(node.index)); - if (abortSignal && abortSignal.aborted) { - return [2 /*return*/, { value: Promise.reject(new Error("Request aborted by caller.")) }]; - } - abortListener = void 0; - _o.label = 1; - case 1: - _o.trys.push([1, 3, 5, 6]); - requestOptions = { - method: requestType, - url: this_1.uriFor(endpoint, node), - headers: Object.assign({}, this_1.defaultHeaders(), additionalHeaders, this_1.additionalUserHeaders), - maxContentLength: Infinity, - maxBodyLength: Infinity, - responseType: responseType, - validateStatus: function (status) { - /* Override default validateStatus, which only considers 2xx a success. - In our case, if the server returns any HTTP code, we will handle it below. - We do this to be able to raise custom errors based on response code. - */ - return status > 0; - }, - transformResponse: [ - function (data, headers) { - var transformedData = data; - if (headers !== undefined && - typeof data === "string" && - headers["content-type"] && - headers["content-type"].startsWith("application/json")) { - transformedData = JSON.parse(data); - } - return transformedData; - }, - ], - }; - if (skipConnectionTimeout !== true) { - requestOptions.timeout = this_1.connectionTimeoutSeconds * 1000; - } - if (queryParameters && Object.keys(queryParameters).length !== 0) { - requestOptions.params = queryParameters; - } - if (this_1.sendApiKeyAsQueryParam) { - requestOptions.params = requestOptions.params || {}; - requestOptions.params["x-typesense-api-key"] = this_1.apiKey; - } - if (this_1.configuration.httpAgent) { - this_1.logger.debug("Request #".concat(requestNumber, ": Using custom httpAgent")); - requestOptions.httpAgent = this_1.configuration.httpAgent; - } - else if (enableKeepAlive === true) { - if (!isNodeJSEnvironment) { - this_1.logger.warn("Request #".concat(requestNumber, ": Cannot use custom httpAgent in a browser environment to enable keepAlive")); - } - else { - this_1.logger.debug("Request #".concat(requestNumber, ": Enabling KeepAlive")); - requestOptions.httpAgent = new http_1.Agent({ keepAlive: true }); - } - } - if (this_1.configuration.httpsAgent) { - this_1.logger.debug("Request #".concat(requestNumber, ": Using custom httpsAgent")); - requestOptions.httpsAgent = this_1.configuration.httpsAgent; - } - else if (enableKeepAlive === true) { - if (!isNodeJSEnvironment) { - this_1.logger.warn("Request #".concat(requestNumber, ": Cannot use custom httpAgent in a browser environment to enable keepAlive")); - } - else { - this_1.logger.debug("Request #".concat(requestNumber, ": Enabling keepAlive")); - requestOptions.httpsAgent = new https_1.Agent({ keepAlive: true }); - } - } - if (this_1.configuration.paramsSerializer) { - this_1.logger.debug("Request #".concat(requestNumber, ": Using custom paramsSerializer")); - requestOptions.paramsSerializer = this_1.configuration.paramsSerializer; - } - if (bodyParameters && - ((typeof bodyParameters === "string" && - bodyParameters.length !== 0) || - (typeof bodyParameters === "object" && - Object.keys(bodyParameters).length !== 0))) { - requestOptions.data = bodyParameters; - } - // Translate from user-provided AbortController to the Axios request cancel mechanism. - if (abortSignal) { - cancelToken = axios_1.default.CancelToken; - source_1 = cancelToken.source(); - abortListener = function () { return source_1.cancel(); }; - abortSignal.addEventListener("abort", abortListener); - requestOptions.cancelToken = source_1.token; - } - return [4 /*yield*/, (0, axios_1.default)(requestOptions)]; - case 2: - response = _o.sent(); - if (response.status >= 1 && response.status <= 499) { - // Treat any status code > 0 and < 500 to be an indication that node is healthy - // We exclude 0 since some clients return 0 when request fails - this_1.setNodeHealthcheck(node, HEALTHY); - } - this_1.logger.debug("Request #".concat(requestNumber, ": Request to Node ").concat(node.index, " was made. Response Code was ").concat(response.status, ".")); - if (response.status >= 200 && response.status < 300) { - return [2 /*return*/, { value: Promise.resolve(response.data) }]; - } - else if (response.status < 500) { - return [2 /*return*/, { value: Promise.reject(this_1.customErrorForResponse(response, (_b = response.data) === null || _b === void 0 ? void 0 : _b.message)) }]; - } - else { - // Retry all other HTTP errors (HTTPStatus > 500) - // This will get caught by the catch block below - throw this_1.customErrorForResponse(response, (_c = response.data) === null || _c === void 0 ? void 0 : _c.message); - } - return [3 /*break*/, 6]; - case 3: - error_1 = _o.sent(); - // This block handles retries for HTTPStatus > 500 and network layer issues like connection timeouts - this_1.setNodeHealthcheck(node, UNHEALTHY); - lastException = error_1; - 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 - ? "" - : " - " + JSON.stringify((_d = error_1.response) === null || _d === void 0 ? void 0 : _d.data), "\"")); - // this.logger.debug(error.stack) - this_1.logger.warn("Request #".concat(requestNumber, ": Sleeping for ").concat(this_1.retryIntervalSeconds, "s and then retrying request...")); - return [4 /*yield*/, this_1.timer(this_1.retryIntervalSeconds)]; - case 4: - _o.sent(); - return [3 /*break*/, 6]; - case 5: - if (abortSignal && abortListener) { - abortSignal.removeEventListener("abort", abortListener); - } - return [7 /*endfinally*/]; - case 6: return [2 /*return*/]; - } - }); - }; - this_1 = this; - numTries = 1; - _m.label = 1; - case 1: - if (!(numTries <= this.numRetriesPerRequest + 1)) return [3 /*break*/, 4]; - return [5 /*yield**/, _loop_1(numTries)]; - case 2: - state_1 = _m.sent(); - if (typeof state_1 === "object") - return [2 /*return*/, state_1.value]; - _m.label = 3; - case 3: - numTries++; - return [3 /*break*/, 1]; - case 4: - this.logger.debug("Request #".concat(requestNumber, ": No retries left. Raising last error")); - return [2 /*return*/, Promise.reject(lastException)]; - } - }); - }); - }; - // Attempts to find the next healthy node, looping through the list of nodes once. - // But if no healthy nodes are found, it will just return the next node, even if it's unhealthy - // so we can try the request for good measure, in case that node has become healthy since - ApiCall.prototype.getNextNode = function (requestNumber) { - if (requestNumber === void 0) { requestNumber = 0; } - // Check if nearestNode is set and is healthy, if so return it - if (this.nearestNode != null) { - this.logger.debug("Request #".concat(requestNumber, ": Nodes Health: Node ").concat(this.nearestNode.index, " is ").concat(this.nearestNode.isHealthy === true ? "Healthy" : "Unhealthy")); - if (this.nearestNode.isHealthy === true || - this.nodeDueForHealthcheck(this.nearestNode, requestNumber)) { - this.logger.debug("Request #".concat(requestNumber, ": Updated current node to Node ").concat(this.nearestNode.index)); - return this.nearestNode; - } - this.logger.debug("Request #".concat(requestNumber, ": Falling back to individual nodes")); - } - // Fallback to nodes as usual - this.logger.debug("Request #".concat(requestNumber, ": Nodes Health: ").concat(this.nodes - .map(function (node) { - return "Node ".concat(node.index, " is ").concat(node.isHealthy === true ? "Healthy" : "Unhealthy"); - }) - .join(" || "))); - var candidateNode = this.nodes[0]; - for (var i = 0; i <= this.nodes.length; i++) { - this.currentNodeIndex = (this.currentNodeIndex + 1) % this.nodes.length; - candidateNode = this.nodes[this.currentNodeIndex]; - if (candidateNode.isHealthy === true || - this.nodeDueForHealthcheck(candidateNode, requestNumber)) { - this.logger.debug("Request #".concat(requestNumber, ": Updated current node to Node ").concat(candidateNode.index)); - return candidateNode; - } - } - // None of the nodes are marked healthy, but some of them could have become healthy since last health check. - // So we will just return the next node. - this.logger.debug("Request #".concat(requestNumber, ": No healthy nodes were found. Returning the next node, Node ").concat(candidateNode.index)); - return candidateNode; - }; - ApiCall.prototype.nodeDueForHealthcheck = function (node, requestNumber) { - if (requestNumber === void 0) { requestNumber = 0; } - var isDueForHealthcheck = Date.now() - node.lastAccessTimestamp > - this.healthcheckIntervalSeconds * 1000; - if (isDueForHealthcheck) { - this.logger.debug("Request #".concat(requestNumber, ": Node ").concat(node.index, " has exceeded healtcheckIntervalSeconds of ").concat(this.healthcheckIntervalSeconds, ". Adding it back into rotation.")); - } - return isDueForHealthcheck; - }; - ApiCall.prototype.initializeMetadataForNodes = function () { - var _this = this; - if (this.nearestNode != null) { - this.nearestNode.index = "nearestNode"; - this.setNodeHealthcheck(this.nearestNode, HEALTHY); - } - this.nodes.forEach(function (node, i) { - node.index = i; - _this.setNodeHealthcheck(node, HEALTHY); - }); - }; - ApiCall.prototype.setNodeHealthcheck = function (node, isHealthy) { - node.isHealthy = isHealthy; - node.lastAccessTimestamp = Date.now(); - }; - ApiCall.prototype.uriFor = function (endpoint, node) { - if (node.url != null) { - return "".concat(node.url).concat(endpoint); - } - return "".concat(node.protocol, "://").concat(node.host, ":").concat(node.port).concat(node.path).concat(endpoint); - }; - ApiCall.prototype.defaultHeaders = function () { - var defaultHeaders = {}; - if (!this.sendApiKeyAsQueryParam) { - defaultHeaders[APIKEYHEADERNAME] = this.apiKey; - } - defaultHeaders["Content-Type"] = "application/json"; - return defaultHeaders; - }; - ApiCall.prototype.timer = function (seconds) { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, new Promise(function (resolve) { return setTimeout(resolve, seconds * 1000); })]; - }); - }); - }; - ApiCall.prototype.customErrorForResponse = function (response, messageFromServer) { - var errorMessage = "Request failed with HTTP code ".concat(response.status); - if (typeof messageFromServer === "string" && - messageFromServer.trim() !== "") { - errorMessage += " | Server said: ".concat(messageFromServer); - } - var error = new TypesenseError_1.default(errorMessage); - if (response.status === 400) { - error = new Errors_1.RequestMalformed(errorMessage); - } - else if (response.status === 401) { - error = new Errors_1.RequestUnauthorized(errorMessage); - } - else if (response.status === 404) { - error = new Errors_1.ObjectNotFound(errorMessage); - } - else if (response.status === 409) { - error = new Errors_1.ObjectAlreadyExists(errorMessage); - } - else if (response.status === 422) { - error = new Errors_1.ObjectUnprocessable(errorMessage); - } - else if (response.status >= 500 && response.status <= 599) { - error = new Errors_1.ServerError(errorMessage); - } - else { - error = new Errors_1.HTTPError(errorMessage); - } - error.httpStatus = response.status; - return error; - }; - return ApiCall; -}()); -exports.default = ApiCall; -//# sourceMappingURL=ApiCall.js.map \ No newline at end of file diff --git a/lib/Typesense/ApiCall.js.map b/lib/Typesense/ApiCall.js.map deleted file mode 100644 index 6d30d6af..00000000 --- a/lib/Typesense/ApiCall.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ApiCall.js","sourceRoot":"","sources":["../../src/Typesense/ApiCall.ts"],"names":[],"mappings":";;;AAAA,wDAAyE;AAEzE,mCAQkB;AAClB,mFAAqD;AAErD,6BAA0C;AAC1C,+BAA4C;AAE5C,IAAM,gBAAgB,GAAG,qBAAqB,CAAC;AAC/C,IAAM,OAAO,GAAG,IAAI,CAAC;AACrB,IAAM,SAAS,GAAG,KAAK,CAAC;AAOxB,IAAM,mBAAmB,GACvB,OAAO,OAAO,KAAK,WAAW;IAC9B,OAAO,CAAC,QAAQ,IAAI,IAAI;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC;AAEhC;IAcE,iBAAoB,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QAC9C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QACxC,IAAI,CAAC,KAAK;YACR,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,IAAI;gBAC9B,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK;gBAC1B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,sEAAsE;QAClI,IAAI,CAAC,WAAW;YACd,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,IAAI;gBACpC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW;gBAChC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC;QAC5E,IAAI,CAAC,0BAA0B;YAC7B,IAAI,CAAC,aAAa,CAAC,0BAA0B,CAAC;QAChD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC;QAC1D,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC;QACpE,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC;QACxE,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC;QAElE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QAExC,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAClC,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;IAC7B,CAAC;IAEK,qBAAG,GAAT,UACE,QAAgB,EAChB,eAAyB,EACzB,EAMM;QAPN,gCAAA,EAAA,oBAAyB;YACzB,qBAMI,EAAE,KAAA,EALJ,mBAAkB,EAAlB,WAAW,mBAAG,IAAI,KAAA,EAClB,oBAAwB,EAAxB,YAAY,mBAAG,SAAS,KAAA;;;gBAM1B,sBAAO,IAAI,CAAC,cAAc,CAAI,KAAK,EAAE,QAAQ,EAAE;wBAC7C,eAAe,iBAAA;wBACf,WAAW,aAAA;wBACX,YAAY,cAAA;qBACb,CAAC,EAAC;;;KACJ;IAEK,wBAAM,GAAZ,UAAgB,QAAgB,EAAE,eAAyB;QAAzB,gCAAA,EAAA,oBAAyB;;;gBACzD,sBAAO,IAAI,CAAC,cAAc,CAAI,QAAQ,EAAE,QAAQ,EAAE,EAAE,eAAe,iBAAA,EAAE,CAAC,EAAC;;;KACxE;IAEK,sBAAI,GAAV,UACE,QAAgB,EAChB,cAAwB,EACxB,eAAyB,EACzB,iBAA2B;QAF3B,+BAAA,EAAA,mBAAwB;QACxB,gCAAA,EAAA,oBAAyB;QACzB,kCAAA,EAAA,sBAA2B;;;gBAE3B,sBAAO,IAAI,CAAC,cAAc,CAAI,MAAM,EAAE,QAAQ,EAAE;wBAC9C,eAAe,iBAAA;wBACf,cAAc,gBAAA;wBACd,iBAAiB,mBAAA;qBAClB,CAAC,EAAC;;;KACJ;IAEK,qBAAG,GAAT,UACE,QAAgB,EAChB,cAAwB,EACxB,eAAyB;QADzB,+BAAA,EAAA,mBAAwB;QACxB,gCAAA,EAAA,oBAAyB;;;gBAEzB,sBAAO,IAAI,CAAC,cAAc,CAAI,KAAK,EAAE,QAAQ,EAAE;wBAC7C,eAAe,iBAAA;wBACf,cAAc,gBAAA;qBACf,CAAC,EAAC;;;KACJ;IAEK,uBAAK,GAAX,UACE,QAAgB,EAChB,cAAwB,EACxB,eAAyB;QADzB,+BAAA,EAAA,mBAAwB;QACxB,gCAAA,EAAA,oBAAyB;;;gBAEzB,sBAAO,IAAI,CAAC,cAAc,CAAI,OAAO,EAAE,QAAQ,EAAE;wBAC/C,eAAe,iBAAA;wBACf,cAAc,gBAAA;qBACf,CAAC,EAAC;;;KACJ;IAEK,gCAAc,GAApB,UACE,WAAmB,EACnB,QAAgB,EAChB,EAgBC;;YAfC,uBAAsB,EAAtB,eAAe,mBAAG,IAAI,KAAA,EACtB,sBAAqB,EAArB,cAAc,mBAAG,IAAI,KAAA,EACrB,yBAAsB,EAAtB,iBAAiB,mBAAG,EAAE,KAAA,EACtB,mBAAkB,EAAlB,WAAW,mBAAG,IAAI,KAAA,EAClB,oBAAwB,EAAxB,YAAY,mBAAG,SAAS,KAAA,EACxB,6BAA6B,EAA7B,qBAAqB,mBAAG,KAAK,KAAA,EAC7B,uBAA2B,EAA3B,eAAe,mBAAG,SAAS,KAAA;;;;;;wBAW7B,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;wBAExB,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;wBAEjC,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,mBAAY,aAAa,0BAAgB,WAAW,CAAC,WAAW,EAAE,uBAAa,QAAQ,CAAE,CAC1F,CAAC;4CAEI,QAAQ;;;;;wCAIN,IAAI,GAAG,OAAK,WAAW,CAAC,aAAa,CAAC,CAAC;wCAC7C,OAAK,MAAM,CAAC,KAAK,CACf,mBAAY,aAAa,0BAAgB,WAAW,CAAC,WAAW,EAAE,2BAAiB,QAAQ,sBACzF,IAAI,CAAC,KAAK,CACV,CACH,CAAC;wCAEF,IAAI,WAAW,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;2EAChC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;wCAChE,CAAC;wCAEG,aAAa,SAAA,CAAC;;;;wCAGV,cAAc,GAAuB;4CACzC,MAAM,EAAE,WAAW;4CACnB,GAAG,EAAE,OAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC;4CAChC,OAAO,EAAE,MAAM,CAAC,MAAM,CACpB,EAAE,EACF,OAAK,cAAc,EAAE,EACrB,iBAAiB,EACjB,OAAK,qBAAqB,CAC3B;4CACD,gBAAgB,EAAE,QAAQ;4CAC1B,aAAa,EAAE,QAAQ;4CACvB,YAAY,cAAA;4CACZ,cAAc,EAAE,UAAC,MAAM;gDACrB;;;mDAGG;gDACH,OAAO,MAAM,GAAG,CAAC,CAAC;4CACpB,CAAC;4CACD,iBAAiB,EAAE;gDACjB,UAAC,IAAI,EAAE,OAAO;oDACZ,IAAI,eAAe,GAAG,IAAI,CAAC;oDAC3B,IACE,OAAO,KAAK,SAAS;wDACrB,OAAO,IAAI,KAAK,QAAQ;wDACxB,OAAO,CAAC,cAAc,CAAC;wDACvB,OAAO,CAAC,cAAc,CAAC,CAAC,UAAU,CAAC,kBAAkB,CAAC,EACtD,CAAC;wDACD,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oDACrC,CAAC;oDACD,OAAO,eAAe,CAAC;gDACzB,CAAC;6CACF;yCACF,CAAC;wCAEF,IAAI,qBAAqB,KAAK,IAAI,EAAE,CAAC;4CACnC,cAAc,CAAC,OAAO,GAAG,OAAK,wBAAwB,GAAG,IAAI,CAAC;wCAChE,CAAC;wCAED,IAAI,eAAe,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4CACjE,cAAc,CAAC,MAAM,GAAG,eAAe,CAAC;wCAC1C,CAAC;wCAED,IAAI,OAAK,sBAAsB,EAAE,CAAC;4CAChC,cAAc,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,IAAI,EAAE,CAAC;4CACpD,cAAc,CAAC,MAAM,CAAC,qBAAqB,CAAC,GAAG,OAAK,MAAM,CAAC;wCAC7D,CAAC;wCAED,IAAI,OAAK,aAAa,CAAC,SAAS,EAAE,CAAC;4CACjC,OAAK,MAAM,CAAC,KAAK,CACf,mBAAY,aAAa,6BAA0B,CACpD,CAAC;4CACF,cAAc,CAAC,SAAS,GAAG,OAAK,aAAa,CAAC,SAAS,CAAC;wCAC1D,CAAC;6CAAM,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;4CACpC,IAAI,CAAC,mBAAmB,EAAE,CAAC;gDACzB,OAAK,MAAM,CAAC,IAAI,CACd,mBAAY,aAAa,+EAA4E,CACtG,CAAC;4CACJ,CAAC;iDAAM,CAAC;gDACN,OAAK,MAAM,CAAC,KAAK,CAAC,mBAAY,aAAa,yBAAsB,CAAC,CAAC;gDACnE,cAAc,CAAC,SAAS,GAAG,IAAI,YAAS,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;4CAChE,CAAC;wCACH,CAAC;wCAED,IAAI,OAAK,aAAa,CAAC,UAAU,EAAE,CAAC;4CAClC,OAAK,MAAM,CAAC,KAAK,CACf,mBAAY,aAAa,8BAA2B,CACrD,CAAC;4CACF,cAAc,CAAC,UAAU,GAAG,OAAK,aAAa,CAAC,UAAU,CAAC;wCAC5D,CAAC;6CAAM,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;4CACpC,IAAI,CAAC,mBAAmB,EAAE,CAAC;gDACzB,OAAK,MAAM,CAAC,IAAI,CACd,mBAAY,aAAa,+EAA4E,CACtG,CAAC;4CACJ,CAAC;iDAAM,CAAC;gDACN,OAAK,MAAM,CAAC,KAAK,CAAC,mBAAY,aAAa,yBAAsB,CAAC,CAAC;gDACnE,cAAc,CAAC,UAAU,GAAG,IAAI,aAAU,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;4CAClE,CAAC;wCACH,CAAC;wCAED,IAAI,OAAK,aAAa,CAAC,gBAAgB,EAAE,CAAC;4CACxC,OAAK,MAAM,CAAC,KAAK,CACf,mBAAY,aAAa,oCAAiC,CAC3D,CAAC;4CACF,cAAc,CAAC,gBAAgB,GAAG,OAAK,aAAa,CAAC,gBAAgB,CAAC;wCACxE,CAAC;wCAED,IACE,cAAc;4CACd,CAAC,CAAC,OAAO,cAAc,KAAK,QAAQ;gDAClC,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC;gDAC5B,CAAC,OAAO,cAAc,KAAK,QAAQ;oDACjC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,EAC9C,CAAC;4CACD,cAAc,CAAC,IAAI,GAAG,cAAc,CAAC;wCACvC,CAAC;wCAED,sFAAsF;wCACtF,IAAI,WAAW,EAAE,CAAC;4CACV,WAAW,GAAG,eAAK,CAAC,WAAW,CAAC;4CAChC,WAAS,WAAW,CAAC,MAAM,EAAE,CAAC;4CACpC,aAAa,GAAG,cAAM,OAAA,QAAM,CAAC,MAAM,EAAE,EAAf,CAAe,CAAC;4CACtC,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;4CACrD,cAAc,CAAC,WAAW,GAAG,QAAM,CAAC,KAAK,CAAC;wCAC5C,CAAC;wCAEgB,qBAAM,IAAA,eAAK,EAAC,cAAc,CAAC,EAAA;;wCAAtC,QAAQ,GAAG,SAA2B;wCAC5C,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;4CACnD,+EAA+E;4CAC/E,8DAA8D;4CAC9D,OAAK,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;wCACzC,CAAC;wCACD,OAAK,MAAM,CAAC,KAAK,CACf,mBAAY,aAAa,+BAAqB,IAAI,CAAC,KAAK,0CAAgC,QAAQ,CAAC,MAAM,MAAG,CAC3G,CAAC;wCAEF,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;2EAE7C,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;wCACvC,CAAC;6CAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;2EAE1B,OAAO,CAAC,MAAM,CACnB,OAAK,sBAAsB,CAAC,QAAQ,EAAE,MAAA,QAAQ,CAAC,IAAI,0CAAE,OAAO,CAAC,CAC9D;wCACH,CAAC;6CAAM,CAAC;4CACN,iDAAiD;4CACjD,gDAAgD;4CAChD,MAAM,OAAK,sBAAsB,CAAC,QAAQ,EAAE,MAAA,QAAQ,CAAC,IAAI,0CAAE,OAAO,CAAC,CAAC;wCACtE,CAAC;;;;wCAED,oGAAoG;wCACpG,OAAK,kBAAkB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;wCACzC,aAAa,GAAG,OAAK,CAAC;wCACtB,OAAK,MAAM,CAAC,IAAI,CACd,mBAAY,aAAa,+BACvB,IAAI,CAAC,KAAK,8BACO,OAAK,CAAC,IAAI,cAAI,OAAK,CAAC,OAAO,SAC5C,OAAK,CAAC,QAAQ,IAAI,IAAI;4CACpB,CAAC,CAAC,EAAE;4CACJ,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAA,OAAK,CAAC,QAAQ,0CAAE,IAAI,CAAC,OAC/C,CACJ,CAAC;wCACF,iCAAiC;wCACjC,OAAK,MAAM,CAAC,IAAI,CACd,mBAAY,aAAa,4BAAkB,OAAK,oBAAoB,mCAAgC,CACrG,CAAC;wCACF,qBAAM,OAAK,KAAK,CAAC,OAAK,oBAAoB,CAAC,EAAA;;wCAA3C,SAA2C,CAAC;;;wCAE5C,IAAI,WAAW,IAAI,aAAa,EAAE,CAAC;4CACjC,WAAW,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;wCAC1D,CAAC;;;;;;;wBAxKC,QAAQ,GAAG,CAAC;;;6BAChB,CAAA,QAAQ,IAAI,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAA;sDADrC,QAAQ;;;;;;;wBAEZ,QAAQ,EAAE,CAAA;;;wBAyKZ,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,mBAAY,aAAa,0CAAuC,CACjE,CAAC;wBACF,sBAAO,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,EAAC;;;;KACtC;IAED,kFAAkF;IAClF,iGAAiG;IACjG,6FAA6F;IAC7F,6BAAW,GAAX,UAAY,aAAiB;QAAjB,8BAAA,EAAA,iBAAiB;QAC3B,8DAA8D;QAC9D,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,mBAAY,aAAa,kCACvB,IAAI,CAAC,WAAW,CAAC,KAAK,iBACjB,IAAI,CAAC,WAAW,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAE,CACvE,CAAC;YACF,IACE,IAAI,CAAC,WAAW,CAAC,SAAS,KAAK,IAAI;gBACnC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,EAC3D,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,mBAAY,aAAa,4CAAkC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAE,CACpF,CAAC;gBACF,OAAO,IAAI,CAAC,WAAW,CAAC;YAC1B,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,mBAAY,aAAa,uCAAoC,CAC9D,CAAC;QACJ,CAAC;QAED,6BAA6B;QAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,mBAAY,aAAa,6BAAmB,IAAI,CAAC,KAAK;aACnD,GAAG,CACF,UAAC,IAAI;YACH,OAAA,eAAQ,IAAI,CAAC,KAAK,iBAChB,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CACjD;QAFF,CAEE,CACL;aACA,IAAI,CAAC,MAAM,CAAC,CAAE,CAClB,CAAC;QACF,IAAI,aAAa,GAAS,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YACxE,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAClD,IACE,aAAa,CAAC,SAAS,KAAK,IAAI;gBAChC,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,aAAa,CAAC,EACxD,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,mBAAY,aAAa,4CAAkC,aAAa,CAAC,KAAK,CAAE,CACjF,CAAC;gBACF,OAAO,aAAa,CAAC;YACvB,CAAC;QACH,CAAC;QAED,4GAA4G;QAC5G,yCAAyC;QACzC,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,mBAAY,aAAa,0EAAgE,aAAa,CAAC,KAAK,CAAE,CAC/G,CAAC;QACF,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,uCAAqB,GAArB,UAAsB,IAAI,EAAE,aAAiB;QAAjB,8BAAA,EAAA,iBAAiB;QAC3C,IAAM,mBAAmB,GACvB,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,mBAAmB;YACrC,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;QACzC,IAAI,mBAAmB,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,mBAAY,aAAa,oBAAU,IAAI,CAAC,KAAK,wDAA8C,IAAI,CAAC,0BAA0B,oCAAiC,CAC5J,CAAC;QACJ,CAAC;QACD,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,4CAA0B,GAA1B;QAAA,iBAUC;QATC,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;YAC7B,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,aAAa,CAAC;YACvC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI,EAAE,CAAC;YACzB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;YACf,KAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oCAAkB,GAAlB,UAAmB,IAAI,EAAE,SAAS;QAChC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACxC,CAAC;IAED,wBAAM,GAAN,UAAO,QAAgB,EAAE,IAAI;QAC3B,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;YACrB,OAAO,UAAG,IAAI,CAAC,GAAG,SAAG,QAAQ,CAAE,CAAC;QAClC,CAAC;QACD,OAAO,UAAG,IAAI,CAAC,QAAQ,gBAAM,IAAI,CAAC,IAAI,cAAI,IAAI,CAAC,IAAI,SAAG,IAAI,CAAC,IAAI,SAAG,QAAQ,CAAE,CAAC;IAC/E,CAAC;IAED,gCAAc,GAAd;QACE,IAAM,cAAc,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACjC,cAAc,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QACjD,CAAC;QACD,cAAc,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;QACpD,OAAO,cAAc,CAAC;IACxB,CAAC;IAEK,uBAAK,GAAX,UAAY,OAAO;;;gBACjB,sBAAO,IAAI,OAAO,CAAC,UAAC,OAAO,IAAK,OAAA,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC,EAAnC,CAAmC,CAAC,EAAC;;;KACtE;IAED,wCAAsB,GAAtB,UACE,QAAuB,EACvB,iBAAyB;QAEzB,IAAI,YAAY,GAAG,wCAAiC,QAAQ,CAAC,MAAM,CAAE,CAAC;QACtE,IACE,OAAO,iBAAiB,KAAK,QAAQ;YACrC,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,EAC/B,CAAC;YACD,YAAY,IAAI,0BAAmB,iBAAiB,CAAE,CAAC;QACzD,CAAC;QAED,IAAI,KAAK,GAAG,IAAI,wBAAc,CAAC,YAAY,CAAC,CAAC;QAE7C,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,KAAK,GAAG,IAAI,yBAAgB,CAAC,YAAY,CAAC,CAAC;QAC7C,CAAC;aAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACnC,KAAK,GAAG,IAAI,4BAAmB,CAAC,YAAY,CAAC,CAAC;QAChD,CAAC;aAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACnC,KAAK,GAAG,IAAI,uBAAc,CAAC,YAAY,CAAC,CAAC;QAC3C,CAAC;aAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACnC,KAAK,GAAG,IAAI,4BAAmB,CAAC,YAAY,CAAC,CAAC;QAChD,CAAC;aAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACnC,KAAK,GAAG,IAAI,4BAAmB,CAAC,YAAY,CAAC,CAAC;QAChD,CAAC;aAAM,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;YAC5D,KAAK,GAAG,IAAI,oBAAW,CAAC,YAAY,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,IAAI,kBAAS,CAAC,YAAY,CAAC,CAAC;QACtC,CAAC;QAED,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC;QAEnC,OAAO,KAAK,CAAC;IACf,CAAC;IACH,cAAC;AAAD,CAAC,AA3bD,IA2bC"} \ No newline at end of file diff --git a/lib/Typesense/Client.d.ts b/lib/Typesense/Client.d.ts deleted file mode 100644 index 843112e1..00000000 --- a/lib/Typesense/Client.d.ts +++ /dev/null @@ -1,57 +0,0 @@ -import Configuration, { ConfigurationOptions } from "./Configuration"; -import ApiCall from "./ApiCall"; -import Collections from "./Collections"; -import Collection from "./Collection"; -import Aliases from "./Aliases"; -import Alias from "./Alias"; -import Keys from "./Keys"; -import Key from "./Key"; -import Debug from "./Debug"; -import Metrics from "./Metrics"; -import Stats from "./Stats"; -import Health from "./Health"; -import Operations from "./Operations"; -import MultiSearch from "./MultiSearch"; -import Presets from "./Presets"; -import Preset from "./Preset"; -import Analytics from "./Analytics"; -import Stopwords from "./Stopwords"; -import Stopword from "./Stopword"; -import Conversations from "./Conversations"; -import Conversation from "./Conversation"; -export default class Client { - configuration: Configuration; - apiCall: ApiCall; - debug: Debug; - metrics: Metrics; - stats: Stats; - health: Health; - operations: Operations; - multiSearch: MultiSearch; - analytics: Analytics; - private readonly _collections; - private readonly individualCollections; - private readonly _aliases; - private readonly individualAliases; - private readonly _keys; - private readonly individualKeys; - private readonly _presets; - private readonly individualPresets; - private readonly _stopwords; - private readonly individualStopwords; - private readonly _conversations; - private readonly individualConversations; - constructor(options: ConfigurationOptions); - collections(): Collections; - collections = object>(collectionName: string): Collection; - aliases(): Aliases; - aliases(aliasName: string): Alias; - keys(): Keys; - keys(id: number): Key; - presets(): Presets; - presets(id: string): Preset; - stopwords(): Stopwords; - stopwords(id: string): Stopword; - conversations(): Conversations; - conversations(id: string): Conversation; -} diff --git a/lib/Typesense/Client.js b/lib/Typesense/Client.js deleted file mode 100644 index ed6bb73c..00000000 --- a/lib/Typesense/Client.js +++ /dev/null @@ -1,121 +0,0 @@ -"use strict"; -/* eslint-disable no-dupe-class-members */ -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var Configuration_1 = tslib_1.__importDefault(require("./Configuration")); -var ApiCall_1 = tslib_1.__importDefault(require("./ApiCall")); -var Collections_1 = tslib_1.__importDefault(require("./Collections")); -var Collection_1 = tslib_1.__importDefault(require("./Collection")); -var Aliases_1 = tslib_1.__importDefault(require("./Aliases")); -var Alias_1 = tslib_1.__importDefault(require("./Alias")); -var Keys_1 = tslib_1.__importDefault(require("./Keys")); -var Key_1 = tslib_1.__importDefault(require("./Key")); -var Debug_1 = tslib_1.__importDefault(require("./Debug")); -var Metrics_1 = tslib_1.__importDefault(require("./Metrics")); -var Stats_1 = tslib_1.__importDefault(require("./Stats")); -var Health_1 = tslib_1.__importDefault(require("./Health")); -var Operations_1 = tslib_1.__importDefault(require("./Operations")); -var MultiSearch_1 = tslib_1.__importDefault(require("./MultiSearch")); -var Presets_1 = tslib_1.__importDefault(require("./Presets")); -var Preset_1 = tslib_1.__importDefault(require("./Preset")); -var Analytics_1 = tslib_1.__importDefault(require("./Analytics")); -var Stopwords_1 = tslib_1.__importDefault(require("./Stopwords")); -var Stopword_1 = tslib_1.__importDefault(require("./Stopword")); -var Conversations_1 = tslib_1.__importDefault(require("./Conversations")); -var Conversation_1 = tslib_1.__importDefault(require("./Conversation")); -var Client = /** @class */ (function () { - function Client(options) { - var _a; - options.sendApiKeyAsQueryParam = (_a = options.sendApiKeyAsQueryParam) !== null && _a !== void 0 ? _a : false; - this.configuration = new Configuration_1.default(options); - this.apiCall = new ApiCall_1.default(this.configuration); - this.debug = new Debug_1.default(this.apiCall); - this.metrics = new Metrics_1.default(this.apiCall); - this.stats = new Stats_1.default(this.apiCall); - this.health = new Health_1.default(this.apiCall); - this.operations = new Operations_1.default(this.apiCall); - this.multiSearch = new MultiSearch_1.default(this.apiCall, this.configuration); - this._collections = new Collections_1.default(this.apiCall); - this.individualCollections = {}; - this._aliases = new Aliases_1.default(this.apiCall); - this.individualAliases = {}; - this._keys = new Keys_1.default(this.apiCall); - this.individualKeys = {}; - this._presets = new Presets_1.default(this.apiCall); - this.individualPresets = {}; - this._stopwords = new Stopwords_1.default(this.apiCall); - this.individualStopwords = {}; - this.analytics = new Analytics_1.default(this.apiCall); - this._conversations = new Conversations_1.default(this.apiCall); - this.individualConversations = {}; - } - Client.prototype.collections = function (collectionName) { - if (collectionName === undefined) { - return this._collections; - } - else { - if (this.individualCollections[collectionName] === undefined) { - this.individualCollections[collectionName] = new Collection_1.default(collectionName, this.apiCall, this.configuration); - } - return this.individualCollections[collectionName]; - } - }; - Client.prototype.aliases = function (aliasName) { - if (aliasName === undefined) { - return this._aliases; - } - else { - if (this.individualAliases[aliasName] === undefined) { - this.individualAliases[aliasName] = new Alias_1.default(aliasName, this.apiCall); - } - return this.individualAliases[aliasName]; - } - }; - Client.prototype.keys = function (id) { - if (id === undefined) { - return this._keys; - } - else { - if (this.individualKeys[id] === undefined) { - this.individualKeys[id] = new Key_1.default(id, this.apiCall); - } - return this.individualKeys[id]; - } - }; - Client.prototype.presets = function (id) { - if (id === undefined) { - return this._presets; - } - else { - if (this.individualPresets[id] === undefined) { - this.individualPresets[id] = new Preset_1.default(id, this.apiCall); - } - return this.individualPresets[id]; - } - }; - Client.prototype.stopwords = function (id) { - if (id === undefined) { - return this._stopwords; - } - else { - if (this.individualStopwords[id] === undefined) { - this.individualStopwords[id] = new Stopword_1.default(id, this.apiCall); - } - return this.individualStopwords[id]; - } - }; - Client.prototype.conversations = function (id) { - if (id === undefined) { - return this._conversations; - } - else { - if (this.individualConversations[id] === undefined) { - this.individualConversations[id] = new Conversation_1.default(id, this.apiCall); - } - return this.individualConversations[id]; - } - }; - return Client; -}()); -exports.default = Client; -//# sourceMappingURL=Client.js.map \ No newline at end of file diff --git a/lib/Typesense/Client.js.map b/lib/Typesense/Client.js.map deleted file mode 100644 index f62fe966..00000000 --- a/lib/Typesense/Client.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Client.js","sourceRoot":"","sources":["../../src/Typesense/Client.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/Typesense/Collection.d.ts b/lib/Typesense/Collection.d.ts deleted file mode 100644 index ad994c38..00000000 --- a/lib/Typesense/Collection.d.ts +++ /dev/null @@ -1,58 +0,0 @@ -import ApiCall from "./ApiCall"; -import { CollectionCreateSchema } from "./Collections"; -import Documents, { DocumentSchema } from "./Documents"; -import Overrides from "./Overrides"; -import Override from "./Override"; -import Synonyms from "./Synonyms"; -import Synonym from "./Synonym"; -import { Document } from "./Document"; -export type FieldType = "string" | "int32" | "int64" | "float" | "bool" | "geopoint" | "geopoint[]" | "string[]" | "int32[]" | "int64[]" | "float[]" | "bool[]" | "object" | "object[]" | "auto" | "string*" | "image"; -export interface CollectionFieldSchema { - name: string; - type: FieldType; - optional?: boolean; - facet?: boolean; - index?: boolean; - sort?: boolean; - locale?: string; - infix?: boolean; - stem?: boolean; - num_dim?: number; - store?: boolean; - [t: string]: unknown; -} -export interface CollectionSchema extends CollectionCreateSchema { - created_at: number; - num_documents: number; - num_memory_shards: number; -} -export interface CollectionDropFieldSchema { - name: string; - drop: true; -} -export interface CollectionUpdateSchema extends Partial> { - fields?: (CollectionFieldSchema | CollectionDropFieldSchema)[]; -} -export default class Collection { - private readonly name; - private readonly apiCall; - private readonly configuration; - private readonly _documents; - private individualDocuments; - private readonly _overrides; - private individualOverrides; - private readonly _synonyms; - private individualSynonyms; - constructor(name: string, apiCall: ApiCall, configuration: any); - retrieve(): Promise; - update(schema: CollectionUpdateSchema): Promise; - delete(): Promise; - exists(): Promise; - documents(): Documents; - documents(documentId: string): Document; - overrides(): Overrides; - overrides(overrideId: string): Override; - synonyms(): Synonyms; - synonyms(synonymId: string): Synonym; - private endpointPath; -} diff --git a/lib/Typesense/Collection.js b/lib/Typesense/Collection.js deleted file mode 100644 index 6f5d7fcf..00000000 --- a/lib/Typesense/Collection.js +++ /dev/null @@ -1,108 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var Collections_1 = tslib_1.__importDefault(require("./Collections")); -var Documents_1 = tslib_1.__importDefault(require("./Documents")); -var Errors_1 = require("./Errors"); -var Overrides_1 = tslib_1.__importDefault(require("./Overrides")); -var Override_1 = tslib_1.__importDefault(require("./Override")); -var Synonyms_1 = tslib_1.__importDefault(require("./Synonyms")); -var Synonym_1 = tslib_1.__importDefault(require("./Synonym")); -var Document_1 = require("./Document"); -var Collection = /** @class */ (function () { - function Collection(name, apiCall, configuration) { - this.name = name; - this.apiCall = apiCall; - this.configuration = configuration; - this.individualDocuments = {}; - this.individualOverrides = {}; - this.individualSynonyms = {}; - this.name = name; - this.apiCall = apiCall; - this.configuration = configuration; - this._documents = new Documents_1.default(this.name, this.apiCall, this.configuration); - this._overrides = new Overrides_1.default(this.name, this.apiCall); - this._synonyms = new Synonyms_1.default(this.name, this.apiCall); - } - Collection.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - Collection.prototype.update = function (schema) { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.patch(this.endpointPath(), schema)]; - }); - }); - }; - Collection.prototype.delete = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.delete(this.endpointPath())]; - }); - }); - }; - Collection.prototype.exists = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - var e_1; - return tslib_1.__generator(this, function (_a) { - switch (_a.label) { - case 0: - _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.retrieve()]; - case 1: - _a.sent(); - return [2 /*return*/, true]; - case 2: - e_1 = _a.sent(); - if (e_1 instanceof Errors_1.ObjectNotFound) - return [2 /*return*/, false]; - throw e_1; - case 3: return [2 /*return*/]; - } - }); - }); - }; - Collection.prototype.documents = function (documentId) { - if (!documentId) { - return this._documents; - } - else { - if (this.individualDocuments[documentId] === undefined) { - this.individualDocuments[documentId] = new Document_1.Document(this.name, documentId, this.apiCall); - } - return this.individualDocuments[documentId]; - } - }; - Collection.prototype.overrides = function (overrideId) { - if (overrideId === undefined) { - return this._overrides; - } - else { - if (this.individualOverrides[overrideId] === undefined) { - this.individualOverrides[overrideId] = new Override_1.default(this.name, overrideId, this.apiCall); - } - return this.individualOverrides[overrideId]; - } - }; - Collection.prototype.synonyms = function (synonymId) { - if (synonymId === undefined) { - return this._synonyms; - } - else { - if (this.individualSynonyms[synonymId] === undefined) { - this.individualSynonyms[synonymId] = new Synonym_1.default(this.name, synonymId, this.apiCall); - } - return this.individualSynonyms[synonymId]; - } - }; - Collection.prototype.endpointPath = function () { - return "".concat(Collections_1.default.RESOURCEPATH, "/").concat(this.name); - }; - return Collection; -}()); -exports.default = Collection; -//# sourceMappingURL=Collection.js.map \ No newline at end of file diff --git a/lib/Typesense/Collection.js.map b/lib/Typesense/Collection.js.map deleted file mode 100644 index 047decbe..00000000 --- a/lib/Typesense/Collection.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Collection.js","sourceRoot":"","sources":["../../src/Typesense/Collection.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/Typesense/Collections.d.ts b/lib/Typesense/Collections.d.ts deleted file mode 100644 index 050962bd..00000000 --- a/lib/Typesense/Collections.d.ts +++ /dev/null @@ -1,27 +0,0 @@ -import ApiCall from "./ApiCall"; -import { CollectionFieldSchema, CollectionSchema } from "./Collection"; -export interface CollectionCreateSchema { - name: string; - default_sorting_field?: string; - fields?: CollectionFieldSchema[]; - symbols_to_index?: string[]; - token_separators?: string[]; - enable_nested_fields?: boolean; - metadata?: object; - voice_query_model?: { - model_name?: string; - }; -} -export interface CollectionCreateOptions { - src_name?: string; -} -export interface CollectionsRetrieveOptions { - exclude_fields?: string; -} -export default class Collections { - private apiCall; - constructor(apiCall: ApiCall); - create(schema: CollectionCreateSchema, options?: CollectionCreateOptions): Promise; - retrieve(options?: CollectionsRetrieveOptions): Promise; - static get RESOURCEPATH(): string; -} diff --git a/lib/Typesense/Collections.js b/lib/Typesense/Collections.js deleted file mode 100644 index 81fd19fa..00000000 --- a/lib/Typesense/Collections.js +++ /dev/null @@ -1,35 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var RESOURCEPATH = "/collections"; -var Collections = /** @class */ (function () { - function Collections(apiCall) { - this.apiCall = apiCall; - } - Collections.prototype.create = function (schema, options) { - if (options === void 0) { options = {}; } - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.post(RESOURCEPATH, schema, options)]; - }); - }); - }; - Collections.prototype.retrieve = function (options) { - if (options === void 0) { options = {}; } - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(RESOURCEPATH, options)]; - }); - }); - }; - Object.defineProperty(Collections, "RESOURCEPATH", { - get: function () { - return RESOURCEPATH; - }, - enumerable: false, - configurable: true - }); - return Collections; -}()); -exports.default = Collections; -//# sourceMappingURL=Collections.js.map \ No newline at end of file diff --git a/lib/Typesense/Collections.js.map b/lib/Typesense/Collections.js.map deleted file mode 100644 index 5f12284e..00000000 --- a/lib/Typesense/Collections.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Collections.js","sourceRoot":"","sources":["../../src/Typesense/Collections.ts"],"names":[],"mappings":";;;AAwBA,IAAM,YAAY,GAAG,cAAc,CAAC;AAEpC;IACE,qBAAoB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAElC,4BAAM,GAAZ,UACE,MAA8B,EAC9B,OAAqC;QAArC,wBAAA,EAAA,YAAqC;;;gBAErC,sBAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAmB,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAC;;;KAC3E;IAEK,8BAAQ,GAAd,UACE,OAAwC;QAAxC,wBAAA,EAAA,YAAwC;;;gBAExC,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAqB,YAAY,EAAE,OAAO,CAAC,EAAC;;;KACpE;IAED,sBAAW,2BAAY;aAAvB;YACE,OAAO,YAAY,CAAC;QACtB,CAAC;;;OAAA;IACH,kBAAC;AAAD,CAAC,AAnBD,IAmBC"} \ No newline at end of file diff --git a/lib/Typesense/Configuration.d.ts b/lib/Typesense/Configuration.d.ts deleted file mode 100644 index 9aa9c01e..00000000 --- a/lib/Typesense/Configuration.d.ts +++ /dev/null @@ -1,104 +0,0 @@ -/// -/// -import { Logger, LogLevelDesc } from "loglevel"; -import type { Agent as HTTPAgent } from "http"; -import type { Agent as HTTPSAgent } from "https"; -export interface NodeConfiguration { - host: string; - port: number; - protocol: string; - path?: string; - url?: string; -} -export interface NodeConfigurationWithHostname { - host: string; - port: number; - protocol: string; - path?: string; -} -export interface NodeConfigurationWithUrl { - url: string; -} -export interface ConfigurationOptions { - apiKey: string; - nodes: NodeConfiguration[] | NodeConfigurationWithHostname[] | NodeConfigurationWithUrl[]; - randomizeNodes?: boolean; - /** - * @deprecated - * masterNode is now consolidated to nodes, starting with Typesense Server v0.12' - */ - masterNode?: NodeConfiguration | NodeConfigurationWithHostname | NodeConfigurationWithUrl; - /** - * @deprecated - * readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12' - */ - readReplicaNodes?: NodeConfiguration[] | NodeConfigurationWithHostname[] | NodeConfigurationWithUrl[]; - nearestNode?: NodeConfiguration | NodeConfigurationWithHostname | NodeConfigurationWithUrl; - connectionTimeoutSeconds?: number; - timeoutSeconds?: number; - healthcheckIntervalSeconds?: number; - numRetries?: number; - retryIntervalSeconds?: number; - sendApiKeyAsQueryParam?: boolean | undefined; - useServerSideSearchCache?: boolean; - cacheSearchResultsForSeconds?: number; - additionalHeaders?: Record; - logLevel?: LogLevelDesc; - logger?: Logger; - /** - * Set a custom HTTP Agent - * - * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors - * Usage: - * const { Agent: HTTPAgent } = require("http"); - * ... - * httpAgent: new HTTPAgent({ keepAlive: true }), - * @type {HTTPAgent} - */ - httpAgent?: HTTPAgent; - /** - * Set a custom HTTPS Agent - * - * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors - * Usage: - * const { Agent: HTTPSAgent } = require("https"); - * ... - * httpsAgent: new HTTPSAgent({ keepAlive: true }), - * @type {HTTPSAgent} - */ - httpsAgent?: HTTPSAgent; - /** - * Set a custom paramsSerializer - * - * See axios documentation for more information on how to use this parameter: https://axios-http.com/docs/req_config - * This is helpful for handling React Native issues like this: https://github.com/axios/axios/issues/6102#issuecomment-2085301397 - * @type {any} - */ - paramsSerializer?: any; -} -export default class Configuration { - readonly nodes: NodeConfiguration[] | NodeConfigurationWithHostname[] | NodeConfigurationWithUrl[]; - readonly nearestNode?: NodeConfiguration | NodeConfigurationWithHostname | NodeConfigurationWithUrl; - readonly connectionTimeoutSeconds: number; - readonly healthcheckIntervalSeconds: number; - readonly numRetries: number; - readonly retryIntervalSeconds: number; - readonly apiKey: string; - readonly sendApiKeyAsQueryParam?: boolean; - readonly cacheSearchResultsForSeconds: number; - readonly useServerSideSearchCache: boolean; - readonly logger: Logger; - readonly logLevel: LogLevelDesc; - readonly additionalHeaders?: Record; - readonly httpAgent?: HTTPAgent; - readonly httpsAgent?: HTTPSAgent; - readonly paramsSerializer?: any; - constructor(options: ConfigurationOptions); - validate(): boolean; - private validateNodes; - private isNodeMissingAnyParameters; - private setDefaultPathInNode; - private setDefaultPortInNode; - private showDeprecationWarnings; - private shuffleArray; -} diff --git a/lib/Typesense/Configuration.js b/lib/Typesense/Configuration.js deleted file mode 100644 index 83915e1e..00000000 --- a/lib/Typesense/Configuration.js +++ /dev/null @@ -1,112 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var logger = tslib_1.__importStar(require("loglevel")); -var Errors_1 = require("./Errors"); -var Configuration = /** @class */ (function () { - function Configuration(options) { - var _this = this; - this.nodes = options.nodes || []; - this.nodes = this.nodes - .map(function (node) { return _this.setDefaultPathInNode(node); }) - .map(function (node) { return _this.setDefaultPortInNode(node); }) - .map(function (node) { return (tslib_1.__assign({}, node)); }); // Make a deep copy - if (options.randomizeNodes == null) { - options.randomizeNodes = true; - } - if (options.randomizeNodes === true) { - this.shuffleArray(this.nodes); - } - this.nearestNode = options.nearestNode; - this.nearestNode = this.setDefaultPathInNode(this.nearestNode); - this.nearestNode = this.setDefaultPortInNode(this.nearestNode); - this.connectionTimeoutSeconds = - options.connectionTimeoutSeconds || options.timeoutSeconds || 5; - this.healthcheckIntervalSeconds = options.healthcheckIntervalSeconds || 60; - this.numRetries = - options.numRetries || - this.nodes.length + (this.nearestNode == null ? 0 : 1) || - 3; - this.retryIntervalSeconds = options.retryIntervalSeconds || 0.1; - this.apiKey = options.apiKey; - this.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam; // We will set a default for this in Client and SearchClient - this.cacheSearchResultsForSeconds = - options.cacheSearchResultsForSeconds || 0; // Disable client-side cache by default - this.useServerSideSearchCache = options.useServerSideSearchCache || false; - this.logger = options.logger || logger; - this.logLevel = options.logLevel || "warn"; - this.logger.setLevel(this.logLevel); - this.additionalHeaders = options.additionalHeaders; - this.httpAgent = options.httpAgent; - this.httpsAgent = options.httpsAgent; - this.paramsSerializer = options.paramsSerializer; - this.showDeprecationWarnings(options); - this.validate(); - } - Configuration.prototype.validate = function () { - if (this.nodes == null || this.nodes.length === 0 || this.validateNodes()) { - throw new Errors_1.MissingConfigurationError("Ensure that nodes[].protocol, nodes[].host and nodes[].port are set"); - } - if (this.nearestNode != null && - this.isNodeMissingAnyParameters(this.nearestNode)) { - throw new Errors_1.MissingConfigurationError("Ensure that nearestNodes.protocol, nearestNodes.host and nearestNodes.port are set"); - } - if (this.apiKey == null) { - throw new Errors_1.MissingConfigurationError("Ensure that apiKey is set"); - } - return true; - }; - Configuration.prototype.validateNodes = function () { - var _this = this; - return this.nodes.some(function (node) { - return _this.isNodeMissingAnyParameters(node); - }); - }; - Configuration.prototype.isNodeMissingAnyParameters = function (node) { - return (!["protocol", "host", "port", "path"].every(function (key) { - return node.hasOwnProperty(key); - }) && node["url"] == null); - }; - Configuration.prototype.setDefaultPathInNode = function (node) { - if (node != null && !node.hasOwnProperty("path")) { - node["path"] = ""; - } - return node; - }; - Configuration.prototype.setDefaultPortInNode = function (node) { - if (node != null && - !node.hasOwnProperty("port") && - node.hasOwnProperty("protocol")) { - switch (node["protocol"]) { - case "https": - node["port"] = 443; - break; - case "http": - node["port"] = 80; - break; - } - } - return node; - }; - Configuration.prototype.showDeprecationWarnings = function (options) { - if (options.timeoutSeconds) { - this.logger.warn("Deprecation warning: timeoutSeconds is now renamed to connectionTimeoutSeconds"); - } - if (options.masterNode) { - this.logger.warn("Deprecation warning: masterNode is now consolidated to nodes, starting with Typesense Server v0.12"); - } - if (options.readReplicaNodes) { - this.logger.warn("Deprecation warning: readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12"); - } - }; - Configuration.prototype.shuffleArray = function (array) { - var _a; - for (var i = array.length - 1; i > 0; i--) { - var j = Math.floor(Math.random() * (i + 1)); - _a = [array[j], array[i]], array[i] = _a[0], array[j] = _a[1]; - } - }; - return Configuration; -}()); -exports.default = Configuration; -//# sourceMappingURL=Configuration.js.map \ No newline at end of file diff --git a/lib/Typesense/Configuration.js.map b/lib/Typesense/Configuration.js.map deleted file mode 100644 index a2c24873..00000000 --- a/lib/Typesense/Configuration.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Configuration.js","sourceRoot":"","sources":["../../src/Typesense/Configuration.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/Typesense/Conversation.d.ts b/lib/Typesense/Conversation.d.ts deleted file mode 100644 index 4e067cb9..00000000 --- a/lib/Typesense/Conversation.d.ts +++ /dev/null @@ -1,22 +0,0 @@ -import ApiCall from "./ApiCall"; -export interface ConversationDeleteSchema { - id: number; -} -export interface ConversationUpdateSchema { - ttl: number; -} -export interface ConversationSchema { - id: number; - conversation: object[]; - last_updated: number; - ttl: number; -} -export default class Conversation { - private id; - private apiCall; - constructor(id: string, apiCall: ApiCall); - retrieve(): Promise; - update(params: ConversationUpdateSchema): Promise; - delete(): Promise; - private endpointPath; -} diff --git a/lib/Typesense/Conversation.js b/lib/Typesense/Conversation.js deleted file mode 100644 index b96eba6f..00000000 --- a/lib/Typesense/Conversation.js +++ /dev/null @@ -1,37 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var Conversations_1 = tslib_1.__importDefault(require("./Conversations")); -var Conversation = /** @class */ (function () { - function Conversation(id, apiCall) { - this.id = id; - this.apiCall = apiCall; - } - Conversation.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - Conversation.prototype.update = function (params) { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.put(this.endpointPath(), params)]; - }); - }); - }; - Conversation.prototype.delete = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.delete(this.endpointPath())]; - }); - }); - }; - Conversation.prototype.endpointPath = function () { - return "".concat(Conversations_1.default.RESOURCEPATH, "/").concat(this.id); - }; - return Conversation; -}()); -exports.default = Conversation; -//# sourceMappingURL=Conversation.js.map \ No newline at end of file diff --git a/lib/Typesense/Conversation.js.map b/lib/Typesense/Conversation.js.map deleted file mode 100644 index e89bce66..00000000 --- a/lib/Typesense/Conversation.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Conversation.js","sourceRoot":"","sources":["../../src/Typesense/Conversation.ts"],"names":[],"mappings":";;;AACA,0EAA4C;AAiB5C;IACE,sBACU,EAAU,EACV,OAAgB;QADhB,OAAE,GAAF,EAAE,CAAQ;QACV,YAAO,GAAP,OAAO,CAAS;IACvB,CAAC;IAEE,+BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAuB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACpE;IAEK,6BAAM,GAAZ,UACE,MAAgC;;;gBAEhC,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CACrB,IAAI,CAAC,YAAY,EAAE,EACnB,MAAM,CACP,EAAC;;;KACH;IAEK,6BAAM,GAAZ;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAA2B,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KAC3E;IAEO,mCAAY,GAApB;QACE,OAAO,UAAG,uBAAa,CAAC,YAAY,cAAI,IAAI,CAAC,EAAE,CAAE,CAAC;IACpD,CAAC;IACH,mBAAC;AAAD,CAAC,AA1BD,IA0BC"} \ No newline at end of file diff --git a/lib/Typesense/ConversationModel.d.ts b/lib/Typesense/ConversationModel.d.ts deleted file mode 100644 index 1bd8c340..00000000 --- a/lib/Typesense/ConversationModel.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -import ApiCall from "./ApiCall"; -export interface ConversationModelCreateSchema { - id?: string; - model_name: string; - api_key?: string; - system_prompt?: string; - max_bytes: number; - history_collection?: string; -} -export interface ConversationModelDeleteSchema { - id: string; -} -export interface ConversationModelSchema extends ConversationModelCreateSchema { - id: string; -} -export default class ConversationModel { - private id; - private apiCall; - constructor(id: string, apiCall: ApiCall); - update(params: ConversationModelCreateSchema): Promise; - retrieve(): Promise; - delete(): Promise; - private endpointPath; -} diff --git a/lib/Typesense/ConversationModel.js b/lib/Typesense/ConversationModel.js deleted file mode 100644 index 80cbdf47..00000000 --- a/lib/Typesense/ConversationModel.js +++ /dev/null @@ -1,37 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var ConversationModels_1 = tslib_1.__importDefault(require("./ConversationModels")); -var ConversationModel = /** @class */ (function () { - function ConversationModel(id, apiCall) { - this.id = id; - this.apiCall = apiCall; - } - ConversationModel.prototype.update = function (params) { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.put(this.endpointPath(), params)]; - }); - }); - }; - ConversationModel.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - ConversationModel.prototype.delete = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.delete(this.endpointPath())]; - }); - }); - }; - ConversationModel.prototype.endpointPath = function () { - return "".concat(ConversationModels_1.default.RESOURCEPATH, "/").concat(this.id); - }; - return ConversationModel; -}()); -exports.default = ConversationModel; -//# sourceMappingURL=ConversationModel.js.map \ No newline at end of file diff --git a/lib/Typesense/ConversationModel.js.map b/lib/Typesense/ConversationModel.js.map deleted file mode 100644 index 3926b320..00000000 --- a/lib/Typesense/ConversationModel.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ConversationModel.js","sourceRoot":"","sources":["../../src/Typesense/ConversationModel.ts"],"names":[],"mappings":";;;AACA,oFAAsD;AAmBtD;IACE,2BACU,EAAU,EACV,OAAgB;QADhB,OAAE,GAAF,EAAE,CAAQ;QACV,YAAO,GAAP,OAAO,CAAS;IACvB,CAAC;IAEE,kCAAM,GAAZ,UACE,MAAqC;;;gBAErC,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CACrB,IAAI,CAAC,YAAY,EAAE,EACnB,MAAM,CACP,EAAC;;;KACH;IAEK,oCAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAA0B,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACvE;IAEK,kCAAM,GAAZ;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CACxB,IAAI,CAAC,YAAY,EAAE,CACpB,EAAC;;;KACH;IAEO,wCAAY,GAApB;QACE,OAAO,UAAG,4BAAkB,CAAC,YAAY,cAAI,IAAI,CAAC,EAAE,CAAE,CAAC;IACzD,CAAC;IACH,wBAAC;AAAD,CAAC,AA5BD,IA4BC"} \ No newline at end of file diff --git a/lib/Typesense/ConversationModels.d.ts b/lib/Typesense/ConversationModels.d.ts deleted file mode 100644 index 8a6ef4c4..00000000 --- a/lib/Typesense/ConversationModels.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import ApiCall from "./ApiCall"; -import { ConversationModelCreateSchema, ConversationModelSchema } from "./ConversationModel"; -export default class ConversationModels { - private readonly apiCall; - constructor(apiCall: ApiCall); - create(params: ConversationModelCreateSchema): Promise; - retrieve(): Promise; - private endpointPath; - static get RESOURCEPATH(): string; -} diff --git a/lib/Typesense/ConversationModels.js b/lib/Typesense/ConversationModels.js deleted file mode 100644 index cb3674bd..00000000 --- a/lib/Typesense/ConversationModels.js +++ /dev/null @@ -1,37 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var RESOURCEPATH = "/conversations/models"; -var ConversationModels = /** @class */ (function () { - function ConversationModels(apiCall) { - this.apiCall = apiCall; - this.apiCall = apiCall; - } - ConversationModels.prototype.create = function (params) { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.post(this.endpointPath(), params)]; - }); - }); - }; - ConversationModels.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - ConversationModels.prototype.endpointPath = function (operation) { - return "".concat(ConversationModels.RESOURCEPATH).concat(operation === undefined ? "" : "/" + operation); - }; - Object.defineProperty(ConversationModels, "RESOURCEPATH", { - get: function () { - return RESOURCEPATH; - }, - enumerable: false, - configurable: true - }); - return ConversationModels; -}()); -exports.default = ConversationModels; -//# sourceMappingURL=ConversationModels.js.map \ No newline at end of file diff --git a/lib/Typesense/ConversationModels.js.map b/lib/Typesense/ConversationModels.js.map deleted file mode 100644 index ccc85036..00000000 --- a/lib/Typesense/ConversationModels.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ConversationModels.js","sourceRoot":"","sources":["../../src/Typesense/ConversationModels.ts"],"names":[],"mappings":";;;AAMA,IAAM,YAAY,GAAG,uBAAuB,CAAC;AAE7C;IACE,4BAA6B,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;QAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEK,mCAAM,GAAZ,UACE,MAAqC;;;gBAErC,sBAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CACtB,IAAI,CAAC,YAAY,EAAE,EACnB,MAAM,CACP,EAAC;;;KACH;IAEK,qCAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CACrB,IAAI,CAAC,YAAY,EAAE,CACpB,EAAC;;;KACH;IAEO,yCAAY,GAApB,UAAqB,SAAkB;QACrC,OAAO,UAAG,kBAAkB,CAAC,YAAY,SACvC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,SAAS,CAC9C,CAAC;IACL,CAAC;IAED,sBAAW,kCAAY;aAAvB;YACE,OAAO,YAAY,CAAC;QACtB,CAAC;;;OAAA;IACH,yBAAC;AAAD,CAAC,AA7BD,IA6BC"} \ No newline at end of file diff --git a/lib/Typesense/Conversations.d.ts b/lib/Typesense/Conversations.d.ts deleted file mode 100644 index 5a4b8dc9..00000000 --- a/lib/Typesense/Conversations.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -import ApiCall from "./ApiCall"; -import ConversationModels from "./ConversationModels"; -import ConversationModel from "./ConversationModel"; -import { ConversationSchema } from "./Conversation"; -export interface ConversationsRetrieveSchema { - conversations: ConversationSchema[]; -} -export default class Conversations { - private readonly apiCall; - private readonly _conversationsModels; - private readonly individualConversationModels; - constructor(apiCall: ApiCall); - retrieve(): Promise; - models(): ConversationModels; - models(id: string): ConversationModel; - static get RESOURCEPATH(): string; -} diff --git a/lib/Typesense/Conversations.js b/lib/Typesense/Conversations.js deleted file mode 100644 index 69e67c4d..00000000 --- a/lib/Typesense/Conversations.js +++ /dev/null @@ -1,42 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var ConversationModels_1 = tslib_1.__importDefault(require("./ConversationModels")); -var ConversationModel_1 = tslib_1.__importDefault(require("./ConversationModel")); -var RESOURCEPATH = "/conversations"; -var Conversations = /** @class */ (function () { - function Conversations(apiCall) { - this.apiCall = apiCall; - this.individualConversationModels = {}; - this.apiCall = apiCall; - this._conversationsModels = new ConversationModels_1.default(this.apiCall); - } - Conversations.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(RESOURCEPATH)]; - }); - }); - }; - Conversations.prototype.models = function (id) { - if (id === undefined) { - return this._conversationsModels; - } - else { - if (this.individualConversationModels[id] === undefined) { - this.individualConversationModels[id] = new ConversationModel_1.default(id, this.apiCall); - } - return this.individualConversationModels[id]; - } - }; - Object.defineProperty(Conversations, "RESOURCEPATH", { - get: function () { - return RESOURCEPATH; - }, - enumerable: false, - configurable: true - }); - return Conversations; -}()); -exports.default = Conversations; -//# sourceMappingURL=Conversations.js.map \ No newline at end of file diff --git a/lib/Typesense/Conversations.js.map b/lib/Typesense/Conversations.js.map deleted file mode 100644 index 899cd545..00000000 --- a/lib/Typesense/Conversations.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Conversations.js","sourceRoot":"","sources":["../../src/Typesense/Conversations.ts"],"names":[],"mappings":";;;AACA,oFAAsD;AACtD,kFAAoD;AAGpD,IAAM,YAAY,GAAG,gBAAgB,CAAC;AAMtC;IAOE,uBAA6B,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;QAL5B,iCAA4B,GAGzC,EAAE,CAAC;QAGL,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,oBAAoB,GAAG,IAAI,4BAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnE,CAAC;IAEK,gCAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAA8B,YAAY,CAAC,EAAC;;;KACpE;IAID,8BAAM,GAAN,UAAO,EAAW;QAChB,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC,oBAAoB,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,CAAC,4BAA4B,CAAC,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC;gBACxD,IAAI,CAAC,4BAA4B,CAAC,EAAE,CAAC,GAAG,IAAI,2BAAiB,CAC3D,EAAE,EACF,IAAI,CAAC,OAAO,CACb,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC,4BAA4B,CAAC,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,sBAAW,6BAAY;aAAvB;YACE,OAAO,YAAY,CAAC;QACtB,CAAC;;;OAAA;IACH,oBAAC;AAAD,CAAC,AAnCD,IAmCC"} \ No newline at end of file diff --git a/lib/Typesense/Debug.d.ts b/lib/Typesense/Debug.d.ts deleted file mode 100644 index ac0f44d4..00000000 --- a/lib/Typesense/Debug.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import ApiCall from "./ApiCall"; -export interface DebugResponseSchema { - state: number; - version: string; -} -export default class Debug { - private apiCall; - constructor(apiCall: ApiCall); - retrieve(): Promise; -} diff --git a/lib/Typesense/Debug.js b/lib/Typesense/Debug.js deleted file mode 100644 index fa525663..00000000 --- a/lib/Typesense/Debug.js +++ /dev/null @@ -1,19 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var RESOURCEPATH = "/debug"; -var Debug = /** @class */ (function () { - function Debug(apiCall) { - this.apiCall = apiCall; - } - Debug.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(RESOURCEPATH)]; - }); - }); - }; - return Debug; -}()); -exports.default = Debug; -//# sourceMappingURL=Debug.js.map \ No newline at end of file diff --git a/lib/Typesense/Debug.js.map b/lib/Typesense/Debug.js.map deleted file mode 100644 index 30283311..00000000 --- a/lib/Typesense/Debug.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Debug.js","sourceRoot":"","sources":["../../src/Typesense/Debug.ts"],"names":[],"mappings":";;;AAEA,IAAM,YAAY,GAAG,QAAQ,CAAC;AAO9B;IACE,eAAoB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAElC,wBAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAsB,YAAY,CAAC,EAAC;;;KAC5D;IACH,YAAC;AAAD,CAAC,AAND,IAMC"} \ No newline at end of file diff --git a/lib/Typesense/Document.d.ts b/lib/Typesense/Document.d.ts deleted file mode 100644 index 9f3fff02..00000000 --- a/lib/Typesense/Document.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import ApiCall from "./ApiCall"; -import { DeleteQuery, DocumentSchema, DocumentWriteParameters } from "./Documents"; -export declare class Document { - private collectionName; - private documentId; - private apiCall; - constructor(collectionName: string, documentId: string, apiCall: ApiCall); - retrieve(): Promise; - delete(options?: DeleteQuery): Promise; - update(partialDocument: Partial, options?: DocumentWriteParameters): Promise; - private endpointPath; -} diff --git a/lib/Typesense/Document.js b/lib/Typesense/Document.js deleted file mode 100644 index 4bb5c5b2..00000000 --- a/lib/Typesense/Document.js +++ /dev/null @@ -1,41 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Document = void 0; -var tslib_1 = require("tslib"); -var Collections_1 = tslib_1.__importDefault(require("./Collections")); -var Documents_1 = tslib_1.__importDefault(require("./Documents")); -var Document = /** @class */ (function () { - function Document(collectionName, documentId, apiCall) { - this.collectionName = collectionName; - this.documentId = documentId; - this.apiCall = apiCall; - } - Document.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - Document.prototype.delete = function (options) { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.delete(this.endpointPath(), options)]; - }); - }); - }; - Document.prototype.update = function (partialDocument, options) { - if (options === void 0) { options = {}; } - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.patch(this.endpointPath(), partialDocument, options)]; - }); - }); - }; - Document.prototype.endpointPath = function () { - return "".concat(Collections_1.default.RESOURCEPATH, "/").concat(this.collectionName).concat(Documents_1.default.RESOURCEPATH, "/").concat(this.documentId); - }; - return Document; -}()); -exports.Document = Document; -//# sourceMappingURL=Document.js.map \ No newline at end of file diff --git a/lib/Typesense/Document.js.map b/lib/Typesense/Document.js.map deleted file mode 100644 index f7f08d6a..00000000 --- a/lib/Typesense/Document.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Document.js","sourceRoot":"","sources":["../../src/Typesense/Document.ts"],"names":[],"mappings":";;;;AACA,sEAAwC;AACxC,kEAIqB;AAErB;IACE,kBACU,cAAsB,EACtB,UAAkB,EAClB,OAAgB;QAFhB,mBAAc,GAAd,cAAc,CAAQ;QACtB,eAAU,GAAV,UAAU,CAAQ;QAClB,YAAO,GAAP,OAAO,CAAS;IACvB,CAAC;IAEE,2BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAI,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACjD;IAEK,yBAAM,GAAZ,UAAa,OAAqB;;;gBAChC,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAI,IAAI,CAAC,YAAY,EAAE,EAAE,OAAO,CAAC,EAAC;;;KAC7D;IAEK,yBAAM,GAAZ,UACE,eAA2B,EAC3B,OAAqC;QAArC,wBAAA,EAAA,YAAqC;;;gBAErC,sBAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAI,IAAI,CAAC,YAAY,EAAE,EAAE,eAAe,EAAE,OAAO,CAAC,EAAC;;;KAC7E;IAEO,+BAAY,GAApB;QACE,OAAO,UAAG,qBAAW,CAAC,YAAY,cAAI,IAAI,CAAC,cAAc,SAAG,mBAAS,CAAC,YAAY,cAAI,IAAI,CAAC,UAAU,CAAE,CAAC;IAC1G,CAAC;IACH,eAAC;AAAD,CAAC,AAzBD,IAyBC;AAzBY,4BAAQ"} \ No newline at end of file diff --git a/lib/Typesense/Documents.d.ts b/lib/Typesense/Documents.d.ts deleted file mode 100644 index e175b0ab..00000000 --- a/lib/Typesense/Documents.d.ts +++ /dev/null @@ -1,239 +0,0 @@ -/// -import type { ReadStream } from "fs"; -import ApiCall from "./ApiCall"; -import Configuration from "./Configuration"; -import { SearchOnlyDocuments } from "./SearchOnlyDocuments"; -export interface DeleteQuery { - filter_by?: string; - batch_size?: number; - ignore_not_found?: boolean; -} -export interface DeleteResponse { - num_deleted: number; -} -interface ImportResponseSuccess { - success: true; -} -export interface ImportResponseFail { - success: false; - error: string; - document: DocumentSchema; - code: number; -} -export type ImportResponse = ImportResponseSuccess | ImportResponseFail; -export type DocumentSchema = Record; -export interface SearchParamsWithPreset extends Partial { - preset: string; -} -type OperationMode = "off" | "always" | "fallback"; -export interface SearchParams { - q?: string; - query_by?: string | string[]; - query_by_weights?: string | number[]; - prefix?: string | boolean | boolean[]; - filter_by?: string; - enable_lazy_filter?: boolean; - sort_by?: string | string[]; - facet_by?: string | string[]; - max_facet_values?: number; - facet_sample_threshold?: number; - facet_sample_percent?: number; - facet_query?: string; - facet_query_num_typos?: number; - facet_return_parent?: string; - page?: number; - per_page?: number; - group_by?: string | string[]; - group_limit?: number; - group_missing_values?: boolean; - include_fields?: string | string[]; - exclude_fields?: string | string[]; - highlight_fields?: string | string[]; - highlight_full_fields?: string | string[]; - highlight_affix_num_tokens?: number; - highlight_start_tag?: string; - highlight_end_tag?: string; - enable_highlight_v1?: boolean; - snippet_threshold?: number; - num_typos?: string | number | number[]; - min_len_1typo?: number; - min_len_2typo?: number; - split_join_tokens?: OperationMode; - exhaustive_search?: boolean; - drop_tokens_threshold?: number; - typo_tokens_threshold?: number; - pinned_hits?: string | string[]; - hidden_hits?: string | string[]; - limit_hits?: number; - pre_segmented_query?: boolean; - enable_overrides?: boolean; - prioritize_exact_match?: boolean; - prioritize_token_position?: boolean; - prioritize_num_matching_fields?: boolean; - search_cutoff_ms?: number; - use_cache?: boolean; - max_candidates?: number; - infix?: OperationMode | OperationMode[]; - preset?: string; - text_match_type?: "max_score" | "max_weight"; - vector_query?: string; - "x-typesense-api-key"?: string; - "x-typesense-user-id"?: string; - offset?: number; - limit?: number; - stopwords?: string; - conversation?: boolean; - conversation_model_id?: string; - conversation_id?: string; - voice_query?: string; -} -type SearchResponseHighlightObject = { - matched_tokens?: string[]; - snippet?: string; - value?: string; -}; -export type SearchResponseHighlight = T extends string | number ? SearchResponseHighlightObject : { - [TAttribute in keyof T]?: SearchResponseHighlight; -}; -export interface SearchResponseHit { - curated?: true; - highlights?: [ - { - field: keyof T; - snippet?: string; - value?: string; - snippets?: string[]; - indices?: number[]; - matched_tokens: string[][] | string[]; - } - ]; - highlight: SearchResponseHighlight; - document: T; - text_match: number; - text_match_info?: { - best_field_score: string; - best_field_weight: number; - fields_matched: number; - score: string; - tokens_matched: number; - }; -} -export interface SearchResponseFacetCountSchema { - counts: { - count: number; - highlighted: string; - value: string; - }[]; - field_name: keyof T; - stats: { - avg?: number; - max?: number; - min?: number; - sum?: number; - }; -} -export interface SearchResponseRequestParams { - collection_name?: string; - q?: string; - page?: number; - per_page?: number; - first_q?: string; - voice_query?: { - transcribed_query?: string; - }; -} -export interface SearchResponse { - facet_counts?: SearchResponseFacetCountSchema[]; - found: number; - found_docs?: number; - out_of: number; - page: number; - request_params: SearchResponseRequestParams; - search_time_ms: number; - search_cutoff?: boolean; - hits?: SearchResponseHit[]; - grouped_hits?: { - group_key: string[]; - hits: SearchResponseHit[]; - found?: number; - }[]; - conversation?: { - answer: string; - conversation_history: { - conversation: object[]; - id: string; - last_updated: number; - ttl: number; - }; - conversation_id: string; - query: string; - }; - error?: string; - code?: number; -} -export interface DocumentWriteParameters { - dirty_values?: "coerce_or_reject" | "coerce_or_drop" | "drop" | "reject"; - action?: "create" | "update" | "upsert" | "emplace"; -} -export interface UpdateByFilterParameters { - filter_by?: string; -} -export interface UpdateByFilterResponse { - num_updated: number; -} -export interface DocumentImportParameters extends DocumentWriteParameters { - batch_size?: number; - return_doc?: boolean; - return_id?: boolean; -} -export interface DocumentsExportParameters { - filter_by?: string; - include_fields?: string; - exclude_fields?: string; -} -export interface SearchableDocuments { - search(searchParameters: SearchParams | SearchParamsWithPreset, options: SearchOptions): Promise>; - clearCache(): void; -} -export interface WriteableDocuments { - create(document: T, options: DocumentWriteParameters): Promise; - upsert(document: T, options: DocumentWriteParameters): Promise; - update(document: T, options: DocumentWriteParameters): Promise; - delete(query: DeleteQuery): Promise; - import(documents: T[] | string, options: DocumentWriteParameters): Promise; - export(options: DocumentsExportParameters): Promise; -} -export interface SearchOptions { - cacheSearchResultsForSeconds?: number; - abortSignal?: AbortSignal | null; -} -export default class Documents extends SearchOnlyDocuments implements WriteableDocuments { - constructor(collectionName: string, apiCall: ApiCall, configuration: Configuration); - create(document: T, options?: DocumentWriteParameters): Promise; - upsert(document: T, options?: DocumentWriteParameters): Promise; - update(document: T, options: UpdateByFilterParameters): Promise; - update(document: T, options: DocumentWriteParameters): Promise; - delete(query?: DeleteQuery): Promise; - createMany(documents: T[], options?: DocumentImportParameters): Promise; - /** - * Import a set of documents in a batch. - * @param {string|Array} documents - Can be a JSONL string of documents or an array of document objects. - * @param options - * @return {string|Array} Returns a JSONL string if the input was a JSONL string, otherwise it returns an array of results. - */ - import(documents: string, options?: DocumentImportParameters): Promise; - import(documents: T[], options?: DocumentImportParameters): Promise; - /** - * Imports documents from a NodeJS readable stream of JSONL. - */ - importStream(readableStream: ReadStream, options?: DocumentImportParameters): Promise; - /** - * Returns a JSONL string for all the documents in this collection - */ - export(options?: DocumentsExportParameters): Promise; - /** - * Returns a NodeJS readable stream of JSONL for all the documents in this collection. - */ - exportStream(options?: DocumentsExportParameters): Promise; -} -export {}; diff --git a/lib/Typesense/Documents.js b/lib/Typesense/Documents.js deleted file mode 100644 index a9f5b762..00000000 --- a/lib/Typesense/Documents.js +++ /dev/null @@ -1,182 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var Errors_1 = require("./Errors"); -var SearchOnlyDocuments_1 = require("./SearchOnlyDocuments"); -var isNodeJSEnvironment = typeof process !== "undefined" && - process.versions != null && - process.versions.node != null; -var Documents = /** @class */ (function (_super) { - tslib_1.__extends(Documents, _super); - function Documents(collectionName, apiCall, configuration) { - return _super.call(this, collectionName, apiCall, configuration) || this; - } - Documents.prototype.create = function (document, options) { - if (options === void 0) { options = {}; } - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - if (!document) - throw new Error("No document provided"); - return [2 /*return*/, this.apiCall.post(this.endpointPath(), document, options)]; - }); - }); - }; - Documents.prototype.upsert = function (document, options) { - if (options === void 0) { options = {}; } - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - if (!document) - throw new Error("No document provided"); - return [2 /*return*/, this.apiCall.post(this.endpointPath(), document, Object.assign({}, options, { action: "upsert" }))]; - }); - }); - }; - Documents.prototype.update = function (document, options) { - if (options === void 0) { options = {}; } - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - if (!document) - throw new Error("No document provided"); - if (options["filter_by"] != null) { - return [2 /*return*/, this.apiCall.patch(this.endpointPath(), document, Object.assign({}, options))]; - } - else { - return [2 /*return*/, this.apiCall.post(this.endpointPath(), document, Object.assign({}, options, { action: "update" }))]; - } - return [2 /*return*/]; - }); - }); - }; - Documents.prototype.delete = function (query) { - if (query === void 0) { query = {}; } - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.delete(this.endpointPath(), query)]; - }); - }); - }; - Documents.prototype.createMany = function (documents, options) { - if (options === void 0) { options = {}; } - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - 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"); - return [2 /*return*/, this.import(documents, options)]; - }); - }); - }; - Documents.prototype.import = function (documents, options) { - if (options === void 0) { options = {}; } - return tslib_1.__awaiter(this, void 0, void 0, function () { - var documentsInJSONLFormat, resultsInJSONLFormat, resultsInJSONFormat, failedItems; - return tslib_1.__generator(this, function (_a) { - switch (_a.label) { - case 0: - if (Array.isArray(documents)) { - try { - documentsInJSONLFormat = documents - .map(function (document) { return JSON.stringify(document); }) - .join("\n"); - } - catch (error) { - // if rangeerror, throw custom error message - if (error instanceof RangeError && - error.message.includes("Too many properties to enumerate")) { - 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 ")); - } - // else, throw the non-range error anyways - throw new Error(error); - } - } - else { - documentsInJSONLFormat = documents; - } - return [4 /*yield*/, this.apiCall.performRequest("post", this.endpointPath("import"), { - queryParameters: options, - bodyParameters: documentsInJSONLFormat, - additionalHeaders: { "Content-Type": "text/plain" }, - 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 - enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991 - })]; - case 1: - resultsInJSONLFormat = _a.sent(); - if (Array.isArray(documents)) { - resultsInJSONFormat = resultsInJSONLFormat - .split("\n") - .map(function (r) { return JSON.parse(r); }); - failedItems = resultsInJSONFormat.filter(function (r) { return r.success === false; }); - if (failedItems.length > 0) { - 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); - } - else { - return [2 /*return*/, resultsInJSONFormat]; - } - } - else { - return [2 /*return*/, resultsInJSONLFormat]; - } - return [2 /*return*/]; - } - }); - }); - }; - /** - * Imports documents from a NodeJS readable stream of JSONL. - */ - Documents.prototype.importStream = function (readableStream, options) { - if (options === void 0) { options = {}; } - return tslib_1.__awaiter(this, void 0, void 0, function () { - var resultsInJSONLFormat, resultsInJSONFormat, failedItems; - return tslib_1.__generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, this.apiCall.performRequest("post", this.endpointPath("import"), { - queryParameters: options, - bodyParameters: readableStream, - additionalHeaders: { "Content-Type": "text/plain" }, - 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 - enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991 - })]; - case 1: - resultsInJSONLFormat = _a.sent(); - resultsInJSONFormat = resultsInJSONLFormat - .split("\n") - .map(function (r) { return JSON.parse(r); }); - failedItems = resultsInJSONFormat.filter(function (r) { return r.success === false; }); - if (failedItems.length > 0) { - 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); - } - else { - return [2 /*return*/, resultsInJSONFormat]; - } - return [2 /*return*/]; - } - }); - }); - }; - /** - * Returns a JSONL string for all the documents in this collection - */ - Documents.prototype.export = function (options) { - if (options === void 0) { options = {}; } - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath("export"), options)]; - }); - }); - }; - /** - * Returns a NodeJS readable stream of JSONL for all the documents in this collection. - */ - Documents.prototype.exportStream = function (options) { - if (options === void 0) { options = {}; } - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath("export"), options, { - responseType: "stream", - })]; - }); - }); - }; - return Documents; -}(SearchOnlyDocuments_1.SearchOnlyDocuments)); -exports.default = Documents; -//# sourceMappingURL=Documents.js.map \ No newline at end of file diff --git a/lib/Typesense/Documents.js.map b/lib/Typesense/Documents.js.map deleted file mode 100644 index 3fa76fd5..00000000 --- a/lib/Typesense/Documents.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Documents.js","sourceRoot":"","sources":["../../src/Typesense/Documents.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/Typesense/Errors/HTTPError.d.ts b/lib/Typesense/Errors/HTTPError.d.ts deleted file mode 100644 index 499e415a..00000000 --- a/lib/Typesense/Errors/HTTPError.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import TypesenseError from "./TypesenseError"; -export default class HTTPError extends TypesenseError { -} diff --git a/lib/Typesense/Errors/HTTPError.js b/lib/Typesense/Errors/HTTPError.js deleted file mode 100644 index aabc1054..00000000 --- a/lib/Typesense/Errors/HTTPError.js +++ /dev/null @@ -1,13 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var TypesenseError_1 = tslib_1.__importDefault(require("./TypesenseError")); -var HTTPError = /** @class */ (function (_super) { - tslib_1.__extends(HTTPError, _super); - function HTTPError() { - return _super !== null && _super.apply(this, arguments) || this; - } - return HTTPError; -}(TypesenseError_1.default)); -exports.default = HTTPError; -//# sourceMappingURL=HTTPError.js.map \ No newline at end of file diff --git a/lib/Typesense/Errors/HTTPError.js.map b/lib/Typesense/Errors/HTTPError.js.map deleted file mode 100644 index e9ca4f58..00000000 --- a/lib/Typesense/Errors/HTTPError.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HTTPError.js","sourceRoot":"","sources":["../../../src/Typesense/Errors/HTTPError.ts"],"names":[],"mappings":";;;AAAA,4EAA8C;AAE9C;IAAuC,qCAAc;IAArD;;IAAuD,CAAC;IAAD,gBAAC;AAAD,CAAC,AAAxD,CAAuC,wBAAc,GAAG"} \ No newline at end of file diff --git a/lib/Typesense/Errors/ImportError.d.ts b/lib/Typesense/Errors/ImportError.d.ts deleted file mode 100644 index 7a93787f..00000000 --- a/lib/Typesense/Errors/ImportError.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import TypesenseError from "./TypesenseError"; -import { ImportResponse } from "../Documents"; -export default class ImportError extends TypesenseError { - importResults: ImportResponse[]; - constructor(message: string, importResults: ImportResponse[]); -} diff --git a/lib/Typesense/Errors/ImportError.js b/lib/Typesense/Errors/ImportError.js deleted file mode 100644 index 394f797f..00000000 --- a/lib/Typesense/Errors/ImportError.js +++ /dev/null @@ -1,15 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var TypesenseError_1 = tslib_1.__importDefault(require("./TypesenseError")); -var ImportError = /** @class */ (function (_super) { - tslib_1.__extends(ImportError, _super); - function ImportError(message, importResults) { - var _this = _super.call(this, message) || this; - _this.importResults = importResults; - return _this; - } - return ImportError; -}(TypesenseError_1.default)); -exports.default = ImportError; -//# sourceMappingURL=ImportError.js.map \ No newline at end of file diff --git a/lib/Typesense/Errors/ImportError.js.map b/lib/Typesense/Errors/ImportError.js.map deleted file mode 100644 index 73898466..00000000 --- a/lib/Typesense/Errors/ImportError.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ImportError.js","sourceRoot":"","sources":["../../../src/Typesense/Errors/ImportError.ts"],"names":[],"mappings":";;;AAAA,4EAA8C;AAG9C;IAAyC,uCAAc;IAErD,qBAAY,OAAe,EAAE,aAA+B;QAC1D,YAAA,MAAK,YAAC,OAAO,CAAC,SAAC;QACf,KAAI,CAAC,aAAa,GAAG,aAAa,CAAC;;IACrC,CAAC;IACH,kBAAC;AAAD,CAAC,AAND,CAAyC,wBAAc,GAMtD"} \ No newline at end of file diff --git a/lib/Typesense/Errors/MissingConfigurationError.d.ts b/lib/Typesense/Errors/MissingConfigurationError.d.ts deleted file mode 100644 index 7977c65b..00000000 --- a/lib/Typesense/Errors/MissingConfigurationError.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import TypesenseError from "./TypesenseError"; -export default class MissingConfigurationError extends TypesenseError { -} diff --git a/lib/Typesense/Errors/MissingConfigurationError.js b/lib/Typesense/Errors/MissingConfigurationError.js deleted file mode 100644 index 2161b0ac..00000000 --- a/lib/Typesense/Errors/MissingConfigurationError.js +++ /dev/null @@ -1,13 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var TypesenseError_1 = tslib_1.__importDefault(require("./TypesenseError")); -var MissingConfigurationError = /** @class */ (function (_super) { - tslib_1.__extends(MissingConfigurationError, _super); - function MissingConfigurationError() { - return _super !== null && _super.apply(this, arguments) || this; - } - return MissingConfigurationError; -}(TypesenseError_1.default)); -exports.default = MissingConfigurationError; -//# sourceMappingURL=MissingConfigurationError.js.map \ No newline at end of file diff --git a/lib/Typesense/Errors/MissingConfigurationError.js.map b/lib/Typesense/Errors/MissingConfigurationError.js.map deleted file mode 100644 index 6e2efa82..00000000 --- a/lib/Typesense/Errors/MissingConfigurationError.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MissingConfigurationError.js","sourceRoot":"","sources":["../../../src/Typesense/Errors/MissingConfigurationError.ts"],"names":[],"mappings":";;;AAAA,4EAA8C;AAE9C;IAAuD,qDAAc;IAArE;;IAAuE,CAAC;IAAD,gCAAC;AAAD,CAAC,AAAxE,CAAuD,wBAAc,GAAG"} \ No newline at end of file diff --git a/lib/Typesense/Errors/ObjectAlreadyExists.d.ts b/lib/Typesense/Errors/ObjectAlreadyExists.d.ts deleted file mode 100644 index 92e7e21d..00000000 --- a/lib/Typesense/Errors/ObjectAlreadyExists.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import TypesenseError from "./TypesenseError"; -export default class ObjectAlreadyExists extends TypesenseError { -} diff --git a/lib/Typesense/Errors/ObjectAlreadyExists.js b/lib/Typesense/Errors/ObjectAlreadyExists.js deleted file mode 100644 index 9f0e6381..00000000 --- a/lib/Typesense/Errors/ObjectAlreadyExists.js +++ /dev/null @@ -1,13 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var TypesenseError_1 = tslib_1.__importDefault(require("./TypesenseError")); -var ObjectAlreadyExists = /** @class */ (function (_super) { - tslib_1.__extends(ObjectAlreadyExists, _super); - function ObjectAlreadyExists() { - return _super !== null && _super.apply(this, arguments) || this; - } - return ObjectAlreadyExists; -}(TypesenseError_1.default)); -exports.default = ObjectAlreadyExists; -//# sourceMappingURL=ObjectAlreadyExists.js.map \ No newline at end of file diff --git a/lib/Typesense/Errors/ObjectAlreadyExists.js.map b/lib/Typesense/Errors/ObjectAlreadyExists.js.map deleted file mode 100644 index 7e7860b5..00000000 --- a/lib/Typesense/Errors/ObjectAlreadyExists.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ObjectAlreadyExists.js","sourceRoot":"","sources":["../../../src/Typesense/Errors/ObjectAlreadyExists.ts"],"names":[],"mappings":";;;AAAA,4EAA8C;AAE9C;IAAiD,+CAAc;IAA/D;;IAAiE,CAAC;IAAD,0BAAC;AAAD,CAAC,AAAlE,CAAiD,wBAAc,GAAG"} \ No newline at end of file diff --git a/lib/Typesense/Errors/ObjectNotFound.d.ts b/lib/Typesense/Errors/ObjectNotFound.d.ts deleted file mode 100644 index 9408bd6e..00000000 --- a/lib/Typesense/Errors/ObjectNotFound.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import TypesenseError from "./TypesenseError"; -export default class ObjectNotFound extends TypesenseError { -} diff --git a/lib/Typesense/Errors/ObjectNotFound.js b/lib/Typesense/Errors/ObjectNotFound.js deleted file mode 100644 index 9acaab66..00000000 --- a/lib/Typesense/Errors/ObjectNotFound.js +++ /dev/null @@ -1,13 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var TypesenseError_1 = tslib_1.__importDefault(require("./TypesenseError")); -var ObjectNotFound = /** @class */ (function (_super) { - tslib_1.__extends(ObjectNotFound, _super); - function ObjectNotFound() { - return _super !== null && _super.apply(this, arguments) || this; - } - return ObjectNotFound; -}(TypesenseError_1.default)); -exports.default = ObjectNotFound; -//# sourceMappingURL=ObjectNotFound.js.map \ No newline at end of file diff --git a/lib/Typesense/Errors/ObjectNotFound.js.map b/lib/Typesense/Errors/ObjectNotFound.js.map deleted file mode 100644 index e216c403..00000000 --- a/lib/Typesense/Errors/ObjectNotFound.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ObjectNotFound.js","sourceRoot":"","sources":["../../../src/Typesense/Errors/ObjectNotFound.ts"],"names":[],"mappings":";;;AAAA,4EAA8C;AAE9C;IAA4C,0CAAc;IAA1D;;IAA4D,CAAC;IAAD,qBAAC;AAAD,CAAC,AAA7D,CAA4C,wBAAc,GAAG"} \ No newline at end of file diff --git a/lib/Typesense/Errors/ObjectUnprocessable.d.ts b/lib/Typesense/Errors/ObjectUnprocessable.d.ts deleted file mode 100644 index f0517f89..00000000 --- a/lib/Typesense/Errors/ObjectUnprocessable.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import TypesenseError from "./TypesenseError"; -export default class ObjectUnprocessable extends TypesenseError { -} diff --git a/lib/Typesense/Errors/ObjectUnprocessable.js b/lib/Typesense/Errors/ObjectUnprocessable.js deleted file mode 100644 index ec3e9866..00000000 --- a/lib/Typesense/Errors/ObjectUnprocessable.js +++ /dev/null @@ -1,13 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var TypesenseError_1 = tslib_1.__importDefault(require("./TypesenseError")); -var ObjectUnprocessable = /** @class */ (function (_super) { - tslib_1.__extends(ObjectUnprocessable, _super); - function ObjectUnprocessable() { - return _super !== null && _super.apply(this, arguments) || this; - } - return ObjectUnprocessable; -}(TypesenseError_1.default)); -exports.default = ObjectUnprocessable; -//# sourceMappingURL=ObjectUnprocessable.js.map \ No newline at end of file diff --git a/lib/Typesense/Errors/ObjectUnprocessable.js.map b/lib/Typesense/Errors/ObjectUnprocessable.js.map deleted file mode 100644 index 812b7f1c..00000000 --- a/lib/Typesense/Errors/ObjectUnprocessable.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ObjectUnprocessable.js","sourceRoot":"","sources":["../../../src/Typesense/Errors/ObjectUnprocessable.ts"],"names":[],"mappings":";;;AAAA,4EAA8C;AAE9C;IAAiD,+CAAc;IAA/D;;IAAiE,CAAC;IAAD,0BAAC;AAAD,CAAC,AAAlE,CAAiD,wBAAc,GAAG"} \ No newline at end of file diff --git a/lib/Typesense/Errors/RequestMalformed.d.ts b/lib/Typesense/Errors/RequestMalformed.d.ts deleted file mode 100644 index 4d87ac81..00000000 --- a/lib/Typesense/Errors/RequestMalformed.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import TypesenseError from "./TypesenseError"; -export default class RequestMalformed extends TypesenseError { -} diff --git a/lib/Typesense/Errors/RequestMalformed.js b/lib/Typesense/Errors/RequestMalformed.js deleted file mode 100644 index 46fb1652..00000000 --- a/lib/Typesense/Errors/RequestMalformed.js +++ /dev/null @@ -1,13 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var TypesenseError_1 = tslib_1.__importDefault(require("./TypesenseError")); -var RequestMalformed = /** @class */ (function (_super) { - tslib_1.__extends(RequestMalformed, _super); - function RequestMalformed() { - return _super !== null && _super.apply(this, arguments) || this; - } - return RequestMalformed; -}(TypesenseError_1.default)); -exports.default = RequestMalformed; -//# sourceMappingURL=RequestMalformed.js.map \ No newline at end of file diff --git a/lib/Typesense/Errors/RequestMalformed.js.map b/lib/Typesense/Errors/RequestMalformed.js.map deleted file mode 100644 index 636779b9..00000000 --- a/lib/Typesense/Errors/RequestMalformed.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RequestMalformed.js","sourceRoot":"","sources":["../../../src/Typesense/Errors/RequestMalformed.ts"],"names":[],"mappings":";;;AAAA,4EAA8C;AAE9C;IAA8C,4CAAc;IAA5D;;IAA8D,CAAC;IAAD,uBAAC;AAAD,CAAC,AAA/D,CAA8C,wBAAc,GAAG"} \ No newline at end of file diff --git a/lib/Typesense/Errors/RequestUnauthorized.d.ts b/lib/Typesense/Errors/RequestUnauthorized.d.ts deleted file mode 100644 index 281ad728..00000000 --- a/lib/Typesense/Errors/RequestUnauthorized.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import TypesenseError from "./TypesenseError"; -export default class RequestUnauthorized extends TypesenseError { -} diff --git a/lib/Typesense/Errors/RequestUnauthorized.js b/lib/Typesense/Errors/RequestUnauthorized.js deleted file mode 100644 index ac5f70f9..00000000 --- a/lib/Typesense/Errors/RequestUnauthorized.js +++ /dev/null @@ -1,13 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var TypesenseError_1 = tslib_1.__importDefault(require("./TypesenseError")); -var RequestUnauthorized = /** @class */ (function (_super) { - tslib_1.__extends(RequestUnauthorized, _super); - function RequestUnauthorized() { - return _super !== null && _super.apply(this, arguments) || this; - } - return RequestUnauthorized; -}(TypesenseError_1.default)); -exports.default = RequestUnauthorized; -//# sourceMappingURL=RequestUnauthorized.js.map \ No newline at end of file diff --git a/lib/Typesense/Errors/RequestUnauthorized.js.map b/lib/Typesense/Errors/RequestUnauthorized.js.map deleted file mode 100644 index 8764f799..00000000 --- a/lib/Typesense/Errors/RequestUnauthorized.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RequestUnauthorized.js","sourceRoot":"","sources":["../../../src/Typesense/Errors/RequestUnauthorized.ts"],"names":[],"mappings":";;;AAAA,4EAA8C;AAE9C;IAAiD,+CAAc;IAA/D;;IAAiE,CAAC;IAAD,0BAAC;AAAD,CAAC,AAAlE,CAAiD,wBAAc,GAAG"} \ No newline at end of file diff --git a/lib/Typesense/Errors/ServerError.d.ts b/lib/Typesense/Errors/ServerError.d.ts deleted file mode 100644 index f89362a1..00000000 --- a/lib/Typesense/Errors/ServerError.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import TypesenseError from "./TypesenseError"; -export default class ServerError extends TypesenseError { -} diff --git a/lib/Typesense/Errors/ServerError.js b/lib/Typesense/Errors/ServerError.js deleted file mode 100644 index e3bf3f15..00000000 --- a/lib/Typesense/Errors/ServerError.js +++ /dev/null @@ -1,13 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var TypesenseError_1 = tslib_1.__importDefault(require("./TypesenseError")); -var ServerError = /** @class */ (function (_super) { - tslib_1.__extends(ServerError, _super); - function ServerError() { - return _super !== null && _super.apply(this, arguments) || this; - } - return ServerError; -}(TypesenseError_1.default)); -exports.default = ServerError; -//# sourceMappingURL=ServerError.js.map \ No newline at end of file diff --git a/lib/Typesense/Errors/ServerError.js.map b/lib/Typesense/Errors/ServerError.js.map deleted file mode 100644 index bac2216a..00000000 --- a/lib/Typesense/Errors/ServerError.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ServerError.js","sourceRoot":"","sources":["../../../src/Typesense/Errors/ServerError.ts"],"names":[],"mappings":";;;AAAA,4EAA8C;AAE9C;IAAyC,uCAAc;IAAvD;;IAAyD,CAAC;IAAD,kBAAC;AAAD,CAAC,AAA1D,CAAyC,wBAAc,GAAG"} \ No newline at end of file diff --git a/lib/Typesense/Errors/TypesenseError.d.ts b/lib/Typesense/Errors/TypesenseError.d.ts deleted file mode 100644 index c9a24224..00000000 --- a/lib/Typesense/Errors/TypesenseError.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export default class TypesenseError extends Error { - httpStatus?: number; - constructor(message?: string); -} diff --git a/lib/Typesense/Errors/TypesenseError.js b/lib/Typesense/Errors/TypesenseError.js deleted file mode 100644 index dddd725c..00000000 --- a/lib/Typesense/Errors/TypesenseError.js +++ /dev/null @@ -1,17 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var TypesenseError = /** @class */ (function (_super) { - tslib_1.__extends(TypesenseError, _super); - // Source: https://stackoverflow.com/a/58417721/123545 - function TypesenseError(message) { - var _newTarget = this.constructor; - var _this = _super.call(this, message) || this; - _this.name = _newTarget.name; - Object.setPrototypeOf(_this, _newTarget.prototype); - return _this; - } - return TypesenseError; -}(Error)); -exports.default = TypesenseError; -//# sourceMappingURL=TypesenseError.js.map \ No newline at end of file diff --git a/lib/Typesense/Errors/TypesenseError.js.map b/lib/Typesense/Errors/TypesenseError.js.map deleted file mode 100644 index 6646371c..00000000 --- a/lib/Typesense/Errors/TypesenseError.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"TypesenseError.js","sourceRoot":"","sources":["../../../src/Typesense/Errors/TypesenseError.ts"],"names":[],"mappings":";;;AAAA;IAA4C,0CAAK;IAG/C,sDAAsD;IACtD,wBAAY,OAAgB;;QAC1B,YAAA,MAAK,YAAC,OAAO,CAAC,SAAC;QACf,KAAI,CAAC,IAAI,GAAG,WAAW,IAAI,CAAC;QAC5B,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,WAAW,SAAS,CAAC,CAAC;;IACpD,CAAC;IACH,qBAAC;AAAD,CAAC,AATD,CAA4C,KAAK,GAShD"} \ No newline at end of file diff --git a/lib/Typesense/Errors/index.d.ts b/lib/Typesense/Errors/index.d.ts deleted file mode 100644 index e5046195..00000000 --- a/lib/Typesense/Errors/index.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import HTTPError from "./HTTPError"; -import MissingConfigurationError from "./MissingConfigurationError"; -import ObjectAlreadyExists from "./ObjectAlreadyExists"; -import ObjectNotFound from "./ObjectNotFound"; -import ObjectUnprocessable from "./ObjectUnprocessable"; -import RequestMalformed from "./RequestMalformed"; -import RequestUnauthorized from "./RequestUnauthorized"; -import ServerError from "./ServerError"; -import ImportError from "./ImportError"; -import TypesenseError from "./TypesenseError"; -export { HTTPError, MissingConfigurationError, ObjectAlreadyExists, ObjectNotFound, ObjectUnprocessable, RequestMalformed, RequestUnauthorized, ServerError, TypesenseError, ImportError, }; diff --git a/lib/Typesense/Errors/index.js b/lib/Typesense/Errors/index.js deleted file mode 100644 index 5740bee1..00000000 --- a/lib/Typesense/Errors/index.js +++ /dev/null @@ -1,25 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ImportError = exports.TypesenseError = exports.ServerError = exports.RequestUnauthorized = exports.RequestMalformed = exports.ObjectUnprocessable = exports.ObjectNotFound = exports.ObjectAlreadyExists = exports.MissingConfigurationError = exports.HTTPError = void 0; -var tslib_1 = require("tslib"); -var HTTPError_1 = tslib_1.__importDefault(require("./HTTPError")); -exports.HTTPError = HTTPError_1.default; -var MissingConfigurationError_1 = tslib_1.__importDefault(require("./MissingConfigurationError")); -exports.MissingConfigurationError = MissingConfigurationError_1.default; -var ObjectAlreadyExists_1 = tslib_1.__importDefault(require("./ObjectAlreadyExists")); -exports.ObjectAlreadyExists = ObjectAlreadyExists_1.default; -var ObjectNotFound_1 = tslib_1.__importDefault(require("./ObjectNotFound")); -exports.ObjectNotFound = ObjectNotFound_1.default; -var ObjectUnprocessable_1 = tslib_1.__importDefault(require("./ObjectUnprocessable")); -exports.ObjectUnprocessable = ObjectUnprocessable_1.default; -var RequestMalformed_1 = tslib_1.__importDefault(require("./RequestMalformed")); -exports.RequestMalformed = RequestMalformed_1.default; -var RequestUnauthorized_1 = tslib_1.__importDefault(require("./RequestUnauthorized")); -exports.RequestUnauthorized = RequestUnauthorized_1.default; -var ServerError_1 = tslib_1.__importDefault(require("./ServerError")); -exports.ServerError = ServerError_1.default; -var ImportError_1 = tslib_1.__importDefault(require("./ImportError")); -exports.ImportError = ImportError_1.default; -var TypesenseError_1 = tslib_1.__importDefault(require("./TypesenseError")); -exports.TypesenseError = TypesenseError_1.default; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/lib/Typesense/Errors/index.js.map b/lib/Typesense/Errors/index.js.map deleted file mode 100644 index 45d675ea..00000000 --- a/lib/Typesense/Errors/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Typesense/Errors/index.ts"],"names":[],"mappings":";;;;AAAA,kEAAoC;AAYlC,oBAZK,mBAAS,CAYL;AAXX,kGAAoE;AAYlE,oCAZK,mCAAyB,CAYL;AAX3B,sFAAwD;AAYtD,8BAZK,6BAAmB,CAYL;AAXrB,4EAA8C;AAY5C,yBAZK,wBAAc,CAYL;AAXhB,sFAAwD;AAYtD,8BAZK,6BAAmB,CAYL;AAXrB,gFAAkD;AAYhD,2BAZK,0BAAgB,CAYL;AAXlB,sFAAwD;AAYtD,8BAZK,6BAAmB,CAYL;AAXrB,sEAAwC;AAYtC,sBAZK,qBAAW,CAYL;AAXb,sEAAwC;AAatC,sBAbK,qBAAW,CAaL;AAZb,4EAA8C;AAW5C,yBAXK,wBAAc,CAWL"} \ No newline at end of file diff --git a/lib/Typesense/Health.d.ts b/lib/Typesense/Health.d.ts deleted file mode 100644 index 8bf91aa8..00000000 --- a/lib/Typesense/Health.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -import ApiCall from "./ApiCall"; -export interface HealthResponse { - ok: boolean; -} -export default class Health { - private apiCall; - constructor(apiCall: ApiCall); - retrieve(): Promise; -} diff --git a/lib/Typesense/Health.js b/lib/Typesense/Health.js deleted file mode 100644 index 0c28608a..00000000 --- a/lib/Typesense/Health.js +++ /dev/null @@ -1,19 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var RESOURCEPATH = "/health"; -var Health = /** @class */ (function () { - function Health(apiCall) { - this.apiCall = apiCall; - } - Health.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(RESOURCEPATH)]; - }); - }); - }; - return Health; -}()); -exports.default = Health; -//# sourceMappingURL=Health.js.map \ No newline at end of file diff --git a/lib/Typesense/Health.js.map b/lib/Typesense/Health.js.map deleted file mode 100644 index a424ca10..00000000 --- a/lib/Typesense/Health.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Health.js","sourceRoot":"","sources":["../../src/Typesense/Health.ts"],"names":[],"mappings":";;;AAEA,IAAM,YAAY,GAAG,SAAS,CAAC;AAM/B;IACE,gBAAoB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAElC,yBAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAiB,YAAY,CAAC,EAAC;;;KACvD;IACH,aAAC;AAAD,CAAC,AAND,IAMC"} \ No newline at end of file diff --git a/lib/Typesense/Key.d.ts b/lib/Typesense/Key.d.ts deleted file mode 100644 index 94f24763..00000000 --- a/lib/Typesense/Key.d.ts +++ /dev/null @@ -1,23 +0,0 @@ -import ApiCall from "./ApiCall"; -export interface KeyCreateSchema { - actions: string[]; - collections: string[]; - description?: string; - value?: string; - value_prefix?: string; - expires_at?: number; -} -export interface KeyDeleteSchema { - id: number; -} -export interface KeySchema extends KeyCreateSchema { - id: number; -} -export default class Key { - private id; - private apiCall; - constructor(id: number, apiCall: ApiCall); - retrieve(): Promise; - delete(): Promise; - private endpointPath; -} diff --git a/lib/Typesense/Key.js b/lib/Typesense/Key.js deleted file mode 100644 index b6f06f00..00000000 --- a/lib/Typesense/Key.js +++ /dev/null @@ -1,30 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var Keys_1 = tslib_1.__importDefault(require("./Keys")); -var Key = /** @class */ (function () { - function Key(id, apiCall) { - this.id = id; - this.apiCall = apiCall; - } - Key.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - Key.prototype.delete = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.delete(this.endpointPath())]; - }); - }); - }; - Key.prototype.endpointPath = function () { - return "".concat(Keys_1.default.RESOURCEPATH, "/").concat(this.id); - }; - return Key; -}()); -exports.default = Key; -//# sourceMappingURL=Key.js.map \ No newline at end of file diff --git a/lib/Typesense/Key.js.map b/lib/Typesense/Key.js.map deleted file mode 100644 index 7cda4660..00000000 --- a/lib/Typesense/Key.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Key.js","sourceRoot":"","sources":["../../src/Typesense/Key.ts"],"names":[],"mappings":";;;AACA,wDAA0B;AAmB1B;IACE,aAAoB,EAAU,EAAU,OAAgB;QAApC,OAAE,GAAF,EAAE,CAAQ;QAAU,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAEtD,sBAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAY,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACzD;IAEK,oBAAM,GAAZ;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAkB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KAClE;IAEO,0BAAY,GAApB;QACE,OAAO,UAAG,cAAI,CAAC,YAAY,cAAI,IAAI,CAAC,EAAE,CAAE,CAAC;IAC3C,CAAC;IACH,UAAC;AAAD,CAAC,AAdD,IAcC"} \ No newline at end of file diff --git a/lib/Typesense/Keys.d.ts b/lib/Typesense/Keys.d.ts deleted file mode 100644 index ca8817d9..00000000 --- a/lib/Typesense/Keys.d.ts +++ /dev/null @@ -1,19 +0,0 @@ -import ApiCall from "./ApiCall"; -import { KeyCreateSchema, KeySchema } from "./Key"; -import { SearchParams } from "./Documents"; -export interface KeysRetrieveSchema { - keys: KeySchema[]; -} -export interface GenerateScopedSearchKeyParams extends Partial { - expires_at?: number; - cache_ttl?: number; - limit_multi_searches?: number; -} -export default class Keys { - private apiCall; - constructor(apiCall: ApiCall); - create(params: KeyCreateSchema): Promise; - retrieve(): Promise; - generateScopedSearchKey(searchKey: string, parameters: GenerateScopedSearchKeyParams): string; - static get RESOURCEPATH(): string; -} diff --git a/lib/Typesense/Keys.js b/lib/Typesense/Keys.js deleted file mode 100644 index 77d45b7d..00000000 --- a/lib/Typesense/Keys.js +++ /dev/null @@ -1,44 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var crypto_1 = require("crypto"); -var RESOURCEPATH = "/keys"; -var Keys = /** @class */ (function () { - function Keys(apiCall) { - this.apiCall = apiCall; - this.apiCall = apiCall; - } - Keys.prototype.create = function (params) { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.post(Keys.RESOURCEPATH, params)]; - }); - }); - }; - Keys.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(RESOURCEPATH)]; - }); - }); - }; - Keys.prototype.generateScopedSearchKey = function (searchKey, parameters) { - // Note: only a key generated with the `documents:search` action will be - // accepted by the server, when usined with the search endpoint. - var paramsJSON = JSON.stringify(parameters); - var digest = Buffer.from((0, crypto_1.createHmac)("sha256", searchKey).update(paramsJSON).digest("base64")); - var keyPrefix = searchKey.substr(0, 4); - var rawScopedKey = "".concat(digest).concat(keyPrefix).concat(paramsJSON); - return Buffer.from(rawScopedKey).toString("base64"); - }; - Object.defineProperty(Keys, "RESOURCEPATH", { - get: function () { - return RESOURCEPATH; - }, - enumerable: false, - configurable: true - }); - return Keys; -}()); -exports.default = Keys; -//# sourceMappingURL=Keys.js.map \ No newline at end of file diff --git a/lib/Typesense/Keys.js.map b/lib/Typesense/Keys.js.map deleted file mode 100644 index d29754f6..00000000 --- a/lib/Typesense/Keys.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Keys.js","sourceRoot":"","sources":["../../src/Typesense/Keys.ts"],"names":[],"mappings":";;;AAAA,iCAAoC;AAKpC,IAAM,YAAY,GAAG,OAAO,CAAC;AAY7B;IACE,cAAoB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;QAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEK,qBAAM,GAAZ,UAAa,MAAuB;;;gBAClC,sBAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAY,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,EAAC;;;KAChE;IAEK,uBAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAqB,YAAY,CAAC,EAAC;;;KAC3D;IAED,sCAAuB,GAAvB,UACE,SAAiB,EACjB,UAAyC;QAEzC,wEAAwE;QACxE,gEAAgE;QAChE,IAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CACxB,IAAA,mBAAU,EAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CACpE,CAAC;QACF,IAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACzC,IAAM,YAAY,GAAG,UAAG,MAAM,SAAG,SAAS,SAAG,UAAU,CAAE,CAAC;QAE1D,OAAO,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED,sBAAW,oBAAY;aAAvB;YACE,OAAO,YAAY,CAAC;QACtB,CAAC;;;OAAA;IACH,WAAC;AAAD,CAAC,AAhCD,IAgCC"} \ No newline at end of file diff --git a/lib/Typesense/Metrics.d.ts b/lib/Typesense/Metrics.d.ts deleted file mode 100644 index e2aa4210..00000000 --- a/lib/Typesense/Metrics.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -import ApiCall from "./ApiCall"; -export interface MetricsResponse { - [key: `system_cpu${number}_active_percentage`]: string; - system_cpu_active_percentage: string; - system_disk_total_bytes: string; - system_disk_used_bytes: string; - system_memory_total_bytes: string; - system_memory_total_swap_bytes?: string; - system_memory_used_bytes: string; - system_memory_used_swap_bytes?: string; - system_network_received_bytes: string; - system_network_sent_bytes: string; - typesense_memory_active_bytes: string; - typesense_memory_allocated_bytes: string; - typesense_memory_fragmentation_ratio: string; - typesense_memory_mapped_bytes: string; - typesense_memory_metadata_bytes: string; - typesense_memory_resident_bytes: string; - typesense_memory_retained_bytes: string; -} -export default class Metrics { - private apiCall; - constructor(apiCall: ApiCall); - retrieve(): Promise; -} diff --git a/lib/Typesense/Metrics.js b/lib/Typesense/Metrics.js deleted file mode 100644 index 9c564425..00000000 --- a/lib/Typesense/Metrics.js +++ /dev/null @@ -1,19 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var RESOURCEPATH = "/metrics.json"; -var Metrics = /** @class */ (function () { - function Metrics(apiCall) { - this.apiCall = apiCall; - } - Metrics.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(RESOURCEPATH)]; - }); - }); - }; - return Metrics; -}()); -exports.default = Metrics; -//# sourceMappingURL=Metrics.js.map \ No newline at end of file diff --git a/lib/Typesense/Metrics.js.map b/lib/Typesense/Metrics.js.map deleted file mode 100644 index 55e1f29e..00000000 --- a/lib/Typesense/Metrics.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Metrics.js","sourceRoot":"","sources":["../../src/Typesense/Metrics.ts"],"names":[],"mappings":";;;AAEA,IAAM,YAAY,GAAG,eAAe,CAAC;AAsBrC;IACE,iBAAoB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAElC,0BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAC;;;KACvC;IACH,cAAC;AAAD,CAAC,AAND,IAMC"} \ No newline at end of file diff --git a/lib/Typesense/MultiSearch.d.ts b/lib/Typesense/MultiSearch.d.ts deleted file mode 100644 index 335a5f33..00000000 --- a/lib/Typesense/MultiSearch.d.ts +++ /dev/null @@ -1,32 +0,0 @@ -import ApiCall from "./ApiCall"; -import Configuration from "./Configuration"; -import { DocumentSchema, SearchParams, SearchParamsWithPreset, SearchResponse } from "./Documents"; -export interface MultiSearchRequestSchema extends SearchParams { - collection?: string; - "x-typesense-api-key"?: string; -} -export interface MultiSearchRequestWithPresetSchema extends SearchParamsWithPreset { - collection?: string; - "x-typesense-api-key"?: string; -} -export interface MultiSearchRequestsSchema { - searches: (MultiSearchRequestSchema | MultiSearchRequestWithPresetSchema)[]; -} -export interface MultiSearchResponse { - results: { - [Index in keyof T]: SearchResponse; - } & { - length: T["length"]; - }; -} -export default class MultiSearch { - private apiCall; - private configuration; - private useTextContentType; - private requestWithCache; - constructor(apiCall: ApiCall, configuration: Configuration, useTextContentType?: boolean); - clearCache(): void; - perform(searchRequests: MultiSearchRequestsSchema, commonParams?: Partial, { cacheSearchResultsForSeconds, }?: { - cacheSearchResultsForSeconds?: number; - }): Promise>; -} diff --git a/lib/Typesense/MultiSearch.js b/lib/Typesense/MultiSearch.js deleted file mode 100644 index e5aaa3b5..00000000 --- a/lib/Typesense/MultiSearch.js +++ /dev/null @@ -1,40 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var RequestWithCache_1 = tslib_1.__importDefault(require("./RequestWithCache")); -var RESOURCEPATH = "/multi_search"; -var MultiSearch = /** @class */ (function () { - function MultiSearch(apiCall, configuration, useTextContentType) { - if (useTextContentType === void 0) { useTextContentType = false; } - this.apiCall = apiCall; - this.configuration = configuration; - this.useTextContentType = useTextContentType; - this.requestWithCache = new RequestWithCache_1.default(); - } - MultiSearch.prototype.clearCache = function () { - this.requestWithCache.clearCache(); - }; - MultiSearch.prototype.perform = function (searchRequests, commonParams, _a) { - if (commonParams === void 0) { commonParams = {}; } - var _b = _a === void 0 ? {} : _a, _c = _b.cacheSearchResultsForSeconds, cacheSearchResultsForSeconds = _c === void 0 ? this.configuration - .cacheSearchResultsForSeconds : _c; - return tslib_1.__awaiter(this, void 0, void 0, function () { - var additionalHeaders, additionalQueryParams, queryParams; - return tslib_1.__generator(this, function (_d) { - additionalHeaders = {}; - if (this.useTextContentType) { - additionalHeaders["content-type"] = "text/plain"; - } - additionalQueryParams = {}; - if (this.configuration.useServerSideSearchCache === true) { - additionalQueryParams["use_cache"] = true; - } - queryParams = Object.assign({}, commonParams, additionalQueryParams); - return [2 /*return*/, this.requestWithCache.perform(this.apiCall, this.apiCall.post, [RESOURCEPATH, searchRequests, queryParams, additionalHeaders], { cacheResponseForSeconds: cacheSearchResultsForSeconds })]; - }); - }); - }; - return MultiSearch; -}()); -exports.default = MultiSearch; -//# sourceMappingURL=MultiSearch.js.map \ No newline at end of file diff --git a/lib/Typesense/MultiSearch.js.map b/lib/Typesense/MultiSearch.js.map deleted file mode 100644 index 8d0271e5..00000000 --- a/lib/Typesense/MultiSearch.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MultiSearch.js","sourceRoot":"","sources":["../../src/Typesense/MultiSearch.ts"],"names":[],"mappings":";;;AAEA,gFAAkD;AAQlD,IAAM,YAAY,GAAG,eAAe,CAAC;AAuBrC;IAGE,qBACU,OAAgB,EAChB,aAA4B,EAC5B,kBAAmC;QAAnC,mCAAA,EAAA,0BAAmC;QAFnC,YAAO,GAAP,OAAO,CAAS;QAChB,kBAAa,GAAb,aAAa,CAAe;QAC5B,uBAAkB,GAAlB,kBAAkB,CAAiB;QAE3C,IAAI,CAAC,gBAAgB,GAAG,IAAI,0BAAgB,EAAE,CAAC;IACjD,CAAC;IAED,gCAAU,GAAV;QACE,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;IACrC,CAAC;IAEK,6BAAO,GAAb,UACE,cAAyC,EACzC,YAAoD,EACpD,EAGiD;QAJjD,6BAAA,EAAA,iBAAoD;YACpD,qBAG+C,EAAE,KAAA,EAF/C,oCAC+B,EAD/B,4BAA4B,mBAAG,IAAI,CAAC,aAAa;aAC9C,4BAA4B,KAAA;;;;gBAG3B,iBAAiB,GAAG,EAAE,CAAC;gBAC7B,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBAC5B,iBAAiB,CAAC,cAAc,CAAC,GAAG,YAAY,CAAC;gBACnD,CAAC;gBAEK,qBAAqB,GAAG,EAAE,CAAC;gBACjC,IAAI,IAAI,CAAC,aAAa,CAAC,wBAAwB,KAAK,IAAI,EAAE,CAAC;oBACzD,qBAAqB,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;gBAC5C,CAAC;gBACK,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,EAAE,qBAAqB,CAAC,CAAC;gBAE3E,sBAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAClC,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,OAAO,CAAC,IAAI,EACjB,CAAC,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,iBAAiB,CAAC,EAC9D,EAAE,uBAAuB,EAAE,4BAA4B,EAAE,CACvB,EAAC;;;KACtC;IACH,kBAAC;AAAD,CAAC,AAzCD,IAyCC"} \ No newline at end of file diff --git a/lib/Typesense/Operations.d.ts b/lib/Typesense/Operations.d.ts deleted file mode 100644 index 5a1ea8fd..00000000 --- a/lib/Typesense/Operations.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import ApiCall from "./ApiCall"; -export default class Operations { - private apiCall; - constructor(apiCall: ApiCall); - perform(operationName: "vote" | "snapshot" | "cache/clear" | string, queryParameters?: Record): Promise; -} diff --git a/lib/Typesense/Operations.js b/lib/Typesense/Operations.js deleted file mode 100644 index d34c3237..00000000 --- a/lib/Typesense/Operations.js +++ /dev/null @@ -1,20 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var RESOURCEPATH = "/operations"; -var Operations = /** @class */ (function () { - function Operations(apiCall) { - this.apiCall = apiCall; - } - Operations.prototype.perform = function (operationName, queryParameters) { - if (queryParameters === void 0) { queryParameters = {}; } - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.post("".concat(RESOURCEPATH, "/").concat(operationName), {}, queryParameters)]; - }); - }); - }; - return Operations; -}()); -exports.default = Operations; -//# sourceMappingURL=Operations.js.map \ No newline at end of file diff --git a/lib/Typesense/Operations.js.map b/lib/Typesense/Operations.js.map deleted file mode 100644 index 6ac90998..00000000 --- a/lib/Typesense/Operations.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Operations.js","sourceRoot":"","sources":["../../src/Typesense/Operations.ts"],"names":[],"mappings":";;;AAEA,IAAM,YAAY,GAAG,aAAa,CAAC;AAEnC;IACE,oBAAoB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAElC,4BAAO,GAAb,UACE,aAA2D,EAC3D,eAAyC;QAAzC,gCAAA,EAAA,oBAAyC;;;gBAEzC,sBAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CACtB,UAAG,YAAY,cAAI,aAAa,CAAE,EAClC,EAAE,EACF,eAAe,CAChB,EAAC;;;KACH;IACH,iBAAC;AAAD,CAAC,AAbD,IAaC"} \ No newline at end of file diff --git a/lib/Typesense/Override.d.ts b/lib/Typesense/Override.d.ts deleted file mode 100644 index ee1d99c7..00000000 --- a/lib/Typesense/Override.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -import ApiCall from "./ApiCall"; -import { OverrideCreateSchema } from "./Overrides"; -export interface OverrideSchema extends OverrideCreateSchema { - id: string; -} -export interface OverrideDeleteSchema { - id: string; -} -export default class Override { - private collectionName; - private overrideId; - private apiCall; - constructor(collectionName: string, overrideId: string, apiCall: ApiCall); - retrieve(): Promise; - delete(): Promise; - private endpointPath; -} diff --git a/lib/Typesense/Override.js b/lib/Typesense/Override.js deleted file mode 100644 index 4fb85743..00000000 --- a/lib/Typesense/Override.js +++ /dev/null @@ -1,32 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var Collections_1 = tslib_1.__importDefault(require("./Collections")); -var Overrides_1 = tslib_1.__importDefault(require("./Overrides")); -var Override = /** @class */ (function () { - function Override(collectionName, overrideId, apiCall) { - this.collectionName = collectionName; - this.overrideId = overrideId; - this.apiCall = apiCall; - } - Override.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - Override.prototype.delete = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.delete(this.endpointPath())]; - }); - }); - }; - Override.prototype.endpointPath = function () { - return "".concat(Collections_1.default.RESOURCEPATH, "/").concat(this.collectionName).concat(Overrides_1.default.RESOURCEPATH, "/").concat(this.overrideId); - }; - return Override; -}()); -exports.default = Override; -//# sourceMappingURL=Override.js.map \ No newline at end of file diff --git a/lib/Typesense/Override.js.map b/lib/Typesense/Override.js.map deleted file mode 100644 index 6df5b4a2..00000000 --- a/lib/Typesense/Override.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Override.js","sourceRoot":"","sources":["../../src/Typesense/Override.ts"],"names":[],"mappings":";;;AACA,sEAAwC;AACxC,kEAA8D;AAU9D;IACE,kBACU,cAAsB,EACtB,UAAkB,EAClB,OAAgB;QAFhB,mBAAc,GAAd,cAAc,CAAQ;QACtB,eAAU,GAAV,UAAU,CAAQ;QAClB,YAAO,GAAP,OAAO,CAAS;IACvB,CAAC;IAEE,2BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAiB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KAC9D;IAEK,yBAAM,GAAZ;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAuB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACvE;IAEO,+BAAY,GAApB;QACE,OAAO,UAAG,qBAAW,CAAC,YAAY,cAAI,IAAI,CAAC,cAAc,SAAG,mBAAS,CAAC,YAAY,cAAI,IAAI,CAAC,UAAU,CAAE,CAAC;IAC1G,CAAC;IACH,eAAC;AAAD,CAAC,AAlBD,IAkBC"} \ No newline at end of file diff --git a/lib/Typesense/Overrides.d.ts b/lib/Typesense/Overrides.d.ts deleted file mode 100644 index 1c36b336..00000000 --- a/lib/Typesense/Overrides.d.ts +++ /dev/null @@ -1,43 +0,0 @@ -import ApiCall from "./ApiCall"; -import { OverrideSchema } from "./Override"; -export interface OverrideRuleQuerySchema { - query?: string; - match?: "exact" | "contains"; -} -export interface OverrideRuleFilterSchema { - filter_by?: string; -} -export interface OverrideRuleTagsSchema { - tags?: string[]; -} -export interface OverrideCreateSchema { - rule: OverrideRuleQuerySchema & OverrideRuleFilterSchema & OverrideRuleTagsSchema; - filter_by?: string; - sort_by?: string; - remove_matched_tokens?: boolean; - replace_query?: string; - includes?: Array<{ - id: string; - position: number; - }>; - excludes?: Array<{ - id: string; - }>; - filter_curated_hits?: boolean; - effective_from_ts?: number; - effective_to_ts?: number; - stop_processing?: boolean; - metadata?: object; -} -export interface OverridesRetrieveSchema { - overrides: OverrideSchema[]; -} -export default class Overrides { - private collectionName; - private apiCall; - constructor(collectionName: string, apiCall: ApiCall); - upsert(overrideId: string, params: OverrideCreateSchema): Promise; - retrieve(): Promise; - private endpointPath; - static get RESOURCEPATH(): string; -} diff --git a/lib/Typesense/Overrides.js b/lib/Typesense/Overrides.js deleted file mode 100644 index 80af88d6..00000000 --- a/lib/Typesense/Overrides.js +++ /dev/null @@ -1,38 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var Collections_1 = tslib_1.__importDefault(require("./Collections")); -var RESOURCEPATH = "/overrides"; -var Overrides = /** @class */ (function () { - function Overrides(collectionName, apiCall) { - this.collectionName = collectionName; - this.apiCall = apiCall; - } - Overrides.prototype.upsert = function (overrideId, params) { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.put(this.endpointPath(overrideId), params)]; - }); - }); - }; - Overrides.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - Overrides.prototype.endpointPath = function (operation) { - return "".concat(Collections_1.default.RESOURCEPATH, "/").concat(this.collectionName).concat(Overrides.RESOURCEPATH).concat(operation === undefined ? "" : "/" + operation); - }; - Object.defineProperty(Overrides, "RESOURCEPATH", { - get: function () { - return RESOURCEPATH; - }, - enumerable: false, - configurable: true - }); - return Overrides; -}()); -exports.default = Overrides; -//# sourceMappingURL=Overrides.js.map \ No newline at end of file diff --git a/lib/Typesense/Overrides.js.map b/lib/Typesense/Overrides.js.map deleted file mode 100644 index a7c35a19..00000000 --- a/lib/Typesense/Overrides.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Overrides.js","sourceRoot":"","sources":["../../src/Typesense/Overrides.ts"],"names":[],"mappings":";;;AACA,sEAAwC;AAGxC,IAAM,YAAY,GAAG,YAAY,CAAC;AAuClC;IACE,mBACU,cAAsB,EACtB,OAAgB;QADhB,mBAAc,GAAd,cAAc,CAAQ;QACtB,YAAO,GAAP,OAAO,CAAS;IACvB,CAAC;IAEE,0BAAM,GAAZ,UACE,UAAkB,EAClB,MAA4B;;;gBAE5B,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CACrB,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAC7B,MAAM,CACP,EAAC;;;KACH;IAEK,4BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAA0B,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACvE;IAEO,gCAAY,GAApB,UAAqB,SAAkB;QACrC,OAAO,UAAG,qBAAW,CAAC,YAAY,cAAI,IAAI,CAAC,cAAc,SACvD,SAAS,CAAC,YAAY,SACrB,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,SAAS,CAAE,CAAC;IACtD,CAAC;IAED,sBAAW,yBAAY;aAAvB;YACE,OAAO,YAAY,CAAC;QACtB,CAAC;;;OAAA;IACH,gBAAC;AAAD,CAAC,AA7BD,IA6BC"} \ No newline at end of file diff --git a/lib/Typesense/Preset.d.ts b/lib/Typesense/Preset.d.ts deleted file mode 100644 index f9a9415f..00000000 --- a/lib/Typesense/Preset.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -import ApiCall from "./ApiCall"; -import { PresetCreateSchema } from "./Presets"; -export interface PresetSchema extends PresetCreateSchema { - name: string; -} -export interface PresetDeleteSchema { - name: string; -} -export default class Preset { - private presetId; - private apiCall; - constructor(presetId: string, apiCall: ApiCall); - retrieve(): Promise; - delete(): Promise; - private endpointPath; -} diff --git a/lib/Typesense/Preset.js b/lib/Typesense/Preset.js deleted file mode 100644 index 605b2d6d..00000000 --- a/lib/Typesense/Preset.js +++ /dev/null @@ -1,30 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var Presets_1 = tslib_1.__importDefault(require("./Presets")); -var Preset = /** @class */ (function () { - function Preset(presetId, apiCall) { - this.presetId = presetId; - this.apiCall = apiCall; - } - Preset.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - Preset.prototype.delete = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.delete(this.endpointPath())]; - }); - }); - }; - Preset.prototype.endpointPath = function () { - return "".concat(Presets_1.default.RESOURCEPATH, "/").concat(this.presetId); - }; - return Preset; -}()); -exports.default = Preset; -//# sourceMappingURL=Preset.js.map \ No newline at end of file diff --git a/lib/Typesense/Preset.js.map b/lib/Typesense/Preset.js.map deleted file mode 100644 index 12792a36..00000000 --- a/lib/Typesense/Preset.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Preset.js","sourceRoot":"","sources":["../../src/Typesense/Preset.ts"],"names":[],"mappings":";;;AACA,8DAAwD;AAUxD;IACE,gBAAoB,QAAgB,EAAU,OAAgB;QAA1C,aAAQ,GAAR,QAAQ,CAAQ;QAAU,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAE5D,yBAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAe,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KAC5D;IAEK,uBAAM,GAAZ;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAqB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACrE;IAEO,6BAAY,GAApB;QACE,OAAO,UAAG,iBAAO,CAAC,YAAY,cAAI,IAAI,CAAC,QAAQ,CAAE,CAAC;IACpD,CAAC;IACH,aAAC;AAAD,CAAC,AAdD,IAcC"} \ No newline at end of file diff --git a/lib/Typesense/Presets.d.ts b/lib/Typesense/Presets.d.ts deleted file mode 100644 index 83491421..00000000 --- a/lib/Typesense/Presets.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import ApiCall from "./ApiCall"; -import { PresetSchema } from "./Preset"; -import { SearchParams } from "./Documents"; -import { MultiSearchRequestsSchema } from "./MultiSearch"; -export interface PresetCreateSchema { - value: SearchParams | MultiSearchRequestsSchema; -} -export interface PresetsRetrieveSchema { - presets: PresetSchema[]; -} -export default class Presets { - private apiCall; - constructor(apiCall: ApiCall); - upsert(presetId: string, params: PresetCreateSchema): Promise; - retrieve(): Promise; - private endpointPath; - static get RESOURCEPATH(): string; -} diff --git a/lib/Typesense/Presets.js b/lib/Typesense/Presets.js deleted file mode 100644 index 05306792..00000000 --- a/lib/Typesense/Presets.js +++ /dev/null @@ -1,36 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var RESOURCEPATH = "/presets"; -var Presets = /** @class */ (function () { - function Presets(apiCall) { - this.apiCall = apiCall; - } - Presets.prototype.upsert = function (presetId, params) { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.put(this.endpointPath(presetId), params)]; - }); - }); - }; - Presets.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - Presets.prototype.endpointPath = function (operation) { - return "".concat(Presets.RESOURCEPATH).concat(operation === undefined ? "" : "/" + operation); - }; - Object.defineProperty(Presets, "RESOURCEPATH", { - get: function () { - return RESOURCEPATH; - }, - enumerable: false, - configurable: true - }); - return Presets; -}()); -exports.default = Presets; -//# sourceMappingURL=Presets.js.map \ No newline at end of file diff --git a/lib/Typesense/Presets.js.map b/lib/Typesense/Presets.js.map deleted file mode 100644 index 01abbf4a..00000000 --- a/lib/Typesense/Presets.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Presets.js","sourceRoot":"","sources":["../../src/Typesense/Presets.ts"],"names":[],"mappings":";;;AAKA,IAAM,YAAY,GAAG,UAAU,CAAC;AAUhC;IACE,iBAAoB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAElC,wBAAM,GAAZ,UACE,QAAgB,EAChB,MAA0B;;;gBAE1B,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAe,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,EAAC;;;KAC5E;IAEK,0BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAwB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACrE;IAEO,8BAAY,GAApB,UAAqB,SAAkB;QACrC,OAAO,UAAG,OAAO,CAAC,YAAY,SAC5B,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,SAAS,CAC9C,CAAC;IACL,CAAC;IAED,sBAAW,uBAAY;aAAvB;YACE,OAAO,YAAY,CAAC;QACtB,CAAC;;;OAAA;IACH,cAAC;AAAD,CAAC,AAvBD,IAuBC"} \ No newline at end of file diff --git a/lib/Typesense/RequestWithCache.d.ts b/lib/Typesense/RequestWithCache.d.ts deleted file mode 100644 index c03b6473..00000000 --- a/lib/Typesense/RequestWithCache.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -export default class RequestWithCache { - private responseCache; - private responsePromiseCache; - clearCache(): void; - perform(requestContext: any, requestFunction: (...params: any) => unknown, requestFunctionArguments: any[], cacheOptions: CacheOptions): Promise; -} -interface CacheOptions { - cacheResponseForSeconds?: number; - maxSize?: number; -} -export {}; diff --git a/lib/Typesense/RequestWithCache.js b/lib/Typesense/RequestWithCache.js deleted file mode 100644 index 94ac89ae..00000000 --- a/lib/Typesense/RequestWithCache.js +++ /dev/null @@ -1,84 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var defaultCacheResponseForSeconds = 2 * 60; -var defaultMaxSize = 100; -var RequestWithCache = /** @class */ (function () { - function RequestWithCache() { - this.responseCache = new Map(); - this.responsePromiseCache = new Map(); - } - RequestWithCache.prototype.clearCache = function () { - this.responseCache = new Map(); - this.responsePromiseCache = new Map(); - }; - // Todo: should probably be passed a callback instead, or an apiCall instance. Types are messy this way - RequestWithCache.prototype.perform = function (requestContext, requestFunction, requestFunctionArguments, cacheOptions) { - return tslib_1.__awaiter(this, void 0, void 0, function () { - var _a, cacheResponseForSeconds, _b, maxSize, isCacheDisabled, requestFunctionArgumentsJSON, cacheEntry, now, isEntryValid, cachePromiseEntry, isEntryValid, responsePromise, response, isCacheOverMaxSize, oldestEntry, isResponsePromiseCacheOverMaxSize, oldestEntry; - return tslib_1.__generator(this, function (_c) { - switch (_c.label) { - case 0: - _a = cacheOptions.cacheResponseForSeconds, cacheResponseForSeconds = _a === void 0 ? defaultCacheResponseForSeconds : _a, _b = cacheOptions.maxSize, maxSize = _b === void 0 ? defaultMaxSize : _b; - isCacheDisabled = cacheResponseForSeconds <= 0 || maxSize <= 0; - if (isCacheDisabled) { - return [2 /*return*/, requestFunction.call.apply(requestFunction, tslib_1.__spreadArray([requestContext], requestFunctionArguments, false))]; - } - requestFunctionArgumentsJSON = JSON.stringify(requestFunctionArguments); - cacheEntry = this.responseCache.get(requestFunctionArgumentsJSON); - now = Date.now(); - if (cacheEntry) { - isEntryValid = now - cacheEntry.requestTimestamp < cacheResponseForSeconds * 1000; - if (isEntryValid) { - this.responseCache.delete(requestFunctionArgumentsJSON); - this.responseCache.set(requestFunctionArgumentsJSON, cacheEntry); - return [2 /*return*/, Promise.resolve(cacheEntry.response)]; - } - else { - this.responseCache.delete(requestFunctionArgumentsJSON); - } - } - cachePromiseEntry = this.responsePromiseCache.get(requestFunctionArgumentsJSON); - if (cachePromiseEntry) { - isEntryValid = now - cachePromiseEntry.requestTimestamp < - cacheResponseForSeconds * 1000; - if (isEntryValid) { - this.responsePromiseCache.delete(requestFunctionArgumentsJSON); - this.responsePromiseCache.set(requestFunctionArgumentsJSON, cachePromiseEntry); - return [2 /*return*/, cachePromiseEntry.responsePromise]; - } - else { - this.responsePromiseCache.delete(requestFunctionArgumentsJSON); - } - } - responsePromise = requestFunction.call.apply(requestFunction, tslib_1.__spreadArray([requestContext], requestFunctionArguments, false)); - this.responsePromiseCache.set(requestFunctionArgumentsJSON, { - requestTimestamp: now, - responsePromise: responsePromise, - }); - return [4 /*yield*/, responsePromise]; - case 1: - response = _c.sent(); - this.responseCache.set(requestFunctionArgumentsJSON, { - requestTimestamp: now, - response: response, - }); - isCacheOverMaxSize = this.responseCache.size > maxSize; - if (isCacheOverMaxSize) { - oldestEntry = this.responseCache.keys().next().value; - this.responseCache.delete(oldestEntry); - } - isResponsePromiseCacheOverMaxSize = this.responsePromiseCache.size > maxSize; - if (isResponsePromiseCacheOverMaxSize) { - oldestEntry = this.responsePromiseCache.keys().next().value; - this.responsePromiseCache.delete(oldestEntry); - } - return [2 /*return*/, response]; - } - }); - }); - }; - return RequestWithCache; -}()); -exports.default = RequestWithCache; -//# sourceMappingURL=RequestWithCache.js.map \ No newline at end of file diff --git a/lib/Typesense/RequestWithCache.js.map b/lib/Typesense/RequestWithCache.js.map deleted file mode 100644 index f20e5c67..00000000 --- a/lib/Typesense/RequestWithCache.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RequestWithCache.js","sourceRoot":"","sources":["../../src/Typesense/RequestWithCache.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/Typesense/SearchClient.d.ts b/lib/Typesense/SearchClient.d.ts deleted file mode 100644 index cee519ea..00000000 --- a/lib/Typesense/SearchClient.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { ConfigurationOptions } from "./Configuration"; -import MultiSearch from "./MultiSearch"; -import { DocumentSchema } from "./Documents"; -import { SearchOnlyCollection } from "./SearchOnlyCollection"; -export default class SearchClient { - readonly multiSearch: MultiSearch; - private readonly configuration; - private readonly apiCall; - private readonly individualCollections; - constructor(options: ConfigurationOptions); - clearCache(): void; - collections(collectionName: string): SearchOnlyCollection | SearchOnlyCollection; -} diff --git a/lib/Typesense/SearchClient.js b/lib/Typesense/SearchClient.js deleted file mode 100644 index d8de0e03..00000000 --- a/lib/Typesense/SearchClient.js +++ /dev/null @@ -1,45 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var Configuration_1 = tslib_1.__importDefault(require("./Configuration")); -var ApiCall_1 = tslib_1.__importDefault(require("./ApiCall")); -var MultiSearch_1 = tslib_1.__importDefault(require("./MultiSearch")); -var SearchOnlyCollection_1 = require("./SearchOnlyCollection"); -var SearchClient = /** @class */ (function () { - function SearchClient(options) { - var _a; - options.sendApiKeyAsQueryParam = (_a = options.sendApiKeyAsQueryParam) !== null && _a !== void 0 ? _a : true; - if (options.sendApiKeyAsQueryParam === true && - (options.apiKey || "").length > 2000) { - console.warn("[typesense] API Key is longer than 2000 characters which is over the allowed limit, so disabling sending it as a query parameter."); - options.sendApiKeyAsQueryParam = false; - } - this.configuration = new Configuration_1.default(options); - this.apiCall = new ApiCall_1.default(this.configuration); - this.multiSearch = new MultiSearch_1.default(this.apiCall, this.configuration, true); - this.individualCollections = {}; - } - SearchClient.prototype.clearCache = function () { - this.multiSearch.clearCache(); - // eslint-disable-next-line @typescript-eslint/no-unused-vars - Object.entries(this.individualCollections).forEach(function (_a) { - var _ = _a[0], collection = _a[1]; - collection.documents().clearCache(); - }); - }; - SearchClient.prototype.collections = function (collectionName) { - if (!collectionName) { - 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."); - } - else { - if (this.individualCollections[collectionName] === undefined) { - this.individualCollections[collectionName] = new SearchOnlyCollection_1.SearchOnlyCollection(collectionName, this.apiCall, this.configuration); - } - return this.individualCollections[collectionName]; - } - }; - return SearchClient; -}()); -exports.default = SearchClient; -//# sourceMappingURL=SearchClient.js.map \ No newline at end of file diff --git a/lib/Typesense/SearchClient.js.map b/lib/Typesense/SearchClient.js.map deleted file mode 100644 index 1aa2a26e..00000000 --- a/lib/Typesense/SearchClient.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"SearchClient.js","sourceRoot":"","sources":["../../src/Typesense/SearchClient.ts"],"names":[],"mappings":";;;AAAA,0EAAsE;AACtE,8DAAgC;AAChC,sEAAwC;AAExC,+DAA8D;AAE9D;IAME,sBAAY,OAA6B;;QACvC,OAAO,CAAC,sBAAsB,GAAG,MAAA,OAAO,CAAC,sBAAsB,mCAAI,IAAI,CAAC;QACxE,IACE,OAAO,CAAC,sBAAsB,KAAK,IAAI;YACvC,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,IAAI,EACpC,CAAC;YACD,OAAO,CAAC,IAAI,CACV,mIAAmI,CACpI,CAAC;YACF,OAAO,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACzC,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,IAAI,uBAAa,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC/C,IAAI,CAAC,WAAW,GAAG,IAAI,qBAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAC3E,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;IAClC,CAAC;IAED,iCAAU,GAAV;QACE,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;QAE9B,6DAA6D;QAC7D,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,UAAC,EAAe;gBAAd,CAAC,QAAA,EAAE,UAAU,QAAA;YAChE,UAAU,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kCAAW,GAAX,UACE,cAAsB;QAEtB,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,8FAA8F;gBAC5F,kGAAkG,CACrG,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC7D,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,GAAG,IAAI,2CAAoB,CACnE,cAAc,EACd,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,aAAa,CACnB,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IACH,mBAAC;AAAD,CAAC,AApDD,IAoDC"} \ No newline at end of file diff --git a/lib/Typesense/SearchOnlyCollection.d.ts b/lib/Typesense/SearchOnlyCollection.d.ts deleted file mode 100644 index c74fb562..00000000 --- a/lib/Typesense/SearchOnlyCollection.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { DocumentSchema, SearchableDocuments } from "./Documents"; -import ApiCall from "./ApiCall"; -export declare class SearchOnlyCollection { - private readonly name; - private readonly apiCall; - private readonly configuration; - private readonly _documents; - constructor(name: string, apiCall: ApiCall, configuration: any); - documents(): SearchableDocuments; -} diff --git a/lib/Typesense/SearchOnlyCollection.js b/lib/Typesense/SearchOnlyCollection.js deleted file mode 100644 index 3c41aca0..00000000 --- a/lib/Typesense/SearchOnlyCollection.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.SearchOnlyCollection = void 0; -var SearchOnlyDocuments_1 = require("./SearchOnlyDocuments"); -var SearchOnlyCollection = /** @class */ (function () { - function SearchOnlyCollection(name, apiCall, configuration) { - this.name = name; - this.apiCall = apiCall; - this.configuration = configuration; - this._documents = new SearchOnlyDocuments_1.SearchOnlyDocuments(this.name, this.apiCall, this.configuration); - } - SearchOnlyCollection.prototype.documents = function () { - return this._documents; - }; - return SearchOnlyCollection; -}()); -exports.SearchOnlyCollection = SearchOnlyCollection; -//# sourceMappingURL=SearchOnlyCollection.js.map \ No newline at end of file diff --git a/lib/Typesense/SearchOnlyCollection.js.map b/lib/Typesense/SearchOnlyCollection.js.map deleted file mode 100644 index c52e0a87..00000000 --- a/lib/Typesense/SearchOnlyCollection.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"SearchOnlyCollection.js","sourceRoot":"","sources":["../../src/Typesense/SearchOnlyCollection.ts"],"names":[],"mappings":";;;AAEA,6DAA4D;AAE5D;IAGE,8BACmB,IAAY,EACZ,OAAgB,EAChB,aAAkB;QAFlB,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAS;QAChB,kBAAa,GAAb,aAAa,CAAK;QAEnC,IAAI,CAAC,UAAU,GAAG,IAAI,yCAAmB,CACvC,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,aAAa,CACnB,CAAC;IACJ,CAAC;IAED,wCAAS,GAAT;QACE,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IACH,2BAAC;AAAD,CAAC,AAlBD,IAkBC;AAlBY,oDAAoB"} \ No newline at end of file diff --git a/lib/Typesense/SearchOnlyDocuments.d.ts b/lib/Typesense/SearchOnlyDocuments.d.ts deleted file mode 100644 index 93453b0a..00000000 --- a/lib/Typesense/SearchOnlyDocuments.d.ts +++ /dev/null @@ -1,15 +0,0 @@ -import RequestWithCache from "./RequestWithCache"; -import ApiCall from "./ApiCall"; -import Configuration from "./Configuration"; -import type { DocumentSchema, SearchableDocuments, SearchOptions, SearchParams, SearchParamsWithPreset, SearchResponse } from "./Documents"; -export declare class SearchOnlyDocuments implements SearchableDocuments { - protected collectionName: string; - protected apiCall: ApiCall; - protected configuration: Configuration; - protected requestWithCache: RequestWithCache; - constructor(collectionName: string, apiCall: ApiCall, configuration: Configuration); - clearCache(): void; - search(searchParameters: SearchParams | SearchParamsWithPreset, { cacheSearchResultsForSeconds, abortSignal, }?: SearchOptions): Promise>; - protected endpointPath(operation?: string): string; - static get RESOURCEPATH(): string; -} diff --git a/lib/Typesense/SearchOnlyDocuments.js b/lib/Typesense/SearchOnlyDocuments.js deleted file mode 100644 index a7ab67ae..00000000 --- a/lib/Typesense/SearchOnlyDocuments.js +++ /dev/null @@ -1,53 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.SearchOnlyDocuments = void 0; -var tslib_1 = require("tslib"); -var RequestWithCache_1 = tslib_1.__importDefault(require("./RequestWithCache")); -var Collections_1 = tslib_1.__importDefault(require("./Collections")); -var RESOURCEPATH = "/documents"; -var SearchOnlyDocuments = /** @class */ (function () { - function SearchOnlyDocuments(collectionName, apiCall, configuration) { - this.collectionName = collectionName; - this.apiCall = apiCall; - this.configuration = configuration; - this.requestWithCache = new RequestWithCache_1.default(); - } - SearchOnlyDocuments.prototype.clearCache = function () { - this.requestWithCache.clearCache(); - }; - SearchOnlyDocuments.prototype.search = function (searchParameters, _a) { - var _b = _a === void 0 ? {} : _a, _c = _b.cacheSearchResultsForSeconds, cacheSearchResultsForSeconds = _c === void 0 ? this.configuration - .cacheSearchResultsForSeconds : _c, _d = _b.abortSignal, abortSignal = _d === void 0 ? null : _d; - return tslib_1.__awaiter(this, void 0, void 0, function () { - var additionalQueryParams, key, queryParams; - return tslib_1.__generator(this, function (_e) { - additionalQueryParams = {}; - if (this.configuration.useServerSideSearchCache === true) { - additionalQueryParams["use_cache"] = true; - } - for (key in searchParameters) { - if (Array.isArray(searchParameters[key])) { - additionalQueryParams[key] = searchParameters[key].join(","); - } - } - queryParams = Object.assign({}, searchParameters, additionalQueryParams); - return [2 /*return*/, this.requestWithCache.perform(this.apiCall, this.apiCall.get, [this.endpointPath("search"), queryParams, { abortSignal: abortSignal }], { - cacheResponseForSeconds: cacheSearchResultsForSeconds, - })]; - }); - }); - }; - SearchOnlyDocuments.prototype.endpointPath = function (operation) { - return "".concat(Collections_1.default.RESOURCEPATH, "/").concat(this.collectionName).concat(RESOURCEPATH).concat(operation === undefined ? "" : "/" + operation); - }; - Object.defineProperty(SearchOnlyDocuments, "RESOURCEPATH", { - get: function () { - return RESOURCEPATH; - }, - enumerable: false, - configurable: true - }); - return SearchOnlyDocuments; -}()); -exports.SearchOnlyDocuments = SearchOnlyDocuments; -//# sourceMappingURL=SearchOnlyDocuments.js.map \ No newline at end of file diff --git a/lib/Typesense/SearchOnlyDocuments.js.map b/lib/Typesense/SearchOnlyDocuments.js.map deleted file mode 100644 index f70aaa3c..00000000 --- a/lib/Typesense/SearchOnlyDocuments.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"SearchOnlyDocuments.js","sourceRoot":"","sources":["../../src/Typesense/SearchOnlyDocuments.ts"],"names":[],"mappings":";;;;AAAA,gFAAkD;AAGlD,sEAAwC;AAUxC,IAAM,YAAY,GAAG,YAAY,CAAC;AAElC;IAKE,6BACY,cAAsB,EACtB,OAAgB,EAChB,aAA4B;QAF5B,mBAAc,GAAd,cAAc,CAAQ;QACtB,YAAO,GAAP,OAAO,CAAS;QAChB,kBAAa,GAAb,aAAa,CAAe;QAL9B,qBAAgB,GAAqB,IAAI,0BAAgB,EAAE,CAAC;IAMnE,CAAC;IAEJ,wCAAU,GAAV;QACE,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;IACrC,CAAC;IAEK,oCAAM,GAAZ,UACE,gBAAuD,EACvD,EAIqB;YAJrB,qBAImB,EAAE,KAAA,EAHnB,oCAC+B,EAD/B,4BAA4B,mBAAG,IAAI,CAAC,aAAa;aAC9C,4BAA4B,KAAA,EAC/B,mBAAkB,EAAlB,WAAW,mBAAG,IAAI,KAAA;;;;gBAGd,qBAAqB,GAAG,EAAE,CAAC;gBACjC,IAAI,IAAI,CAAC,aAAa,CAAC,wBAAwB,KAAK,IAAI,EAAE,CAAC;oBACzD,qBAAqB,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;gBAC5C,CAAC;gBACD,KAAW,GAAG,IAAI,gBAAgB,EAAE,CAAC;oBACnC,IAAI,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;wBACzC,qBAAqB,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC/D,CAAC;gBACH,CAAC;gBACK,WAAW,GAAG,MAAM,CAAC,MAAM,CAC/B,EAAE,EACF,gBAAgB,EAChB,qBAAqB,CACtB,CAAC;gBAEF,sBAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAClC,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,OAAO,CAAC,GAAG,EAChB,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,EAAE,WAAW,aAAA,EAAE,CAAC,EAC3D;wBACE,uBAAuB,EAAE,4BAA4B;qBACtD,CAC4B,EAAC;;;KACjC;IAES,0CAAY,GAAtB,UAAuB,SAAkB;QACvC,OAAO,UAAG,qBAAW,CAAC,YAAY,cAAI,IAAI,CAAC,cAAc,SAAG,YAAY,SACtE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,SAAS,CAC9C,CAAC;IACL,CAAC;IAED,sBAAW,mCAAY;aAAvB;YACE,OAAO,YAAY,CAAC;QACtB,CAAC;;;OAAA;IACH,0BAAC;AAAD,CAAC,AAzDD,IAyDC;AAzDY,kDAAmB"} \ No newline at end of file diff --git a/lib/Typesense/Stats.d.ts b/lib/Typesense/Stats.d.ts deleted file mode 100644 index a3a0ad2f..00000000 --- a/lib/Typesense/Stats.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -import ApiCall from "./ApiCall"; -export interface EndpointStats { - [endpoint: string]: number; -} -export interface StatsResponse { - delete_latency_ms?: number; - delete_requests_per_second?: number; - import_latency_ms?: number; - import_requests_per_second?: number; - latency_ms?: EndpointStats; - overloaded_requests_per_second?: number; - pending_write_batches?: number; - requests_per_second?: EndpointStats; - search_latency_ms?: number; - search_requests_per_second?: number; - total_requests_per_second?: number; - write_latency_ms?: number; - write_requests_per_second?: number; -} -export default class Metrics { - private apiCall; - constructor(apiCall: ApiCall); - retrieve(): Promise; -} diff --git a/lib/Typesense/Stats.js b/lib/Typesense/Stats.js deleted file mode 100644 index f00c45d8..00000000 --- a/lib/Typesense/Stats.js +++ /dev/null @@ -1,19 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var RESOURCEPATH = "/stats.json"; -var Metrics = /** @class */ (function () { - function Metrics(apiCall) { - this.apiCall = apiCall; - } - Metrics.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(RESOURCEPATH)]; - }); - }); - }; - return Metrics; -}()); -exports.default = Metrics; -//# sourceMappingURL=Stats.js.map \ No newline at end of file diff --git a/lib/Typesense/Stats.js.map b/lib/Typesense/Stats.js.map deleted file mode 100644 index d45c873b..00000000 --- a/lib/Typesense/Stats.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Stats.js","sourceRoot":"","sources":["../../src/Typesense/Stats.ts"],"names":[],"mappings":";;;AAEA,IAAM,YAAY,GAAG,aAAa,CAAC;AAsBnC;IACE,iBAAoB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAElC,0BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAC;;;KACvC;IACH,cAAC;AAAD,CAAC,AAND,IAMC"} \ No newline at end of file diff --git a/lib/Typesense/Stopword.d.ts b/lib/Typesense/Stopword.d.ts deleted file mode 100644 index 3a74c588..00000000 --- a/lib/Typesense/Stopword.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import ApiCall from "./ApiCall"; -import { StopwordCreateSchema } from "./Stopwords"; -export interface StopwordSchema extends StopwordCreateSchema { - id: string; - stopwords: string[]; - locale?: string; -} -export interface StopwordDeleteSchema { - id: string; -} -export default class Stopword { - private stopwordId; - private apiCall; - constructor(stopwordId: string, apiCall: ApiCall); - retrieve(): Promise; - delete(): Promise; - private endpointPath; -} diff --git a/lib/Typesense/Stopword.js b/lib/Typesense/Stopword.js deleted file mode 100644 index 72717218..00000000 --- a/lib/Typesense/Stopword.js +++ /dev/null @@ -1,30 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var Stopwords_1 = tslib_1.__importDefault(require("./Stopwords")); -var Stopword = /** @class */ (function () { - function Stopword(stopwordId, apiCall) { - this.stopwordId = stopwordId; - this.apiCall = apiCall; - } - Stopword.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - Stopword.prototype.delete = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.delete(this.endpointPath())]; - }); - }); - }; - Stopword.prototype.endpointPath = function () { - return "".concat(Stopwords_1.default.RESOURCEPATH, "/").concat(this.stopwordId); - }; - return Stopword; -}()); -exports.default = Stopword; -//# sourceMappingURL=Stopword.js.map \ No newline at end of file diff --git a/lib/Typesense/Stopword.js.map b/lib/Typesense/Stopword.js.map deleted file mode 100644 index a4f1072c..00000000 --- a/lib/Typesense/Stopword.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Stopword.js","sourceRoot":"","sources":["../../src/Typesense/Stopword.ts"],"names":[],"mappings":";;;AACA,kEAA8D;AAY9D;IACE,kBACU,UAAkB,EAClB,OAAgB;QADhB,eAAU,GAAV,UAAU,CAAQ;QAClB,YAAO,GAAP,OAAO,CAAS;IACvB,CAAC;IAEE,2BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAiB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KAC9D;IAEK,yBAAM,GAAZ;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAuB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACvE;IAEO,+BAAY,GAApB;QACE,OAAO,UAAG,mBAAS,CAAC,YAAY,cAAI,IAAI,CAAC,UAAU,CAAE,CAAC;IACxD,CAAC;IACH,eAAC;AAAD,CAAC,AAjBD,IAiBC"} \ No newline at end of file diff --git a/lib/Typesense/Stopwords.d.ts b/lib/Typesense/Stopwords.d.ts deleted file mode 100644 index 3d119c1f..00000000 --- a/lib/Typesense/Stopwords.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -import ApiCall from "./ApiCall"; -import { StopwordSchema } from "./Stopword"; -export interface StopwordCreateSchema { - stopwords: string[]; - locale?: string; -} -export interface StopwordsRetrieveSchema { - stopwords: StopwordSchema[]; -} -export default class Stopwords { - private apiCall; - constructor(apiCall: ApiCall); - upsert(stopwordId: string, params: StopwordCreateSchema): Promise; - retrieve(): Promise; - private endpointPath; - static get RESOURCEPATH(): string; -} diff --git a/lib/Typesense/Stopwords.js b/lib/Typesense/Stopwords.js deleted file mode 100644 index e905a926..00000000 --- a/lib/Typesense/Stopwords.js +++ /dev/null @@ -1,36 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var RESOURCEPATH = "/stopwords"; -var Stopwords = /** @class */ (function () { - function Stopwords(apiCall) { - this.apiCall = apiCall; - } - Stopwords.prototype.upsert = function (stopwordId, params) { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.put(this.endpointPath(stopwordId), params)]; - }); - }); - }; - Stopwords.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - Stopwords.prototype.endpointPath = function (operation) { - return "".concat(Stopwords.RESOURCEPATH).concat(operation === undefined ? "" : "/" + operation); - }; - Object.defineProperty(Stopwords, "RESOURCEPATH", { - get: function () { - return RESOURCEPATH; - }, - enumerable: false, - configurable: true - }); - return Stopwords; -}()); -exports.default = Stopwords; -//# sourceMappingURL=Stopwords.js.map \ No newline at end of file diff --git a/lib/Typesense/Stopwords.js.map b/lib/Typesense/Stopwords.js.map deleted file mode 100644 index 9a27bdc3..00000000 --- a/lib/Typesense/Stopwords.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Stopwords.js","sourceRoot":"","sources":["../../src/Typesense/Stopwords.ts"],"names":[],"mappings":";;;AAGA,IAAM,YAAY,GAAG,YAAY,CAAC;AAWlC;IACE,mBAAoB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAElC,0BAAM,GAAZ,UACE,UAAkB,EAClB,MAA4B;;;gBAE5B,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CACrB,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAC7B,MAAM,CACP,EAAC;;;KACH;IAEK,4BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAA0B,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACvE;IAEO,gCAAY,GAApB,UAAqB,SAAkB;QACrC,OAAO,UAAG,SAAS,CAAC,YAAY,SAC9B,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,SAAS,CAC9C,CAAC;IACL,CAAC;IAED,sBAAW,yBAAY;aAAvB;YACE,OAAO,YAAY,CAAC;QACtB,CAAC;;;OAAA;IACH,gBAAC;AAAD,CAAC,AA1BD,IA0BC"} \ No newline at end of file diff --git a/lib/Typesense/Synonym.d.ts b/lib/Typesense/Synonym.d.ts deleted file mode 100644 index e178a28b..00000000 --- a/lib/Typesense/Synonym.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -import ApiCall from "./ApiCall"; -import { SynonymCreateSchema } from "./Synonyms"; -export interface SynonymSchema extends SynonymCreateSchema { - id: string; -} -export interface SynonymDeleteSchema { - id: string; -} -export default class Synonym { - private collectionName; - private synonymId; - private apiCall; - constructor(collectionName: string, synonymId: string, apiCall: ApiCall); - retrieve(): Promise; - delete(): Promise; - private endpointPath; -} diff --git a/lib/Typesense/Synonym.js b/lib/Typesense/Synonym.js deleted file mode 100644 index a3c47bb5..00000000 --- a/lib/Typesense/Synonym.js +++ /dev/null @@ -1,32 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var Collections_1 = tslib_1.__importDefault(require("./Collections")); -var Synonyms_1 = tslib_1.__importDefault(require("./Synonyms")); -var Synonym = /** @class */ (function () { - function Synonym(collectionName, synonymId, apiCall) { - this.collectionName = collectionName; - this.synonymId = synonymId; - this.apiCall = apiCall; - } - Synonym.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - Synonym.prototype.delete = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.delete(this.endpointPath())]; - }); - }); - }; - Synonym.prototype.endpointPath = function () { - return "".concat(Collections_1.default.RESOURCEPATH, "/").concat(this.collectionName).concat(Synonyms_1.default.RESOURCEPATH, "/").concat(this.synonymId); - }; - return Synonym; -}()); -exports.default = Synonym; -//# sourceMappingURL=Synonym.js.map \ No newline at end of file diff --git a/lib/Typesense/Synonym.js.map b/lib/Typesense/Synonym.js.map deleted file mode 100644 index 84a6ea2c..00000000 --- a/lib/Typesense/Synonym.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Synonym.js","sourceRoot":"","sources":["../../src/Typesense/Synonym.ts"],"names":[],"mappings":";;;AACA,sEAAwC;AACxC,gEAA2D;AAU3D;IACE,iBACU,cAAsB,EACtB,SAAiB,EACjB,OAAgB;QAFhB,mBAAc,GAAd,cAAc,CAAQ;QACtB,cAAS,GAAT,SAAS,CAAQ;QACjB,YAAO,GAAP,OAAO,CAAS;IACvB,CAAC;IAEE,0BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAgB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KAC7D;IAEK,wBAAM,GAAZ;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAsB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACtE;IAEO,8BAAY,GAApB;QACE,OAAO,UAAG,qBAAW,CAAC,YAAY,cAAI,IAAI,CAAC,cAAc,SAAG,kBAAQ,CAAC,YAAY,cAAI,IAAI,CAAC,SAAS,CAAE,CAAC;IACxG,CAAC;IACH,cAAC;AAAD,CAAC,AAlBD,IAkBC"} \ No newline at end of file diff --git a/lib/Typesense/Synonyms.d.ts b/lib/Typesense/Synonyms.d.ts deleted file mode 100644 index 82bfb1d6..00000000 --- a/lib/Typesense/Synonyms.d.ts +++ /dev/null @@ -1,20 +0,0 @@ -import ApiCall from "./ApiCall"; -import { SynonymSchema } from "./Synonym"; -export interface SynonymCreateSchema { - synonyms: string[]; - root?: string; - locale?: string; - symbols_to_index?: string[]; -} -export interface SynonymsRetrieveSchema { - synonyms: SynonymSchema[]; -} -export default class Synonyms { - private collectionName; - private apiCall; - constructor(collectionName: string, apiCall: ApiCall); - upsert(synonymId: string, params: SynonymCreateSchema): Promise; - retrieve(): Promise; - private endpointPath; - static get RESOURCEPATH(): string; -} diff --git a/lib/Typesense/Synonyms.js b/lib/Typesense/Synonyms.js deleted file mode 100644 index 51f7aaad..00000000 --- a/lib/Typesense/Synonyms.js +++ /dev/null @@ -1,38 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var Collections_1 = tslib_1.__importDefault(require("./Collections")); -var RESOURCEPATH = "/synonyms"; -var Synonyms = /** @class */ (function () { - function Synonyms(collectionName, apiCall) { - this.collectionName = collectionName; - this.apiCall = apiCall; - } - Synonyms.prototype.upsert = function (synonymId, params) { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.put(this.endpointPath(synonymId), params)]; - }); - }); - }; - Synonyms.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - Synonyms.prototype.endpointPath = function (operation) { - return "".concat(Collections_1.default.RESOURCEPATH, "/").concat(this.collectionName).concat(Synonyms.RESOURCEPATH).concat(operation === undefined ? "" : "/" + operation); - }; - Object.defineProperty(Synonyms, "RESOURCEPATH", { - get: function () { - return RESOURCEPATH; - }, - enumerable: false, - configurable: true - }); - return Synonyms; -}()); -exports.default = Synonyms; -//# sourceMappingURL=Synonyms.js.map \ No newline at end of file diff --git a/lib/Typesense/Synonyms.js.map b/lib/Typesense/Synonyms.js.map deleted file mode 100644 index 29790250..00000000 --- a/lib/Typesense/Synonyms.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Synonyms.js","sourceRoot":"","sources":["../../src/Typesense/Synonyms.ts"],"names":[],"mappings":";;;AACA,sEAAwC;AAGxC,IAAM,YAAY,GAAG,WAAW,CAAC;AAajC;IACE,kBAAoB,cAAsB,EAAU,OAAgB;QAAhD,mBAAc,GAAd,cAAc,CAAQ;QAAU,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAElE,yBAAM,GAAZ,UACE,SAAiB,EACjB,MAA2B;;;gBAE3B,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CACrB,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAC5B,MAAM,CACP,EAAC;;;KACH;IAEK,2BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAyB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACtE;IAEO,+BAAY,GAApB,UAAqB,SAAkB;QACrC,OAAO,UAAG,qBAAW,CAAC,YAAY,cAAI,IAAI,CAAC,cAAc,SACvD,QAAQ,CAAC,YAAY,SACpB,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,SAAS,CAAE,CAAC;IACtD,CAAC;IAED,sBAAW,wBAAY;aAAvB;YACE,OAAO,YAAY,CAAC;QACtB,CAAC;;;OAAA;IACH,eAAC;AAAD,CAAC,AA1BD,IA0BC"} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index cf535251..3ec54c09 100644 --- a/package-lock.json +++ b/package-lock.json @@ -32,11 +32,14 @@ "babel-plugin-istanbul": "^6.1.1", "babelify": "^10.0.0", "browserify": "^17.0.0", + "browserslist": "^4.23.3", + "browserslist-to-esbuild": "^2.1.1", "chai": "~4.3.10", "chai-as-promised": "^7.1.1", "common-shakeify": "^1.1.2", "core-js": "^3.33.2", "del": "^7.1.0", + "esbuild-plugins-node-modules-polyfill": "^1.6.5", "eslint": "^8.52.0", "eslint-config-prettier": "^9.0.0", "eslint-plugin-import": "^2.29.0", @@ -52,6 +55,7 @@ "ts-loader": "^9.5.0", "ts-mocha": "^10.0.0", "tsify": "^5.0.4", + "tsup": "^8.2.4", "typescript": "^5.2.2", "vinyl-buffer": "^1.0.1", "vinyl-source-stream": "^2.0.0", @@ -1922,6 +1926,414 @@ "node": ">=10.0.0" } }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.23.0.tgz", + "integrity": "sha512-3sG8Zwa5fMcA9bgqB8AfWPQ+HFke6uD3h1s3RIwUNK8EG7a4buxvuFTs3j1IMs2NXAk9F30C/FF4vxRgQCcmoQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.23.0.tgz", + "integrity": "sha512-+KuOHTKKyIKgEEqKbGTK8W7mPp+hKinbMBeEnNzjJGyFcWsfrXjSTNluJHCY1RqhxFurdD8uNXQDei7qDlR6+g==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.23.0.tgz", + "integrity": "sha512-EuHFUYkAVfU4qBdyivULuu03FhJO4IJN9PGuABGrFy4vUuzk91P2d+npxHcFdpUnfYKy0PuV+n6bKIpHOB3prQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.23.0.tgz", + "integrity": "sha512-WRrmKidLoKDl56LsbBMhzTTBxrsVwTKdNbKDalbEZr0tcsBgCLbEtoNthOW6PX942YiYq8HzEnb4yWQMLQuipQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.23.0.tgz", + "integrity": "sha512-YLntie/IdS31H54Ogdn+v50NuoWF5BDkEUFpiOChVa9UnKpftgwzZRrI4J132ETIi+D8n6xh9IviFV3eXdxfow==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.23.0.tgz", + "integrity": "sha512-IMQ6eme4AfznElesHUPDZ+teuGwoRmVuuixu7sv92ZkdQcPbsNHzutd+rAfaBKo8YK3IrBEi9SLLKWJdEvJniQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.23.0.tgz", + "integrity": "sha512-0muYWCng5vqaxobq6LB3YNtevDFSAZGlgtLoAc81PjUfiFz36n4KMpwhtAd4he8ToSI3TGyuhyx5xmiWNYZFyw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.23.0.tgz", + "integrity": "sha512-XKDVu8IsD0/q3foBzsXGt/KjD/yTKBCIwOHE1XwiXmrRwrX6Hbnd5Eqn/WvDekddK21tfszBSrE/WMaZh+1buQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.23.0.tgz", + "integrity": "sha512-SEELSTEtOFu5LPykzA395Mc+54RMg1EUgXP+iw2SJ72+ooMwVsgfuwXo5Fn0wXNgWZsTVHwY2cg4Vi/bOD88qw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.23.0.tgz", + "integrity": "sha512-j1t5iG8jE7BhonbsEg5d9qOYcVZv/Rv6tghaXM/Ug9xahM0nX/H2gfu6X6z11QRTMT6+aywOMA8TDkhPo8aCGw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.23.0.tgz", + "integrity": "sha512-P7O5Tkh2NbgIm2R6x1zGJJsnacDzTFcRWZyTTMgFdVit6E98LTxO+v8LCCLWRvPrjdzXHx9FEOA8oAZPyApWUA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.23.0.tgz", + "integrity": "sha512-InQwepswq6urikQiIC/kkx412fqUZudBO4SYKu0N+tGhXRWUqAx+Q+341tFV6QdBifpjYgUndV1hhMq3WeJi7A==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.23.0.tgz", + "integrity": "sha512-J9rflLtqdYrxHv2FqXE2i1ELgNjT+JFURt/uDMoPQLcjWQA5wDKgQA4t/dTqGa88ZVECKaD0TctwsUfHbVoi4w==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.23.0.tgz", + "integrity": "sha512-cShCXtEOVc5GxU0fM+dsFD10qZ5UpcQ8AM22bYj0u/yaAykWnqXJDpd77ublcX6vdDsWLuweeuSNZk4yUxZwtw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.23.0.tgz", + "integrity": "sha512-HEtaN7Y5UB4tZPeQmgz/UhzoEyYftbMXrBCUjINGjh3uil+rB/QzzpMshz3cNUxqXN7Vr93zzVtpIDL99t9aRw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.23.0.tgz", + "integrity": "sha512-WDi3+NVAuyjg/Wxi+o5KPqRbZY0QhI9TjrEEm+8dmpY9Xir8+HE/HNx2JoLckhKbFopW0RdO2D72w8trZOV+Wg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.23.0.tgz", + "integrity": "sha512-a3pMQhUEJkITgAw6e0bWA+F+vFtCciMjW/LPtoj99MhVt+Mfb6bbL9hu2wmTZgNd994qTAEw+U/r6k3qHWWaOQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.23.0.tgz", + "integrity": "sha512-cRK+YDem7lFTs2Q5nEv/HHc4LnrfBCbH5+JHu6wm2eP+d8OZNoSMYgPZJq78vqQ9g+9+nMuIsAO7skzphRXHyw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.23.0.tgz", + "integrity": "sha512-suXjq53gERueVWu0OKxzWqk7NxiUWSUlrxoZK7usiF50C6ipColGR5qie2496iKGYNLhDZkPxBI3erbnYkU0rQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.23.0.tgz", + "integrity": "sha512-6p3nHpby0DM/v15IFKMjAaayFhqnXV52aEmv1whZHX56pdkK+MEaLoQWj+H42ssFarP1PcomVhbsR4pkz09qBg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.23.0.tgz", + "integrity": "sha512-BFelBGfrBwk6LVrmFzCq1u1dZbG4zy/Kp93w2+y83Q5UGYF1d8sCzeLI9NXjKyujjBBniQa8R8PzLFAUrSM9OA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.23.0.tgz", + "integrity": "sha512-lY6AC8p4Cnb7xYHuIxQ6iYPe6MfO2CC43XXKo9nBXDb35krYt7KGhQnOkRGar5psxYkircpCqfbNDB4uJbS2jQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.23.0.tgz", + "integrity": "sha512-7L1bHlOTcO4ByvI7OXVI5pNN6HSu6pUQq9yodga8izeuB1KcT2UkHaH6118QJwopExPn0rMHIseCTx1CRo/uNA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.23.0.tgz", + "integrity": "sha512-Arm+WgUFLUATuoxCJcahGuk6Yj9Pzxd6l11Zb/2aAuv5kWWvvfhLFo2fni4uSK5vzlUdCGZ/BdV5tH8klj8p8g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", @@ -2132,6 +2544,109 @@ "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", "dev": true }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -2215,6 +2730,12 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@jspm/core": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@jspm/core/-/core-2.0.1.tgz", + "integrity": "sha512-Lg3PnLp0QXpxwLIAuuJboLeRaIhrgJjeuh797QADg3xz8wGLugQOS5DpsE8A6i6Adgzf+bacllkKZG3J0tGfDw==", + "dev": true + }, "node_modules/@nicolo-ribaudo/chokidar-2": { "version": "2.1.8-no-fsevents.3", "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz", @@ -2253,30 +2774,265 @@ "node": ">= 8" } }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@pkgr/core": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", + "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.21.0.tgz", + "integrity": "sha512-WTWD8PfoSAJ+qL87lE7votj3syLavxunWhzCnx3XFxFiI/BA/r3X7MUM8dVrH8rb2r4AiO8jJsr3ZjdaftmnfA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.21.0.tgz", + "integrity": "sha512-a1sR2zSK1B4eYkiZu17ZUZhmUQcKjk2/j9Me2IDjk1GHW7LB5Z35LEzj9iJch6gtUfsnvZs1ZNyDW2oZSThrkA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.21.0.tgz", + "integrity": "sha512-zOnKWLgDld/svhKO5PD9ozmL6roy5OQ5T4ThvdYZLpiOhEGY+dp2NwUmxK0Ld91LrbjrvtNAE0ERBwjqhZTRAA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.21.0.tgz", + "integrity": "sha512-7doS8br0xAkg48SKE2QNtMSFPFUlRdw9+votl27MvT46vo44ATBmdZdGysOevNELmZlfd+NEa0UYOA8f01WSrg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.21.0.tgz", + "integrity": "sha512-pWJsfQjNWNGsoCq53KjMtwdJDmh/6NubwQcz52aEwLEuvx08bzcy6tOUuawAOncPnxz/3siRtd8hiQ32G1y8VA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.21.0.tgz", + "integrity": "sha512-efRIANsz3UHZrnZXuEvxS9LoCOWMGD1rweciD6uJQIx2myN3a8Im1FafZBzh7zk1RJ6oKcR16dU3UPldaKd83w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.21.0.tgz", + "integrity": "sha512-ZrPhydkTVhyeGTW94WJ8pnl1uroqVHM3j3hjdquwAcWnmivjAwOYjTEAuEDeJvGX7xv3Z9GAvrBkEzCgHq9U1w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.21.0.tgz", + "integrity": "sha512-cfaupqd+UEFeURmqNP2eEvXqgbSox/LHOyN9/d2pSdV8xTrjdg3NgOFJCtc1vQ/jEke1qD0IejbBfxleBPHnPw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.21.0.tgz", + "integrity": "sha512-ZKPan1/RvAhrUylwBXC9t7B2hXdpb/ufeu22pG2psV7RN8roOfGurEghw1ySmX/CmDDHNTDDjY3lo9hRlgtaHg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.21.0.tgz", + "integrity": "sha512-H1eRaCwd5E8eS8leiS+o/NqMdljkcb1d6r2h4fKSsCXQilLKArq6WS7XBLDu80Yz+nMqHVFDquwcVrQmGr28rg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.21.0.tgz", + "integrity": "sha512-zJ4hA+3b5tu8u7L58CCSI0A9N1vkfwPhWd/puGXwtZlsB5bTkwDNW/+JCU84+3QYmKpLi+XvHdmrlwUwDA6kqw==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.21.0.tgz", + "integrity": "sha512-e2hrvElFIh6kW/UNBQK/kzqMNY5mO+67YtEh9OA65RM5IJXYTWiXjX6fjIiPaqOkBthYF1EqgiZ6OXKcQsM0hg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.21.0.tgz", + "integrity": "sha512-1vvmgDdUSebVGXWX2lIcgRebqfQSff0hMEkLJyakQ9JQUbLDkEaMsPTLOmyccyC6IJ/l3FZuJbmrBw/u0A0uCQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.21.0.tgz", + "integrity": "sha512-s5oFkZ/hFcrlAyBTONFY1TWndfyre1wOMwU+6KCpm/iatybvrRgmZVM+vCFwxmC5ZhdlgfE0N4XorsDpi7/4XQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.21.0.tgz", + "integrity": "sha512-G9+TEqRnAA6nbpqyUqgTiopmnfgnMkR3kMukFBDsiyy23LZvUCpiUwjTRx6ezYCjJODXrh52rBR9oXvm+Fp5wg==", + "cpu": [ + "ia32" + ], "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/@pkgr/core": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", - "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.21.0.tgz", + "integrity": "sha512-2jsCDZwtQvRhejHLfZ1JY6w6kEuEtfF9nzYsZxzSlNVKDX+DpsDJ+Rbjkm74nvg2rdx0gwBS+IMdvwJuq3S9pQ==", + "cpu": [ + "x64" + ], "dev": true, - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] }, "node_modules/@types/eslint": { "version": "8.56.2", @@ -3735,9 +4491,9 @@ } }, "node_modules/browserslist": { - "version": "4.22.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.3.tgz", - "integrity": "sha512-UAp55yfwNv0klWNapjs/ktHoguxuQNGnOzxYmfnXIS+8AsRDZkSDxg7R1AX3GKzn078SBI5dzwzj/Yx0Or0e3A==", + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", "dev": true, "funding": [ { @@ -3753,11 +4509,12 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001580", - "electron-to-chromium": "^1.4.648", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" }, "bin": { "browserslist": "cli.js" @@ -3766,6 +4523,25 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, + "node_modules/browserslist-to-esbuild": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/browserslist-to-esbuild/-/browserslist-to-esbuild-2.1.1.tgz", + "integrity": "sha512-KN+mty6C3e9AN8Z5dI1xeN15ExcRNeISoC3g7V0Kax/MMF9MSoYA2G7lkTTcVUFntiEjkpI0HNgqJC1NjdyNUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "meow": "^13.0.0" + }, + "bin": { + "browserslist-to-esbuild": "cli/index.js" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "browserslist": "*" + } + }, "node_modules/buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", @@ -3794,6 +4570,32 @@ "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", "dev": true }, + "node_modules/bundle-require": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/bundle-require/-/bundle-require-5.0.0.tgz", + "integrity": "sha512-GuziW3fSSmopcx4KRymQEJVbZUfqlCqcq7dvs6TYwKRZiegK/2buMxQTPs6MGlNv50wms1699qYO54R8XfRX4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "load-tsconfig": "^0.2.3" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "peerDependencies": { + "esbuild": ">=0.18" + } + }, + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/cached-path-relative": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz", @@ -3863,9 +4665,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001643", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001643.tgz", - "integrity": "sha512-ERgWGNleEilSrHM6iUz/zJNSQTP8Mr21wDWpdgvRwcTXGAq6jMtOUPP4dqFPTdKqZ2wKTdtB+uucZ3MRpAUSmg==", + "version": "1.0.30001651", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001651.tgz", + "integrity": "sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==", "dev": true, "funding": [ { @@ -3880,7 +4682,8 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ] + ], + "license": "CC-BY-4.0" }, "node_modules/chai": { "version": "4.3.10", @@ -4191,6 +4994,23 @@ "typedarray": "^0.0.6" } }, + "node_modules/confbox": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.7.tgz", + "integrity": "sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==", + "dev": true, + "license": "MIT" + }, + "node_modules/consola": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-3.2.3.tgz", + "integrity": "sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.18.0 || >=16.10.0" + } + }, "node_modules/console-browserify": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", @@ -4614,11 +5434,19 @@ "readable-stream": "^2.0.2" } }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" + }, "node_modules/electron-to-chromium": { - "version": "1.4.648", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.648.tgz", - "integrity": "sha512-EmFMarXeqJp9cUKu/QEciEApn0S/xRcpZWuAm32U7NgoZCimjsilKXHRO9saeEW55eHZagIDg6XTUOv32w9pjg==", - "dev": true + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.13.tgz", + "integrity": "sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==", + "dev": true, + "license": "ISC" }, "node_modules/elliptic": { "version": "6.5.6", @@ -4872,11 +5700,70 @@ "es6-symbol": "^3.1.1" } }, + "node_modules/esbuild": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.23.0.tgz", + "integrity": "sha512-1lvV17H2bMYda/WaFb2jLPeHU3zml2k4/yagNMG8Q/YtfMjCwEUZa2eXXMgZTVSL5q1n4H7sQ0X6CdJDqqeCFA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.23.0", + "@esbuild/android-arm": "0.23.0", + "@esbuild/android-arm64": "0.23.0", + "@esbuild/android-x64": "0.23.0", + "@esbuild/darwin-arm64": "0.23.0", + "@esbuild/darwin-x64": "0.23.0", + "@esbuild/freebsd-arm64": "0.23.0", + "@esbuild/freebsd-x64": "0.23.0", + "@esbuild/linux-arm": "0.23.0", + "@esbuild/linux-arm64": "0.23.0", + "@esbuild/linux-ia32": "0.23.0", + "@esbuild/linux-loong64": "0.23.0", + "@esbuild/linux-mips64el": "0.23.0", + "@esbuild/linux-ppc64": "0.23.0", + "@esbuild/linux-riscv64": "0.23.0", + "@esbuild/linux-s390x": "0.23.0", + "@esbuild/linux-x64": "0.23.0", + "@esbuild/netbsd-x64": "0.23.0", + "@esbuild/openbsd-arm64": "0.23.0", + "@esbuild/openbsd-x64": "0.23.0", + "@esbuild/sunos-x64": "0.23.0", + "@esbuild/win32-arm64": "0.23.0", + "@esbuild/win32-ia32": "0.23.0", + "@esbuild/win32-x64": "0.23.0" + } + }, + "node_modules/esbuild-plugins-node-modules-polyfill": { + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/esbuild-plugins-node-modules-polyfill/-/esbuild-plugins-node-modules-polyfill-1.6.5.tgz", + "integrity": "sha512-gppYvODLbtGhnQV7CPcJ67N/RccaBskIs7zNApUYoj2+rwSFPSlA8Mdxqm5AUDGrPki75dRPNOd2/+HK39YRvg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jspm/core": "^2.0.1", + "local-pkg": "^0.5.0", + "resolve.exports": "^2.0.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "esbuild": ">=0.14.0 <=0.23.0" + } + }, "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -5697,6 +6584,30 @@ "safe-buffer": "^5.1.1" } }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, "node_modules/ext": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", @@ -6049,6 +6960,19 @@ "node": ">=8.0.0" } }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/get-symbol-description": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", @@ -6408,6 +7332,16 @@ "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", "dev": true }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, "node_modules/ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -7220,6 +8154,22 @@ "node": ">=8" } }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, "node_modules/jest-worker": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", @@ -7258,6 +8208,16 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, + "node_modules/joycon": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz", + "integrity": "sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -7391,6 +8351,36 @@ "node": ">= 0.8.0" } }, + "node_modules/lilconfig": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", + "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true, + "license": "MIT" + }, + "node_modules/load-tsconfig": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/load-tsconfig/-/load-tsconfig-0.2.5.tgz", + "integrity": "sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, "node_modules/loader-runner": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", @@ -7400,6 +8390,23 @@ "node": ">=6.11.5" } }, + "node_modules/local-pkg": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", + "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mlly": "^1.4.2", + "pkg-types": "^1.0.3" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -7436,6 +8443,13 @@ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", + "dev": true, + "license": "MIT" + }, "node_modules/log-symbols": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", @@ -7617,6 +8631,19 @@ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, + "node_modules/meow": { + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz", + "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/merge-source-map": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz", @@ -7692,6 +8719,16 @@ "node": ">= 0.6" } }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", @@ -7728,6 +8765,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/mkdirp": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", @@ -7749,6 +8796,19 @@ "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", "dev": true }, + "node_modules/mlly": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.1.tgz", + "integrity": "sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.11.3", + "pathe": "^1.1.2", + "pkg-types": "^1.1.1", + "ufo": "^1.5.3" + } + }, "node_modules/mocha": { "version": "10.2.0", "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", @@ -8036,6 +9096,18 @@ "queue-tick": "^1.0.0" } }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, "node_modules/nanobench": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/nanobench/-/nanobench-2.1.1.tgz", @@ -8150,10 +9222,11 @@ } }, "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", - "dev": true + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "dev": true, + "license": "MIT" }, "node_modules/normalize-path": { "version": "3.0.0", @@ -8164,6 +9237,19 @@ "node": ">=0.10.0" } }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/nyc": { "version": "15.1.0", "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", @@ -8512,6 +9598,22 @@ "wrappy": "1" } }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/optionator": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", @@ -8601,6 +9703,13 @@ "node": ">=8" } }, + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, "node_modules/pako": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", @@ -8718,6 +9827,30 @@ "node": ">= 0.8.0" } }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", @@ -8727,6 +9860,13 @@ "node": ">=8" } }, + "node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "dev": true, + "license": "MIT" + }, "node_modules/pathval": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", @@ -8753,10 +9893,11 @@ } }, "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "dev": true, + "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", @@ -8846,6 +9987,61 @@ "node": ">=4" } }, + "node_modules/pkg-types": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.1.3.tgz", + "integrity": "sha512-+JrgthZG6m3ckicaOB74TwQ+tBWsFl3qVQg7mN8ulwSOElJ7gBhKzj2VkCPnZ4NlF6kEquYU+RIYNVAvzd54UA==", + "dev": true, + "license": "MIT", + "dependencies": { + "confbox": "^0.1.7", + "mlly": "^1.7.1", + "pathe": "^1.1.2" + } + }, + "node_modules/postcss-load-config": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-6.0.1.tgz", + "integrity": "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "lilconfig": "^3.1.1" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "jiti": ">=1.21.0", + "postcss": ">=8.0.9", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + }, + "postcss": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -9269,6 +10465,16 @@ "node": ">=8" } }, + "node_modules/resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, "node_modules/reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -9304,6 +10510,42 @@ "inherits": "^2.0.1" } }, + "node_modules/rollup": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.21.0.tgz", + "integrity": "sha512-vo+S/lfA2lMS7rZ2Qoubi6I5hwZwzXeUIctILZLbHI+laNtvhhOIon2S1JksA5UEDQ7l3vberd0fxK44lTYjbQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.21.0", + "@rollup/rollup-android-arm64": "4.21.0", + "@rollup/rollup-darwin-arm64": "4.21.0", + "@rollup/rollup-darwin-x64": "4.21.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.21.0", + "@rollup/rollup-linux-arm-musleabihf": "4.21.0", + "@rollup/rollup-linux-arm64-gnu": "4.21.0", + "@rollup/rollup-linux-arm64-musl": "4.21.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.21.0", + "@rollup/rollup-linux-riscv64-gnu": "4.21.0", + "@rollup/rollup-linux-s390x-gnu": "4.21.0", + "@rollup/rollup-linux-x64-gnu": "4.21.0", + "@rollup/rollup-linux-x64-musl": "4.21.0", + "@rollup/rollup-win32-arm64-msvc": "4.21.0", + "@rollup/rollup-win32-ia32-msvc": "4.21.0", + "@rollup/rollup-win32-x64-msvc": "4.21.0", + "fsevents": "~2.3.2" + } + }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -9774,6 +11016,22 @@ "node": ">=8" } }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/string.prototype.trim": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", @@ -9831,6 +11089,20 @@ "node": ">=8" } }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-bom": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", @@ -9840,6 +11112,16 @@ "node": ">=8" } }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -9861,6 +11143,96 @@ "minimist": "^1.1.0" } }, + "node_modules/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/sucrase/node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sucrase/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sucrase/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sucrase/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -10046,6 +11418,29 @@ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, "node_modules/through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", @@ -10101,6 +11496,26 @@ "node": ">=8.0" } }, + "node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/tr46/node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/transform-ast": { "version": "2.4.4", "resolved": "https://registry.npmjs.org/transform-ast/-/transform-ast-2.4.4.tgz", @@ -10122,6 +11537,16 @@ "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", "dev": true }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true, + "license": "MIT", + "bin": { + "tree-kill": "cli.js" + } + }, "node_modules/ts-api-utils": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz", @@ -10134,6 +11559,13 @@ "typescript": ">=4.2.0" } }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true, + "license": "Apache-2.0" + }, "node_modules/ts-loader": { "version": "9.5.1", "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz", @@ -10428,6 +11860,114 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" }, + "node_modules/tsup": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/tsup/-/tsup-8.2.4.tgz", + "integrity": "sha512-akpCPePnBnC/CXgRrcy72ZSntgIEUa1jN0oJbbvpALWKNOz1B7aM+UVDWGRGIO/T/PZugAESWDJUAb5FD48o8Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "bundle-require": "^5.0.0", + "cac": "^6.7.14", + "chokidar": "^3.6.0", + "consola": "^3.2.3", + "debug": "^4.3.5", + "esbuild": "^0.23.0", + "execa": "^5.1.1", + "globby": "^11.1.0", + "joycon": "^3.1.1", + "picocolors": "^1.0.1", + "postcss-load-config": "^6.0.1", + "resolve-from": "^5.0.0", + "rollup": "^4.19.0", + "source-map": "0.8.0-beta.0", + "sucrase": "^3.35.0", + "tree-kill": "^1.2.2" + }, + "bin": { + "tsup": "dist/cli-default.js", + "tsup-node": "dist/cli-node.js" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@microsoft/api-extractor": "^7.36.0", + "@swc/core": "^1", + "postcss": "^8.4.12", + "typescript": ">=4.5.0" + }, + "peerDependenciesMeta": { + "@microsoft/api-extractor": { + "optional": true + }, + "@swc/core": { + "optional": true + }, + "postcss": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/tsup/node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/tsup/node_modules/debug": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", + "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/tsup/node_modules/source-map": { + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "whatwg-url": "^7.0.0" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/tty-browserify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", @@ -10563,6 +12103,13 @@ "node": ">=14.17" } }, + "node_modules/ufo": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.4.tgz", + "integrity": "sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==", + "dev": true, + "license": "MIT" + }, "node_modules/umd": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz", @@ -10650,9 +12197,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", "dev": true, "funding": [ { @@ -10668,9 +12215,10 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "escalade": "^3.1.2", + "picocolors": "^1.0.1" }, "bin": { "update-browserslist-db": "cli.js" @@ -10791,6 +12339,13 @@ "node": ">=10.13.0" } }, + "node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true, + "license": "BSD-2-Clause" + }, "node_modules/webpack": { "version": "5.90.0", "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.0.tgz", @@ -10933,6 +12488,18 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -11018,6 +12585,61 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, "node_modules/wrap-ansi/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", diff --git a/package.json b/package.json index 381096d9..4f2de26b 100644 --- a/package.json +++ b/package.json @@ -20,13 +20,26 @@ "url": "https://github.com/dcantu476" } ], - "main": "lib/Typesense.js", + "main": "lib/Typesense.min.js", "types": "lib/Typesense.d.ts", + "module": "lib/Typesense.min.mjs", "browser": { "crypto": false, "http": false, "https": false }, + "exports": { + ".": { + "types": "./lib/Typesense.d.ts", + "import": "./lib/Typesense.min.mjs", + "require": "./lib/Typesense.min.js" + }, + "./dist": { + "types": "./dist/Typesense.d.ts", + "import": "./dist/Typesense.min.mjs", + "require": "./dist/Typesense.min.js" + } + }, "files": [ "lib/", "dist/", @@ -60,11 +73,14 @@ "babel-plugin-istanbul": "^6.1.1", "babelify": "^10.0.0", "browserify": "^17.0.0", + "browserslist": "^4.23.3", + "browserslist-to-esbuild": "^2.1.1", "chai": "~4.3.10", "chai-as-promised": "^7.1.1", "common-shakeify": "^1.1.2", "core-js": "^3.33.2", "del": "^7.1.0", + "esbuild-plugins-node-modules-polyfill": "^1.6.5", "eslint": "^8.52.0", "eslint-config-prettier": "^9.0.0", "eslint-plugin-import": "^2.29.0", @@ -80,6 +96,7 @@ "ts-loader": "^9.5.0", "ts-mocha": "^10.0.0", "tsify": "^5.0.4", + "tsup": "^8.2.4", "typescript": "^5.2.2", "vinyl-buffer": "^1.0.1", "vinyl-source-stream": "^2.0.0", @@ -89,8 +106,9 @@ "scripts": { "format": "prettier --write \"(src|test|doc)/**/*.(ts|json|js)\"", "pretest": "eslint .", + "prepare": "npm run build", "test": "nyc --reporter=html --reporter=text ts-mocha --require @babel/register --recursive", - "build": "npm run build:tsc && npm run build:web:dev && npm run build:web:prod", + "build": "tsup", "build:tsc": "tsc", "build:web:dev": "webpack --config webpack.config.js --mode development", "build:web:prod": "webpack --config webpack.config.js --mode production", diff --git a/src/Typesense/Configuration.ts b/src/Typesense/Configuration.ts index 864f685e..4c235a75 100644 --- a/src/Typesense/Configuration.ts +++ b/src/Typesense/Configuration.ts @@ -1,5 +1,4 @@ -import * as logger from "loglevel"; -import { Logger, LogLevelDesc } from "loglevel"; +import logger from "loglevel"; import { MissingConfigurationError } from "./Errors"; import type { Agent as HTTPAgent } from "http"; import type { Agent as HTTPSAgent } from "https"; @@ -60,8 +59,8 @@ export interface ConfigurationOptions { cacheSearchResultsForSeconds?: number; additionalHeaders?: Record; - logLevel?: LogLevelDesc; - logger?: Logger; + logLevel?: logger.LogLevelDesc; + logger?: logger.Logger; /** * Set a custom HTTP Agent @@ -114,8 +113,8 @@ export default class Configuration { readonly sendApiKeyAsQueryParam?: boolean; readonly cacheSearchResultsForSeconds: number; readonly useServerSideSearchCache: boolean; - readonly logger: Logger; - readonly logLevel: LogLevelDesc; + readonly logger: logger.Logger; + readonly logLevel: logger.LogLevelDesc; readonly additionalHeaders?: Record; readonly httpAgent?: HTTPAgent; readonly httpsAgent?: HTTPSAgent; diff --git a/tsup.config.ts b/tsup.config.ts new file mode 100644 index 00000000..fc95efeb --- /dev/null +++ b/tsup.config.ts @@ -0,0 +1,53 @@ +import { defineConfig } from "tsup"; +import type { Options } from "tsup"; +import browserList from "browserslist-to-esbuild"; +import { nodeModulesPolyfillPlugin } from "esbuild-plugins-node-modules-polyfill"; +import { builtinModules } from "module"; + +export default defineConfig([ + { + target: browserList(["defaults"]) as Options["target"], + entry: ["src/Typesense.ts"], + sourcemap: true, + clean: true, + format: ["cjs", "esm"], + dts: true, + outDir: "dist", + minify: true, + outExtension({ format }) { + return { + js: `.min.${format === "cjs" ? "js" : "mjs"}`, + }; + }, + splitting: true, + platform: "browser", + external: [...builtinModules], + esbuildOptions(options) { + options.mainFields = ["module", "main", "browser"]; + }, + esbuildPlugins: [ + nodeModulesPolyfillPlugin({ + fallback: "empty", + }), + ], + }, + { + target: browserList(["defaults"]) as Options["target"], + entry: ["src/Typesense.ts"], + clean: true, + format: ["esm", "cjs"], + dts: true, + sourcemap: true, + outDir: "lib", + minify: true, + outExtension({ format }) { + return { + js: `.min.${format === "cjs" ? "js" : "mjs"}`, + }; + }, + splitting: true, + esbuildOptions(options) { + options.mainFields = ["module", "main"]; + }, + }, +]); From 2782ca7d781dd3f3990f93f3aabd7e832ce58470 Mon Sep 17 00:00:00 2001 From: Fanis Tharropoulos Date: Wed, 21 Aug 2024 17:12:56 +0300 Subject: [PATCH 02/21] docs: update documentation to reflect build changes --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a97dc04b..f3983774 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Javascript client library for accessing the [Typesense HTTP API](https://github.com/typesense/typesense). -This library can be used both on the server-side and on the client-side. The library's [source](/src) is in ES6 and during build time, we transpile it to ES5 and generate two artifacts - [one](/lib) that can be used on the server-side and [another](/dist) that uses [Browserify](http://browserify.org/) and can be used on the client side. +This library can be used both on the server-side and on the client-side. The library's [source](/src) is in ES6 and during build time, generate two artifacts - [one](/lib) that is transpiled to ES5 that can be used on the server-side and [another](/dist) that can be used on the client side. ## Installation From fbae06948cb284c5d4b2d54ff73f2aa42b721a59 Mon Sep 17 00:00:00 2001 From: Fanis Tharropoulos Date: Wed, 28 Aug 2024 13:39:40 +0300 Subject: [PATCH 03/21] feat(logger): add custom simple logger - Implement singleton SimpleLogger class with configurable log levels - Provide console output methods for different log severities - Define type-safe interfaces for log levels and their mappings - Remove need for dependency on external 'loglevel' library --- src/Typesense/Logger.ts | 229 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 229 insertions(+) create mode 100644 src/Typesense/Logger.ts diff --git a/src/Typesense/Logger.ts b/src/Typesense/Logger.ts new file mode 100644 index 00000000..6a967f81 --- /dev/null +++ b/src/Typesense/Logger.ts @@ -0,0 +1,229 @@ +/** + * Represents the log levels that can be used in the logger with their corresponding number values. + */ +type LogLevelMap = { + Trace: "trace" | 0; + Debug: "debug" | 1; + Info: "info" | 2; + Warn: "warn" | 3; + Error: "error" | 4; + Silent: "silent" | 5; +}; + +/** + * Represents mapping of the number values of the log levels. + */ +type LogLevelNumberValuesMap = { + [K in keyof LogLevelMap]: LogLevelMap[K] extends infer R + ? R extends number + ? R + : never + : never; +}; + +/** + * Numeric representation of the possible log levels. + */ +type LogLevelNumberValues = + LogLevelNumberValuesMap[keyof LogLevelNumberValuesMap]; + +/** + * Represents the mapping of the string values to the number values of the log levels. + */ +type StringToNumberRepresentationLogLevelMap = { + [K in keyof LogLevelMap as LogLevelMap[K] extends infer R + ? R extends string + ? R + : never + : never]: LogLevelMap[K] extends infer R + ? R extends number + ? R + : never + : never; +}; + +/** + * Object that maps the log levels to their corresponding number values. + * Used for always mapping the log level to number for comparison's sake. + */ +const LogLevelReverseMap = { + trace: 0, + debug: 1, + info: 2, + warn: 3, + error: 4, + silent: 5, +} as const satisfies StringToNumberRepresentationLogLevelMap; + +/** + * Represents the log levels that can be used in the logger. + */ +type LogLevel = LogLevelMap[keyof LogLevelMap]; + +/** + * Object that maps the log levels to their corresponding number values. + */ +const LogLevelNumber = { + Trace: 0, + Debug: 1, + Info: 2, + Warn: 3, + Error: 4, + Silent: 5, +} as const satisfies { [K in keyof LogLevelMap]: LogLevelMap[K] }; + +/** + * Object that maps the log levels to their corresponding string values. + */ +const LogLevelNames = { + Trace: "trace", + Debug: "debug", + Info: "info", + Warn: "warn", + Error: "error", + Silent: "silent", +} as const satisfies { [K in keyof LogLevelMap]: LogLevelMap[K] }; + +/** + * Object that maps the the console methods to the log levels. + */ +const logLevelToConsoleFunction = { + Trace: (...args: any[]) => console.trace(...args), + Debug: (...args: any[]) => console.debug(...args), + Info: (...args: any[]) => console.info(...args), + Warn: (...args: any[]) => console.warn(...args), + Error: (...args: any[]) => console.error(...args), + Silent: () => {}, +} as const satisfies { [K in keyof LogLevelMap]: (message: string) => void }; + +/** + * A simple logging class using a singleton pattern. + * Only prints to stdout. + */ +class SimpleLogger { + private static instance: SimpleLogger; + /** + * Numeric representation of the log level set. + * Defaults to LogLevelNumber.Warn. + * @private + * @type {LogLevelNumberValues} + */ + private logLevel: LogLevelNumberValues = LogLevelNumber.Warn; + + /** + * Private constructor to prevent instantiation. + * @private + */ + private constructor() {} + + /** + * Get the singleton instance of the SimpleLogger. + * @returns {SimpleLogger} The singleton instance of the SimpleLogger. + */ + static getInstance(): SimpleLogger { + if (!SimpleLogger.instance) { + SimpleLogger.instance = new SimpleLogger(); + } + return SimpleLogger.instance; + } + + /** + * Formats the message to be logged. + * @private + * @param level The log level to be used. + * @param message The message to be logged. + * @returns The formatted message. + */ + private formatMessage( + level: keyof typeof LogLevelNames, + message: string, + ): string { + return `[${level}] ${message}`; + } + + /** + * Logs the message with the appropriate console function + * @param level The log level to be used. + * @param message The message to be logged. + */ + private logWith(level: keyof typeof LogLevelNames, message: string): void { + const consoleFunction = this.mapLogLevelToConsoleFunction(level); + consoleFunction(this.formatMessage(level, message)); + } + + /** + * Maps the log level to the appropriate console function. + * @param level The log level to be used. + * @returns The console function to be used for the log level. + */ + private mapLogLevelToConsoleFunction( + level: keyof typeof LogLevelNames, + ): (message: string, ...args: any[]) => void { + return logLevelToConsoleFunction[level]; + } + + /** + * Uses the `console.debug` method to log the message if the log level is set to debug or lower. + * @param message The message to be logged. + */ + debug(message: string): void { + if (this.logLevel <= LogLevelNumber.Debug) { + this.logWith("Debug", message); + } + } + + /** + * Uses the `console.warn` method to log the message if the log level is set to warn or lower. + * @param message The message to be logged. + */ + warn(message: string): void { + if (this.logLevel <= LogLevelNumber.Warn) { + this.logWith("Warn", message); + } + } + + /** + * Uses the `console.error` method to log the message if the log level is set to error or lower. + * @param message The message to be logged. + */ + error(message: string): void { + if (this.logLevel <= LogLevelNumber.Error) { + this.logWith("Error", message); + } + } + + /** + * Uses the `console.trace` method to log the message if the log level is set to trace or lower. + * @param message The message to be logged. + */ + trace(message: string): void { + if (this.logLevel <= LogLevelNumber.Trace) { + this.logWith("Trace", message); + } + } + + /** + * Uses the `console.info` method to log the message if the log level is set to info or lower. + * @param message The message to be logged. + */ + info(message: string): void { + if (this.logLevel <= LogLevelNumber.Info) { + this.logWith("Info", message); + } + } + + /** + * Sets the log level to the specified level as a numeric representation of it, if given a string. + * @param level The log level to be set. + */ + setLogLevel(level: LogLevel): void { + if (typeof level === "number") { + this.logLevel = level; + } else { + this.logLevel = LogLevelReverseMap[level]; + } + } +} + +export const logger = SimpleLogger.getInstance(); +export type { LogLevel }; From f22680c4800e8040e37adaf1c216be689d26e110 Mon Sep 17 00:00:00 2001 From: Fanis Tharropoulos Date: Wed, 28 Aug 2024 14:04:15 +0300 Subject: [PATCH 04/21] chore: add chai-spies package --- package-lock.json | 22 ++++++---------------- package.json | 1 + 2 files changed, 7 insertions(+), 16 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3ec54c09..863f3780 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4009,9 +4009,10 @@ } }, "node_modules/axios": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz", - "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.5.tgz", + "integrity": "sha512-fZu86yCo+svH3uqJ/yTdQ0QHpQu5oL+/QE+QPSv6BZSkDAoky9vytxp7u5qk83OJFS3kEBcesWni9WTZAv3tSw==", + "license": "MIT", "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.0", @@ -8536,18 +8537,6 @@ "node": ">=8" } }, - "node_modules/loglevel": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.9.1.tgz", - "integrity": "sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==", - "engines": { - "node": ">= 0.6.0" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/loglevel" - } - }, "node_modules/loupe": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", @@ -11858,7 +11847,8 @@ "node_modules/tslib": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true }, "node_modules/tsup": { "version": "8.2.4", diff --git a/package.json b/package.json index 4f2de26b..a1e8bf2d 100644 --- a/package.json +++ b/package.json @@ -77,6 +77,7 @@ "browserslist-to-esbuild": "^2.1.1", "chai": "~4.3.10", "chai-as-promised": "^7.1.1", + "chai-spies": "^1.1.0", "common-shakeify": "^1.1.2", "core-js": "^3.33.2", "del": "^7.1.0", From 808b66b08f693fc4b08d7ea6d6e6951e7f4b078f Mon Sep 17 00:00:00 2001 From: Fanis Tharropoulos Date: Wed, 28 Aug 2024 14:10:28 +0300 Subject: [PATCH 05/21] feat(logger): remove loglevel use from library - Remove uses of loglevel dependency for built-in logging --- src/Typesense/ApiCall.ts | 4 ++-- src/Typesense/Configuration.ts | 14 +++++++------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/Typesense/ApiCall.ts b/src/Typesense/ApiCall.ts index c96b33c8..cc6140e7 100644 --- a/src/Typesense/ApiCall.ts +++ b/src/Typesense/ApiCall.ts @@ -1,5 +1,5 @@ import axios, { AxiosRequestConfig, AxiosResponse, Method } from "axios"; -import { Logger } from "loglevel"; +import { logger } from "./Logger"; import { HTTPError, ObjectAlreadyExists, @@ -39,7 +39,7 @@ export default class ApiCall { private readonly numRetriesPerRequest: number; private readonly additionalUserHeaders?: Record; - private readonly logger: Logger; + private readonly logger: typeof logger; private currentNodeIndex: number; constructor(private configuration: Configuration) { diff --git a/src/Typesense/Configuration.ts b/src/Typesense/Configuration.ts index 4c235a75..10114337 100644 --- a/src/Typesense/Configuration.ts +++ b/src/Typesense/Configuration.ts @@ -1,4 +1,5 @@ -import logger from "loglevel"; +import { logger } from "./Logger"; +import type { LogLevel } from "./Logger"; import { MissingConfigurationError } from "./Errors"; import type { Agent as HTTPAgent } from "http"; import type { Agent as HTTPSAgent } from "https"; @@ -58,9 +59,8 @@ export interface ConfigurationOptions { useServerSideSearchCache?: boolean; cacheSearchResultsForSeconds?: number; additionalHeaders?: Record; - - logLevel?: logger.LogLevelDesc; - logger?: logger.Logger; + logger?: typeof logger; + logLevel?: LogLevel; /** * Set a custom HTTP Agent @@ -113,8 +113,8 @@ export default class Configuration { readonly sendApiKeyAsQueryParam?: boolean; readonly cacheSearchResultsForSeconds: number; readonly useServerSideSearchCache: boolean; - readonly logger: logger.Logger; - readonly logLevel: logger.LogLevelDesc; + readonly logger: typeof logger; + readonly logLevel: LogLevel; readonly additionalHeaders?: Record; readonly httpAgent?: HTTPAgent; readonly httpsAgent?: HTTPSAgent; @@ -157,7 +157,7 @@ export default class Configuration { this.logger = options.logger || logger; this.logLevel = options.logLevel || "warn"; - this.logger.setLevel(this.logLevel); + this.logger.setLogLevel(this.logLevel); this.additionalHeaders = options.additionalHeaders; From 6f845ce3705f0a00ab662299cce3585d9fafe827 Mon Sep 17 00:00:00 2001 From: Fanis Tharropoulos Date: Wed, 28 Aug 2024 14:05:17 +0300 Subject: [PATCH 06/21] test(logger): add unit tests for logger - Implement comprehensive test suite for SimpleLogger class. - Cover default log level, setLogLevel functionality, and message filtering based on log levels. - Ensure proper console method calls for each log level using chai-spies. --- test/Typesense/Logger.spec.js | 90 +++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 test/Typesense/Logger.spec.js diff --git a/test/Typesense/Logger.spec.js b/test/Typesense/Logger.spec.js new file mode 100644 index 00000000..17e48500 --- /dev/null +++ b/test/Typesense/Logger.spec.js @@ -0,0 +1,90 @@ +// logger.spec.js +import chai, { expect } from "chai"; +import { logger } from "../../src/Typesense/Logger"; + +import spies from "chai-spies"; +import { beforeEach, afterEach, describe, it } from "mocha"; + +chai.use(spies); + +describe("SimpleLogger", function () { + let messages = []; + let warnSpy, debugSpy, errorSpy, infoSpy, traceSpy; + + const spyImplementation = (msg) => { + messages.push(msg); + }; + + beforeEach(function () { + warnSpy = chai.spy.on(console, "warn", spyImplementation); + debugSpy = chai.spy.on(console, "debug", spyImplementation); + infoSpy = chai.spy.on(console, "info", spyImplementation); + errorSpy = chai.spy.on(console, "error", spyImplementation); + traceSpy = chai.spy.on(console, "trace", spyImplementation); + }); + + afterEach(function () { + chai.spy.restore(console); + messages.length = 0; + }); + + it("should use warn as a default log level", function () { + // Assert + expect(logger.logLevel).to.equal(3); // Warn level + }); + + it("should set log level correctly", function () { + // Act + logger.setLogLevel("debug"); + + // Assert + expect(logger.logLevel).to.equal(1); // Debug level + + // Act + logger.setLogLevel(4); + + // Assert + expect(logger.logLevel).to.equal(4); // Error level + }); + + it("should log everything in trace level", function () { + // Arrange + logger.setLogLevel("trace"); + + // Act + logger.trace("trace message"); + logger.info("info message"); + logger.warn("warn message"); + logger.debug("debug message"); + logger.error("error message"); + + // Assert + expect(messages).to.have.lengthOf(5); + expect(warnSpy).to.have.been.called.once; + expect(errorSpy).to.have.been.called.once; + expect(traceSpy).to.have.been.called.once; + expect(infoSpy).to.have.been.called.once; + expect(debugSpy).to.have.been.called.once; + }); + + it("should log messages based on log level", function () { + // Arrange + logger.setLogLevel("warn"); + + // Act + logger.trace("trace message"); + logger.debug("debug message"); + logger.info("info message"); + logger.warn("warn message"); + logger.error("error message"); + + // Assert + expect(messages).to.have.lengthOf(2); + + expect(warnSpy).to.have.been.called.once; + expect(errorSpy).to.have.been.called.once; + expect(debugSpy).to.not.have.been.called(); + expect(infoSpy).to.not.have.been.called(); + expect(traceSpy).to.not.have.been.called(); + }); +}); From 885fe37adc6bdffaf6fde956364fabde0fe6adab Mon Sep 17 00:00:00 2001 From: Fanis Tharropoulos Date: Wed, 28 Aug 2024 14:08:23 +0300 Subject: [PATCH 07/21] chore: remove loglevel dependency --- package-lock.json | 18 +++++++++++++++--- package.json | 4 +--- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 863f3780..743963d8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,9 +9,7 @@ "version": "2.0.0-3", "license": "Apache-2.0", "dependencies": { - "axios": "^1.7.2", - "loglevel": "^1.8.1", - "tslib": "^2.6.2" + "axios": "^1.7.5" }, "devDependencies": { "@babel/cli": "^7.23.0", @@ -36,6 +34,7 @@ "browserslist-to-esbuild": "^2.1.1", "chai": "~4.3.10", "chai-as-promised": "^7.1.1", + "chai-spies": "^1.1.0", "common-shakeify": "^1.1.2", "core-js": "^3.33.2", "del": "^7.1.0", @@ -4716,6 +4715,19 @@ "chai": ">= 2.1.2 < 5" } }, + "node_modules/chai-spies": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/chai-spies/-/chai-spies-1.1.0.tgz", + "integrity": "sha512-ikaUhQvQWchRYj2K54itFp3nrcxaFRpSDQxDlRzSn9aWgu9Pi7lD8yFxTso4WnQ39+WZ69oB/qOvqp+isJIIWA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + }, + "peerDependencies": { + "chai": "*" + } + }, "node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", diff --git a/package.json b/package.json index a1e8bf2d..80202eda 100644 --- a/package.json +++ b/package.json @@ -125,9 +125,7 @@ "repository": "typesense/typesense-js", "license": "Apache-2.0", "dependencies": { - "axios": "^1.7.2", - "loglevel": "^1.8.1", - "tslib": "^2.6.2" + "axios": "^1.7.5" }, "peerDependencies": { "@babel/runtime": "^7.23.2" From 2d0a362efe8d9e4823c9bc6975884d061889fc27 Mon Sep 17 00:00:00 2001 From: LewisW Date: Mon, 10 Jun 2024 14:57:31 +0100 Subject: [PATCH 08/21] fix: Escape user-supplied strings in URLs to prevent injection --- dist/typesense.js | 10504 ++++++++++++++++++++++ dist/typesense.js.map | 1 + dist/typesense.min.js | 3 + dist/typesense.min.js.map | 1 + lib/Typesense/Alias.js | 30 + lib/Typesense/Alias.js.map | 1 + lib/Typesense/Aliases.js | 36 + lib/Typesense/Aliases.js.map | 1 + lib/Typesense/AnalyticsEvents.js | 30 + lib/Typesense/AnalyticsEvents.js.map | 1 + lib/Typesense/AnalyticsRule.js | 30 + lib/Typesense/AnalyticsRule.js.map | 1 + lib/Typesense/AnalyticsRules.js | 37 + lib/Typesense/AnalyticsRules.js.map | 1 + lib/Typesense/Collection.js | 108 + lib/Typesense/Collection.js.map | 1 + lib/Typesense/Conversation.js | 37 + lib/Typesense/Conversation.js.map | 1 + lib/Typesense/ConversationModel.js | 37 + lib/Typesense/ConversationModel.js.map | 1 + lib/Typesense/ConversationModels.js | 37 + lib/Typesense/ConversationModels.js.map | 1 + lib/Typesense/Document.js | 41 + lib/Typesense/Document.js.map | 1 + lib/Typesense/Key.js | 30 + lib/Typesense/Key.js.map | 1 + lib/Typesense/Override.js | 32 + lib/Typesense/Override.js.map | 1 + lib/Typesense/Overrides.js | 38 + lib/Typesense/Overrides.js.map | 1 + lib/Typesense/Preset.js | 30 + lib/Typesense/Preset.js.map | 1 + lib/Typesense/Presets.js | 36 + lib/Typesense/Presets.js.map | 1 + lib/Typesense/Stopword.js | 30 + lib/Typesense/Stopword.js.map | 1 + lib/Typesense/Stopwords.js | 36 + lib/Typesense/Stopwords.js.map | 1 + lib/Typesense/Synonym.js | 32 + lib/Typesense/Synonym.js.map | 1 + lib/Typesense/Synonyms.js | 38 + lib/Typesense/Synonyms.js.map | 1 + src/Typesense/Alias.ts | 2 +- src/Typesense/Aliases.ts | 2 +- src/Typesense/AnalyticsEvents.ts | 2 +- src/Typesense/AnalyticsRule.ts | 2 +- src/Typesense/AnalyticsRules.ts | 2 +- src/Typesense/Collection.ts | 2 +- src/Typesense/Conversation.ts | 2 +- src/Typesense/ConversationModel.ts | 2 +- src/Typesense/ConversationModels.ts | 2 +- src/Typesense/Document.ts | 2 +- src/Typesense/Key.ts | 2 +- src/Typesense/Override.ts | 2 +- src/Typesense/Overrides.ts | 2 +- src/Typesense/Preset.ts | 2 +- src/Typesense/Presets.ts | 2 +- src/Typesense/Stopword.ts | 2 +- src/Typesense/Stopwords.ts | 2 +- src/Typesense/Synonym.ts | 2 +- src/Typesense/Synonyms.ts | 4 +- 61 files changed, 11273 insertions(+), 20 deletions(-) create mode 100644 dist/typesense.js create mode 100644 dist/typesense.js.map create mode 100644 dist/typesense.min.js create mode 100644 dist/typesense.min.js.map create mode 100644 lib/Typesense/Alias.js create mode 100644 lib/Typesense/Alias.js.map create mode 100644 lib/Typesense/Aliases.js create mode 100644 lib/Typesense/Aliases.js.map create mode 100644 lib/Typesense/AnalyticsEvents.js create mode 100644 lib/Typesense/AnalyticsEvents.js.map create mode 100644 lib/Typesense/AnalyticsRule.js create mode 100644 lib/Typesense/AnalyticsRule.js.map create mode 100644 lib/Typesense/AnalyticsRules.js create mode 100644 lib/Typesense/AnalyticsRules.js.map create mode 100644 lib/Typesense/Collection.js create mode 100644 lib/Typesense/Collection.js.map create mode 100644 lib/Typesense/Conversation.js create mode 100644 lib/Typesense/Conversation.js.map create mode 100644 lib/Typesense/ConversationModel.js create mode 100644 lib/Typesense/ConversationModel.js.map create mode 100644 lib/Typesense/ConversationModels.js create mode 100644 lib/Typesense/ConversationModels.js.map create mode 100644 lib/Typesense/Document.js create mode 100644 lib/Typesense/Document.js.map create mode 100644 lib/Typesense/Key.js create mode 100644 lib/Typesense/Key.js.map create mode 100644 lib/Typesense/Override.js create mode 100644 lib/Typesense/Override.js.map create mode 100644 lib/Typesense/Overrides.js create mode 100644 lib/Typesense/Overrides.js.map create mode 100644 lib/Typesense/Preset.js create mode 100644 lib/Typesense/Preset.js.map create mode 100644 lib/Typesense/Presets.js create mode 100644 lib/Typesense/Presets.js.map create mode 100644 lib/Typesense/Stopword.js create mode 100644 lib/Typesense/Stopword.js.map create mode 100644 lib/Typesense/Stopwords.js create mode 100644 lib/Typesense/Stopwords.js.map create mode 100644 lib/Typesense/Synonym.js create mode 100644 lib/Typesense/Synonym.js.map create mode 100644 lib/Typesense/Synonyms.js create mode 100644 lib/Typesense/Synonyms.js.map diff --git a/dist/typesense.js b/dist/typesense.js new file mode 100644 index 00000000..638a29b8 --- /dev/null +++ b/dist/typesense.js @@ -0,0 +1,10504 @@ +var Typesense; +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "./src/Typesense/Alias.ts": +/*!********************************!*\ + !*** ./src/Typesense/Alias.ts ***! + \********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ Alias) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _Aliases__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Aliases */ "./src/Typesense/Aliases.ts"); + + + + + +var Alias = /*#__PURE__*/function () { + function Alias(name, apiCall) { + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Alias); + this.name = name; + this.apiCall = apiCall; + } + (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Alias, [{ + key: "retrieve", + value: function () { + var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + return _context.abrupt("return", this.apiCall.get(this.endpointPath())); + case 1: + case "end": + return _context.stop(); + } + }, _callee, this); + })); + function retrieve() { + return _retrieve.apply(this, arguments); + } + return retrieve; + }() + }, { + key: "delete", + value: function () { + var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { + while (1) switch (_context2.prev = _context2.next) { + case 0: + return _context2.abrupt("return", this.apiCall.delete(this.endpointPath())); + case 1: + case "end": + return _context2.stop(); + } + }, _callee2, this); + })); + function _delete() { + return _delete2.apply(this, arguments); + } + return _delete; + }() + }, { + key: "endpointPath", + value: function endpointPath() { + return "".concat(_Aliases__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.name)); + } + }]); + return Alias; +}(); + + +/***/ }), + +/***/ "./src/Typesense/Aliases.ts": +/*!**********************************!*\ + !*** ./src/Typesense/Aliases.ts ***! + \**********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ Aliases) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); + + + + +var RESOURCEPATH = "/aliases"; +var Aliases = /*#__PURE__*/function () { + function Aliases(apiCall) { + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Aliases); + this.apiCall = apiCall; + } + (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Aliases, [{ + key: "upsert", + value: function () { + var _upsert = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(name, mapping) { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + return _context.abrupt("return", this.apiCall.put(this.endpointPath(name), mapping)); + case 1: + case "end": + return _context.stop(); + } + }, _callee, this); + })); + function upsert(_x, _x2) { + return _upsert.apply(this, arguments); + } + return upsert; + }() + }, { + key: "retrieve", + value: function () { + var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { + while (1) switch (_context2.prev = _context2.next) { + case 0: + return _context2.abrupt("return", this.apiCall.get(RESOURCEPATH)); + case 1: + case "end": + return _context2.stop(); + } + }, _callee2, this); + })); + function retrieve() { + return _retrieve.apply(this, arguments); + } + return retrieve; + }() + }, { + key: "endpointPath", + value: function endpointPath(aliasName) { + return "".concat(Aliases.RESOURCEPATH, "/").concat(encodeURIComponent(aliasName)); + } + }], [{ + key: "RESOURCEPATH", + get: function get() { + return RESOURCEPATH; + } + }]); + return Aliases; +}(); + + +/***/ }), + +/***/ "./src/Typesense/Analytics.ts": +/*!************************************!*\ + !*** ./src/Typesense/Analytics.ts ***! + \************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ Analytics) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js"); +/* harmony import */ var _AnalyticsRules__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./AnalyticsRules */ "./src/Typesense/AnalyticsRules.ts"); +/* harmony import */ var _AnalyticsRule__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./AnalyticsRule */ "./src/Typesense/AnalyticsRule.ts"); +/* harmony import */ var _AnalyticsEvents__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./AnalyticsEvents */ "./src/Typesense/AnalyticsEvents.ts"); + + + + + + +var RESOURCEPATH = "/analytics"; +var Analytics = /*#__PURE__*/function () { + function Analytics(apiCall) { + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__["default"])(this, Analytics); + (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__["default"])(this, "individualAnalyticsRules", {}); + this.apiCall = apiCall; + this.apiCall = apiCall; + this._analyticsRules = new _AnalyticsRules__WEBPACK_IMPORTED_MODULE_3__["default"](this.apiCall); + this._analyticsEvents = new _AnalyticsEvents__WEBPACK_IMPORTED_MODULE_5__["default"](this.apiCall); + } + (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__["default"])(Analytics, [{ + key: "rules", + value: function rules(id) { + if (id === undefined) { + return this._analyticsRules; + } else { + if (this.individualAnalyticsRules[id] === undefined) { + this.individualAnalyticsRules[id] = new _AnalyticsRule__WEBPACK_IMPORTED_MODULE_4__["default"](id, this.apiCall); + } + return this.individualAnalyticsRules[id]; + } + } + }, { + key: "events", + value: function events() { + return this._analyticsEvents; + } + }], [{ + key: "RESOURCEPATH", + get: function get() { + return RESOURCEPATH; + } + }]); + return Analytics; +}(); + + +/***/ }), + +/***/ "./src/Typesense/AnalyticsEvents.ts": +/*!******************************************!*\ + !*** ./src/Typesense/AnalyticsEvents.ts ***! + \******************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ AnalyticsEvents) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); + + + + +var RESOURCEPATH = "/analytics/events"; +var AnalyticsEvents = /*#__PURE__*/function () { + function AnalyticsEvents(apiCall) { + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, AnalyticsEvents); + this.apiCall = apiCall; + this.apiCall = apiCall; + } + (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(AnalyticsEvents, [{ + key: "create", + value: function () { + var _create = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(params) { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + return _context.abrupt("return", this.apiCall.post(this.endpointPath(), params)); + case 1: + case "end": + return _context.stop(); + } + }, _callee, this); + })); + function create(_x) { + return _create.apply(this, arguments); + } + return create; + }() + }, { + key: "endpointPath", + value: function endpointPath(operation) { + return "".concat(AnalyticsEvents.RESOURCEPATH).concat(operation === undefined ? "" : "/" + encodeURIComponent(operation)); + } + }], [{ + key: "RESOURCEPATH", + get: function get() { + return RESOURCEPATH; + } + }]); + return AnalyticsEvents; +}(); + + +/***/ }), + +/***/ "./src/Typesense/AnalyticsRule.ts": +/*!****************************************!*\ + !*** ./src/Typesense/AnalyticsRule.ts ***! + \****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ AnalyticsRule) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _AnalyticsRules__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./AnalyticsRules */ "./src/Typesense/AnalyticsRules.ts"); + + + + + +var AnalyticsRule = /*#__PURE__*/function () { + function AnalyticsRule(name, apiCall) { + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, AnalyticsRule); + this.name = name; + this.apiCall = apiCall; + } + (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(AnalyticsRule, [{ + key: "retrieve", + value: function () { + var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + return _context.abrupt("return", this.apiCall.get(this.endpointPath())); + case 1: + case "end": + return _context.stop(); + } + }, _callee, this); + })); + function retrieve() { + return _retrieve.apply(this, arguments); + } + return retrieve; + }() + }, { + key: "delete", + value: function () { + var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { + while (1) switch (_context2.prev = _context2.next) { + case 0: + return _context2.abrupt("return", this.apiCall.delete(this.endpointPath())); + case 1: + case "end": + return _context2.stop(); + } + }, _callee2, this); + })); + function _delete() { + return _delete2.apply(this, arguments); + } + return _delete; + }() + }, { + key: "endpointPath", + value: function endpointPath() { + return "".concat(_AnalyticsRules__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.name)); + } + }]); + return AnalyticsRule; +}(); + + +/***/ }), + +/***/ "./src/Typesense/AnalyticsRules.ts": +/*!*****************************************!*\ + !*** ./src/Typesense/AnalyticsRules.ts ***! + \*****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ AnalyticsRules) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); + + + + +var RESOURCEPATH = "/analytics/rules"; +var AnalyticsRules = /*#__PURE__*/function () { + function AnalyticsRules(apiCall) { + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, AnalyticsRules); + this.apiCall = apiCall; + this.apiCall = apiCall; + } + (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(AnalyticsRules, [{ + key: "upsert", + value: function () { + var _upsert = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(name, params) { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + return _context.abrupt("return", this.apiCall.put(this.endpointPath(name), params)); + case 1: + case "end": + return _context.stop(); + } + }, _callee, this); + })); + function upsert(_x, _x2) { + return _upsert.apply(this, arguments); + } + return upsert; + }() + }, { + key: "retrieve", + value: function () { + var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { + while (1) switch (_context2.prev = _context2.next) { + case 0: + return _context2.abrupt("return", this.apiCall.get(this.endpointPath())); + case 1: + case "end": + return _context2.stop(); + } + }, _callee2, this); + })); + function retrieve() { + return _retrieve.apply(this, arguments); + } + return retrieve; + }() + }, { + key: "endpointPath", + value: function endpointPath(operation) { + return "".concat(AnalyticsRules.RESOURCEPATH).concat(operation === undefined ? "" : "/" + encodeURIComponent(operation)); + } + }], [{ + key: "RESOURCEPATH", + get: function get() { + return RESOURCEPATH; + } + }]); + return AnalyticsRules; +}(); + + +/***/ }), + +/***/ "./src/Typesense/ApiCall.ts": +/*!**********************************!*\ + !*** ./src/Typesense/ApiCall.ts ***! + \**********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ ApiCall) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "./node_modules/@babel/runtime/helpers/esm/typeof.js"); +/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! axios */ "./node_modules/axios/lib/axios.js"); +/* harmony import */ var _Errors__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Errors */ "./src/Typesense/Errors/index.ts"); +/* harmony import */ var _Errors_TypesenseError__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Errors/TypesenseError */ "./src/Typesense/Errors/TypesenseError.ts"); +/* harmony import */ var http__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! http */ "?e89d"); +/* harmony import */ var http__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(http__WEBPACK_IMPORTED_MODULE_7__); +/* harmony import */ var https__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! https */ "?77e4"); +/* harmony import */ var https__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(https__WEBPACK_IMPORTED_MODULE_8__); + + + + + + + + + + +var APIKEYHEADERNAME = "X-TYPESENSE-API-KEY"; +var HEALTHY = true; +var UNHEALTHY = false; +var isNodeJSEnvironment = typeof process !== "undefined" && process.versions != null && process.versions.node != null; +var ApiCall = /*#__PURE__*/function () { + function ApiCall(configuration) { + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__["default"])(this, ApiCall); + this.configuration = configuration; + this.apiKey = this.configuration.apiKey; + this.nodes = this.configuration.nodes == null ? this.configuration.nodes : JSON.parse(JSON.stringify(this.configuration.nodes)); // Make a copy, since we'll be adding additional metadata to the nodes + this.nearestNode = this.configuration.nearestNode == null ? this.configuration.nearestNode : JSON.parse(JSON.stringify(this.configuration.nearestNode)); + this.connectionTimeoutSeconds = this.configuration.connectionTimeoutSeconds; + this.healthcheckIntervalSeconds = this.configuration.healthcheckIntervalSeconds; + this.numRetriesPerRequest = this.configuration.numRetries; + this.retryIntervalSeconds = this.configuration.retryIntervalSeconds; + this.sendApiKeyAsQueryParam = this.configuration.sendApiKeyAsQueryParam; + this.additionalUserHeaders = this.configuration.additionalHeaders; + this.logger = this.configuration.logger; + this.initializeMetadataForNodes(); + this.currentNodeIndex = -1; + } + (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__["default"])(ApiCall, [{ + key: "get", + value: function () { + var _get = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee(endpoint) { + var queryParameters, + _ref, + _ref$abortSignal, + abortSignal, + _ref$responseType, + responseType, + _args = arguments; + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + queryParameters = _args.length > 1 && _args[1] !== undefined ? _args[1] : {}; + _ref = _args.length > 2 && _args[2] !== undefined ? _args[2] : {}, _ref$abortSignal = _ref.abortSignal, abortSignal = _ref$abortSignal === void 0 ? null : _ref$abortSignal, _ref$responseType = _ref.responseType, responseType = _ref$responseType === void 0 ? undefined : _ref$responseType; + return _context.abrupt("return", this.performRequest("get", endpoint, { + queryParameters: queryParameters, + abortSignal: abortSignal, + responseType: responseType + })); + case 3: + case "end": + return _context.stop(); + } + }, _callee, this); + })); + function get(_x) { + return _get.apply(this, arguments); + } + return get; + }() + }, { + key: "delete", + value: function () { + var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee2(endpoint) { + var queryParameters, + _args2 = arguments; + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee2$(_context2) { + while (1) switch (_context2.prev = _context2.next) { + case 0: + queryParameters = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : {}; + return _context2.abrupt("return", this.performRequest("delete", endpoint, { + queryParameters: queryParameters + })); + case 2: + case "end": + return _context2.stop(); + } + }, _callee2, this); + })); + function _delete(_x2) { + return _delete2.apply(this, arguments); + } + return _delete; + }() + }, { + key: "post", + value: function () { + var _post = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee3(endpoint) { + var bodyParameters, + queryParameters, + additionalHeaders, + _args3 = arguments; + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee3$(_context3) { + while (1) switch (_context3.prev = _context3.next) { + case 0: + bodyParameters = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : {}; + queryParameters = _args3.length > 2 && _args3[2] !== undefined ? _args3[2] : {}; + additionalHeaders = _args3.length > 3 && _args3[3] !== undefined ? _args3[3] : {}; + return _context3.abrupt("return", this.performRequest("post", endpoint, { + queryParameters: queryParameters, + bodyParameters: bodyParameters, + additionalHeaders: additionalHeaders + })); + case 4: + case "end": + return _context3.stop(); + } + }, _callee3, this); + })); + function post(_x3) { + return _post.apply(this, arguments); + } + return post; + }() + }, { + key: "put", + value: function () { + var _put = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee4(endpoint) { + var bodyParameters, + queryParameters, + _args4 = arguments; + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee4$(_context4) { + while (1) switch (_context4.prev = _context4.next) { + case 0: + bodyParameters = _args4.length > 1 && _args4[1] !== undefined ? _args4[1] : {}; + queryParameters = _args4.length > 2 && _args4[2] !== undefined ? _args4[2] : {}; + return _context4.abrupt("return", this.performRequest("put", endpoint, { + queryParameters: queryParameters, + bodyParameters: bodyParameters + })); + case 3: + case "end": + return _context4.stop(); + } + }, _callee4, this); + })); + function put(_x4) { + return _put.apply(this, arguments); + } + return put; + }() + }, { + key: "patch", + value: function () { + var _patch = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee5(endpoint) { + var bodyParameters, + queryParameters, + _args5 = arguments; + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee5$(_context5) { + while (1) switch (_context5.prev = _context5.next) { + case 0: + bodyParameters = _args5.length > 1 && _args5[1] !== undefined ? _args5[1] : {}; + queryParameters = _args5.length > 2 && _args5[2] !== undefined ? _args5[2] : {}; + return _context5.abrupt("return", this.performRequest("patch", endpoint, { + queryParameters: queryParameters, + bodyParameters: bodyParameters + })); + case 3: + case "end": + return _context5.stop(); + } + }, _callee5, this); + })); + function patch(_x5) { + return _patch.apply(this, arguments); + } + return patch; + }() + }, { + key: "performRequest", + value: function () { + var _performRequest = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee6(requestType, endpoint, _ref2) { + var _this = this; + var _ref2$queryParameters, queryParameters, _ref2$bodyParameters, bodyParameters, _ref2$additionalHeade, additionalHeaders, _ref2$abortSignal, abortSignal, _ref2$responseType, responseType, _ref2$skipConnectionT, skipConnectionTimeout, _ref2$enableKeepAlive, enableKeepAlive, requestNumber, lastException, _loop, _ret, numTries; + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee6$(_context7) { + while (1) switch (_context7.prev = _context7.next) { + case 0: + _ref2$queryParameters = _ref2.queryParameters, queryParameters = _ref2$queryParameters === void 0 ? null : _ref2$queryParameters, _ref2$bodyParameters = _ref2.bodyParameters, bodyParameters = _ref2$bodyParameters === void 0 ? null : _ref2$bodyParameters, _ref2$additionalHeade = _ref2.additionalHeaders, additionalHeaders = _ref2$additionalHeade === void 0 ? {} : _ref2$additionalHeade, _ref2$abortSignal = _ref2.abortSignal, abortSignal = _ref2$abortSignal === void 0 ? null : _ref2$abortSignal, _ref2$responseType = _ref2.responseType, responseType = _ref2$responseType === void 0 ? undefined : _ref2$responseType, _ref2$skipConnectionT = _ref2.skipConnectionTimeout, skipConnectionTimeout = _ref2$skipConnectionT === void 0 ? false : _ref2$skipConnectionT, _ref2$enableKeepAlive = _ref2.enableKeepAlive, enableKeepAlive = _ref2$enableKeepAlive === void 0 ? undefined : _ref2$enableKeepAlive; + this.configuration.validate(); + requestNumber = Date.now(); + this.logger.debug("Request #".concat(requestNumber, ": Performing ").concat(requestType.toUpperCase(), " request: ").concat(endpoint)); + _loop = /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _loop() { + var node, abortListener, requestOptions, cancelToken, source, response, _response$data, _response$data2, _error$response; + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _loop$(_context6) { + while (1) switch (_context6.prev = _context6.next) { + case 0: + node = _this.getNextNode(requestNumber); + _this.logger.debug("Request #".concat(requestNumber, ": Attempting ").concat(requestType.toUpperCase(), " request Try #").concat(numTries, " to Node ").concat(node.index)); + if (!(abortSignal && abortSignal.aborted)) { + _context6.next = 4; + break; + } + return _context6.abrupt("return", { + v: Promise.reject(new Error("Request aborted by caller.")) + }); + case 4: + _context6.prev = 4; + requestOptions = { + method: requestType, + url: _this.uriFor(endpoint, node), + headers: Object.assign({}, _this.defaultHeaders(), additionalHeaders, _this.additionalUserHeaders), + maxContentLength: Infinity, + maxBodyLength: Infinity, + responseType: responseType, + validateStatus: function validateStatus(status) { + /* Override default validateStatus, which only considers 2xx a success. + In our case, if the server returns any HTTP code, we will handle it below. + We do this to be able to raise custom errors based on response code. + */ + return status > 0; + }, + transformResponse: [function (data, headers) { + var transformedData = data; + if (headers !== undefined && typeof data === "string" && headers["content-type"] && headers["content-type"].startsWith("application/json")) { + transformedData = JSON.parse(data); + } + return transformedData; + }] + }; + if (skipConnectionTimeout !== true) { + requestOptions.timeout = _this.connectionTimeoutSeconds * 1000; + } + if (queryParameters && Object.keys(queryParameters).length !== 0) { + requestOptions.params = queryParameters; + } + if (_this.sendApiKeyAsQueryParam) { + requestOptions.params = requestOptions.params || {}; + requestOptions.params["x-typesense-api-key"] = _this.apiKey; + } + if (_this.configuration.httpAgent) { + _this.logger.debug("Request #".concat(requestNumber, ": Using custom httpAgent")); + requestOptions.httpAgent = _this.configuration.httpAgent; + } else if (enableKeepAlive === true) { + if (!isNodeJSEnvironment) { + _this.logger.warn("Request #".concat(requestNumber, ": Cannot use custom httpAgent in a browser environment to enable keepAlive")); + } else { + _this.logger.debug("Request #".concat(requestNumber, ": Enabling KeepAlive")); + requestOptions.httpAgent = new http__WEBPACK_IMPORTED_MODULE_7__.Agent({ + keepAlive: true + }); + } + } + if (_this.configuration.httpsAgent) { + _this.logger.debug("Request #".concat(requestNumber, ": Using custom httpsAgent")); + requestOptions.httpsAgent = _this.configuration.httpsAgent; + } else if (enableKeepAlive === true) { + if (!isNodeJSEnvironment) { + _this.logger.warn("Request #".concat(requestNumber, ": Cannot use custom httpAgent in a browser environment to enable keepAlive")); + } else { + _this.logger.debug("Request #".concat(requestNumber, ": Enabling keepAlive")); + requestOptions.httpsAgent = new https__WEBPACK_IMPORTED_MODULE_8__.Agent({ + keepAlive: true + }); + } + } + if (_this.configuration.paramsSerializer) { + _this.logger.debug("Request #".concat(requestNumber, ": Using custom paramsSerializer")); + requestOptions.paramsSerializer = _this.configuration.paramsSerializer; + } + if (bodyParameters && (typeof bodyParameters === "string" && bodyParameters.length !== 0 || (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__["default"])(bodyParameters) === "object" && Object.keys(bodyParameters).length !== 0)) { + requestOptions.data = bodyParameters; + } + + // Translate from user-provided AbortController to the Axios request cancel mechanism. + if (abortSignal) { + cancelToken = axios__WEBPACK_IMPORTED_MODULE_9__["default"].CancelToken; + source = cancelToken.source(); + abortListener = function abortListener() { + return source.cancel(); + }; + abortSignal.addEventListener("abort", abortListener); + requestOptions.cancelToken = source.token; + } + _context6.next = 16; + return (0,axios__WEBPACK_IMPORTED_MODULE_9__["default"])(requestOptions); + case 16: + response = _context6.sent; + if (response.status >= 1 && response.status <= 499) { + // Treat any status code > 0 and < 500 to be an indication that node is healthy + // We exclude 0 since some clients return 0 when request fails + _this.setNodeHealthcheck(node, HEALTHY); + } + _this.logger.debug("Request #".concat(requestNumber, ": Request to Node ").concat(node.index, " was made. Response Code was ").concat(response.status, ".")); + if (!(response.status >= 200 && response.status < 300)) { + _context6.next = 23; + break; + } + return _context6.abrupt("return", { + v: Promise.resolve(response.data) + }); + case 23: + if (!(response.status < 500)) { + _context6.next = 27; + break; + } + return _context6.abrupt("return", { + v: Promise.reject(_this.customErrorForResponse(response, (_response$data = response.data) === null || _response$data === void 0 ? void 0 : _response$data.message)) + }); + case 27: + throw _this.customErrorForResponse(response, (_response$data2 = response.data) === null || _response$data2 === void 0 ? void 0 : _response$data2.message); + case 28: + _context6.next = 38; + break; + case 30: + _context6.prev = 30; + _context6.t0 = _context6["catch"](4); + // This block handles retries for HTTPStatus > 500 and network layer issues like connection timeouts + _this.setNodeHealthcheck(node, UNHEALTHY); + lastException = _context6.t0; + _this.logger.warn("Request #".concat(requestNumber, ": Request to Node ").concat(node.index, " failed due to \"").concat(_context6.t0.code, " ").concat(_context6.t0.message).concat(_context6.t0.response == null ? "" : " - " + JSON.stringify((_error$response = _context6.t0.response) === null || _error$response === void 0 ? void 0 : _error$response.data), "\"")); + // this.logger.debug(error.stack) + _this.logger.warn("Request #".concat(requestNumber, ": Sleeping for ").concat(_this.retryIntervalSeconds, "s and then retrying request...")); + _context6.next = 38; + return _this.timer(_this.retryIntervalSeconds); + case 38: + _context6.prev = 38; + if (abortSignal && abortListener) { + abortSignal.removeEventListener("abort", abortListener); + } + return _context6.finish(38); + case 41: + case "end": + return _context6.stop(); + } + }, _loop, null, [[4, 30, 38, 41]]); + }); + numTries = 1; + case 6: + if (!(numTries <= this.numRetriesPerRequest + 1)) { + _context7.next = 14; + break; + } + return _context7.delegateYield(_loop(), "t0", 8); + case 8: + _ret = _context7.t0; + if (!_ret) { + _context7.next = 11; + break; + } + return _context7.abrupt("return", _ret.v); + case 11: + numTries++; + _context7.next = 6; + break; + case 14: + this.logger.debug("Request #".concat(requestNumber, ": No retries left. Raising last error")); + return _context7.abrupt("return", Promise.reject(lastException)); + case 16: + case "end": + return _context7.stop(); + } + }, _callee6, this); + })); + function performRequest(_x6, _x7, _x8) { + return _performRequest.apply(this, arguments); + } + return performRequest; + }() // Attempts to find the next healthy node, looping through the list of nodes once. + // But if no healthy nodes are found, it will just return the next node, even if it's unhealthy + // so we can try the request for good measure, in case that node has become healthy since + }, { + key: "getNextNode", + value: function getNextNode() { + var requestNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + // Check if nearestNode is set and is healthy, if so return it + if (this.nearestNode != null) { + this.logger.debug("Request #".concat(requestNumber, ": Nodes Health: Node ").concat(this.nearestNode.index, " is ").concat(this.nearestNode.isHealthy === true ? "Healthy" : "Unhealthy")); + if (this.nearestNode.isHealthy === true || this.nodeDueForHealthcheck(this.nearestNode, requestNumber)) { + this.logger.debug("Request #".concat(requestNumber, ": Updated current node to Node ").concat(this.nearestNode.index)); + return this.nearestNode; + } + this.logger.debug("Request #".concat(requestNumber, ": Falling back to individual nodes")); + } + + // Fallback to nodes as usual + this.logger.debug("Request #".concat(requestNumber, ": Nodes Health: ").concat(this.nodes.map(function (node) { + return "Node ".concat(node.index, " is ").concat(node.isHealthy === true ? "Healthy" : "Unhealthy"); + }).join(" || "))); + var candidateNode = this.nodes[0]; + for (var i = 0; i <= this.nodes.length; i++) { + this.currentNodeIndex = (this.currentNodeIndex + 1) % this.nodes.length; + candidateNode = this.nodes[this.currentNodeIndex]; + if (candidateNode.isHealthy === true || this.nodeDueForHealthcheck(candidateNode, requestNumber)) { + this.logger.debug("Request #".concat(requestNumber, ": Updated current node to Node ").concat(candidateNode.index)); + return candidateNode; + } + } + + // None of the nodes are marked healthy, but some of them could have become healthy since last health check. + // So we will just return the next node. + this.logger.debug("Request #".concat(requestNumber, ": No healthy nodes were found. Returning the next node, Node ").concat(candidateNode.index)); + return candidateNode; + } + }, { + key: "nodeDueForHealthcheck", + value: function nodeDueForHealthcheck(node) { + var requestNumber = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; + var isDueForHealthcheck = Date.now() - node.lastAccessTimestamp > this.healthcheckIntervalSeconds * 1000; + if (isDueForHealthcheck) { + this.logger.debug("Request #".concat(requestNumber, ": Node ").concat(node.index, " has exceeded healtcheckIntervalSeconds of ").concat(this.healthcheckIntervalSeconds, ". Adding it back into rotation.")); + } + return isDueForHealthcheck; + } + }, { + key: "initializeMetadataForNodes", + value: function initializeMetadataForNodes() { + var _this2 = this; + if (this.nearestNode != null) { + this.nearestNode.index = "nearestNode"; + this.setNodeHealthcheck(this.nearestNode, HEALTHY); + } + this.nodes.forEach(function (node, i) { + node.index = i; + _this2.setNodeHealthcheck(node, HEALTHY); + }); + } + }, { + key: "setNodeHealthcheck", + value: function setNodeHealthcheck(node, isHealthy) { + node.isHealthy = isHealthy; + node.lastAccessTimestamp = Date.now(); + } + }, { + key: "uriFor", + value: function uriFor(endpoint, node) { + if (node.url != null) { + return "".concat(node.url).concat(endpoint); + } + return "".concat(node.protocol, "://").concat(node.host, ":").concat(node.port).concat(node.path).concat(endpoint); + } + }, { + key: "defaultHeaders", + value: function defaultHeaders() { + var defaultHeaders = {}; + if (!this.sendApiKeyAsQueryParam) { + defaultHeaders[APIKEYHEADERNAME] = this.apiKey; + } + defaultHeaders["Content-Type"] = "application/json"; + return defaultHeaders; + } + }, { + key: "timer", + value: function () { + var _timer = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee7(seconds) { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee7$(_context8) { + while (1) switch (_context8.prev = _context8.next) { + case 0: + return _context8.abrupt("return", new Promise(function (resolve) { + return setTimeout(resolve, seconds * 1000); + })); + case 1: + case "end": + return _context8.stop(); + } + }, _callee7); + })); + function timer(_x9) { + return _timer.apply(this, arguments); + } + return timer; + }() + }, { + key: "customErrorForResponse", + value: function customErrorForResponse(response, messageFromServer) { + var errorMessage = "Request failed with HTTP code ".concat(response.status); + if (typeof messageFromServer === "string" && messageFromServer.trim() !== "") { + errorMessage += " | Server said: ".concat(messageFromServer); + } + var error = new _Errors_TypesenseError__WEBPACK_IMPORTED_MODULE_6__["default"](errorMessage); + if (response.status === 400) { + error = new _Errors__WEBPACK_IMPORTED_MODULE_5__.RequestMalformed(errorMessage); + } else if (response.status === 401) { + error = new _Errors__WEBPACK_IMPORTED_MODULE_5__.RequestUnauthorized(errorMessage); + } else if (response.status === 404) { + error = new _Errors__WEBPACK_IMPORTED_MODULE_5__.ObjectNotFound(errorMessage); + } else if (response.status === 409) { + error = new _Errors__WEBPACK_IMPORTED_MODULE_5__.ObjectAlreadyExists(errorMessage); + } else if (response.status === 422) { + error = new _Errors__WEBPACK_IMPORTED_MODULE_5__.ObjectUnprocessable(errorMessage); + } else if (response.status >= 500 && response.status <= 599) { + error = new _Errors__WEBPACK_IMPORTED_MODULE_5__.ServerError(errorMessage); + } else { + error = new _Errors__WEBPACK_IMPORTED_MODULE_5__.HTTPError(errorMessage); + } + error.httpStatus = response.status; + return error; + } + }]); + return ApiCall; +}(); + + +/***/ }), + +/***/ "./src/Typesense/Client.ts": +/*!*********************************!*\ + !*** ./src/Typesense/Client.ts ***! + \*********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ Client) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _Configuration__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Configuration */ "./src/Typesense/Configuration.ts"); +/* harmony import */ var _ApiCall__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ApiCall */ "./src/Typesense/ApiCall.ts"); +/* harmony import */ var _Collections__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Collections */ "./src/Typesense/Collections.ts"); +/* harmony import */ var _Collection__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Collection */ "./src/Typesense/Collection.ts"); +/* harmony import */ var _Aliases__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Aliases */ "./src/Typesense/Aliases.ts"); +/* harmony import */ var _Alias__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Alias */ "./src/Typesense/Alias.ts"); +/* harmony import */ var _Keys__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Keys */ "./src/Typesense/Keys.ts"); +/* harmony import */ var _Key__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Key */ "./src/Typesense/Key.ts"); +/* harmony import */ var _Debug__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Debug */ "./src/Typesense/Debug.ts"); +/* harmony import */ var _Metrics__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Metrics */ "./src/Typesense/Metrics.ts"); +/* harmony import */ var _Stats__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./Stats */ "./src/Typesense/Stats.ts"); +/* harmony import */ var _Health__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./Health */ "./src/Typesense/Health.ts"); +/* harmony import */ var _Operations__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./Operations */ "./src/Typesense/Operations.ts"); +/* harmony import */ var _MultiSearch__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./MultiSearch */ "./src/Typesense/MultiSearch.ts"); +/* harmony import */ var _Presets__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./Presets */ "./src/Typesense/Presets.ts"); +/* harmony import */ var _Preset__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./Preset */ "./src/Typesense/Preset.ts"); +/* harmony import */ var _Analytics__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./Analytics */ "./src/Typesense/Analytics.ts"); +/* harmony import */ var _Stopwords__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./Stopwords */ "./src/Typesense/Stopwords.ts"); +/* harmony import */ var _Stopword__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./Stopword */ "./src/Typesense/Stopword.ts"); +/* harmony import */ var _Conversations__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./Conversations */ "./src/Typesense/Conversations.ts"); +/* harmony import */ var _Conversation__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./Conversation */ "./src/Typesense/Conversation.ts"); + + +/* eslint-disable no-dupe-class-members */ + + + + + + + + + + + + + + + + + + + + + + +var Client = /*#__PURE__*/function () { + function Client(options) { + var _options$sendApiKeyAs; + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__["default"])(this, Client); + options.sendApiKeyAsQueryParam = (_options$sendApiKeyAs = options.sendApiKeyAsQueryParam) !== null && _options$sendApiKeyAs !== void 0 ? _options$sendApiKeyAs : false; + this.configuration = new _Configuration__WEBPACK_IMPORTED_MODULE_2__["default"](options); + this.apiCall = new _ApiCall__WEBPACK_IMPORTED_MODULE_3__["default"](this.configuration); + this.debug = new _Debug__WEBPACK_IMPORTED_MODULE_10__["default"](this.apiCall); + this.metrics = new _Metrics__WEBPACK_IMPORTED_MODULE_11__["default"](this.apiCall); + this.stats = new _Stats__WEBPACK_IMPORTED_MODULE_12__["default"](this.apiCall); + this.health = new _Health__WEBPACK_IMPORTED_MODULE_13__["default"](this.apiCall); + this.operations = new _Operations__WEBPACK_IMPORTED_MODULE_14__["default"](this.apiCall); + this.multiSearch = new _MultiSearch__WEBPACK_IMPORTED_MODULE_15__["default"](this.apiCall, this.configuration); + this._collections = new _Collections__WEBPACK_IMPORTED_MODULE_4__["default"](this.apiCall); + this.individualCollections = {}; + this._aliases = new _Aliases__WEBPACK_IMPORTED_MODULE_6__["default"](this.apiCall); + this.individualAliases = {}; + this._keys = new _Keys__WEBPACK_IMPORTED_MODULE_8__["default"](this.apiCall); + this.individualKeys = {}; + this._presets = new _Presets__WEBPACK_IMPORTED_MODULE_16__["default"](this.apiCall); + this.individualPresets = {}; + this._stopwords = new _Stopwords__WEBPACK_IMPORTED_MODULE_19__["default"](this.apiCall); + this.individualStopwords = {}; + this.analytics = new _Analytics__WEBPACK_IMPORTED_MODULE_18__["default"](this.apiCall); + this._conversations = new _Conversations__WEBPACK_IMPORTED_MODULE_21__["default"](this.apiCall); + this.individualConversations = {}; + } + (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__["default"])(Client, [{ + key: "collections", + value: function collections(collectionName) { + if (collectionName === undefined) { + return this._collections; + } else { + if (this.individualCollections[collectionName] === undefined) { + this.individualCollections[collectionName] = new _Collection__WEBPACK_IMPORTED_MODULE_5__["default"](collectionName, this.apiCall, this.configuration); + } + return this.individualCollections[collectionName]; + } + } + }, { + key: "aliases", + value: function aliases(aliasName) { + if (aliasName === undefined) { + return this._aliases; + } else { + if (this.individualAliases[aliasName] === undefined) { + this.individualAliases[aliasName] = new _Alias__WEBPACK_IMPORTED_MODULE_7__["default"](aliasName, this.apiCall); + } + return this.individualAliases[aliasName]; + } + } + }, { + key: "keys", + value: function keys(id) { + if (id === undefined) { + return this._keys; + } else { + if (this.individualKeys[id] === undefined) { + this.individualKeys[id] = new _Key__WEBPACK_IMPORTED_MODULE_9__["default"](id, this.apiCall); + } + return this.individualKeys[id]; + } + } + }, { + key: "presets", + value: function presets(id) { + if (id === undefined) { + return this._presets; + } else { + if (this.individualPresets[id] === undefined) { + this.individualPresets[id] = new _Preset__WEBPACK_IMPORTED_MODULE_17__["default"](id, this.apiCall); + } + return this.individualPresets[id]; + } + } + }, { + key: "stopwords", + value: function stopwords(id) { + if (id === undefined) { + return this._stopwords; + } else { + if (this.individualStopwords[id] === undefined) { + this.individualStopwords[id] = new _Stopword__WEBPACK_IMPORTED_MODULE_20__["default"](id, this.apiCall); + } + return this.individualStopwords[id]; + } + } + }, { + key: "conversations", + value: function conversations(id) { + if (id === undefined) { + return this._conversations; + } else { + if (this.individualConversations[id] === undefined) { + this.individualConversations[id] = new _Conversation__WEBPACK_IMPORTED_MODULE_22__["default"](id, this.apiCall); + } + return this.individualConversations[id]; + } + } + }]); + return Client; +}(); + + +/***/ }), + +/***/ "./src/Typesense/Collection.ts": +/*!*************************************!*\ + !*** ./src/Typesense/Collection.ts ***! + \*************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ Collection) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _Collections__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Collections */ "./src/Typesense/Collections.ts"); +/* harmony import */ var _Documents__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Documents */ "./src/Typesense/Documents.ts"); +/* harmony import */ var _Errors__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Errors */ "./src/Typesense/Errors/index.ts"); +/* harmony import */ var _Overrides__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Overrides */ "./src/Typesense/Overrides.ts"); +/* harmony import */ var _Override__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Override */ "./src/Typesense/Override.ts"); +/* harmony import */ var _Synonyms__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Synonyms */ "./src/Typesense/Synonyms.ts"); +/* harmony import */ var _Synonym__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Synonym */ "./src/Typesense/Synonym.ts"); +/* harmony import */ var _Document__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./Document */ "./src/Typesense/Document.ts"); + + + + + + + + + + + + + +var Collection = /*#__PURE__*/function () { + function Collection(name, apiCall, configuration) { + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Collection); + (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_3__["default"])(this, "individualDocuments", {}); + (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_3__["default"])(this, "individualOverrides", {}); + (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_3__["default"])(this, "individualSynonyms", {}); + this.name = name; + this.apiCall = apiCall; + this.configuration = configuration; + this.name = name; + this.apiCall = apiCall; + this.configuration = configuration; + this._documents = new _Documents__WEBPACK_IMPORTED_MODULE_6__["default"](this.name, this.apiCall, this.configuration); + this._overrides = new _Overrides__WEBPACK_IMPORTED_MODULE_8__["default"](this.name, this.apiCall); + this._synonyms = new _Synonyms__WEBPACK_IMPORTED_MODULE_10__["default"](this.name, this.apiCall); + } + (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Collection, [{ + key: "retrieve", + value: function () { + var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + return _context.abrupt("return", this.apiCall.get(this.endpointPath())); + case 1: + case "end": + return _context.stop(); + } + }, _callee, this); + })); + function retrieve() { + return _retrieve.apply(this, arguments); + } + return retrieve; + }() + }, { + key: "update", + value: function () { + var _update = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee2(schema) { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee2$(_context2) { + while (1) switch (_context2.prev = _context2.next) { + case 0: + return _context2.abrupt("return", this.apiCall.patch(this.endpointPath(), schema)); + case 1: + case "end": + return _context2.stop(); + } + }, _callee2, this); + })); + function update(_x) { + return _update.apply(this, arguments); + } + return update; + }() + }, { + key: "delete", + value: function () { + var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee3() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee3$(_context3) { + while (1) switch (_context3.prev = _context3.next) { + case 0: + return _context3.abrupt("return", this.apiCall.delete(this.endpointPath())); + case 1: + case "end": + return _context3.stop(); + } + }, _callee3, this); + })); + function _delete() { + return _delete2.apply(this, arguments); + } + return _delete; + }() + }, { + key: "exists", + value: function () { + var _exists = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee4() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee4$(_context4) { + while (1) switch (_context4.prev = _context4.next) { + case 0: + _context4.prev = 0; + _context4.next = 3; + return this.retrieve(); + case 3: + return _context4.abrupt("return", true); + case 6: + _context4.prev = 6; + _context4.t0 = _context4["catch"](0); + if (!(_context4.t0 instanceof _Errors__WEBPACK_IMPORTED_MODULE_7__.ObjectNotFound)) { + _context4.next = 10; + break; + } + return _context4.abrupt("return", false); + case 10: + throw _context4.t0; + case 11: + case "end": + return _context4.stop(); + } + }, _callee4, this, [[0, 6]]); + })); + function exists() { + return _exists.apply(this, arguments); + } + return exists; + }() + }, { + key: "documents", + value: function documents(documentId) { + if (!documentId) { + return this._documents; + } else { + if (this.individualDocuments[documentId] === undefined) { + this.individualDocuments[documentId] = new _Document__WEBPACK_IMPORTED_MODULE_12__.Document(this.name, documentId, this.apiCall); + } + return this.individualDocuments[documentId]; + } + } + }, { + key: "overrides", + value: function overrides(overrideId) { + if (overrideId === undefined) { + return this._overrides; + } else { + if (this.individualOverrides[overrideId] === undefined) { + this.individualOverrides[overrideId] = new _Override__WEBPACK_IMPORTED_MODULE_9__["default"](this.name, overrideId, this.apiCall); + } + return this.individualOverrides[overrideId]; + } + } + }, { + key: "synonyms", + value: function synonyms(synonymId) { + if (synonymId === undefined) { + return this._synonyms; + } else { + if (this.individualSynonyms[synonymId] === undefined) { + this.individualSynonyms[synonymId] = new _Synonym__WEBPACK_IMPORTED_MODULE_11__["default"](this.name, synonymId, this.apiCall); + } + return this.individualSynonyms[synonymId]; + } + } + }, { + key: "endpointPath", + value: function endpointPath() { + return "".concat(_Collections__WEBPACK_IMPORTED_MODULE_5__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.name)); + } + }]); + return Collection; +}(); + + +/***/ }), + +/***/ "./src/Typesense/Collections.ts": +/*!**************************************!*\ + !*** ./src/Typesense/Collections.ts ***! + \**************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ Collections) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); + + + + +var RESOURCEPATH = "/collections"; +var Collections = /*#__PURE__*/function () { + function Collections(apiCall) { + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Collections); + this.apiCall = apiCall; + } + (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Collections, [{ + key: "create", + value: function () { + var _create = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(schema) { + var options, + _args = arguments; + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + options = _args.length > 1 && _args[1] !== undefined ? _args[1] : {}; + return _context.abrupt("return", this.apiCall.post(RESOURCEPATH, schema, options)); + case 2: + case "end": + return _context.stop(); + } + }, _callee, this); + })); + function create(_x) { + return _create.apply(this, arguments); + } + return create; + }() + }, { + key: "retrieve", + value: function () { + var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { + var options, + _args2 = arguments; + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { + while (1) switch (_context2.prev = _context2.next) { + case 0: + options = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : {}; + return _context2.abrupt("return", this.apiCall.get(RESOURCEPATH, options)); + case 2: + case "end": + return _context2.stop(); + } + }, _callee2, this); + })); + function retrieve() { + return _retrieve.apply(this, arguments); + } + return retrieve; + }() + }], [{ + key: "RESOURCEPATH", + get: function get() { + return RESOURCEPATH; + } + }]); + return Collections; +}(); + + +/***/ }), + +/***/ "./src/Typesense/Configuration.ts": +/*!****************************************!*\ + !*** ./src/Typesense/Configuration.ts ***! + \****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ Configuration) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js"); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var loglevel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! loglevel */ "./node_modules/loglevel/lib/loglevel.js"); +/* harmony import */ var loglevel__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(loglevel__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _Errors__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Errors */ "./src/Typesense/Errors/index.ts"); + + + +function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } +function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } + + +var Configuration = /*#__PURE__*/function () { + function Configuration(options) { + var _this = this; + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Configuration); + this.nodes = options.nodes || []; + this.nodes = this.nodes.map(function (node) { + return _this.setDefaultPathInNode(node); + }).map(function (node) { + return _this.setDefaultPortInNode(node); + }).map(function (node) { + return _objectSpread({}, node); + }); // Make a deep copy + + if (options.randomizeNodes == null) { + options.randomizeNodes = true; + } + if (options.randomizeNodes === true) { + this.shuffleArray(this.nodes); + } + this.nearestNode = options.nearestNode; + this.nearestNode = this.setDefaultPathInNode(this.nearestNode); + this.nearestNode = this.setDefaultPortInNode(this.nearestNode); + this.connectionTimeoutSeconds = options.connectionTimeoutSeconds || options.timeoutSeconds || 5; + this.healthcheckIntervalSeconds = options.healthcheckIntervalSeconds || 60; + this.numRetries = options.numRetries || this.nodes.length + (this.nearestNode == null ? 0 : 1) || 3; + this.retryIntervalSeconds = options.retryIntervalSeconds || 0.1; + this.apiKey = options.apiKey; + this.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam; // We will set a default for this in Client and SearchClient + + this.cacheSearchResultsForSeconds = options.cacheSearchResultsForSeconds || 0; // Disable client-side cache by default + this.useServerSideSearchCache = options.useServerSideSearchCache || false; + this.logger = options.logger || loglevel__WEBPACK_IMPORTED_MODULE_3__; + this.logLevel = options.logLevel || "warn"; + this.logger.setLevel(this.logLevel); + this.additionalHeaders = options.additionalHeaders; + this.httpAgent = options.httpAgent; + this.httpsAgent = options.httpsAgent; + this.paramsSerializer = options.paramsSerializer; + this.showDeprecationWarnings(options); + this.validate(); + } + (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Configuration, [{ + key: "validate", + value: function validate() { + if (this.nodes == null || this.nodes.length === 0 || this.validateNodes()) { + throw new _Errors__WEBPACK_IMPORTED_MODULE_4__.MissingConfigurationError("Ensure that nodes[].protocol, nodes[].host and nodes[].port are set"); + } + if (this.nearestNode != null && this.isNodeMissingAnyParameters(this.nearestNode)) { + throw new _Errors__WEBPACK_IMPORTED_MODULE_4__.MissingConfigurationError("Ensure that nearestNodes.protocol, nearestNodes.host and nearestNodes.port are set"); + } + if (this.apiKey == null) { + throw new _Errors__WEBPACK_IMPORTED_MODULE_4__.MissingConfigurationError("Ensure that apiKey is set"); + } + return true; + } + }, { + key: "validateNodes", + value: function validateNodes() { + var _this2 = this; + return this.nodes.some(function (node) { + return _this2.isNodeMissingAnyParameters(node); + }); + } + }, { + key: "isNodeMissingAnyParameters", + value: function isNodeMissingAnyParameters(node) { + return !["protocol", "host", "port", "path"].every(function (key) { + return node.hasOwnProperty(key); + }) && node["url"] == null; + } + }, { + key: "setDefaultPathInNode", + value: function setDefaultPathInNode(node) { + if (node != null && !node.hasOwnProperty("path")) { + node["path"] = ""; + } + return node; + } + }, { + key: "setDefaultPortInNode", + value: function setDefaultPortInNode(node) { + if (node != null && !node.hasOwnProperty("port") && node.hasOwnProperty("protocol")) { + switch (node["protocol"]) { + case "https": + node["port"] = 443; + break; + case "http": + node["port"] = 80; + break; + } + } + return node; + } + }, { + key: "showDeprecationWarnings", + value: function showDeprecationWarnings(options) { + if (options.timeoutSeconds) { + this.logger.warn("Deprecation warning: timeoutSeconds is now renamed to connectionTimeoutSeconds"); + } + if (options.masterNode) { + this.logger.warn("Deprecation warning: masterNode is now consolidated to nodes, starting with Typesense Server v0.12"); + } + if (options.readReplicaNodes) { + this.logger.warn("Deprecation warning: readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12"); + } + } + }, { + key: "shuffleArray", + value: function shuffleArray(array) { + for (var i = array.length - 1; i > 0; i--) { + var j = Math.floor(Math.random() * (i + 1)); + var _ref = [array[j], array[i]]; + array[i] = _ref[0]; + array[j] = _ref[1]; + } + } + }]); + return Configuration; +}(); + + +/***/ }), + +/***/ "./src/Typesense/Conversation.ts": +/*!***************************************!*\ + !*** ./src/Typesense/Conversation.ts ***! + \***************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ Conversation) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _Conversations__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Conversations */ "./src/Typesense/Conversations.ts"); + + + + + +var Conversation = /*#__PURE__*/function () { + function Conversation(id, apiCall) { + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Conversation); + this.id = id; + this.apiCall = apiCall; + } + (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Conversation, [{ + key: "retrieve", + value: function () { + var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + return _context.abrupt("return", this.apiCall.get(this.endpointPath())); + case 1: + case "end": + return _context.stop(); + } + }, _callee, this); + })); + function retrieve() { + return _retrieve.apply(this, arguments); + } + return retrieve; + }() + }, { + key: "update", + value: function () { + var _update = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2(params) { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { + while (1) switch (_context2.prev = _context2.next) { + case 0: + return _context2.abrupt("return", this.apiCall.put(this.endpointPath(), params)); + case 1: + case "end": + return _context2.stop(); + } + }, _callee2, this); + })); + function update(_x) { + return _update.apply(this, arguments); + } + return update; + }() + }, { + key: "delete", + value: function () { + var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee3() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee3$(_context3) { + while (1) switch (_context3.prev = _context3.next) { + case 0: + return _context3.abrupt("return", this.apiCall.delete(this.endpointPath())); + case 1: + case "end": + return _context3.stop(); + } + }, _callee3, this); + })); + function _delete() { + return _delete2.apply(this, arguments); + } + return _delete; + }() + }, { + key: "endpointPath", + value: function endpointPath() { + return "".concat(_Conversations__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.id)); + } + }]); + return Conversation; +}(); + + +/***/ }), + +/***/ "./src/Typesense/ConversationModel.ts": +/*!********************************************!*\ + !*** ./src/Typesense/ConversationModel.ts ***! + \********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ ConversationModel) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _ConversationModels__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ConversationModels */ "./src/Typesense/ConversationModels.ts"); + + + + + +var ConversationModel = /*#__PURE__*/function () { + function ConversationModel(id, apiCall) { + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, ConversationModel); + this.id = id; + this.apiCall = apiCall; + } + (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(ConversationModel, [{ + key: "update", + value: function () { + var _update = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(params) { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + return _context.abrupt("return", this.apiCall.put(this.endpointPath(), params)); + case 1: + case "end": + return _context.stop(); + } + }, _callee, this); + })); + function update(_x) { + return _update.apply(this, arguments); + } + return update; + }() + }, { + key: "retrieve", + value: function () { + var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { + while (1) switch (_context2.prev = _context2.next) { + case 0: + return _context2.abrupt("return", this.apiCall.get(this.endpointPath())); + case 1: + case "end": + return _context2.stop(); + } + }, _callee2, this); + })); + function retrieve() { + return _retrieve.apply(this, arguments); + } + return retrieve; + }() + }, { + key: "delete", + value: function () { + var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee3() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee3$(_context3) { + while (1) switch (_context3.prev = _context3.next) { + case 0: + return _context3.abrupt("return", this.apiCall.delete(this.endpointPath())); + case 1: + case "end": + return _context3.stop(); + } + }, _callee3, this); + })); + function _delete() { + return _delete2.apply(this, arguments); + } + return _delete; + }() + }, { + key: "endpointPath", + value: function endpointPath() { + return "".concat(_ConversationModels__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.id)); + } + }]); + return ConversationModel; +}(); + + +/***/ }), + +/***/ "./src/Typesense/ConversationModels.ts": +/*!*********************************************!*\ + !*** ./src/Typesense/ConversationModels.ts ***! + \*********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ ConversationModels) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); + + + + +var RESOURCEPATH = "/conversations/models"; +var ConversationModels = /*#__PURE__*/function () { + function ConversationModels(apiCall) { + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, ConversationModels); + this.apiCall = apiCall; + this.apiCall = apiCall; + } + (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(ConversationModels, [{ + key: "create", + value: function () { + var _create = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(params) { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + return _context.abrupt("return", this.apiCall.post(this.endpointPath(), params)); + case 1: + case "end": + return _context.stop(); + } + }, _callee, this); + })); + function create(_x) { + return _create.apply(this, arguments); + } + return create; + }() + }, { + key: "retrieve", + value: function () { + var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { + while (1) switch (_context2.prev = _context2.next) { + case 0: + return _context2.abrupt("return", this.apiCall.get(this.endpointPath())); + case 1: + case "end": + return _context2.stop(); + } + }, _callee2, this); + })); + function retrieve() { + return _retrieve.apply(this, arguments); + } + return retrieve; + }() + }, { + key: "endpointPath", + value: function endpointPath(operation) { + return "".concat(ConversationModels.RESOURCEPATH).concat(operation === undefined ? "" : "/" + encodeURIComponent(operation)); + } + }], [{ + key: "RESOURCEPATH", + get: function get() { + return RESOURCEPATH; + } + }]); + return ConversationModels; +}(); + + +/***/ }), + +/***/ "./src/Typesense/Conversations.ts": +/*!****************************************!*\ + !*** ./src/Typesense/Conversations.ts ***! + \****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ Conversations) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _ConversationModels__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ConversationModels */ "./src/Typesense/ConversationModels.ts"); +/* harmony import */ var _ConversationModel__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ConversationModel */ "./src/Typesense/ConversationModel.ts"); + + + + + + + +var RESOURCEPATH = "/conversations"; +var Conversations = /*#__PURE__*/function () { + function Conversations(apiCall) { + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Conversations); + (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_3__["default"])(this, "individualConversationModels", {}); + this.apiCall = apiCall; + this.apiCall = apiCall; + this._conversationsModels = new _ConversationModels__WEBPACK_IMPORTED_MODULE_5__["default"](this.apiCall); + } + (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Conversations, [{ + key: "retrieve", + value: function () { + var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + return _context.abrupt("return", this.apiCall.get(RESOURCEPATH)); + case 1: + case "end": + return _context.stop(); + } + }, _callee, this); + })); + function retrieve() { + return _retrieve.apply(this, arguments); + } + return retrieve; + }() + }, { + key: "models", + value: function models(id) { + if (id === undefined) { + return this._conversationsModels; + } else { + if (this.individualConversationModels[id] === undefined) { + this.individualConversationModels[id] = new _ConversationModel__WEBPACK_IMPORTED_MODULE_6__["default"](id, this.apiCall); + } + return this.individualConversationModels[id]; + } + } + }], [{ + key: "RESOURCEPATH", + get: function get() { + return RESOURCEPATH; + } + }]); + return Conversations; +}(); + + +/***/ }), + +/***/ "./src/Typesense/Debug.ts": +/*!********************************!*\ + !*** ./src/Typesense/Debug.ts ***! + \********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ Debug) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); + + + + +var RESOURCEPATH = "/debug"; +var Debug = /*#__PURE__*/function () { + function Debug(apiCall) { + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Debug); + this.apiCall = apiCall; + } + (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Debug, [{ + key: "retrieve", + value: function () { + var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + return _context.abrupt("return", this.apiCall.get(RESOURCEPATH)); + case 1: + case "end": + return _context.stop(); + } + }, _callee, this); + })); + function retrieve() { + return _retrieve.apply(this, arguments); + } + return retrieve; + }() + }]); + return Debug; +}(); + + +/***/ }), + +/***/ "./src/Typesense/Document.ts": +/*!***********************************!*\ + !*** ./src/Typesense/Document.ts ***! + \***********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Document: () => (/* binding */ Document) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _Collections__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Collections */ "./src/Typesense/Collections.ts"); +/* harmony import */ var _Documents__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Documents */ "./src/Typesense/Documents.ts"); + + + + + + +var Document = /*#__PURE__*/function () { + function Document(collectionName, documentId, apiCall) { + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Document); + this.collectionName = collectionName; + this.documentId = documentId; + this.apiCall = apiCall; + } + (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Document, [{ + key: "retrieve", + value: function () { + var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + return _context.abrupt("return", this.apiCall.get(this.endpointPath())); + case 1: + case "end": + return _context.stop(); + } + }, _callee, this); + })); + function retrieve() { + return _retrieve.apply(this, arguments); + } + return retrieve; + }() + }, { + key: "delete", + value: function () { + var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2(options) { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { + while (1) switch (_context2.prev = _context2.next) { + case 0: + return _context2.abrupt("return", this.apiCall.delete(this.endpointPath(), options)); + case 1: + case "end": + return _context2.stop(); + } + }, _callee2, this); + })); + function _delete(_x) { + return _delete2.apply(this, arguments); + } + return _delete; + }() + }, { + key: "update", + value: function () { + var _update = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee3(partialDocument) { + var options, + _args3 = arguments; + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee3$(_context3) { + while (1) switch (_context3.prev = _context3.next) { + case 0: + options = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : {}; + return _context3.abrupt("return", this.apiCall.patch(this.endpointPath(), partialDocument, options)); + case 2: + case "end": + return _context3.stop(); + } + }, _callee3, this); + })); + function update(_x2) { + return _update.apply(this, arguments); + } + return update; + }() + }, { + key: "endpointPath", + value: function endpointPath() { + return "".concat(_Collections__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.collectionName)).concat(_Documents__WEBPACK_IMPORTED_MODULE_5__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.documentId)); + } + }]); + return Document; +}(); + +/***/ }), + +/***/ "./src/Typesense/Documents.ts": +/*!************************************!*\ + !*** ./src/Typesense/Documents.ts ***! + \************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ Documents) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"); +/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); +/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var _Errors__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Errors */ "./src/Typesense/Errors/index.ts"); +/* harmony import */ var _SearchOnlyDocuments__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./SearchOnlyDocuments */ "./src/Typesense/SearchOnlyDocuments.ts"); + + + + + + + +function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__["default"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__["default"])(t).constructor) : o.apply(t, e)); } +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } + + + +// Todo: use generic to extract filter_by values + +// Todo: we could infer whether this is a grouped response by adding the search params as a generic + +var isNodeJSEnvironment = typeof process !== "undefined" && process.versions != null && process.versions.node != null; +var Documents = /*#__PURE__*/function (_ref) { + (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__["default"])(Documents, _ref); + function Documents(collectionName, apiCall, configuration) { + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Documents); + return _callSuper(this, Documents, [collectionName, apiCall, configuration]); + } + (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Documents, [{ + key: "create", + value: function () { + var _create = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().mark(function _callee(document) { + var options, + _args = arguments; + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + options = _args.length > 1 && _args[1] !== undefined ? _args[1] : {}; + if (document) { + _context.next = 3; + break; + } + throw new Error("No document provided"); + case 3: + return _context.abrupt("return", this.apiCall.post(this.endpointPath(), document, options)); + case 4: + case "end": + return _context.stop(); + } + }, _callee, this); + })); + function create(_x) { + return _create.apply(this, arguments); + } + return create; + }() + }, { + key: "upsert", + value: function () { + var _upsert = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().mark(function _callee2(document) { + var options, + _args2 = arguments; + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().wrap(function _callee2$(_context2) { + while (1) switch (_context2.prev = _context2.next) { + case 0: + options = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : {}; + if (document) { + _context2.next = 3; + break; + } + throw new Error("No document provided"); + case 3: + return _context2.abrupt("return", this.apiCall.post(this.endpointPath(), document, Object.assign({}, options, { + action: "upsert" + }))); + case 4: + case "end": + return _context2.stop(); + } + }, _callee2, this); + })); + function upsert(_x2) { + return _upsert.apply(this, arguments); + } + return upsert; + }() + }, { + key: "update", + value: function () { + var _update = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().mark(function _callee3(document) { + var options, + _args3 = arguments; + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().wrap(function _callee3$(_context3) { + while (1) switch (_context3.prev = _context3.next) { + case 0: + options = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : {}; + if (document) { + _context3.next = 3; + break; + } + throw new Error("No document provided"); + case 3: + if (!(options["filter_by"] != null)) { + _context3.next = 7; + break; + } + return _context3.abrupt("return", this.apiCall.patch(this.endpointPath(), document, Object.assign({}, options))); + case 7: + return _context3.abrupt("return", this.apiCall.post(this.endpointPath(), document, Object.assign({}, options, { + action: "update" + }))); + case 8: + case "end": + return _context3.stop(); + } + }, _callee3, this); + })); + function update(_x3) { + return _update.apply(this, arguments); + } + return update; + }() + }, { + key: "delete", + value: function () { + var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().mark(function _callee4() { + var query, + _args4 = arguments; + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().wrap(function _callee4$(_context4) { + while (1) switch (_context4.prev = _context4.next) { + case 0: + query = _args4.length > 0 && _args4[0] !== undefined ? _args4[0] : {}; + return _context4.abrupt("return", this.apiCall.delete(this.endpointPath(), query)); + case 2: + case "end": + return _context4.stop(); + } + }, _callee4, this); + })); + function _delete() { + return _delete2.apply(this, arguments); + } + return _delete; + }() + }, { + key: "createMany", + value: function () { + var _createMany = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().mark(function _callee5(documents) { + var options, + _args5 = arguments; + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().wrap(function _callee5$(_context5) { + while (1) switch (_context5.prev = _context5.next) { + case 0: + options = _args5.length > 1 && _args5[1] !== undefined ? _args5[1] : {}; + 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"); + return _context5.abrupt("return", this.import(documents, options)); + case 3: + case "end": + return _context5.stop(); + } + }, _callee5, this); + })); + function createMany(_x4) { + return _createMany.apply(this, arguments); + } + return createMany; + }() + /** + * Import a set of documents in a batch. + * @param {string|Array} documents - Can be a JSONL string of documents or an array of document objects. + * @param options + * @return {string|Array} Returns a JSONL string if the input was a JSONL string, otherwise it returns an array of results. + */ + }, { + key: "import", + value: function () { + var _import2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().mark(function _callee6(documents) { + var options, + documentsInJSONLFormat, + resultsInJSONLFormat, + resultsInJSONFormat, + failedItems, + _args6 = arguments; + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().wrap(function _callee6$(_context6) { + while (1) switch (_context6.prev = _context6.next) { + case 0: + options = _args6.length > 1 && _args6[1] !== undefined ? _args6[1] : {}; + if (!Array.isArray(documents)) { + _context6.next = 13; + break; + } + _context6.prev = 2; + documentsInJSONLFormat = documents.map(function (document) { + return JSON.stringify(document); + }).join("\n"); + _context6.next = 11; + break; + case 6: + _context6.prev = 6; + _context6.t0 = _context6["catch"](2); + if (!(_context6.t0 instanceof RangeError && _context6.t0.message.includes("Too many properties to enumerate"))) { + _context6.next = 10; + break; + } + throw new Error("".concat(_context6.t0, "\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 ")); + case 10: + throw new Error(_context6.t0); + case 11: + _context6.next = 14; + break; + case 13: + documentsInJSONLFormat = documents; + case 14: + _context6.next = 16; + return this.apiCall.performRequest("post", this.endpointPath("import"), { + queryParameters: options, + bodyParameters: documentsInJSONLFormat, + additionalHeaders: { + "Content-Type": "text/plain" + }, + 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 + enableKeepAlive: isNodeJSEnvironment ? true : false // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991 + }); + case 16: + resultsInJSONLFormat = _context6.sent; + if (!Array.isArray(documents)) { + _context6.next = 27; + break; + } + resultsInJSONFormat = resultsInJSONLFormat.split("\n").map(function (r) { + return JSON.parse(r); + }); + failedItems = resultsInJSONFormat.filter(function (r) { + return r.success === false; + }); + if (!(failedItems.length > 0)) { + _context6.next = 24; + break; + } + throw new _Errors__WEBPACK_IMPORTED_MODULE_7__.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); + case 24: + return _context6.abrupt("return", resultsInJSONFormat); + case 25: + _context6.next = 28; + break; + case 27: + return _context6.abrupt("return", resultsInJSONLFormat); + case 28: + case "end": + return _context6.stop(); + } + }, _callee6, this, [[2, 6]]); + })); + function _import(_x5) { + return _import2.apply(this, arguments); + } + return _import; + }() + /** + * Imports documents from a NodeJS readable stream of JSONL. + */ + }, { + key: "importStream", + value: (function () { + var _importStream = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().mark(function _callee7(readableStream) { + var options, + resultsInJSONLFormat, + resultsInJSONFormat, + failedItems, + _args7 = arguments; + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().wrap(function _callee7$(_context7) { + while (1) switch (_context7.prev = _context7.next) { + case 0: + options = _args7.length > 1 && _args7[1] !== undefined ? _args7[1] : {}; + _context7.next = 3; + return this.apiCall.performRequest("post", this.endpointPath("import"), { + queryParameters: options, + bodyParameters: readableStream, + additionalHeaders: { + "Content-Type": "text/plain" + }, + 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 + enableKeepAlive: isNodeJSEnvironment ? true : false // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991 + }); + case 3: + resultsInJSONLFormat = _context7.sent; + resultsInJSONFormat = resultsInJSONLFormat.split("\n").map(function (r) { + return JSON.parse(r); + }); + failedItems = resultsInJSONFormat.filter(function (r) { + return r.success === false; + }); + if (!(failedItems.length > 0)) { + _context7.next = 10; + break; + } + throw new _Errors__WEBPACK_IMPORTED_MODULE_7__.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); + case 10: + return _context7.abrupt("return", resultsInJSONFormat); + case 11: + case "end": + return _context7.stop(); + } + }, _callee7, this); + })); + function importStream(_x6) { + return _importStream.apply(this, arguments); + } + return importStream; + }() + /** + * Returns a JSONL string for all the documents in this collection + */ + ) + }, { + key: "export", + value: (function () { + var _export2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().mark(function _callee8() { + var options, + _args8 = arguments; + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().wrap(function _callee8$(_context8) { + while (1) switch (_context8.prev = _context8.next) { + case 0: + options = _args8.length > 0 && _args8[0] !== undefined ? _args8[0] : {}; + return _context8.abrupt("return", this.apiCall.get(this.endpointPath("export"), options)); + case 2: + case "end": + return _context8.stop(); + } + }, _callee8, this); + })); + function _export() { + return _export2.apply(this, arguments); + } + return _export; + }() + /** + * Returns a NodeJS readable stream of JSONL for all the documents in this collection. + */ + ) + }, { + key: "exportStream", + value: (function () { + var _exportStream = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().mark(function _callee9() { + var options, + _args9 = arguments; + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().wrap(function _callee9$(_context9) { + while (1) switch (_context9.prev = _context9.next) { + case 0: + options = _args9.length > 0 && _args9[0] !== undefined ? _args9[0] : {}; + return _context9.abrupt("return", this.apiCall.get(this.endpointPath("export"), options, { + responseType: "stream" + })); + case 2: + case "end": + return _context9.stop(); + } + }, _callee9, this); + })); + function exportStream() { + return _exportStream.apply(this, arguments); + } + return exportStream; + }()) + }]); + return Documents; +}(_SearchOnlyDocuments__WEBPACK_IMPORTED_MODULE_8__.SearchOnlyDocuments); + + +/***/ }), + +/***/ "./src/Typesense/Errors/HTTPError.ts": +/*!*******************************************!*\ + !*** ./src/Typesense/Errors/HTTPError.ts ***! + \*******************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ HTTPError) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"); +/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); +/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js"); +/* harmony import */ var _TypesenseError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./TypesenseError */ "./src/Typesense/Errors/TypesenseError.ts"); + + + + + +function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(t).constructor) : o.apply(t, e)); } +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } + +var HTTPError = /*#__PURE__*/function (_TypesenseError) { + (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__["default"])(HTTPError, _TypesenseError); + function HTTPError() { + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, HTTPError); + return _callSuper(this, HTTPError, arguments); + } + return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__["default"])(HTTPError); +}(_TypesenseError__WEBPACK_IMPORTED_MODULE_5__["default"]); + + +/***/ }), + +/***/ "./src/Typesense/Errors/ImportError.ts": +/*!*********************************************!*\ + !*** ./src/Typesense/Errors/ImportError.ts ***! + \*********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ ImportError) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"); +/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); +/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js"); +/* harmony import */ var _TypesenseError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./TypesenseError */ "./src/Typesense/Errors/TypesenseError.ts"); + + + + + +function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(t).constructor) : o.apply(t, e)); } +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } + +var ImportError = /*#__PURE__*/function (_TypesenseError) { + (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__["default"])(ImportError, _TypesenseError); + function ImportError(message, importResults) { + var _this; + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, ImportError); + _this = _callSuper(this, ImportError, [message]); + _this.importResults = importResults; + return _this; + } + return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__["default"])(ImportError); +}(_TypesenseError__WEBPACK_IMPORTED_MODULE_5__["default"]); + + +/***/ }), + +/***/ "./src/Typesense/Errors/MissingConfigurationError.ts": +/*!***********************************************************!*\ + !*** ./src/Typesense/Errors/MissingConfigurationError.ts ***! + \***********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ MissingConfigurationError) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"); +/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); +/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js"); +/* harmony import */ var _TypesenseError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./TypesenseError */ "./src/Typesense/Errors/TypesenseError.ts"); + + + + + +function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(t).constructor) : o.apply(t, e)); } +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } + +var MissingConfigurationError = /*#__PURE__*/function (_TypesenseError) { + (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__["default"])(MissingConfigurationError, _TypesenseError); + function MissingConfigurationError() { + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, MissingConfigurationError); + return _callSuper(this, MissingConfigurationError, arguments); + } + return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__["default"])(MissingConfigurationError); +}(_TypesenseError__WEBPACK_IMPORTED_MODULE_5__["default"]); + + +/***/ }), + +/***/ "./src/Typesense/Errors/ObjectAlreadyExists.ts": +/*!*****************************************************!*\ + !*** ./src/Typesense/Errors/ObjectAlreadyExists.ts ***! + \*****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ ObjectAlreadyExists) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"); +/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); +/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js"); +/* harmony import */ var _TypesenseError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./TypesenseError */ "./src/Typesense/Errors/TypesenseError.ts"); + + + + + +function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(t).constructor) : o.apply(t, e)); } +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } + +var ObjectAlreadyExists = /*#__PURE__*/function (_TypesenseError) { + (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__["default"])(ObjectAlreadyExists, _TypesenseError); + function ObjectAlreadyExists() { + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, ObjectAlreadyExists); + return _callSuper(this, ObjectAlreadyExists, arguments); + } + return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__["default"])(ObjectAlreadyExists); +}(_TypesenseError__WEBPACK_IMPORTED_MODULE_5__["default"]); + + +/***/ }), + +/***/ "./src/Typesense/Errors/ObjectNotFound.ts": +/*!************************************************!*\ + !*** ./src/Typesense/Errors/ObjectNotFound.ts ***! + \************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ ObjectNotFound) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"); +/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); +/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js"); +/* harmony import */ var _TypesenseError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./TypesenseError */ "./src/Typesense/Errors/TypesenseError.ts"); + + + + + +function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(t).constructor) : o.apply(t, e)); } +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } + +var ObjectNotFound = /*#__PURE__*/function (_TypesenseError) { + (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__["default"])(ObjectNotFound, _TypesenseError); + function ObjectNotFound() { + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, ObjectNotFound); + return _callSuper(this, ObjectNotFound, arguments); + } + return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__["default"])(ObjectNotFound); +}(_TypesenseError__WEBPACK_IMPORTED_MODULE_5__["default"]); + + +/***/ }), + +/***/ "./src/Typesense/Errors/ObjectUnprocessable.ts": +/*!*****************************************************!*\ + !*** ./src/Typesense/Errors/ObjectUnprocessable.ts ***! + \*****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ ObjectUnprocessable) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"); +/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); +/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js"); +/* harmony import */ var _TypesenseError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./TypesenseError */ "./src/Typesense/Errors/TypesenseError.ts"); + + + + + +function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(t).constructor) : o.apply(t, e)); } +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } + +var ObjectUnprocessable = /*#__PURE__*/function (_TypesenseError) { + (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__["default"])(ObjectUnprocessable, _TypesenseError); + function ObjectUnprocessable() { + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, ObjectUnprocessable); + return _callSuper(this, ObjectUnprocessable, arguments); + } + return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__["default"])(ObjectUnprocessable); +}(_TypesenseError__WEBPACK_IMPORTED_MODULE_5__["default"]); + + +/***/ }), + +/***/ "./src/Typesense/Errors/RequestMalformed.ts": +/*!**************************************************!*\ + !*** ./src/Typesense/Errors/RequestMalformed.ts ***! + \**************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ RequestMalformed) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"); +/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); +/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js"); +/* harmony import */ var _TypesenseError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./TypesenseError */ "./src/Typesense/Errors/TypesenseError.ts"); + + + + + +function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(t).constructor) : o.apply(t, e)); } +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } + +var RequestMalformed = /*#__PURE__*/function (_TypesenseError) { + (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__["default"])(RequestMalformed, _TypesenseError); + function RequestMalformed() { + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, RequestMalformed); + return _callSuper(this, RequestMalformed, arguments); + } + return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__["default"])(RequestMalformed); +}(_TypesenseError__WEBPACK_IMPORTED_MODULE_5__["default"]); + + +/***/ }), + +/***/ "./src/Typesense/Errors/RequestUnauthorized.ts": +/*!*****************************************************!*\ + !*** ./src/Typesense/Errors/RequestUnauthorized.ts ***! + \*****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ RequestUnauthorized) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"); +/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); +/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js"); +/* harmony import */ var _TypesenseError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./TypesenseError */ "./src/Typesense/Errors/TypesenseError.ts"); + + + + + +function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(t).constructor) : o.apply(t, e)); } +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } + +var RequestUnauthorized = /*#__PURE__*/function (_TypesenseError) { + (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__["default"])(RequestUnauthorized, _TypesenseError); + function RequestUnauthorized() { + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, RequestUnauthorized); + return _callSuper(this, RequestUnauthorized, arguments); + } + return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__["default"])(RequestUnauthorized); +}(_TypesenseError__WEBPACK_IMPORTED_MODULE_5__["default"]); + + +/***/ }), + +/***/ "./src/Typesense/Errors/ServerError.ts": +/*!*********************************************!*\ + !*** ./src/Typesense/Errors/ServerError.ts ***! + \*********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ ServerError) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"); +/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); +/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js"); +/* harmony import */ var _TypesenseError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./TypesenseError */ "./src/Typesense/Errors/TypesenseError.ts"); + + + + + +function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(t).constructor) : o.apply(t, e)); } +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } + +var ServerError = /*#__PURE__*/function (_TypesenseError) { + (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__["default"])(ServerError, _TypesenseError); + function ServerError() { + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, ServerError); + return _callSuper(this, ServerError, arguments); + } + return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__["default"])(ServerError); +}(_TypesenseError__WEBPACK_IMPORTED_MODULE_5__["default"]); + + +/***/ }), + +/***/ "./src/Typesense/Errors/TypesenseError.ts": +/*!************************************************!*\ + !*** ./src/Typesense/Errors/TypesenseError.ts ***! + \************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ TypesenseError) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"); +/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); +/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ "./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js"); +/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js"); +/* harmony import */ var _babel_runtime_helpers_wrapNativeSuper__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/wrapNativeSuper */ "./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js"); + + + + + + + +function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(t).constructor) : o.apply(t, e)); } +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } +var TypesenseError = /*#__PURE__*/function (_Error) { + (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__["default"])(TypesenseError, _Error); + // Source: https://stackoverflow.com/a/58417721/123545 + function TypesenseError(message) { + var _this; + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, TypesenseError); + _this = _callSuper(this, TypesenseError, [message]); + _this.name = (this instanceof TypesenseError ? this.constructor : void 0).name; + Object.setPrototypeOf((0,_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4__["default"])(_this), (this instanceof TypesenseError ? this.constructor : void 0).prototype); + return _this; + } + return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__["default"])(TypesenseError); +}( /*#__PURE__*/(0,_babel_runtime_helpers_wrapNativeSuper__WEBPACK_IMPORTED_MODULE_6__["default"])(Error)); + + +/***/ }), + +/***/ "./src/Typesense/Errors/index.ts": +/*!***************************************!*\ + !*** ./src/Typesense/Errors/index.ts ***! + \***************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ HTTPError: () => (/* reexport safe */ _HTTPError__WEBPACK_IMPORTED_MODULE_0__["default"]), +/* harmony export */ ImportError: () => (/* reexport safe */ _ImportError__WEBPACK_IMPORTED_MODULE_8__["default"]), +/* harmony export */ MissingConfigurationError: () => (/* reexport safe */ _MissingConfigurationError__WEBPACK_IMPORTED_MODULE_1__["default"]), +/* harmony export */ ObjectAlreadyExists: () => (/* reexport safe */ _ObjectAlreadyExists__WEBPACK_IMPORTED_MODULE_2__["default"]), +/* harmony export */ ObjectNotFound: () => (/* reexport safe */ _ObjectNotFound__WEBPACK_IMPORTED_MODULE_3__["default"]), +/* harmony export */ ObjectUnprocessable: () => (/* reexport safe */ _ObjectUnprocessable__WEBPACK_IMPORTED_MODULE_4__["default"]), +/* harmony export */ RequestMalformed: () => (/* reexport safe */ _RequestMalformed__WEBPACK_IMPORTED_MODULE_5__["default"]), +/* harmony export */ RequestUnauthorized: () => (/* reexport safe */ _RequestUnauthorized__WEBPACK_IMPORTED_MODULE_6__["default"]), +/* harmony export */ ServerError: () => (/* reexport safe */ _ServerError__WEBPACK_IMPORTED_MODULE_7__["default"]), +/* harmony export */ TypesenseError: () => (/* reexport safe */ _TypesenseError__WEBPACK_IMPORTED_MODULE_9__["default"]) +/* harmony export */ }); +/* harmony import */ var _HTTPError__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./HTTPError */ "./src/Typesense/Errors/HTTPError.ts"); +/* harmony import */ var _MissingConfigurationError__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./MissingConfigurationError */ "./src/Typesense/Errors/MissingConfigurationError.ts"); +/* harmony import */ var _ObjectAlreadyExists__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ObjectAlreadyExists */ "./src/Typesense/Errors/ObjectAlreadyExists.ts"); +/* harmony import */ var _ObjectNotFound__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ObjectNotFound */ "./src/Typesense/Errors/ObjectNotFound.ts"); +/* harmony import */ var _ObjectUnprocessable__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ObjectUnprocessable */ "./src/Typesense/Errors/ObjectUnprocessable.ts"); +/* harmony import */ var _RequestMalformed__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./RequestMalformed */ "./src/Typesense/Errors/RequestMalformed.ts"); +/* harmony import */ var _RequestUnauthorized__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./RequestUnauthorized */ "./src/Typesense/Errors/RequestUnauthorized.ts"); +/* harmony import */ var _ServerError__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./ServerError */ "./src/Typesense/Errors/ServerError.ts"); +/* harmony import */ var _ImportError__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./ImportError */ "./src/Typesense/Errors/ImportError.ts"); +/* harmony import */ var _TypesenseError__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./TypesenseError */ "./src/Typesense/Errors/TypesenseError.ts"); + + + + + + + + + + + + +/***/ }), + +/***/ "./src/Typesense/Health.ts": +/*!*********************************!*\ + !*** ./src/Typesense/Health.ts ***! + \*********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ Health) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); + + + + +var RESOURCEPATH = "/health"; +var Health = /*#__PURE__*/function () { + function Health(apiCall) { + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Health); + this.apiCall = apiCall; + } + (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Health, [{ + key: "retrieve", + value: function () { + var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + return _context.abrupt("return", this.apiCall.get(RESOURCEPATH)); + case 1: + case "end": + return _context.stop(); + } + }, _callee, this); + })); + function retrieve() { + return _retrieve.apply(this, arguments); + } + return retrieve; + }() + }]); + return Health; +}(); + + +/***/ }), + +/***/ "./src/Typesense/Key.ts": +/*!******************************!*\ + !*** ./src/Typesense/Key.ts ***! + \******************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ Key) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _Keys__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Keys */ "./src/Typesense/Keys.ts"); + + + + + +var Key = /*#__PURE__*/function () { + function Key(id, apiCall) { + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Key); + this.id = id; + this.apiCall = apiCall; + } + (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Key, [{ + key: "retrieve", + value: function () { + var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + return _context.abrupt("return", this.apiCall.get(this.endpointPath())); + case 1: + case "end": + return _context.stop(); + } + }, _callee, this); + })); + function retrieve() { + return _retrieve.apply(this, arguments); + } + return retrieve; + }() + }, { + key: "delete", + value: function () { + var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { + while (1) switch (_context2.prev = _context2.next) { + case 0: + return _context2.abrupt("return", this.apiCall.delete(this.endpointPath())); + case 1: + case "end": + return _context2.stop(); + } + }, _callee2, this); + })); + function _delete() { + return _delete2.apply(this, arguments); + } + return _delete; + }() + }, { + key: "endpointPath", + value: function endpointPath() { + return "".concat(_Keys__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.id)); + } + }]); + return Key; +}(); + + +/***/ }), + +/***/ "./src/Typesense/Keys.ts": +/*!*******************************!*\ + !*** ./src/Typesense/Keys.ts ***! + \*******************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ Keys) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var crypto__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! crypto */ "?4bf0"); +/* harmony import */ var crypto__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(crypto__WEBPACK_IMPORTED_MODULE_4__); + + + + + +var RESOURCEPATH = "/keys"; +var Keys = /*#__PURE__*/function () { + function Keys(apiCall) { + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Keys); + this.apiCall = apiCall; + this.apiCall = apiCall; + } + (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Keys, [{ + key: "create", + value: function () { + var _create = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(params) { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + return _context.abrupt("return", this.apiCall.post(Keys.RESOURCEPATH, params)); + case 1: + case "end": + return _context.stop(); + } + }, _callee, this); + })); + function create(_x) { + return _create.apply(this, arguments); + } + return create; + }() + }, { + key: "retrieve", + value: function () { + var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { + while (1) switch (_context2.prev = _context2.next) { + case 0: + return _context2.abrupt("return", this.apiCall.get(RESOURCEPATH)); + case 1: + case "end": + return _context2.stop(); + } + }, _callee2, this); + })); + function retrieve() { + return _retrieve.apply(this, arguments); + } + return retrieve; + }() + }, { + key: "generateScopedSearchKey", + value: function generateScopedSearchKey(searchKey, parameters) { + // Note: only a key generated with the `documents:search` action will be + // accepted by the server, when usined with the search endpoint. + var paramsJSON = JSON.stringify(parameters); + var digest = Buffer.from((0,crypto__WEBPACK_IMPORTED_MODULE_4__.createHmac)("sha256", searchKey).update(paramsJSON).digest("base64")); + var keyPrefix = searchKey.substr(0, 4); + var rawScopedKey = "".concat(digest).concat(keyPrefix).concat(paramsJSON); + return Buffer.from(rawScopedKey).toString("base64"); + } + }], [{ + key: "RESOURCEPATH", + get: function get() { + return RESOURCEPATH; + } + }]); + return Keys; +}(); + + +/***/ }), + +/***/ "./src/Typesense/Metrics.ts": +/*!**********************************!*\ + !*** ./src/Typesense/Metrics.ts ***! + \**********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ Metrics) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); + + + + +var RESOURCEPATH = "/metrics.json"; +var Metrics = /*#__PURE__*/function () { + function Metrics(apiCall) { + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Metrics); + this.apiCall = apiCall; + } + (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Metrics, [{ + key: "retrieve", + value: function () { + var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + return _context.abrupt("return", this.apiCall.get(RESOURCEPATH)); + case 1: + case "end": + return _context.stop(); + } + }, _callee, this); + })); + function retrieve() { + return _retrieve.apply(this, arguments); + } + return retrieve; + }() + }]); + return Metrics; +}(); + + +/***/ }), + +/***/ "./src/Typesense/MultiSearch.ts": +/*!**************************************!*\ + !*** ./src/Typesense/MultiSearch.ts ***! + \**************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ MultiSearch) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _RequestWithCache__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./RequestWithCache */ "./src/Typesense/RequestWithCache.ts"); + + + + + +var RESOURCEPATH = "/multi_search"; +var MultiSearch = /*#__PURE__*/function () { + function MultiSearch(apiCall, configuration) { + var useTextContentType = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, MultiSearch); + this.apiCall = apiCall; + this.configuration = configuration; + this.useTextContentType = useTextContentType; + this.requestWithCache = new _RequestWithCache__WEBPACK_IMPORTED_MODULE_4__["default"](); + } + (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(MultiSearch, [{ + key: "clearCache", + value: function clearCache() { + this.requestWithCache.clearCache(); + } + }, { + key: "perform", + value: function () { + var _perform = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(searchRequests) { + var commonParams, + _ref, + _ref$cacheSearchResul, + cacheSearchResultsForSeconds, + additionalHeaders, + additionalQueryParams, + queryParams, + _args = arguments; + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + commonParams = _args.length > 1 && _args[1] !== undefined ? _args[1] : {}; + _ref = _args.length > 2 && _args[2] !== undefined ? _args[2] : {}, _ref$cacheSearchResul = _ref.cacheSearchResultsForSeconds, cacheSearchResultsForSeconds = _ref$cacheSearchResul === void 0 ? this.configuration.cacheSearchResultsForSeconds : _ref$cacheSearchResul; + additionalHeaders = {}; + if (this.useTextContentType) { + additionalHeaders["content-type"] = "text/plain"; + } + additionalQueryParams = {}; + if (this.configuration.useServerSideSearchCache === true) { + additionalQueryParams["use_cache"] = true; + } + queryParams = Object.assign({}, commonParams, additionalQueryParams); + return _context.abrupt("return", this.requestWithCache.perform(this.apiCall, this.apiCall.post, [RESOURCEPATH, searchRequests, queryParams, additionalHeaders], { + cacheResponseForSeconds: cacheSearchResultsForSeconds + })); + case 8: + case "end": + return _context.stop(); + } + }, _callee, this); + })); + function perform(_x) { + return _perform.apply(this, arguments); + } + return perform; + }() + }]); + return MultiSearch; +}(); + + +/***/ }), + +/***/ "./src/Typesense/Operations.ts": +/*!*************************************!*\ + !*** ./src/Typesense/Operations.ts ***! + \*************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ Operations) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); + + + + +var RESOURCEPATH = "/operations"; +var Operations = /*#__PURE__*/function () { + function Operations(apiCall) { + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Operations); + this.apiCall = apiCall; + } + (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Operations, [{ + key: "perform", + value: function () { + var _perform = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(operationName) { + var queryParameters, + _args = arguments; + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + queryParameters = _args.length > 1 && _args[1] !== undefined ? _args[1] : {}; + return _context.abrupt("return", this.apiCall.post("".concat(RESOURCEPATH, "/").concat(operationName), {}, queryParameters)); + case 2: + case "end": + return _context.stop(); + } + }, _callee, this); + })); + function perform(_x) { + return _perform.apply(this, arguments); + } + return perform; + }() + }]); + return Operations; +}(); + + +/***/ }), + +/***/ "./src/Typesense/Override.ts": +/*!***********************************!*\ + !*** ./src/Typesense/Override.ts ***! + \***********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ Override) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _Collections__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Collections */ "./src/Typesense/Collections.ts"); +/* harmony import */ var _Overrides__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Overrides */ "./src/Typesense/Overrides.ts"); + + + + + + +var Override = /*#__PURE__*/function () { + function Override(collectionName, overrideId, apiCall) { + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Override); + this.collectionName = collectionName; + this.overrideId = overrideId; + this.apiCall = apiCall; + } + (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Override, [{ + key: "retrieve", + value: function () { + var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + return _context.abrupt("return", this.apiCall.get(this.endpointPath())); + case 1: + case "end": + return _context.stop(); + } + }, _callee, this); + })); + function retrieve() { + return _retrieve.apply(this, arguments); + } + return retrieve; + }() + }, { + key: "delete", + value: function () { + var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { + while (1) switch (_context2.prev = _context2.next) { + case 0: + return _context2.abrupt("return", this.apiCall.delete(this.endpointPath())); + case 1: + case "end": + return _context2.stop(); + } + }, _callee2, this); + })); + function _delete() { + return _delete2.apply(this, arguments); + } + return _delete; + }() + }, { + key: "endpointPath", + value: function endpointPath() { + return "".concat(_Collections__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.collectionName)).concat(_Overrides__WEBPACK_IMPORTED_MODULE_5__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.overrideId)); + } + }]); + return Override; +}(); + + +/***/ }), + +/***/ "./src/Typesense/Overrides.ts": +/*!************************************!*\ + !*** ./src/Typesense/Overrides.ts ***! + \************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ Overrides) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _Collections__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Collections */ "./src/Typesense/Collections.ts"); + + + + + +var RESOURCEPATH = "/overrides"; +var Overrides = /*#__PURE__*/function () { + function Overrides(collectionName, apiCall) { + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Overrides); + this.collectionName = collectionName; + this.apiCall = apiCall; + } + (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Overrides, [{ + key: "upsert", + value: function () { + var _upsert = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(overrideId, params) { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + return _context.abrupt("return", this.apiCall.put(this.endpointPath(overrideId), params)); + case 1: + case "end": + return _context.stop(); + } + }, _callee, this); + })); + function upsert(_x, _x2) { + return _upsert.apply(this, arguments); + } + return upsert; + }() + }, { + key: "retrieve", + value: function () { + var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { + while (1) switch (_context2.prev = _context2.next) { + case 0: + return _context2.abrupt("return", this.apiCall.get(this.endpointPath())); + case 1: + case "end": + return _context2.stop(); + } + }, _callee2, this); + })); + function retrieve() { + return _retrieve.apply(this, arguments); + } + return retrieve; + }() + }, { + key: "endpointPath", + value: function endpointPath(operation) { + return "".concat(_Collections__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(this.collectionName).concat(Overrides.RESOURCEPATH).concat(operation === undefined ? "" : "/" + encodeURIComponent(operation)); + } + }], [{ + key: "RESOURCEPATH", + get: function get() { + return RESOURCEPATH; + } + }]); + return Overrides; +}(); + + +/***/ }), + +/***/ "./src/Typesense/Preset.ts": +/*!*********************************!*\ + !*** ./src/Typesense/Preset.ts ***! + \*********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ Preset) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _Presets__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Presets */ "./src/Typesense/Presets.ts"); + + + + + +var Preset = /*#__PURE__*/function () { + function Preset(presetId, apiCall) { + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Preset); + this.presetId = presetId; + this.apiCall = apiCall; + } + (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Preset, [{ + key: "retrieve", + value: function () { + var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + return _context.abrupt("return", this.apiCall.get(this.endpointPath())); + case 1: + case "end": + return _context.stop(); + } + }, _callee, this); + })); + function retrieve() { + return _retrieve.apply(this, arguments); + } + return retrieve; + }() + }, { + key: "delete", + value: function () { + var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { + while (1) switch (_context2.prev = _context2.next) { + case 0: + return _context2.abrupt("return", this.apiCall.delete(this.endpointPath())); + case 1: + case "end": + return _context2.stop(); + } + }, _callee2, this); + })); + function _delete() { + return _delete2.apply(this, arguments); + } + return _delete; + }() + }, { + key: "endpointPath", + value: function endpointPath() { + return "".concat(_Presets__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.presetId)); + } + }]); + return Preset; +}(); + + +/***/ }), + +/***/ "./src/Typesense/Presets.ts": +/*!**********************************!*\ + !*** ./src/Typesense/Presets.ts ***! + \**********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ Presets) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); + + + + +var RESOURCEPATH = "/presets"; +var Presets = /*#__PURE__*/function () { + function Presets(apiCall) { + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Presets); + this.apiCall = apiCall; + } + (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Presets, [{ + key: "upsert", + value: function () { + var _upsert = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(presetId, params) { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + return _context.abrupt("return", this.apiCall.put(this.endpointPath(presetId), params)); + case 1: + case "end": + return _context.stop(); + } + }, _callee, this); + })); + function upsert(_x, _x2) { + return _upsert.apply(this, arguments); + } + return upsert; + }() + }, { + key: "retrieve", + value: function () { + var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { + while (1) switch (_context2.prev = _context2.next) { + case 0: + return _context2.abrupt("return", this.apiCall.get(this.endpointPath())); + case 1: + case "end": + return _context2.stop(); + } + }, _callee2, this); + })); + function retrieve() { + return _retrieve.apply(this, arguments); + } + return retrieve; + }() + }, { + key: "endpointPath", + value: function endpointPath(operation) { + return "".concat(Presets.RESOURCEPATH).concat(operation === undefined ? "" : "/" + encodeURIComponent(operation)); + } + }], [{ + key: "RESOURCEPATH", + get: function get() { + return RESOURCEPATH; + } + }]); + return Presets; +}(); + + +/***/ }), + +/***/ "./src/Typesense/RequestWithCache.ts": +/*!*******************************************!*\ + !*** ./src/Typesense/RequestWithCache.ts ***! + \*******************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ RequestWithCache) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js"); +/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_5__); + + + + + + +var defaultCacheResponseForSeconds = 2 * 60; +var defaultMaxSize = 100; +var RequestWithCache = /*#__PURE__*/function () { + function RequestWithCache() { + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__["default"])(this, RequestWithCache); + (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_4__["default"])(this, "responseCache", new Map()); + (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_4__["default"])(this, "responsePromiseCache", new Map()); + } + (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__["default"])(RequestWithCache, [{ + key: "clearCache", + value: function clearCache() { + this.responseCache = new Map(); + this.responsePromiseCache = new Map(); + } + + // Todo: should probably be passed a callback instead, or an apiCall instance. Types are messy this way + }, { + key: "perform", + value: function () { + var _perform = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_5___default().mark(function _callee(requestContext, requestFunction, requestFunctionArguments, cacheOptions) { + var _cacheOptions$cacheRe, cacheResponseForSeconds, _cacheOptions$maxSize, maxSize, isCacheDisabled, requestFunctionArgumentsJSON, cacheEntry, now, isEntryValid, cachePromiseEntry, _isEntryValid, responsePromise, response, isCacheOverMaxSize, oldestEntry, isResponsePromiseCacheOverMaxSize, _oldestEntry; + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_5___default().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + _cacheOptions$cacheRe = cacheOptions.cacheResponseForSeconds, cacheResponseForSeconds = _cacheOptions$cacheRe === void 0 ? defaultCacheResponseForSeconds : _cacheOptions$cacheRe, _cacheOptions$maxSize = cacheOptions.maxSize, maxSize = _cacheOptions$maxSize === void 0 ? defaultMaxSize : _cacheOptions$maxSize; + isCacheDisabled = cacheResponseForSeconds <= 0 || maxSize <= 0; + if (!isCacheDisabled) { + _context.next = 4; + break; + } + return _context.abrupt("return", requestFunction.call.apply(requestFunction, [requestContext].concat((0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__["default"])(requestFunctionArguments)))); + case 4: + requestFunctionArgumentsJSON = JSON.stringify(requestFunctionArguments); + cacheEntry = this.responseCache.get(requestFunctionArgumentsJSON); + now = Date.now(); + if (!cacheEntry) { + _context.next = 16; + break; + } + isEntryValid = now - cacheEntry.requestTimestamp < cacheResponseForSeconds * 1000; + if (!isEntryValid) { + _context.next = 15; + break; + } + this.responseCache.delete(requestFunctionArgumentsJSON); + this.responseCache.set(requestFunctionArgumentsJSON, cacheEntry); + return _context.abrupt("return", Promise.resolve(cacheEntry.response)); + case 15: + this.responseCache.delete(requestFunctionArgumentsJSON); + case 16: + cachePromiseEntry = this.responsePromiseCache.get(requestFunctionArgumentsJSON); + if (!cachePromiseEntry) { + _context.next = 26; + break; + } + _isEntryValid = now - cachePromiseEntry.requestTimestamp < cacheResponseForSeconds * 1000; + if (!_isEntryValid) { + _context.next = 25; + break; + } + this.responsePromiseCache.delete(requestFunctionArgumentsJSON); + this.responsePromiseCache.set(requestFunctionArgumentsJSON, cachePromiseEntry); + return _context.abrupt("return", cachePromiseEntry.responsePromise); + case 25: + this.responsePromiseCache.delete(requestFunctionArgumentsJSON); + case 26: + responsePromise = requestFunction.call.apply(requestFunction, [requestContext].concat((0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__["default"])(requestFunctionArguments))); + this.responsePromiseCache.set(requestFunctionArgumentsJSON, { + requestTimestamp: now, + responsePromise: responsePromise + }); + _context.next = 30; + return responsePromise; + case 30: + response = _context.sent; + this.responseCache.set(requestFunctionArgumentsJSON, { + requestTimestamp: now, + response: response + }); + isCacheOverMaxSize = this.responseCache.size > maxSize; + if (isCacheOverMaxSize) { + oldestEntry = this.responseCache.keys().next().value; + this.responseCache.delete(oldestEntry); + } + isResponsePromiseCacheOverMaxSize = this.responsePromiseCache.size > maxSize; + if (isResponsePromiseCacheOverMaxSize) { + _oldestEntry = this.responsePromiseCache.keys().next().value; + this.responsePromiseCache.delete(_oldestEntry); + } + return _context.abrupt("return", response); + case 37: + case "end": + return _context.stop(); + } + }, _callee, this); + })); + function perform(_x, _x2, _x3, _x4) { + return _perform.apply(this, arguments); + } + return perform; + }() + }]); + return RequestWithCache; +}(); + + +/***/ }), + +/***/ "./src/Typesense/SearchClient.ts": +/*!***************************************!*\ + !*** ./src/Typesense/SearchClient.ts ***! + \***************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ SearchClient) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "./node_modules/@babel/runtime/helpers/esm/slicedToArray.js"); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _Configuration__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Configuration */ "./src/Typesense/Configuration.ts"); +/* harmony import */ var _ApiCall__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ApiCall */ "./src/Typesense/ApiCall.ts"); +/* harmony import */ var _MultiSearch__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./MultiSearch */ "./src/Typesense/MultiSearch.ts"); +/* harmony import */ var _SearchOnlyCollection__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./SearchOnlyCollection */ "./src/Typesense/SearchOnlyCollection.ts"); + + + + + + + +var SearchClient = /*#__PURE__*/function () { + function SearchClient(options) { + var _options$sendApiKeyAs; + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, SearchClient); + options.sendApiKeyAsQueryParam = (_options$sendApiKeyAs = options.sendApiKeyAsQueryParam) !== null && _options$sendApiKeyAs !== void 0 ? _options$sendApiKeyAs : true; + if (options.sendApiKeyAsQueryParam === true && (options.apiKey || "").length > 2000) { + console.warn("[typesense] API Key is longer than 2000 characters which is over the allowed limit, so disabling sending it as a query parameter."); + options.sendApiKeyAsQueryParam = false; + } + this.configuration = new _Configuration__WEBPACK_IMPORTED_MODULE_3__["default"](options); + this.apiCall = new _ApiCall__WEBPACK_IMPORTED_MODULE_4__["default"](this.configuration); + this.multiSearch = new _MultiSearch__WEBPACK_IMPORTED_MODULE_5__["default"](this.apiCall, this.configuration, true); + this.individualCollections = {}; + } + (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(SearchClient, [{ + key: "clearCache", + value: function clearCache() { + this.multiSearch.clearCache(); + + // eslint-disable-next-line @typescript-eslint/no-unused-vars + Object.entries(this.individualCollections).forEach(function (_ref) { + var _ref2 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__["default"])(_ref, 2), + _ = _ref2[0], + collection = _ref2[1]; + collection.documents().clearCache(); + }); + } + }, { + key: "collections", + value: function collections(collectionName) { + if (!collectionName) { + 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."); + } else { + if (this.individualCollections[collectionName] === undefined) { + this.individualCollections[collectionName] = new _SearchOnlyCollection__WEBPACK_IMPORTED_MODULE_6__.SearchOnlyCollection(collectionName, this.apiCall, this.configuration); + } + return this.individualCollections[collectionName]; + } + } + }]); + return SearchClient; +}(); + + +/***/ }), + +/***/ "./src/Typesense/SearchOnlyCollection.ts": +/*!***********************************************!*\ + !*** ./src/Typesense/SearchOnlyCollection.ts ***! + \***********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ SearchOnlyCollection: () => (/* binding */ SearchOnlyCollection) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _SearchOnlyDocuments__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./SearchOnlyDocuments */ "./src/Typesense/SearchOnlyDocuments.ts"); + + + +var SearchOnlyCollection = /*#__PURE__*/function () { + function SearchOnlyCollection(name, apiCall, configuration) { + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__["default"])(this, SearchOnlyCollection); + this.name = name; + this.apiCall = apiCall; + this.configuration = configuration; + this._documents = new _SearchOnlyDocuments__WEBPACK_IMPORTED_MODULE_2__.SearchOnlyDocuments(this.name, this.apiCall, this.configuration); + } + (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__["default"])(SearchOnlyCollection, [{ + key: "documents", + value: function documents() { + return this._documents; + } + }]); + return SearchOnlyCollection; +}(); + +/***/ }), + +/***/ "./src/Typesense/SearchOnlyDocuments.ts": +/*!**********************************************!*\ + !*** ./src/Typesense/SearchOnlyDocuments.ts ***! + \**********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ SearchOnlyDocuments: () => (/* binding */ SearchOnlyDocuments) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _RequestWithCache__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./RequestWithCache */ "./src/Typesense/RequestWithCache.ts"); +/* harmony import */ var _Collections__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Collections */ "./src/Typesense/Collections.ts"); + + + + + + + +var RESOURCEPATH = "/documents"; +var SearchOnlyDocuments = /*#__PURE__*/function () { + function SearchOnlyDocuments(collectionName, apiCall, configuration) { + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, SearchOnlyDocuments); + (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_3__["default"])(this, "requestWithCache", new _RequestWithCache__WEBPACK_IMPORTED_MODULE_5__["default"]()); + this.collectionName = collectionName; + this.apiCall = apiCall; + this.configuration = configuration; + } + (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(SearchOnlyDocuments, [{ + key: "clearCache", + value: function clearCache() { + this.requestWithCache.clearCache(); + } + }, { + key: "search", + value: function () { + var _search = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee(searchParameters) { + var _ref, + _ref$cacheSearchResul, + cacheSearchResultsForSeconds, + _ref$abortSignal, + abortSignal, + additionalQueryParams, + key, + queryParams, + _args = arguments; + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + _ref = _args.length > 1 && _args[1] !== undefined ? _args[1] : {}, _ref$cacheSearchResul = _ref.cacheSearchResultsForSeconds, cacheSearchResultsForSeconds = _ref$cacheSearchResul === void 0 ? this.configuration.cacheSearchResultsForSeconds : _ref$cacheSearchResul, _ref$abortSignal = _ref.abortSignal, abortSignal = _ref$abortSignal === void 0 ? null : _ref$abortSignal; + additionalQueryParams = {}; + if (this.configuration.useServerSideSearchCache === true) { + additionalQueryParams["use_cache"] = true; + } + for (key in searchParameters) { + if (Array.isArray(searchParameters[key])) { + additionalQueryParams[key] = searchParameters[key].join(","); + } + } + queryParams = Object.assign({}, searchParameters, additionalQueryParams); + return _context.abrupt("return", this.requestWithCache.perform(this.apiCall, this.apiCall.get, [this.endpointPath("search"), queryParams, { + abortSignal: abortSignal + }], { + cacheResponseForSeconds: cacheSearchResultsForSeconds + })); + case 6: + case "end": + return _context.stop(); + } + }, _callee, this); + })); + function search(_x) { + return _search.apply(this, arguments); + } + return search; + }() + }, { + key: "endpointPath", + value: function endpointPath(operation) { + return "".concat(_Collections__WEBPACK_IMPORTED_MODULE_6__["default"].RESOURCEPATH, "/").concat(this.collectionName).concat(RESOURCEPATH).concat(operation === undefined ? "" : "/" + operation); + } + }], [{ + key: "RESOURCEPATH", + get: function get() { + return RESOURCEPATH; + } + }]); + return SearchOnlyDocuments; +}(); + +/***/ }), + +/***/ "./src/Typesense/Stats.ts": +/*!********************************!*\ + !*** ./src/Typesense/Stats.ts ***! + \********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ Metrics) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); + + + + +var RESOURCEPATH = "/stats.json"; +var Metrics = /*#__PURE__*/function () { + function Metrics(apiCall) { + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Metrics); + this.apiCall = apiCall; + } + (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Metrics, [{ + key: "retrieve", + value: function () { + var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + return _context.abrupt("return", this.apiCall.get(RESOURCEPATH)); + case 1: + case "end": + return _context.stop(); + } + }, _callee, this); + })); + function retrieve() { + return _retrieve.apply(this, arguments); + } + return retrieve; + }() + }]); + return Metrics; +}(); + + +/***/ }), + +/***/ "./src/Typesense/Stopword.ts": +/*!***********************************!*\ + !*** ./src/Typesense/Stopword.ts ***! + \***********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ Stopword) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _Stopwords__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Stopwords */ "./src/Typesense/Stopwords.ts"); + + + + + +var Stopword = /*#__PURE__*/function () { + function Stopword(stopwordId, apiCall) { + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Stopword); + this.stopwordId = stopwordId; + this.apiCall = apiCall; + } + (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Stopword, [{ + key: "retrieve", + value: function () { + var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + return _context.abrupt("return", this.apiCall.get(this.endpointPath())); + case 1: + case "end": + return _context.stop(); + } + }, _callee, this); + })); + function retrieve() { + return _retrieve.apply(this, arguments); + } + return retrieve; + }() + }, { + key: "delete", + value: function () { + var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { + while (1) switch (_context2.prev = _context2.next) { + case 0: + return _context2.abrupt("return", this.apiCall.delete(this.endpointPath())); + case 1: + case "end": + return _context2.stop(); + } + }, _callee2, this); + })); + function _delete() { + return _delete2.apply(this, arguments); + } + return _delete; + }() + }, { + key: "endpointPath", + value: function endpointPath() { + return "".concat(_Stopwords__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.stopwordId)); + } + }]); + return Stopword; +}(); + + +/***/ }), + +/***/ "./src/Typesense/Stopwords.ts": +/*!************************************!*\ + !*** ./src/Typesense/Stopwords.ts ***! + \************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ Stopwords) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); + + + + +var RESOURCEPATH = "/stopwords"; +var Stopwords = /*#__PURE__*/function () { + function Stopwords(apiCall) { + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Stopwords); + this.apiCall = apiCall; + } + (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Stopwords, [{ + key: "upsert", + value: function () { + var _upsert = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(stopwordId, params) { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + return _context.abrupt("return", this.apiCall.put(this.endpointPath(stopwordId), params)); + case 1: + case "end": + return _context.stop(); + } + }, _callee, this); + })); + function upsert(_x, _x2) { + return _upsert.apply(this, arguments); + } + return upsert; + }() + }, { + key: "retrieve", + value: function () { + var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { + while (1) switch (_context2.prev = _context2.next) { + case 0: + return _context2.abrupt("return", this.apiCall.get(this.endpointPath())); + case 1: + case "end": + return _context2.stop(); + } + }, _callee2, this); + })); + function retrieve() { + return _retrieve.apply(this, arguments); + } + return retrieve; + }() + }, { + key: "endpointPath", + value: function endpointPath(operation) { + return "".concat(Stopwords.RESOURCEPATH).concat(operation === undefined ? "" : "/" + encodeURIComponent(operation)); + } + }], [{ + key: "RESOURCEPATH", + get: function get() { + return RESOURCEPATH; + } + }]); + return Stopwords; +}(); + + +/***/ }), + +/***/ "./src/Typesense/Synonym.ts": +/*!**********************************!*\ + !*** ./src/Typesense/Synonym.ts ***! + \**********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ Synonym) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _Collections__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Collections */ "./src/Typesense/Collections.ts"); +/* harmony import */ var _Synonyms__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Synonyms */ "./src/Typesense/Synonyms.ts"); + + + + + + +var Synonym = /*#__PURE__*/function () { + function Synonym(collectionName, synonymId, apiCall) { + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Synonym); + this.collectionName = collectionName; + this.synonymId = synonymId; + this.apiCall = apiCall; + } + (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Synonym, [{ + key: "retrieve", + value: function () { + var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + return _context.abrupt("return", this.apiCall.get(this.endpointPath())); + case 1: + case "end": + return _context.stop(); + } + }, _callee, this); + })); + function retrieve() { + return _retrieve.apply(this, arguments); + } + return retrieve; + }() + }, { + key: "delete", + value: function () { + var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { + while (1) switch (_context2.prev = _context2.next) { + case 0: + return _context2.abrupt("return", this.apiCall.delete(this.endpointPath())); + case 1: + case "end": + return _context2.stop(); + } + }, _callee2, this); + })); + function _delete() { + return _delete2.apply(this, arguments); + } + return _delete; + }() + }, { + key: "endpointPath", + value: function endpointPath() { + return "".concat(_Collections__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.collectionName)).concat(_Synonyms__WEBPACK_IMPORTED_MODULE_5__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.synonymId)); + } + }]); + return Synonym; +}(); + + +/***/ }), + +/***/ "./src/Typesense/Synonyms.ts": +/*!***********************************!*\ + !*** ./src/Typesense/Synonyms.ts ***! + \***********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ Synonyms) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); +/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _Collections__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Collections */ "./src/Typesense/Collections.ts"); + + + + + +var RESOURCEPATH = "/synonyms"; +var Synonyms = /*#__PURE__*/function () { + function Synonyms(collectionName, apiCall) { + (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Synonyms); + this.collectionName = collectionName; + this.apiCall = apiCall; + } + (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Synonyms, [{ + key: "upsert", + value: function () { + var _upsert = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(synonymId, params) { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + return _context.abrupt("return", this.apiCall.put(this.endpointPath(synonymId), params)); + case 1: + case "end": + return _context.stop(); + } + }, _callee, this); + })); + function upsert(_x, _x2) { + return _upsert.apply(this, arguments); + } + return upsert; + }() + }, { + key: "retrieve", + value: function () { + var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { + while (1) switch (_context2.prev = _context2.next) { + case 0: + return _context2.abrupt("return", this.apiCall.get(this.endpointPath())); + case 1: + case "end": + return _context2.stop(); + } + }, _callee2, this); + })); + function retrieve() { + return _retrieve.apply(this, arguments); + } + return retrieve; + }() + }, { + key: "endpointPath", + value: function endpointPath(operation) { + return "".concat(_Collections__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.collectionName)).concat(Synonyms.RESOURCEPATH).concat(operation === undefined ? "" : "/" + encodeURIComponent(operation)); + } + }], [{ + key: "RESOURCEPATH", + get: function get() { + return RESOURCEPATH; + } + }]); + return Synonyms; +}(); + + +/***/ }), + +/***/ "./node_modules/loglevel/lib/loglevel.js": +/*!***********************************************!*\ + !*** ./node_modules/loglevel/lib/loglevel.js ***! + \***********************************************/ +/***/ (function(module, exports, __webpack_require__) { + +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/* +* loglevel - https://github.com/pimterry/loglevel +* +* Copyright (c) 2013 Tim Perry +* Licensed under the MIT license. +*/ +(function (root, definition) { + "use strict"; + if (true) { + !(__WEBPACK_AMD_DEFINE_FACTORY__ = (definition), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) : + __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); + } else {} +}(this, function () { + "use strict"; + + // Slightly dubious tricks to cut down minimized file size + var noop = function() {}; + var undefinedType = "undefined"; + var isIE = (typeof window !== undefinedType) && (typeof window.navigator !== undefinedType) && ( + /Trident\/|MSIE /.test(window.navigator.userAgent) + ); + + var logMethods = [ + "trace", + "debug", + "info", + "warn", + "error" + ]; + + var _loggersByName = {}; + var defaultLogger = null; + + // Cross-browser bind equivalent that works at least back to IE6 + function bindMethod(obj, methodName) { + var method = obj[methodName]; + if (typeof method.bind === 'function') { + return method.bind(obj); + } else { + try { + return Function.prototype.bind.call(method, obj); + } catch (e) { + // Missing bind shim or IE8 + Modernizr, fallback to wrapping + return function() { + return Function.prototype.apply.apply(method, [obj, arguments]); + }; + } + } + } + + // Trace() doesn't print the message in IE, so for that case we need to wrap it + function traceForIE() { + if (console.log) { + if (console.log.apply) { + console.log.apply(console, arguments); + } else { + // In old IE, native console methods themselves don't have apply(). + Function.prototype.apply.apply(console.log, [console, arguments]); + } + } + if (console.trace) console.trace(); + } + + // Build the best logging method possible for this env + // Wherever possible we want to bind, not wrap, to preserve stack traces + function realMethod(methodName) { + if (methodName === 'debug') { + methodName = 'log'; + } + + if (typeof console === undefinedType) { + return false; // No method possible, for now - fixed later by enableLoggingWhenConsoleArrives + } else if (methodName === 'trace' && isIE) { + return traceForIE; + } else if (console[methodName] !== undefined) { + return bindMethod(console, methodName); + } else if (console.log !== undefined) { + return bindMethod(console, 'log'); + } else { + return noop; + } + } + + // These private functions always need `this` to be set properly + + function replaceLoggingMethods() { + /*jshint validthis:true */ + var level = this.getLevel(); + + // Replace the actual methods. + for (var i = 0; i < logMethods.length; i++) { + var methodName = logMethods[i]; + this[methodName] = (i < level) ? + noop : + this.methodFactory(methodName, level, this.name); + } + + // Define log.log as an alias for log.debug + this.log = this.debug; + + // Return any important warnings. + if (typeof console === undefinedType && level < this.levels.SILENT) { + return "No console available for logging"; + } + } + + // In old IE versions, the console isn't present until you first open it. + // We build realMethod() replacements here that regenerate logging methods + function enableLoggingWhenConsoleArrives(methodName) { + return function () { + if (typeof console !== undefinedType) { + replaceLoggingMethods.call(this); + this[methodName].apply(this, arguments); + } + }; + } + + // By default, we use closely bound real methods wherever possible, and + // otherwise we wait for a console to appear, and then try again. + function defaultMethodFactory(methodName, _level, _loggerName) { + /*jshint validthis:true */ + return realMethod(methodName) || + enableLoggingWhenConsoleArrives.apply(this, arguments); + } + + function Logger(name, factory) { + // Private instance variables. + var self = this; + /** + * The level inherited from a parent logger (or a global default). We + * cache this here rather than delegating to the parent so that it stays + * in sync with the actual logging methods that we have installed (the + * parent could change levels but we might not have rebuilt the loggers + * in this child yet). + * @type {number} + */ + var inheritedLevel; + /** + * The default level for this logger, if any. If set, this overrides + * `inheritedLevel`. + * @type {number|null} + */ + var defaultLevel; + /** + * A user-specific level for this logger. If set, this overrides + * `defaultLevel`. + * @type {number|null} + */ + var userLevel; + + var storageKey = "loglevel"; + if (typeof name === "string") { + storageKey += ":" + name; + } else if (typeof name === "symbol") { + storageKey = undefined; + } + + function persistLevelIfPossible(levelNum) { + var levelName = (logMethods[levelNum] || 'silent').toUpperCase(); + + if (typeof window === undefinedType || !storageKey) return; + + // Use localStorage if available + try { + window.localStorage[storageKey] = levelName; + return; + } catch (ignore) {} + + // Use session cookie as fallback + try { + window.document.cookie = + encodeURIComponent(storageKey) + "=" + levelName + ";"; + } catch (ignore) {} + } + + function getPersistedLevel() { + var storedLevel; + + if (typeof window === undefinedType || !storageKey) return; + + try { + storedLevel = window.localStorage[storageKey]; + } catch (ignore) {} + + // Fallback to cookies if local storage gives us nothing + if (typeof storedLevel === undefinedType) { + try { + var cookie = window.document.cookie; + var cookieName = encodeURIComponent(storageKey); + var location = cookie.indexOf(cookieName + "="); + if (location !== -1) { + storedLevel = /^([^;]+)/.exec( + cookie.slice(location + cookieName.length + 1) + )[1]; + } + } catch (ignore) {} + } + + // If the stored level is not valid, treat it as if nothing was stored. + if (self.levels[storedLevel] === undefined) { + storedLevel = undefined; + } + + return storedLevel; + } + + function clearPersistedLevel() { + if (typeof window === undefinedType || !storageKey) return; + + // Use localStorage if available + try { + window.localStorage.removeItem(storageKey); + } catch (ignore) {} + + // Use session cookie as fallback + try { + window.document.cookie = + encodeURIComponent(storageKey) + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC"; + } catch (ignore) {} + } + + function normalizeLevel(input) { + var level = input; + if (typeof level === "string" && self.levels[level.toUpperCase()] !== undefined) { + level = self.levels[level.toUpperCase()]; + } + if (typeof level === "number" && level >= 0 && level <= self.levels.SILENT) { + return level; + } else { + throw new TypeError("log.setLevel() called with invalid level: " + input); + } + } + + /* + * + * Public logger API - see https://github.com/pimterry/loglevel for details + * + */ + + self.name = name; + + self.levels = { "TRACE": 0, "DEBUG": 1, "INFO": 2, "WARN": 3, + "ERROR": 4, "SILENT": 5}; + + self.methodFactory = factory || defaultMethodFactory; + + self.getLevel = function () { + if (userLevel != null) { + return userLevel; + } else if (defaultLevel != null) { + return defaultLevel; + } else { + return inheritedLevel; + } + }; + + self.setLevel = function (level, persist) { + userLevel = normalizeLevel(level); + if (persist !== false) { // defaults to true + persistLevelIfPossible(userLevel); + } + + // NOTE: in v2, this should call rebuild(), which updates children. + return replaceLoggingMethods.call(self); + }; + + self.setDefaultLevel = function (level) { + defaultLevel = normalizeLevel(level); + if (!getPersistedLevel()) { + self.setLevel(level, false); + } + }; + + self.resetLevel = function () { + userLevel = null; + clearPersistedLevel(); + replaceLoggingMethods.call(self); + }; + + self.enableAll = function(persist) { + self.setLevel(self.levels.TRACE, persist); + }; + + self.disableAll = function(persist) { + self.setLevel(self.levels.SILENT, persist); + }; + + self.rebuild = function () { + if (defaultLogger !== self) { + inheritedLevel = normalizeLevel(defaultLogger.getLevel()); + } + replaceLoggingMethods.call(self); + + if (defaultLogger === self) { + for (var childName in _loggersByName) { + _loggersByName[childName].rebuild(); + } + } + }; + + // Initialize all the internal levels. + inheritedLevel = normalizeLevel( + defaultLogger ? defaultLogger.getLevel() : "WARN" + ); + var initialLevel = getPersistedLevel(); + if (initialLevel != null) { + userLevel = normalizeLevel(initialLevel); + } + replaceLoggingMethods.call(self); + } + + /* + * + * Top-level API + * + */ + + defaultLogger = new Logger(); + + defaultLogger.getLogger = function getLogger(name) { + if ((typeof name !== "symbol" && typeof name !== "string") || name === "") { + throw new TypeError("You must supply a name when creating a logger."); + } + + var logger = _loggersByName[name]; + if (!logger) { + logger = _loggersByName[name] = new Logger( + name, + defaultLogger.methodFactory + ); + } + return logger; + }; + + // Grab the current global log variable in case of overwrite + var _log = (typeof window !== undefinedType) ? window.log : undefined; + defaultLogger.noConflict = function() { + if (typeof window !== undefinedType && + window.log === defaultLogger) { + window.log = _log; + } + + return defaultLogger; + }; + + defaultLogger.getLoggers = function getLoggers() { + return _loggersByName; + }; + + // ES6 default export, for compatibility + defaultLogger['default'] = defaultLogger; + + return defaultLogger; +})); + + +/***/ }), + +/***/ "?4bf0": +/*!************************!*\ + !*** crypto (ignored) ***! + \************************/ +/***/ (() => { + +/* (ignored) */ + +/***/ }), + +/***/ "?e89d": +/*!**********************!*\ + !*** http (ignored) ***! + \**********************/ +/***/ (() => { + +/* (ignored) */ + +/***/ }), + +/***/ "?77e4": +/*!***********************!*\ + !*** https (ignored) ***! + \***********************/ +/***/ (() => { + +/* (ignored) */ + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/regeneratorRuntime.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/regeneratorRuntime.js ***! + \*******************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +var _typeof = (__webpack_require__(/*! ./typeof.js */ "./node_modules/@babel/runtime/helpers/typeof.js")["default"]); +function _regeneratorRuntime() { + "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ + module.exports = _regeneratorRuntime = function _regeneratorRuntime() { + return e; + }, module.exports.__esModule = true, module.exports["default"] = module.exports; + var t, + e = {}, + r = Object.prototype, + n = r.hasOwnProperty, + o = Object.defineProperty || function (t, e, r) { + t[e] = r.value; + }, + i = "function" == typeof Symbol ? Symbol : {}, + a = i.iterator || "@@iterator", + c = i.asyncIterator || "@@asyncIterator", + u = i.toStringTag || "@@toStringTag"; + function define(t, e, r) { + return Object.defineProperty(t, e, { + value: r, + enumerable: !0, + configurable: !0, + writable: !0 + }), t[e]; + } + try { + define({}, ""); + } catch (t) { + define = function define(t, e, r) { + return t[e] = r; + }; + } + function wrap(t, e, r, n) { + var i = e && e.prototype instanceof Generator ? e : Generator, + a = Object.create(i.prototype), + c = new Context(n || []); + return o(a, "_invoke", { + value: makeInvokeMethod(t, r, c) + }), a; + } + function tryCatch(t, e, r) { + try { + return { + type: "normal", + arg: t.call(e, r) + }; + } catch (t) { + return { + type: "throw", + arg: t + }; + } + } + e.wrap = wrap; + var h = "suspendedStart", + l = "suspendedYield", + f = "executing", + s = "completed", + y = {}; + function Generator() {} + function GeneratorFunction() {} + function GeneratorFunctionPrototype() {} + var p = {}; + define(p, a, function () { + return this; + }); + var d = Object.getPrototypeOf, + v = d && d(d(values([]))); + v && v !== r && n.call(v, a) && (p = v); + var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); + function defineIteratorMethods(t) { + ["next", "throw", "return"].forEach(function (e) { + define(t, e, function (t) { + return this._invoke(e, t); + }); + }); + } + function AsyncIterator(t, e) { + function invoke(r, o, i, a) { + var c = tryCatch(t[r], t, o); + if ("throw" !== c.type) { + var u = c.arg, + h = u.value; + return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { + invoke("next", t, i, a); + }, function (t) { + invoke("throw", t, i, a); + }) : e.resolve(h).then(function (t) { + u.value = t, i(u); + }, function (t) { + return invoke("throw", t, i, a); + }); + } + a(c.arg); + } + var r; + o(this, "_invoke", { + value: function value(t, n) { + function callInvokeWithMethodAndArg() { + return new e(function (e, r) { + invoke(t, n, e, r); + }); + } + return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); + } + }); + } + function makeInvokeMethod(e, r, n) { + var o = h; + return function (i, a) { + if (o === f) throw new Error("Generator is already running"); + if (o === s) { + if ("throw" === i) throw a; + return { + value: t, + done: !0 + }; + } + for (n.method = i, n.arg = a;;) { + var c = n.delegate; + if (c) { + var u = maybeInvokeDelegate(c, n); + if (u) { + if (u === y) continue; + return u; + } + } + if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { + if (o === h) throw o = s, n.arg; + n.dispatchException(n.arg); + } else "return" === n.method && n.abrupt("return", n.arg); + o = f; + var p = tryCatch(e, r, n); + if ("normal" === p.type) { + if (o = n.done ? s : l, p.arg === y) continue; + return { + value: p.arg, + done: n.done + }; + } + "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); + } + }; + } + function maybeInvokeDelegate(e, r) { + var n = r.method, + o = e.iterator[n]; + if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; + var i = tryCatch(o, e.iterator, r.arg); + if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; + var a = i.arg; + return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); + } + function pushTryEntry(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 resetTryEntry(t) { + var e = t.completion || {}; + e.type = "normal", delete e.arg, t.completion = e; + } + function Context(t) { + this.tryEntries = [{ + tryLoc: "root" + }], t.forEach(pushTryEntry, this), this.reset(!0); + } + function values(e) { + if (e || "" === e) { + var r = e[a]; + if (r) return r.call(e); + if ("function" == typeof e.next) return e; + if (!isNaN(e.length)) { + var o = -1, + i = function next() { + for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; + return next.value = t, next.done = !0, next; + }; + return i.next = i; + } + } + throw new TypeError(_typeof(e) + " is not iterable"); + } + return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { + value: GeneratorFunctionPrototype, + configurable: !0 + }), o(GeneratorFunctionPrototype, "constructor", { + value: GeneratorFunction, + configurable: !0 + }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { + var e = "function" == typeof t && t.constructor; + return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); + }, e.mark = function (t) { + return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; + }, e.awrap = function (t) { + return { + __await: t + }; + }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { + return this; + }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { + void 0 === i && (i = Promise); + var a = new AsyncIterator(wrap(t, r, n, o), i); + return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { + return t.done ? t.value : a.next(); + }); + }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { + return this; + }), define(g, "toString", function () { + return "[object Generator]"; + }), e.keys = function (t) { + var e = Object(t), + r = []; + for (var n in e) r.push(n); + return r.reverse(), function next() { + for (; r.length;) { + var t = r.pop(); + if (t in e) return next.value = t, next.done = !1, next; + } + return next.done = !0, next; + }; + }, e.values = values, Context.prototype = { + constructor: Context, + reset: function reset(e) { + if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); + }, + stop: function stop() { + this.done = !0; + var t = this.tryEntries[0].completion; + if ("throw" === t.type) throw t.arg; + return this.rval; + }, + dispatchException: function dispatchException(e) { + if (this.done) throw e; + var r = this; + function handle(n, o) { + return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; + } + for (var o = this.tryEntries.length - 1; o >= 0; --o) { + var i = this.tryEntries[o], + a = i.completion; + if ("root" === i.tryLoc) return handle("end"); + if (i.tryLoc <= this.prev) { + var c = n.call(i, "catchLoc"), + u = n.call(i, "finallyLoc"); + if (c && u) { + if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); + if (this.prev < i.finallyLoc) return handle(i.finallyLoc); + } else if (c) { + if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); + } else { + if (!u) throw new Error("try statement without catch or finally"); + if (this.prev < i.finallyLoc) return handle(i.finallyLoc); + } + } + } + }, + abrupt: function abrupt(t, e) { + for (var r = this.tryEntries.length - 1; r >= 0; --r) { + var o = this.tryEntries[r]; + if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { + var i = o; + break; + } + } + i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); + var a = i ? i.completion : {}; + return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); + }, + complete: function complete(t, e) { + if ("throw" === t.type) throw t.arg; + return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; + }, + finish: function finish(t) { + for (var e = this.tryEntries.length - 1; e >= 0; --e) { + var r = this.tryEntries[e]; + if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; + } + }, + "catch": function _catch(t) { + for (var e = this.tryEntries.length - 1; e >= 0; --e) { + var r = this.tryEntries[e]; + if (r.tryLoc === t) { + var n = r.completion; + if ("throw" === n.type) { + var o = n.arg; + resetTryEntry(r); + } + return o; + } + } + throw new Error("illegal catch attempt"); + }, + delegateYield: function delegateYield(e, r, n) { + return this.delegate = { + iterator: values(e), + resultName: r, + nextLoc: n + }, "next" === this.method && (this.arg = t), y; + } + }, e; +} +module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/typeof.js": +/*!*******************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/typeof.js ***! + \*******************************************************/ +/***/ ((module) => { + +function _typeof(o) { + "@babel/helpers - typeof"; + + return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { + return typeof o; + } : function (o) { + return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; + }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(o); +} +module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }), + +/***/ "./node_modules/@babel/runtime/regenerator/index.js": +/*!**********************************************************!*\ + !*** ./node_modules/@babel/runtime/regenerator/index.js ***! + \**********************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +// TODO(Babel 8): Remove this file. + +var runtime = __webpack_require__(/*! ../helpers/regeneratorRuntime */ "./node_modules/@babel/runtime/helpers/regeneratorRuntime.js")(); +module.exports = runtime; + +// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736= +try { + regeneratorRuntime = runtime; +} catch (accidentalStrictMode) { + if (typeof globalThis === "object") { + globalThis.regeneratorRuntime = runtime; + } else { + Function("r", "regeneratorRuntime = r")(runtime); + } +} + + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _arrayLikeToArray) +/* harmony export */ }); +function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) len = arr.length; + for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; + return arr2; +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _arrayWithHoles) +/* harmony export */ }); +function _arrayWithHoles(arr) { + if (Array.isArray(arr)) return arr; +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _arrayWithoutHoles) +/* harmony export */ }); +/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ "./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js"); + +function _arrayWithoutHoles(arr) { + if (Array.isArray(arr)) return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(arr); +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _assertThisInitialized) +/* harmony export */ }); +function _assertThisInitialized(self) { + if (self === void 0) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + } + return self; +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _asyncToGenerator) +/* harmony export */ }); +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { + try { + var info = gen[key](arg); + var value = info.value; + } catch (error) { + reject(error); + return; + } + if (info.done) { + resolve(value); + } else { + Promise.resolve(value).then(_next, _throw); + } +} +function _asyncToGenerator(fn) { + return function () { + var self = this, + args = arguments; + return new Promise(function (resolve, reject) { + var gen = fn.apply(self, args); + function _next(value) { + asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); + } + function _throw(err) { + asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); + } + _next(undefined); + }); + }; +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _classCallCheck) +/* harmony export */ }); +function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/construct.js": +/*!**************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/construct.js ***! + \**************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _construct) +/* harmony export */ }); +/* harmony import */ var _setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setPrototypeOf.js */ "./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js"); +/* harmony import */ var _isNativeReflectConstruct_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isNativeReflectConstruct.js */ "./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js"); + + +function _construct(t, e, r) { + if ((0,_isNativeReflectConstruct_js__WEBPACK_IMPORTED_MODULE_1__["default"])()) return Reflect.construct.apply(null, arguments); + var o = [null]; + o.push.apply(o, e); + var p = new (t.bind.apply(t, o))(); + return r && (0,_setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__["default"])(p, r.prototype), p; +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/createClass.js": +/*!****************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/createClass.js ***! + \****************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _createClass) +/* harmony export */ }); +/* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ "./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js"); + +function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, (0,_toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__["default"])(descriptor.key), descriptor); + } +} +function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + Object.defineProperty(Constructor, "prototype", { + writable: false + }); + return Constructor; +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/defineProperty.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _defineProperty) +/* harmony export */ }); +/* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ "./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js"); + +function _defineProperty(obj, key, value) { + key = (0,_toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__["default"])(key); + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + return obj; +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _getPrototypeOf) +/* harmony export */ }); +function _getPrototypeOf(o) { + _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { + return o.__proto__ || Object.getPrototypeOf(o); + }; + return _getPrototypeOf(o); +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/inherits.js": +/*!*************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/inherits.js ***! + \*************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _inherits) +/* harmony export */ }); +/* harmony import */ var _setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setPrototypeOf.js */ "./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js"); + +function _inherits(subClass, superClass) { + if (typeof superClass !== "function" && superClass !== null) { + throw new TypeError("Super expression must either be null or a function"); + } + subClass.prototype = Object.create(superClass && superClass.prototype, { + constructor: { + value: subClass, + writable: true, + configurable: true + } + }); + Object.defineProperty(subClass, "prototype", { + writable: false + }); + if (superClass) (0,_setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__["default"])(subClass, superClass); +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _isNativeFunction) +/* harmony export */ }); +function _isNativeFunction(fn) { + try { + return Function.toString.call(fn).indexOf("[native code]") !== -1; + } catch (e) { + return typeof fn === "function"; + } +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _isNativeReflectConstruct) +/* harmony export */ }); +function _isNativeReflectConstruct() { + try { + var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); + } catch (t) {} + return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { + return !!t; + })(); +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/iterableToArray.js": +/*!********************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js ***! + \********************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _iterableToArray) +/* harmony export */ }); +function _iterableToArray(iter) { + if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _iterableToArrayLimit) +/* harmony export */ }); +function _iterableToArrayLimit(r, l) { + var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; + if (null != t) { + var e, + n, + i, + u, + a = [], + f = !0, + o = !1; + try { + if (i = (t = t.call(r)).next, 0 === l) { + if (Object(t) !== t) return; + f = !1; + } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); + } catch (r) { + o = !0, n = r; + } finally { + try { + if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; + } finally { + if (o) throw n; + } + } + return a; + } +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js": +/*!********************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js ***! + \********************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _nonIterableRest) +/* harmony export */ }); +function _nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _nonIterableSpread) +/* harmony export */ }); +function _nonIterableSpread() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js ***! + \******************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _possibleConstructorReturn) +/* harmony export */ }); +/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "./node_modules/@babel/runtime/helpers/esm/typeof.js"); +/* harmony import */ var _assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./assertThisInitialized.js */ "./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js"); + + +function _possibleConstructorReturn(self, call) { + if (call && ((0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(call) === "object" || typeof call === "function")) { + return call; + } else if (call !== void 0) { + throw new TypeError("Derived constructors may only return object or undefined"); + } + return (0,_assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_1__["default"])(self); +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _setPrototypeOf) +/* harmony export */ }); +function _setPrototypeOf(o, p) { + _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { + o.__proto__ = p; + return o; + }; + return _setPrototypeOf(o, p); +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/slicedToArray.js": +/*!******************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js ***! + \******************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _slicedToArray) +/* harmony export */ }); +/* harmony import */ var _arrayWithHoles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayWithHoles.js */ "./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js"); +/* harmony import */ var _iterableToArrayLimit_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterableToArrayLimit.js */ "./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js"); +/* harmony import */ var _unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js"); +/* harmony import */ var _nonIterableRest_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./nonIterableRest.js */ "./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js"); + + + + +function _slicedToArray(arr, i) { + return (0,_arrayWithHoles_js__WEBPACK_IMPORTED_MODULE_0__["default"])(arr) || (0,_iterableToArrayLimit_js__WEBPACK_IMPORTED_MODULE_1__["default"])(arr, i) || (0,_unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__["default"])(arr, i) || (0,_nonIterableRest_js__WEBPACK_IMPORTED_MODULE_3__["default"])(); +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _toConsumableArray) +/* harmony export */ }); +/* harmony import */ var _arrayWithoutHoles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayWithoutHoles.js */ "./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js"); +/* harmony import */ var _iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterableToArray.js */ "./node_modules/@babel/runtime/helpers/esm/iterableToArray.js"); +/* harmony import */ var _unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js"); +/* harmony import */ var _nonIterableSpread_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./nonIterableSpread.js */ "./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js"); + + + + +function _toConsumableArray(arr) { + return (0,_arrayWithoutHoles_js__WEBPACK_IMPORTED_MODULE_0__["default"])(arr) || (0,_iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__["default"])(arr) || (0,_unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__["default"])(arr) || (0,_nonIterableSpread_js__WEBPACK_IMPORTED_MODULE_3__["default"])(); +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/toPrimitive.js": +/*!****************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/toPrimitive.js ***! + \****************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ toPrimitive) +/* harmony export */ }); +/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "./node_modules/@babel/runtime/helpers/esm/typeof.js"); + +function toPrimitive(t, r) { + if ("object" != (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js": +/*!******************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js ***! + \******************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ toPropertyKey) +/* harmony export */ }); +/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "./node_modules/@babel/runtime/helpers/esm/typeof.js"); +/* harmony import */ var _toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toPrimitive.js */ "./node_modules/@babel/runtime/helpers/esm/toPrimitive.js"); + + +function toPropertyKey(t) { + var i = (0,_toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__["default"])(t, "string"); + return "symbol" == (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(i) ? i : String(i); +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/typeof.js": +/*!***********************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/typeof.js ***! + \***********************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _typeof) +/* harmony export */ }); +function _typeof(o) { + "@babel/helpers - typeof"; + + return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { + return typeof o; + } : function (o) { + return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; + }, _typeof(o); +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js": +/*!*******************************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js ***! + \*******************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _unsupportedIterableToArray) +/* harmony export */ }); +/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ "./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js"); + +function _unsupportedIterableToArray(o, minLen) { + if (!o) return; + if (typeof o === "string") return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(o, minLen); + var n = Object.prototype.toString.call(o).slice(8, -1); + if (n === "Object" && o.constructor) n = o.constructor.name; + if (n === "Map" || n === "Set") return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(o, minLen); +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js": +/*!********************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js ***! + \********************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _wrapNativeSuper) +/* harmony export */ }); +/* harmony import */ var _getPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getPrototypeOf.js */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); +/* harmony import */ var _setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./setPrototypeOf.js */ "./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js"); +/* harmony import */ var _isNativeFunction_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isNativeFunction.js */ "./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js"); +/* harmony import */ var _construct_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./construct.js */ "./node_modules/@babel/runtime/helpers/esm/construct.js"); + + + + +function _wrapNativeSuper(Class) { + var _cache = typeof Map === "function" ? new Map() : undefined; + _wrapNativeSuper = function _wrapNativeSuper(Class) { + if (Class === null || !(0,_isNativeFunction_js__WEBPACK_IMPORTED_MODULE_2__["default"])(Class)) return Class; + if (typeof Class !== "function") { + throw new TypeError("Super expression must either be null or a function"); + } + if (typeof _cache !== "undefined") { + if (_cache.has(Class)) return _cache.get(Class); + _cache.set(Class, Wrapper); + } + function Wrapper() { + return (0,_construct_js__WEBPACK_IMPORTED_MODULE_3__["default"])(Class, arguments, (0,_getPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__["default"])(this).constructor); + } + Wrapper.prototype = Object.create(Class.prototype, { + constructor: { + value: Wrapper, + enumerable: false, + writable: true, + configurable: true + } + }); + return (0,_setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_1__["default"])(Wrapper, Class); + }; + return _wrapNativeSuper(Class); +} + +/***/ }), + +/***/ "./node_modules/axios/lib/adapters/adapters.js": +/*!*****************************************************!*\ + !*** ./node_modules/axios/lib/adapters/adapters.js ***! + \*****************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); +/* harmony import */ var _http_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./http.js */ "./node_modules/axios/lib/helpers/null.js"); +/* harmony import */ var _xhr_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./xhr.js */ "./node_modules/axios/lib/adapters/xhr.js"); +/* harmony import */ var _fetch_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./fetch.js */ "./node_modules/axios/lib/adapters/fetch.js"); +/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); + + + + + + +const knownAdapters = { + http: _http_js__WEBPACK_IMPORTED_MODULE_0__["default"], + xhr: _xhr_js__WEBPACK_IMPORTED_MODULE_1__["default"], + fetch: _fetch_js__WEBPACK_IMPORTED_MODULE_2__["default"] +} + +_utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].forEach(knownAdapters, (fn, value) => { + if (fn) { + try { + Object.defineProperty(fn, 'name', {value}); + } catch (e) { + // eslint-disable-next-line no-empty + } + Object.defineProperty(fn, 'adapterName', {value}); + } +}); + +const renderReason = (reason) => `- ${reason}`; + +const isResolvedHandle = (adapter) => _utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].isFunction(adapter) || adapter === null || adapter === false; + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + getAdapter: (adapters) => { + adapters = _utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].isArray(adapters) ? adapters : [adapters]; + + const {length} = adapters; + let nameOrAdapter; + let adapter; + + const rejectedReasons = {}; + + for (let i = 0; i < length; i++) { + nameOrAdapter = adapters[i]; + let id; + + adapter = nameOrAdapter; + + if (!isResolvedHandle(nameOrAdapter)) { + adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()]; + + if (adapter === undefined) { + throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_4__["default"](`Unknown adapter '${id}'`); + } + } + + if (adapter) { + break; + } + + rejectedReasons[id || '#' + i] = adapter; + } + + if (!adapter) { + + const reasons = Object.entries(rejectedReasons) + .map(([id, state]) => `adapter ${id} ` + + (state === false ? 'is not supported by the environment' : 'is not available in the build') + ); + + let s = length ? + (reasons.length > 1 ? 'since :\n' + reasons.map(renderReason).join('\n') : ' ' + renderReason(reasons[0])) : + 'as no adapter specified'; + + throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_4__["default"]( + `There is no suitable adapter to dispatch the request ` + s, + 'ERR_NOT_SUPPORT' + ); + } + + return adapter; + }, + adapters: knownAdapters +}); + + +/***/ }), + +/***/ "./node_modules/axios/lib/adapters/fetch.js": +/*!**************************************************!*\ + !*** ./node_modules/axios/lib/adapters/fetch.js ***! + \**************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js"); +/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); +/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); +/* harmony import */ var _helpers_composeSignals_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../helpers/composeSignals.js */ "./node_modules/axios/lib/helpers/composeSignals.js"); +/* harmony import */ var _helpers_trackStream_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../helpers/trackStream.js */ "./node_modules/axios/lib/helpers/trackStream.js"); +/* harmony import */ var _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../core/AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); +/* harmony import */ var _helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../helpers/progressEventReducer.js */ "./node_modules/axios/lib/helpers/progressEventReducer.js"); +/* harmony import */ var _helpers_resolveConfig_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../helpers/resolveConfig.js */ "./node_modules/axios/lib/helpers/resolveConfig.js"); +/* harmony import */ var _core_settle_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../core/settle.js */ "./node_modules/axios/lib/core/settle.js"); + + + + + + + + + + +const fetchProgressDecorator = (total, fn) => { + const lengthComputable = total != null; + return (loaded) => setTimeout(() => fn({ + lengthComputable, + total, + loaded + })); +} + +const isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function'; +const isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function'; + +// used only inside the fetch adapter +const encodeText = isFetchSupported && (typeof TextEncoder === 'function' ? + ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) : + async (str) => new Uint8Array(await new Response(str).arrayBuffer()) +); + +const supportsRequestStream = isReadableStreamSupported && (() => { + let duplexAccessed = false; + + const hasContentType = new Request(_platform_index_js__WEBPACK_IMPORTED_MODULE_0__["default"].origin, { + body: new ReadableStream(), + method: 'POST', + get duplex() { + duplexAccessed = true; + return 'half'; + }, + }).headers.has('Content-Type'); + + return duplexAccessed && !hasContentType; +})(); + +const DEFAULT_CHUNK_SIZE = 64 * 1024; + +const supportsResponseStream = isReadableStreamSupported && !!(()=> { + try { + return _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isReadableStream(new Response('').body); + } catch(err) { + // return undefined + } +})(); + +const resolvers = { + stream: supportsResponseStream && ((res) => res.body) +}; + +isFetchSupported && (((res) => { + ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => { + !resolvers[type] && (resolvers[type] = _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isFunction(res[type]) ? (res) => res[type]() : + (_, config) => { + throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_2__["default"](`Response type '${type}' is not supported`, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_2__["default"].ERR_NOT_SUPPORT, config); + }) + }); +})(new Response)); + +const getBodyLength = async (body) => { + if (body == null) { + return 0; + } + + if(_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isBlob(body)) { + return body.size; + } + + if(_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isSpecCompliantForm(body)) { + return (await new Request(body).arrayBuffer()).byteLength; + } + + if(_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isArrayBufferView(body)) { + return body.byteLength; + } + + if(_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isURLSearchParams(body)) { + body = body + ''; + } + + if(_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isString(body)) { + return (await encodeText(body)).byteLength; + } +} + +const resolveBodyLength = async (headers, body) => { + const length = _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].toFiniteNumber(headers.getContentLength()); + + return length == null ? getBodyLength(body) : length; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isFetchSupported && (async (config) => { + let { + url, + method, + data, + signal, + cancelToken, + timeout, + onDownloadProgress, + onUploadProgress, + responseType, + headers, + withCredentials = 'same-origin', + fetchOptions + } = (0,_helpers_resolveConfig_js__WEBPACK_IMPORTED_MODULE_3__["default"])(config); + + responseType = responseType ? (responseType + '').toLowerCase() : 'text'; + + let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ? + (0,_helpers_composeSignals_js__WEBPACK_IMPORTED_MODULE_4__["default"])([signal, cancelToken], timeout) : []; + + let finished, request; + + const onFinish = () => { + !finished && setTimeout(() => { + composedSignal && composedSignal.unsubscribe(); + }); + + finished = true; + } + + let requestContentLength; + + try { + if ( + onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' && + (requestContentLength = await resolveBodyLength(headers, data)) !== 0 + ) { + let _request = new Request(url, { + method: 'POST', + body: data, + duplex: "half" + }); + + let contentTypeHeader; + + if (_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) { + headers.setContentType(contentTypeHeader) + } + + if (_request.body) { + data = (0,_helpers_trackStream_js__WEBPACK_IMPORTED_MODULE_5__.trackStream)(_request.body, DEFAULT_CHUNK_SIZE, fetchProgressDecorator( + requestContentLength, + (0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_6__["default"])(onUploadProgress) + ), null, encodeText); + } + } + + if (!_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isString(withCredentials)) { + withCredentials = withCredentials ? 'cors' : 'omit'; + } + + request = new Request(url, { + ...fetchOptions, + signal: composedSignal, + method: method.toUpperCase(), + headers: headers.normalize().toJSON(), + body: data, + duplex: "half", + withCredentials + }); + + let response = await fetch(request); + + const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response'); + + if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) { + const options = {}; + + ['status', 'statusText', 'headers'].forEach(prop => { + options[prop] = response[prop]; + }); + + const responseContentLength = _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].toFiniteNumber(response.headers.get('content-length')); + + response = new Response( + (0,_helpers_trackStream_js__WEBPACK_IMPORTED_MODULE_5__.trackStream)(response.body, DEFAULT_CHUNK_SIZE, onDownloadProgress && fetchProgressDecorator( + responseContentLength, + (0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_6__["default"])(onDownloadProgress, true) + ), isStreamResponse && onFinish, encodeText), + options + ); + } + + responseType = responseType || 'text'; + + let responseData = await resolvers[_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].findKey(resolvers, responseType) || 'text'](response, config); + + !isStreamResponse && onFinish(); + + stopTimeout && stopTimeout(); + + return await new Promise((resolve, reject) => { + (0,_core_settle_js__WEBPACK_IMPORTED_MODULE_7__["default"])(resolve, reject, { + data: responseData, + headers: _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_8__["default"].from(response.headers), + status: response.status, + statusText: response.statusText, + config, + request + }) + }) + } catch (err) { + onFinish(); + + if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) { + throw Object.assign( + new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_2__["default"]('Network Error', _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_2__["default"].ERR_NETWORK, config, request), + { + cause: err.cause || err + } + ) + } + + throw _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_2__["default"].from(err, err && err.code, config, request); + } +})); + + + + +/***/ }), + +/***/ "./node_modules/axios/lib/adapters/xhr.js": +/*!************************************************!*\ + !*** ./node_modules/axios/lib/adapters/xhr.js ***! + \************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); +/* harmony import */ var _core_settle_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../core/settle.js */ "./node_modules/axios/lib/core/settle.js"); +/* harmony import */ var _defaults_transitional_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../defaults/transitional.js */ "./node_modules/axios/lib/defaults/transitional.js"); +/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); +/* harmony import */ var _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../cancel/CanceledError.js */ "./node_modules/axios/lib/cancel/CanceledError.js"); +/* harmony import */ var _helpers_parseProtocol_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../helpers/parseProtocol.js */ "./node_modules/axios/lib/helpers/parseProtocol.js"); +/* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js"); +/* harmony import */ var _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); +/* harmony import */ var _helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../helpers/progressEventReducer.js */ "./node_modules/axios/lib/helpers/progressEventReducer.js"); +/* harmony import */ var _helpers_resolveConfig_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../helpers/resolveConfig.js */ "./node_modules/axios/lib/helpers/resolveConfig.js"); + + + + + + + + + + + +const isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined'; + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isXHRAdapterSupported && function (config) { + return new Promise(function dispatchXhrRequest(resolve, reject) { + const _config = (0,_helpers_resolveConfig_js__WEBPACK_IMPORTED_MODULE_0__["default"])(config); + let requestData = _config.data; + const requestHeaders = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"].from(_config.headers).normalize(); + let {responseType} = _config; + let onCanceled; + function done() { + if (_config.cancelToken) { + _config.cancelToken.unsubscribe(onCanceled); + } + + if (_config.signal) { + _config.signal.removeEventListener('abort', onCanceled); + } + } + + let request = new XMLHttpRequest(); + + request.open(_config.method.toUpperCase(), _config.url, true); + + // Set the request timeout in MS + request.timeout = _config.timeout; + + function onloadend() { + if (!request) { + return; + } + // Prepare the response + const responseHeaders = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"].from( + 'getAllResponseHeaders' in request && request.getAllResponseHeaders() + ); + const responseData = !responseType || responseType === 'text' || responseType === 'json' ? + request.responseText : request.response; + const response = { + data: responseData, + status: request.status, + statusText: request.statusText, + headers: responseHeaders, + config, + request + }; + + (0,_core_settle_js__WEBPACK_IMPORTED_MODULE_2__["default"])(function _resolve(value) { + resolve(value); + done(); + }, function _reject(err) { + reject(err); + done(); + }, response); + + // Clean up request + request = null; + } + + if ('onloadend' in request) { + // Use onloadend if available + request.onloadend = onloadend; + } else { + // Listen for ready state to emulate onloadend + request.onreadystatechange = function handleLoad() { + if (!request || request.readyState !== 4) { + return; + } + + // The request errored out and we didn't get a response, this will be + // handled by onerror instead + // With one exception: request that using file: protocol, most browsers + // will return status as 0 even though it's a successful request + if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) { + return; + } + // readystate handler is calling before onerror or ontimeout handlers, + // so we should call onloadend on the next 'tick' + setTimeout(onloadend); + }; + } + + // Handle browser request cancellation (as opposed to a manual cancellation) + request.onabort = function handleAbort() { + if (!request) { + return; + } + + reject(new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"]('Request aborted', _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"].ECONNABORTED, _config, request)); + + // Clean up request + request = null; + }; + + // Handle low level network errors + request.onerror = function handleError() { + // Real errors are hidden from us by the browser + // onerror should only fire if it's a network error + reject(new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"]('Network Error', _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"].ERR_NETWORK, _config, request)); + + // Clean up request + request = null; + }; + + // Handle timeout + request.ontimeout = function handleTimeout() { + let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded'; + const transitional = _config.transitional || _defaults_transitional_js__WEBPACK_IMPORTED_MODULE_4__["default"]; + if (_config.timeoutErrorMessage) { + timeoutErrorMessage = _config.timeoutErrorMessage; + } + reject(new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"]( + timeoutErrorMessage, + transitional.clarifyTimeoutError ? _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"].ETIMEDOUT : _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"].ECONNABORTED, + _config, + request)); + + // Clean up request + request = null; + }; + + // Remove Content-Type if data is undefined + requestData === undefined && requestHeaders.setContentType(null); + + // Add headers to the request + if ('setRequestHeader' in request) { + _utils_js__WEBPACK_IMPORTED_MODULE_5__["default"].forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) { + request.setRequestHeader(key, val); + }); + } + + // Add withCredentials to request if needed + if (!_utils_js__WEBPACK_IMPORTED_MODULE_5__["default"].isUndefined(_config.withCredentials)) { + request.withCredentials = !!_config.withCredentials; + } + + // Add responseType to request if needed + if (responseType && responseType !== 'json') { + request.responseType = _config.responseType; + } + + // Handle progress if needed + if (typeof _config.onDownloadProgress === 'function') { + request.addEventListener('progress', (0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_6__["default"])(_config.onDownloadProgress, true)); + } + + // Not all browsers support upload events + if (typeof _config.onUploadProgress === 'function' && request.upload) { + request.upload.addEventListener('progress', (0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_6__["default"])(_config.onUploadProgress)); + } + + if (_config.cancelToken || _config.signal) { + // Handle cancellation + // eslint-disable-next-line func-names + onCanceled = cancel => { + if (!request) { + return; + } + reject(!cancel || cancel.type ? new _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_7__["default"](null, config, request) : cancel); + request.abort(); + request = null; + }; + + _config.cancelToken && _config.cancelToken.subscribe(onCanceled); + if (_config.signal) { + _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled); + } + } + + const protocol = (0,_helpers_parseProtocol_js__WEBPACK_IMPORTED_MODULE_8__["default"])(_config.url); + + if (protocol && _platform_index_js__WEBPACK_IMPORTED_MODULE_9__["default"].protocols.indexOf(protocol) === -1) { + reject(new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"]('Unsupported protocol ' + protocol + ':', _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"].ERR_BAD_REQUEST, config)); + return; + } + + + // Send the request + request.send(requestData || null); + }); +}); + + +/***/ }), + +/***/ "./node_modules/axios/lib/axios.js": +/*!*****************************************!*\ + !*** ./node_modules/axios/lib/axios.js ***! + \*****************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils.js */ "./node_modules/axios/lib/utils.js"); +/* harmony import */ var _helpers_bind_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./helpers/bind.js */ "./node_modules/axios/lib/helpers/bind.js"); +/* harmony import */ var _core_Axios_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./core/Axios.js */ "./node_modules/axios/lib/core/Axios.js"); +/* harmony import */ var _core_mergeConfig_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./core/mergeConfig.js */ "./node_modules/axios/lib/core/mergeConfig.js"); +/* harmony import */ var _defaults_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./defaults/index.js */ "./node_modules/axios/lib/defaults/index.js"); +/* harmony import */ var _helpers_formDataToJSON_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./helpers/formDataToJSON.js */ "./node_modules/axios/lib/helpers/formDataToJSON.js"); +/* harmony import */ var _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./cancel/CanceledError.js */ "./node_modules/axios/lib/cancel/CanceledError.js"); +/* harmony import */ var _cancel_CancelToken_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./cancel/CancelToken.js */ "./node_modules/axios/lib/cancel/CancelToken.js"); +/* harmony import */ var _cancel_isCancel_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./cancel/isCancel.js */ "./node_modules/axios/lib/cancel/isCancel.js"); +/* harmony import */ var _env_data_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./env/data.js */ "./node_modules/axios/lib/env/data.js"); +/* harmony import */ var _helpers_toFormData_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./helpers/toFormData.js */ "./node_modules/axios/lib/helpers/toFormData.js"); +/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); +/* harmony import */ var _helpers_spread_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./helpers/spread.js */ "./node_modules/axios/lib/helpers/spread.js"); +/* harmony import */ var _helpers_isAxiosError_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./helpers/isAxiosError.js */ "./node_modules/axios/lib/helpers/isAxiosError.js"); +/* harmony import */ var _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./core/AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); +/* harmony import */ var _adapters_adapters_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./adapters/adapters.js */ "./node_modules/axios/lib/adapters/adapters.js"); +/* harmony import */ var _helpers_HttpStatusCode_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./helpers/HttpStatusCode.js */ "./node_modules/axios/lib/helpers/HttpStatusCode.js"); + + + + + + + + + + + + + + + + + + + + +/** + * Create an instance of Axios + * + * @param {Object} defaultConfig The default config for the instance + * + * @returns {Axios} A new instance of Axios + */ +function createInstance(defaultConfig) { + const context = new _core_Axios_js__WEBPACK_IMPORTED_MODULE_0__["default"](defaultConfig); + const instance = (0,_helpers_bind_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_core_Axios_js__WEBPACK_IMPORTED_MODULE_0__["default"].prototype.request, context); + + // Copy axios.prototype to instance + _utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].extend(instance, _core_Axios_js__WEBPACK_IMPORTED_MODULE_0__["default"].prototype, context, {allOwnKeys: true}); + + // Copy context to instance + _utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].extend(instance, context, null, {allOwnKeys: true}); + + // Factory for creating new instances + instance.create = function create(instanceConfig) { + return createInstance((0,_core_mergeConfig_js__WEBPACK_IMPORTED_MODULE_3__["default"])(defaultConfig, instanceConfig)); + }; + + return instance; +} + +// Create the default instance to be exported +const axios = createInstance(_defaults_index_js__WEBPACK_IMPORTED_MODULE_4__["default"]); + +// Expose Axios class to allow class inheritance +axios.Axios = _core_Axios_js__WEBPACK_IMPORTED_MODULE_0__["default"]; + +// Expose Cancel & CancelToken +axios.CanceledError = _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_5__["default"]; +axios.CancelToken = _cancel_CancelToken_js__WEBPACK_IMPORTED_MODULE_6__["default"]; +axios.isCancel = _cancel_isCancel_js__WEBPACK_IMPORTED_MODULE_7__["default"]; +axios.VERSION = _env_data_js__WEBPACK_IMPORTED_MODULE_8__.VERSION; +axios.toFormData = _helpers_toFormData_js__WEBPACK_IMPORTED_MODULE_9__["default"]; + +// Expose AxiosError class +axios.AxiosError = _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_10__["default"]; + +// alias for CanceledError for backward compatibility +axios.Cancel = axios.CanceledError; + +// Expose all/spread +axios.all = function all(promises) { + return Promise.all(promises); +}; + +axios.spread = _helpers_spread_js__WEBPACK_IMPORTED_MODULE_11__["default"]; + +// Expose isAxiosError +axios.isAxiosError = _helpers_isAxiosError_js__WEBPACK_IMPORTED_MODULE_12__["default"]; + +// Expose mergeConfig +axios.mergeConfig = _core_mergeConfig_js__WEBPACK_IMPORTED_MODULE_3__["default"]; + +axios.AxiosHeaders = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_13__["default"]; + +axios.formToJSON = thing => (0,_helpers_formDataToJSON_js__WEBPACK_IMPORTED_MODULE_14__["default"])(_utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].isHTMLForm(thing) ? new FormData(thing) : thing); + +axios.getAdapter = _adapters_adapters_js__WEBPACK_IMPORTED_MODULE_15__["default"].getAdapter; + +axios.HttpStatusCode = _helpers_HttpStatusCode_js__WEBPACK_IMPORTED_MODULE_16__["default"]; + +axios.default = axios; + +// this module should only have a default export +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (axios); + + +/***/ }), + +/***/ "./node_modules/axios/lib/cancel/CancelToken.js": +/*!******************************************************!*\ + !*** ./node_modules/axios/lib/cancel/CancelToken.js ***! + \******************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _CanceledError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CanceledError.js */ "./node_modules/axios/lib/cancel/CanceledError.js"); + + + + +/** + * A `CancelToken` is an object that can be used to request cancellation of an operation. + * + * @param {Function} executor The executor function. + * + * @returns {CancelToken} + */ +class CancelToken { + constructor(executor) { + if (typeof executor !== 'function') { + throw new TypeError('executor must be a function.'); + } + + let resolvePromise; + + this.promise = new Promise(function promiseExecutor(resolve) { + resolvePromise = resolve; + }); + + const token = this; + + // eslint-disable-next-line func-names + this.promise.then(cancel => { + if (!token._listeners) return; + + let i = token._listeners.length; + + while (i-- > 0) { + token._listeners[i](cancel); + } + token._listeners = null; + }); + + // eslint-disable-next-line func-names + this.promise.then = onfulfilled => { + let _resolve; + // eslint-disable-next-line func-names + const promise = new Promise(resolve => { + token.subscribe(resolve); + _resolve = resolve; + }).then(onfulfilled); + + promise.cancel = function reject() { + token.unsubscribe(_resolve); + }; + + return promise; + }; + + executor(function cancel(message, config, request) { + if (token.reason) { + // Cancellation has already been requested + return; + } + + token.reason = new _CanceledError_js__WEBPACK_IMPORTED_MODULE_0__["default"](message, config, request); + resolvePromise(token.reason); + }); + } + + /** + * Throws a `CanceledError` if cancellation has been requested. + */ + throwIfRequested() { + if (this.reason) { + throw this.reason; + } + } + + /** + * Subscribe to the cancel signal + */ + + subscribe(listener) { + if (this.reason) { + listener(this.reason); + return; + } + + if (this._listeners) { + this._listeners.push(listener); + } else { + this._listeners = [listener]; + } + } + + /** + * Unsubscribe from the cancel signal + */ + + unsubscribe(listener) { + if (!this._listeners) { + return; + } + const index = this._listeners.indexOf(listener); + if (index !== -1) { + this._listeners.splice(index, 1); + } + } + + /** + * Returns an object that contains a new `CancelToken` and a function that, when called, + * cancels the `CancelToken`. + */ + static source() { + let cancel; + const token = new CancelToken(function executor(c) { + cancel = c; + }); + return { + token, + cancel + }; + } +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (CancelToken); + + +/***/ }), + +/***/ "./node_modules/axios/lib/cancel/CanceledError.js": +/*!********************************************************!*\ + !*** ./node_modules/axios/lib/cancel/CanceledError.js ***! + \********************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); +/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); + + + + + +/** + * A `CanceledError` is an object that is thrown when an operation is canceled. + * + * @param {string=} message The message. + * @param {Object=} config The config. + * @param {Object=} request The request. + * + * @returns {CanceledError} The created error. + */ +function CanceledError(message, config, request) { + // eslint-disable-next-line no-eq-null,eqeqeq + _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"].call(this, message == null ? 'canceled' : message, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"].ERR_CANCELED, config, request); + this.name = 'CanceledError'; +} + +_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].inherits(CanceledError, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"], { + __CANCEL__: true +}); + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (CanceledError); + + +/***/ }), + +/***/ "./node_modules/axios/lib/cancel/isCancel.js": +/*!***************************************************!*\ + !*** ./node_modules/axios/lib/cancel/isCancel.js ***! + \***************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ isCancel) +/* harmony export */ }); + + +function isCancel(value) { + return !!(value && value.__CANCEL__); +} + + +/***/ }), + +/***/ "./node_modules/axios/lib/core/Axios.js": +/*!**********************************************!*\ + !*** ./node_modules/axios/lib/core/Axios.js ***! + \**********************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); +/* harmony import */ var _helpers_buildURL_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../helpers/buildURL.js */ "./node_modules/axios/lib/helpers/buildURL.js"); +/* harmony import */ var _InterceptorManager_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./InterceptorManager.js */ "./node_modules/axios/lib/core/InterceptorManager.js"); +/* harmony import */ var _dispatchRequest_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./dispatchRequest.js */ "./node_modules/axios/lib/core/dispatchRequest.js"); +/* harmony import */ var _mergeConfig_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./mergeConfig.js */ "./node_modules/axios/lib/core/mergeConfig.js"); +/* harmony import */ var _buildFullPath_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./buildFullPath.js */ "./node_modules/axios/lib/core/buildFullPath.js"); +/* harmony import */ var _helpers_validator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../helpers/validator.js */ "./node_modules/axios/lib/helpers/validator.js"); +/* harmony import */ var _AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); + + + + + + + + + + + +const validators = _helpers_validator_js__WEBPACK_IMPORTED_MODULE_0__["default"].validators; + +/** + * Create a new instance of Axios + * + * @param {Object} instanceConfig The default config for the instance + * + * @return {Axios} A new instance of Axios + */ +class Axios { + constructor(instanceConfig) { + this.defaults = instanceConfig; + this.interceptors = { + request: new _InterceptorManager_js__WEBPACK_IMPORTED_MODULE_1__["default"](), + response: new _InterceptorManager_js__WEBPACK_IMPORTED_MODULE_1__["default"]() + }; + } + + /** + * Dispatch a request + * + * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults) + * @param {?Object} config + * + * @returns {Promise} The Promise to be fulfilled + */ + async request(configOrUrl, config) { + try { + return await this._request(configOrUrl, config); + } catch (err) { + if (err instanceof Error) { + let dummy; + + Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error()); + + // slice off the Error: ... line + const stack = dummy.stack ? dummy.stack.replace(/^.+\n/, '') : ''; + try { + if (!err.stack) { + err.stack = stack; + // match without the 2 top stack lines + } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\n.+\n/, ''))) { + err.stack += '\n' + stack + } + } catch (e) { + // ignore the case where "stack" is an un-writable property + } + } + + throw err; + } + } + + _request(configOrUrl, config) { + /*eslint no-param-reassign:0*/ + // Allow for axios('example/url'[, config]) a la fetch API + if (typeof configOrUrl === 'string') { + config = config || {}; + config.url = configOrUrl; + } else { + config = configOrUrl || {}; + } + + config = (0,_mergeConfig_js__WEBPACK_IMPORTED_MODULE_2__["default"])(this.defaults, config); + + const {transitional, paramsSerializer, headers} = config; + + if (transitional !== undefined) { + _helpers_validator_js__WEBPACK_IMPORTED_MODULE_0__["default"].assertOptions(transitional, { + silentJSONParsing: validators.transitional(validators.boolean), + forcedJSONParsing: validators.transitional(validators.boolean), + clarifyTimeoutError: validators.transitional(validators.boolean) + }, false); + } + + if (paramsSerializer != null) { + if (_utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].isFunction(paramsSerializer)) { + config.paramsSerializer = { + serialize: paramsSerializer + } + } else { + _helpers_validator_js__WEBPACK_IMPORTED_MODULE_0__["default"].assertOptions(paramsSerializer, { + encode: validators.function, + serialize: validators.function + }, true); + } + } + + // Set config.method + config.method = (config.method || this.defaults.method || 'get').toLowerCase(); + + // Flatten headers + let contextHeaders = headers && _utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].merge( + headers.common, + headers[config.method] + ); + + headers && _utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].forEach( + ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], + (method) => { + delete headers[method]; + } + ); + + config.headers = _AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_4__["default"].concat(contextHeaders, headers); + + // filter out skipped interceptors + const requestInterceptorChain = []; + let synchronousRequestInterceptors = true; + this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { + if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) { + return; + } + + synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; + + requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected); + }); + + const responseInterceptorChain = []; + this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { + responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); + }); + + let promise; + let i = 0; + let len; + + if (!synchronousRequestInterceptors) { + const chain = [_dispatchRequest_js__WEBPACK_IMPORTED_MODULE_5__["default"].bind(this), undefined]; + chain.unshift.apply(chain, requestInterceptorChain); + chain.push.apply(chain, responseInterceptorChain); + len = chain.length; + + promise = Promise.resolve(config); + + while (i < len) { + promise = promise.then(chain[i++], chain[i++]); + } + + return promise; + } + + len = requestInterceptorChain.length; + + let newConfig = config; + + i = 0; + + while (i < len) { + const onFulfilled = requestInterceptorChain[i++]; + const onRejected = requestInterceptorChain[i++]; + try { + newConfig = onFulfilled(newConfig); + } catch (error) { + onRejected.call(this, error); + break; + } + } + + try { + promise = _dispatchRequest_js__WEBPACK_IMPORTED_MODULE_5__["default"].call(this, newConfig); + } catch (error) { + return Promise.reject(error); + } + + i = 0; + len = responseInterceptorChain.length; + + while (i < len) { + promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]); + } + + return promise; + } + + getUri(config) { + config = (0,_mergeConfig_js__WEBPACK_IMPORTED_MODULE_2__["default"])(this.defaults, config); + const fullPath = (0,_buildFullPath_js__WEBPACK_IMPORTED_MODULE_6__["default"])(config.baseURL, config.url); + return (0,_helpers_buildURL_js__WEBPACK_IMPORTED_MODULE_7__["default"])(fullPath, config.params, config.paramsSerializer); + } +} + +// Provide aliases for supported request methods +_utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { + /*eslint func-names:0*/ + Axios.prototype[method] = function(url, config) { + return this.request((0,_mergeConfig_js__WEBPACK_IMPORTED_MODULE_2__["default"])(config || {}, { + method, + url, + data: (config || {}).data + })); + }; +}); + +_utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { + /*eslint func-names:0*/ + + function generateHTTPMethod(isForm) { + return function httpMethod(url, data, config) { + return this.request((0,_mergeConfig_js__WEBPACK_IMPORTED_MODULE_2__["default"])(config || {}, { + method, + headers: isForm ? { + 'Content-Type': 'multipart/form-data' + } : {}, + url, + data + })); + }; + } + + Axios.prototype[method] = generateHTTPMethod(); + + Axios.prototype[method + 'Form'] = generateHTTPMethod(true); +}); + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Axios); + + +/***/ }), + +/***/ "./node_modules/axios/lib/core/AxiosError.js": +/*!***************************************************!*\ + !*** ./node_modules/axios/lib/core/AxiosError.js ***! + \***************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); + + + + +/** + * Create an Error with the specified message, config, error code, request and response. + * + * @param {string} message The error message. + * @param {string} [code] The error code (for example, 'ECONNABORTED'). + * @param {Object} [config] The config. + * @param {Object} [request] The request. + * @param {Object} [response] The response. + * + * @returns {Error} The created error. + */ +function AxiosError(message, code, config, request, response) { + Error.call(this); + + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } else { + this.stack = (new Error()).stack; + } + + this.message = message; + this.name = 'AxiosError'; + code && (this.code = code); + config && (this.config = config); + request && (this.request = request); + response && (this.response = response); +} + +_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].inherits(AxiosError, Error, { + toJSON: function toJSON() { + return { + // Standard + message: this.message, + name: this.name, + // Microsoft + description: this.description, + number: this.number, + // Mozilla + fileName: this.fileName, + lineNumber: this.lineNumber, + columnNumber: this.columnNumber, + stack: this.stack, + // Axios + config: _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toJSONObject(this.config), + code: this.code, + status: this.response && this.response.status ? this.response.status : null + }; + } +}); + +const prototype = AxiosError.prototype; +const descriptors = {}; + +[ + 'ERR_BAD_OPTION_VALUE', + 'ERR_BAD_OPTION', + 'ECONNABORTED', + 'ETIMEDOUT', + 'ERR_NETWORK', + 'ERR_FR_TOO_MANY_REDIRECTS', + 'ERR_DEPRECATED', + 'ERR_BAD_RESPONSE', + 'ERR_BAD_REQUEST', + 'ERR_CANCELED', + 'ERR_NOT_SUPPORT', + 'ERR_INVALID_URL' +// eslint-disable-next-line func-names +].forEach(code => { + descriptors[code] = {value: code}; +}); + +Object.defineProperties(AxiosError, descriptors); +Object.defineProperty(prototype, 'isAxiosError', {value: true}); + +// eslint-disable-next-line func-names +AxiosError.from = (error, code, config, request, response, customProps) => { + const axiosError = Object.create(prototype); + + _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toFlatObject(error, axiosError, function filter(obj) { + return obj !== Error.prototype; + }, prop => { + return prop !== 'isAxiosError'; + }); + + AxiosError.call(axiosError, error.message, code, config, request, response); + + axiosError.cause = error; + + axiosError.name = error.name; + + customProps && Object.assign(axiosError, customProps); + + return axiosError; +}; + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AxiosError); + + +/***/ }), + +/***/ "./node_modules/axios/lib/core/AxiosHeaders.js": +/*!*****************************************************!*\ + !*** ./node_modules/axios/lib/core/AxiosHeaders.js ***! + \*****************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); +/* harmony import */ var _helpers_parseHeaders_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../helpers/parseHeaders.js */ "./node_modules/axios/lib/helpers/parseHeaders.js"); + + + + + +const $internals = Symbol('internals'); + +function normalizeHeader(header) { + return header && String(header).trim().toLowerCase(); +} + +function normalizeValue(value) { + if (value === false || value == null) { + return value; + } + + return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(value) ? value.map(normalizeValue) : String(value); +} + +function parseTokens(str) { + const tokens = Object.create(null); + const tokensRE = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g; + let match; + + while ((match = tokensRE.exec(str))) { + tokens[match[1]] = match[2]; + } + + return tokens; +} + +const isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim()); + +function matchHeaderValue(context, value, header, filter, isHeaderNameFilter) { + if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFunction(filter)) { + return filter.call(this, value, header); + } + + if (isHeaderNameFilter) { + value = header; + } + + if (!_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(value)) return; + + if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(filter)) { + return value.indexOf(filter) !== -1; + } + + if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isRegExp(filter)) { + return filter.test(value); + } +} + +function formatHeader(header) { + return header.trim() + .toLowerCase().replace(/([a-z\d])(\w*)/g, (w, char, str) => { + return char.toUpperCase() + str; + }); +} + +function buildAccessors(obj, header) { + const accessorName = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toCamelCase(' ' + header); + + ['get', 'set', 'has'].forEach(methodName => { + Object.defineProperty(obj, methodName + accessorName, { + value: function(arg1, arg2, arg3) { + return this[methodName].call(this, header, arg1, arg2, arg3); + }, + configurable: true + }); + }); +} + +class AxiosHeaders { + constructor(headers) { + headers && this.set(headers); + } + + set(header, valueOrRewrite, rewrite) { + const self = this; + + function setHeader(_value, _header, _rewrite) { + const lHeader = normalizeHeader(_header); + + if (!lHeader) { + throw new Error('header name must be a non-empty string'); + } + + const key = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].findKey(self, lHeader); + + if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) { + self[key || _header] = normalizeValue(_value); + } + } + + const setHeaders = (headers, _rewrite) => + _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite)); + + if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isPlainObject(header) || header instanceof this.constructor) { + setHeaders(header, valueOrRewrite) + } else if(_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(header) && (header = header.trim()) && !isValidHeaderName(header)) { + setHeaders((0,_helpers_parseHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"])(header), valueOrRewrite); + } else if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isHeaders(header)) { + for (const [key, value] of header.entries()) { + setHeader(value, key, rewrite); + } + } else { + header != null && setHeader(valueOrRewrite, header, rewrite); + } + + return this; + } + + get(header, parser) { + header = normalizeHeader(header); + + if (header) { + const key = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].findKey(this, header); + + if (key) { + const value = this[key]; + + if (!parser) { + return value; + } + + if (parser === true) { + return parseTokens(value); + } + + if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFunction(parser)) { + return parser.call(this, value, key); + } + + if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isRegExp(parser)) { + return parser.exec(value); + } + + throw new TypeError('parser must be boolean|regexp|function'); + } + } + } + + has(header, matcher) { + header = normalizeHeader(header); + + if (header) { + const key = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].findKey(this, header); + + return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher))); + } + + return false; + } + + delete(header, matcher) { + const self = this; + let deleted = false; + + function deleteHeader(_header) { + _header = normalizeHeader(_header); + + if (_header) { + const key = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].findKey(self, _header); + + if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) { + delete self[key]; + + deleted = true; + } + } + } + + if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(header)) { + header.forEach(deleteHeader); + } else { + deleteHeader(header); + } + + return deleted; + } + + clear(matcher) { + const keys = Object.keys(this); + let i = keys.length; + let deleted = false; + + while (i--) { + const key = keys[i]; + if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) { + delete this[key]; + deleted = true; + } + } + + return deleted; + } + + normalize(format) { + const self = this; + const headers = {}; + + _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(this, (value, header) => { + const key = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].findKey(headers, header); + + if (key) { + self[key] = normalizeValue(value); + delete self[header]; + return; + } + + const normalized = format ? formatHeader(header) : String(header).trim(); + + if (normalized !== header) { + delete self[header]; + } + + self[normalized] = normalizeValue(value); + + headers[normalized] = true; + }); + + return this; + } + + concat(...targets) { + return this.constructor.concat(this, ...targets); + } + + toJSON(asStrings) { + const obj = Object.create(null); + + _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(this, (value, header) => { + value != null && value !== false && (obj[header] = asStrings && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(value) ? value.join(', ') : value); + }); + + return obj; + } + + [Symbol.iterator]() { + return Object.entries(this.toJSON())[Symbol.iterator](); + } + + toString() { + return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\n'); + } + + get [Symbol.toStringTag]() { + return 'AxiosHeaders'; + } + + static from(thing) { + return thing instanceof this ? thing : new this(thing); + } + + static concat(first, ...targets) { + const computed = new this(first); + + targets.forEach((target) => computed.set(target)); + + return computed; + } + + static accessor(header) { + const internals = this[$internals] = (this[$internals] = { + accessors: {} + }); + + const accessors = internals.accessors; + const prototype = this.prototype; + + function defineAccessor(_header) { + const lHeader = normalizeHeader(_header); + + if (!accessors[lHeader]) { + buildAccessors(prototype, _header); + accessors[lHeader] = true; + } + } + + _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header); + + return this; + } +} + +AxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']); + +// reserved names hotfix +_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => { + let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set` + return { + get: () => value, + set(headerValue) { + this[mapped] = headerValue; + } + } +}); + +_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].freezeMethods(AxiosHeaders); + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AxiosHeaders); + + +/***/ }), + +/***/ "./node_modules/axios/lib/core/InterceptorManager.js": +/*!***********************************************************!*\ + !*** ./node_modules/axios/lib/core/InterceptorManager.js ***! + \***********************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); + + + + +class InterceptorManager { + constructor() { + this.handlers = []; + } + + /** + * Add a new interceptor to the stack + * + * @param {Function} fulfilled The function to handle `then` for a `Promise` + * @param {Function} rejected The function to handle `reject` for a `Promise` + * + * @return {Number} An ID used to remove interceptor later + */ + use(fulfilled, rejected, options) { + this.handlers.push({ + fulfilled, + rejected, + synchronous: options ? options.synchronous : false, + runWhen: options ? options.runWhen : null + }); + return this.handlers.length - 1; + } + + /** + * Remove an interceptor from the stack + * + * @param {Number} id The ID that was returned by `use` + * + * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise + */ + eject(id) { + if (this.handlers[id]) { + this.handlers[id] = null; + } + } + + /** + * Clear all interceptors from the stack + * + * @returns {void} + */ + clear() { + if (this.handlers) { + this.handlers = []; + } + } + + /** + * Iterate over all the registered interceptors + * + * This method is particularly useful for skipping over any + * interceptors that may have become `null` calling `eject`. + * + * @param {Function} fn The function to call for each interceptor + * + * @returns {void} + */ + forEach(fn) { + _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(this.handlers, function forEachHandler(h) { + if (h !== null) { + fn(h); + } + }); + } +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (InterceptorManager); + + +/***/ }), + +/***/ "./node_modules/axios/lib/core/buildFullPath.js": +/*!******************************************************!*\ + !*** ./node_modules/axios/lib/core/buildFullPath.js ***! + \******************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ buildFullPath) +/* harmony export */ }); +/* harmony import */ var _helpers_isAbsoluteURL_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../helpers/isAbsoluteURL.js */ "./node_modules/axios/lib/helpers/isAbsoluteURL.js"); +/* harmony import */ var _helpers_combineURLs_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../helpers/combineURLs.js */ "./node_modules/axios/lib/helpers/combineURLs.js"); + + + + + +/** + * Creates a new URL by combining the baseURL with the requestedURL, + * only when the requestedURL is not already an absolute URL. + * If the requestURL is absolute, this function returns the requestedURL untouched. + * + * @param {string} baseURL The base URL + * @param {string} requestedURL Absolute or relative URL to combine + * + * @returns {string} The combined full path + */ +function buildFullPath(baseURL, requestedURL) { + if (baseURL && !(0,_helpers_isAbsoluteURL_js__WEBPACK_IMPORTED_MODULE_0__["default"])(requestedURL)) { + return (0,_helpers_combineURLs_js__WEBPACK_IMPORTED_MODULE_1__["default"])(baseURL, requestedURL); + } + return requestedURL; +} + + +/***/ }), + +/***/ "./node_modules/axios/lib/core/dispatchRequest.js": +/*!********************************************************!*\ + !*** ./node_modules/axios/lib/core/dispatchRequest.js ***! + \********************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ dispatchRequest) +/* harmony export */ }); +/* harmony import */ var _transformData_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./transformData.js */ "./node_modules/axios/lib/core/transformData.js"); +/* harmony import */ var _cancel_isCancel_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../cancel/isCancel.js */ "./node_modules/axios/lib/cancel/isCancel.js"); +/* harmony import */ var _defaults_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../defaults/index.js */ "./node_modules/axios/lib/defaults/index.js"); +/* harmony import */ var _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../cancel/CanceledError.js */ "./node_modules/axios/lib/cancel/CanceledError.js"); +/* harmony import */ var _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); +/* harmony import */ var _adapters_adapters_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../adapters/adapters.js */ "./node_modules/axios/lib/adapters/adapters.js"); + + + + + + + + + +/** + * Throws a `CanceledError` if cancellation has been requested. + * + * @param {Object} config The config that is to be used for the request + * + * @returns {void} + */ +function throwIfCancellationRequested(config) { + if (config.cancelToken) { + config.cancelToken.throwIfRequested(); + } + + if (config.signal && config.signal.aborted) { + throw new _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_0__["default"](null, config); + } +} + +/** + * Dispatch a request to the server using the configured adapter. + * + * @param {object} config The config that is to be used for the request + * + * @returns {Promise} The Promise to be fulfilled + */ +function dispatchRequest(config) { + throwIfCancellationRequested(config); + + config.headers = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"].from(config.headers); + + // Transform request data + config.data = _transformData_js__WEBPACK_IMPORTED_MODULE_2__["default"].call( + config, + config.transformRequest + ); + + if (['post', 'put', 'patch'].indexOf(config.method) !== -1) { + config.headers.setContentType('application/x-www-form-urlencoded', false); + } + + const adapter = _adapters_adapters_js__WEBPACK_IMPORTED_MODULE_3__["default"].getAdapter(config.adapter || _defaults_index_js__WEBPACK_IMPORTED_MODULE_4__["default"].adapter); + + return adapter(config).then(function onAdapterResolution(response) { + throwIfCancellationRequested(config); + + // Transform response data + response.data = _transformData_js__WEBPACK_IMPORTED_MODULE_2__["default"].call( + config, + config.transformResponse, + response + ); + + response.headers = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"].from(response.headers); + + return response; + }, function onAdapterRejection(reason) { + if (!(0,_cancel_isCancel_js__WEBPACK_IMPORTED_MODULE_5__["default"])(reason)) { + throwIfCancellationRequested(config); + + // Transform response data + if (reason && reason.response) { + reason.response.data = _transformData_js__WEBPACK_IMPORTED_MODULE_2__["default"].call( + config, + config.transformResponse, + reason.response + ); + reason.response.headers = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"].from(reason.response.headers); + } + } + + return Promise.reject(reason); + }); +} + + +/***/ }), + +/***/ "./node_modules/axios/lib/core/mergeConfig.js": +/*!****************************************************!*\ + !*** ./node_modules/axios/lib/core/mergeConfig.js ***! + \****************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ mergeConfig) +/* harmony export */ }); +/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); +/* harmony import */ var _AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); + + + + + +const headersToObject = (thing) => thing instanceof _AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_0__["default"] ? { ...thing } : thing; + +/** + * Config-specific merge-function which creates a new config-object + * by merging two configuration objects together. + * + * @param {Object} config1 + * @param {Object} config2 + * + * @returns {Object} New object resulting from merging config2 to config1 + */ +function mergeConfig(config1, config2) { + // eslint-disable-next-line no-param-reassign + config2 = config2 || {}; + const config = {}; + + function getMergedValue(target, source, caseless) { + if (_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isPlainObject(target) && _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isPlainObject(source)) { + return _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].merge.call({caseless}, target, source); + } else if (_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isPlainObject(source)) { + return _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].merge({}, source); + } else if (_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isArray(source)) { + return source.slice(); + } + return source; + } + + // eslint-disable-next-line consistent-return + function mergeDeepProperties(a, b, caseless) { + if (!_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isUndefined(b)) { + return getMergedValue(a, b, caseless); + } else if (!_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isUndefined(a)) { + return getMergedValue(undefined, a, caseless); + } + } + + // eslint-disable-next-line consistent-return + function valueFromConfig2(a, b) { + if (!_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isUndefined(b)) { + return getMergedValue(undefined, b); + } + } + + // eslint-disable-next-line consistent-return + function defaultToConfig2(a, b) { + if (!_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isUndefined(b)) { + return getMergedValue(undefined, b); + } else if (!_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isUndefined(a)) { + return getMergedValue(undefined, a); + } + } + + // eslint-disable-next-line consistent-return + function mergeDirectKeys(a, b, prop) { + if (prop in config2) { + return getMergedValue(a, b); + } else if (prop in config1) { + return getMergedValue(undefined, a); + } + } + + const mergeMap = { + url: valueFromConfig2, + method: valueFromConfig2, + data: valueFromConfig2, + baseURL: defaultToConfig2, + transformRequest: defaultToConfig2, + transformResponse: defaultToConfig2, + paramsSerializer: defaultToConfig2, + timeout: defaultToConfig2, + timeoutMessage: defaultToConfig2, + withCredentials: defaultToConfig2, + withXSRFToken: defaultToConfig2, + adapter: defaultToConfig2, + responseType: defaultToConfig2, + xsrfCookieName: defaultToConfig2, + xsrfHeaderName: defaultToConfig2, + onUploadProgress: defaultToConfig2, + onDownloadProgress: defaultToConfig2, + decompress: defaultToConfig2, + maxContentLength: defaultToConfig2, + maxBodyLength: defaultToConfig2, + beforeRedirect: defaultToConfig2, + transport: defaultToConfig2, + httpAgent: defaultToConfig2, + httpsAgent: defaultToConfig2, + cancelToken: defaultToConfig2, + socketPath: defaultToConfig2, + responseEncoding: defaultToConfig2, + validateStatus: mergeDirectKeys, + headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true) + }; + + _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) { + const merge = mergeMap[prop] || mergeDeepProperties; + const configValue = merge(config1[prop], config2[prop], prop); + (_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue); + }); + + return config; +} + + +/***/ }), + +/***/ "./node_modules/axios/lib/core/settle.js": +/*!***********************************************!*\ + !*** ./node_modules/axios/lib/core/settle.js ***! + \***********************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ settle) +/* harmony export */ }); +/* harmony import */ var _AxiosError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); + + + + +/** + * Resolve or reject a Promise based on response status. + * + * @param {Function} resolve A function that resolves the promise. + * @param {Function} reject A function that rejects the promise. + * @param {object} response The response. + * + * @returns {object} The response. + */ +function settle(resolve, reject, response) { + const validateStatus = response.config.validateStatus; + if (!response.status || !validateStatus || validateStatus(response.status)) { + resolve(response); + } else { + reject(new _AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"]( + 'Request failed with status code ' + response.status, + [_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"].ERR_BAD_REQUEST, _AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"].ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4], + response.config, + response.request, + response + )); + } +} + + +/***/ }), + +/***/ "./node_modules/axios/lib/core/transformData.js": +/*!******************************************************!*\ + !*** ./node_modules/axios/lib/core/transformData.js ***! + \******************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ transformData) +/* harmony export */ }); +/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); +/* harmony import */ var _defaults_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../defaults/index.js */ "./node_modules/axios/lib/defaults/index.js"); +/* harmony import */ var _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); + + + + + + +/** + * Transform the data for a request or a response + * + * @param {Array|Function} fns A single function or Array of functions + * @param {?Object} response The response object + * + * @returns {*} The resulting transformed data + */ +function transformData(fns, response) { + const config = this || _defaults_index_js__WEBPACK_IMPORTED_MODULE_0__["default"]; + const context = response || config; + const headers = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"].from(context.headers); + let data = context.data; + + _utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].forEach(fns, function transform(fn) { + data = fn.call(config, data, headers.normalize(), response ? response.status : undefined); + }); + + headers.normalize(); + + return data; +} + + +/***/ }), + +/***/ "./node_modules/axios/lib/defaults/index.js": +/*!**************************************************!*\ + !*** ./node_modules/axios/lib/defaults/index.js ***! + \**************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); +/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); +/* harmony import */ var _transitional_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./transitional.js */ "./node_modules/axios/lib/defaults/transitional.js"); +/* harmony import */ var _helpers_toFormData_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../helpers/toFormData.js */ "./node_modules/axios/lib/helpers/toFormData.js"); +/* harmony import */ var _helpers_toURLEncodedForm_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../helpers/toURLEncodedForm.js */ "./node_modules/axios/lib/helpers/toURLEncodedForm.js"); +/* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js"); +/* harmony import */ var _helpers_formDataToJSON_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../helpers/formDataToJSON.js */ "./node_modules/axios/lib/helpers/formDataToJSON.js"); + + + + + + + + + + +/** + * It takes a string, tries to parse it, and if it fails, it returns the stringified version + * of the input + * + * @param {any} rawValue - The value to be stringified. + * @param {Function} parser - A function that parses a string into a JavaScript object. + * @param {Function} encoder - A function that takes a value and returns a string. + * + * @returns {string} A stringified version of the rawValue. + */ +function stringifySafely(rawValue, parser, encoder) { + if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(rawValue)) { + try { + (parser || JSON.parse)(rawValue); + return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].trim(rawValue); + } catch (e) { + if (e.name !== 'SyntaxError') { + throw e; + } + } + } + + return (encoder || JSON.stringify)(rawValue); +} + +const defaults = { + + transitional: _transitional_js__WEBPACK_IMPORTED_MODULE_1__["default"], + + adapter: ['xhr', 'http', 'fetch'], + + transformRequest: [function transformRequest(data, headers) { + const contentType = headers.getContentType() || ''; + const hasJSONContentType = contentType.indexOf('application/json') > -1; + const isObjectPayload = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isObject(data); + + if (isObjectPayload && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isHTMLForm(data)) { + data = new FormData(data); + } + + const isFormData = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFormData(data); + + if (isFormData) { + return hasJSONContentType ? JSON.stringify((0,_helpers_formDataToJSON_js__WEBPACK_IMPORTED_MODULE_2__["default"])(data)) : data; + } + + if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArrayBuffer(data) || + _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isBuffer(data) || + _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isStream(data) || + _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFile(data) || + _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isBlob(data) || + _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isReadableStream(data) + ) { + return data; + } + if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArrayBufferView(data)) { + return data.buffer; + } + if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isURLSearchParams(data)) { + headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false); + return data.toString(); + } + + let isFileList; + + if (isObjectPayload) { + if (contentType.indexOf('application/x-www-form-urlencoded') > -1) { + return (0,_helpers_toURLEncodedForm_js__WEBPACK_IMPORTED_MODULE_3__["default"])(data, this.formSerializer).toString(); + } + + if ((isFileList = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) { + const _FormData = this.env && this.env.FormData; + + return (0,_helpers_toFormData_js__WEBPACK_IMPORTED_MODULE_4__["default"])( + isFileList ? {'files[]': data} : data, + _FormData && new _FormData(), + this.formSerializer + ); + } + } + + if (isObjectPayload || hasJSONContentType ) { + headers.setContentType('application/json', false); + return stringifySafely(data); + } + + return data; + }], + + transformResponse: [function transformResponse(data) { + const transitional = this.transitional || defaults.transitional; + const forcedJSONParsing = transitional && transitional.forcedJSONParsing; + const JSONRequested = this.responseType === 'json'; + + if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isResponse(data) || _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isReadableStream(data)) { + return data; + } + + if (data && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) { + const silentJSONParsing = transitional && transitional.silentJSONParsing; + const strictJSONParsing = !silentJSONParsing && JSONRequested; + + try { + return JSON.parse(data); + } catch (e) { + if (strictJSONParsing) { + if (e.name === 'SyntaxError') { + throw _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_5__["default"].from(e, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_5__["default"].ERR_BAD_RESPONSE, this, null, this.response); + } + throw e; + } + } + } + + return data; + }], + + /** + * A timeout in milliseconds to abort a request. If set to 0 (default) a + * timeout is not created. + */ + timeout: 0, + + xsrfCookieName: 'XSRF-TOKEN', + xsrfHeaderName: 'X-XSRF-TOKEN', + + maxContentLength: -1, + maxBodyLength: -1, + + env: { + FormData: _platform_index_js__WEBPACK_IMPORTED_MODULE_6__["default"].classes.FormData, + Blob: _platform_index_js__WEBPACK_IMPORTED_MODULE_6__["default"].classes.Blob + }, + + validateStatus: function validateStatus(status) { + return status >= 200 && status < 300; + }, + + headers: { + common: { + 'Accept': 'application/json, text/plain, */*', + 'Content-Type': undefined + } + } +}; + +_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => { + defaults.headers[method] = {}; +}); + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (defaults); + + +/***/ }), + +/***/ "./node_modules/axios/lib/defaults/transitional.js": +/*!*********************************************************!*\ + !*** ./node_modules/axios/lib/defaults/transitional.js ***! + \*********************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + silentJSONParsing: true, + forcedJSONParsing: true, + clarifyTimeoutError: false +}); + + +/***/ }), + +/***/ "./node_modules/axios/lib/env/data.js": +/*!********************************************!*\ + !*** ./node_modules/axios/lib/env/data.js ***! + \********************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ VERSION: () => (/* binding */ VERSION) +/* harmony export */ }); +const VERSION = "1.7.2"; + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/AxiosURLSearchParams.js": +/*!****************************************************************!*\ + !*** ./node_modules/axios/lib/helpers/AxiosURLSearchParams.js ***! + \****************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _toFormData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toFormData.js */ "./node_modules/axios/lib/helpers/toFormData.js"); + + + + +/** + * It encodes a string by replacing all characters that are not in the unreserved set with + * their percent-encoded equivalents + * + * @param {string} str - The string to encode. + * + * @returns {string} The encoded string. + */ +function encode(str) { + const charMap = { + '!': '%21', + "'": '%27', + '(': '%28', + ')': '%29', + '~': '%7E', + '%20': '+', + '%00': '\x00' + }; + return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) { + return charMap[match]; + }); +} + +/** + * It takes a params object and converts it to a FormData object + * + * @param {Object} params - The parameters to be converted to a FormData object. + * @param {Object} options - The options object passed to the Axios constructor. + * + * @returns {void} + */ +function AxiosURLSearchParams(params, options) { + this._pairs = []; + + params && (0,_toFormData_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params, this, options); +} + +const prototype = AxiosURLSearchParams.prototype; + +prototype.append = function append(name, value) { + this._pairs.push([name, value]); +}; + +prototype.toString = function toString(encoder) { + const _encode = encoder ? function(value) { + return encoder.call(this, value, encode); + } : encode; + + return this._pairs.map(function each(pair) { + return _encode(pair[0]) + '=' + _encode(pair[1]); + }, '').join('&'); +}; + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AxiosURLSearchParams); + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/HttpStatusCode.js": +/*!**********************************************************!*\ + !*** ./node_modules/axios/lib/helpers/HttpStatusCode.js ***! + \**********************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const HttpStatusCode = { + Continue: 100, + SwitchingProtocols: 101, + Processing: 102, + EarlyHints: 103, + Ok: 200, + Created: 201, + Accepted: 202, + NonAuthoritativeInformation: 203, + NoContent: 204, + ResetContent: 205, + PartialContent: 206, + MultiStatus: 207, + AlreadyReported: 208, + ImUsed: 226, + MultipleChoices: 300, + MovedPermanently: 301, + Found: 302, + SeeOther: 303, + NotModified: 304, + UseProxy: 305, + Unused: 306, + TemporaryRedirect: 307, + PermanentRedirect: 308, + BadRequest: 400, + Unauthorized: 401, + PaymentRequired: 402, + Forbidden: 403, + NotFound: 404, + MethodNotAllowed: 405, + NotAcceptable: 406, + ProxyAuthenticationRequired: 407, + RequestTimeout: 408, + Conflict: 409, + Gone: 410, + LengthRequired: 411, + PreconditionFailed: 412, + PayloadTooLarge: 413, + UriTooLong: 414, + UnsupportedMediaType: 415, + RangeNotSatisfiable: 416, + ExpectationFailed: 417, + ImATeapot: 418, + MisdirectedRequest: 421, + UnprocessableEntity: 422, + Locked: 423, + FailedDependency: 424, + TooEarly: 425, + UpgradeRequired: 426, + PreconditionRequired: 428, + TooManyRequests: 429, + RequestHeaderFieldsTooLarge: 431, + UnavailableForLegalReasons: 451, + InternalServerError: 500, + NotImplemented: 501, + BadGateway: 502, + ServiceUnavailable: 503, + GatewayTimeout: 504, + HttpVersionNotSupported: 505, + VariantAlsoNegotiates: 506, + InsufficientStorage: 507, + LoopDetected: 508, + NotExtended: 510, + NetworkAuthenticationRequired: 511, +}; + +Object.entries(HttpStatusCode).forEach(([key, value]) => { + HttpStatusCode[value] = key; +}); + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (HttpStatusCode); + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/bind.js": +/*!************************************************!*\ + !*** ./node_modules/axios/lib/helpers/bind.js ***! + \************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ bind) +/* harmony export */ }); + + +function bind(fn, thisArg) { + return function wrap() { + return fn.apply(thisArg, arguments); + }; +} + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/buildURL.js": +/*!****************************************************!*\ + !*** ./node_modules/axios/lib/helpers/buildURL.js ***! + \****************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ buildURL) +/* harmony export */ }); +/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); +/* harmony import */ var _helpers_AxiosURLSearchParams_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../helpers/AxiosURLSearchParams.js */ "./node_modules/axios/lib/helpers/AxiosURLSearchParams.js"); + + + + + +/** + * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their + * URI encoded counterparts + * + * @param {string} val The value to be encoded. + * + * @returns {string} The encoded value. + */ +function encode(val) { + return encodeURIComponent(val). + replace(/%3A/gi, ':'). + replace(/%24/g, '$'). + replace(/%2C/gi, ','). + replace(/%20/g, '+'). + replace(/%5B/gi, '['). + replace(/%5D/gi, ']'); +} + +/** + * Build a URL by appending params to the end + * + * @param {string} url The base of the url (e.g., http://www.google.com) + * @param {object} [params] The params to be appended + * @param {?object} options + * + * @returns {string} The formatted url + */ +function buildURL(url, params, options) { + /*eslint no-param-reassign:0*/ + if (!params) { + return url; + } + + const _encode = options && options.encode || encode; + + const serializeFn = options && options.serialize; + + let serializedParams; + + if (serializeFn) { + serializedParams = serializeFn(params, options); + } else { + serializedParams = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isURLSearchParams(params) ? + params.toString() : + new _helpers_AxiosURLSearchParams_js__WEBPACK_IMPORTED_MODULE_1__["default"](params, options).toString(_encode); + } + + if (serializedParams) { + const hashmarkIndex = url.indexOf("#"); + + if (hashmarkIndex !== -1) { + url = url.slice(0, hashmarkIndex); + } + url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams; + } + + return url; +} + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/combineURLs.js": +/*!*******************************************************!*\ + !*** ./node_modules/axios/lib/helpers/combineURLs.js ***! + \*******************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ combineURLs) +/* harmony export */ }); + + +/** + * Creates a new URL by combining the specified URLs + * + * @param {string} baseURL The base URL + * @param {string} relativeURL The relative URL + * + * @returns {string} The combined URL + */ +function combineURLs(baseURL, relativeURL) { + return relativeURL + ? baseURL.replace(/\/?\/$/, '') + '/' + relativeURL.replace(/^\/+/, '') + : baseURL; +} + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/composeSignals.js": +/*!**********************************************************!*\ + !*** ./node_modules/axios/lib/helpers/composeSignals.js ***! + \**********************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../cancel/CanceledError.js */ "./node_modules/axios/lib/cancel/CanceledError.js"); +/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); + + + +const composeSignals = (signals, timeout) => { + let controller = new AbortController(); + + let aborted; + + const onabort = function (cancel) { + if (!aborted) { + aborted = true; + unsubscribe(); + const err = cancel instanceof Error ? cancel : this.reason; + controller.abort(err instanceof _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"] ? err : new _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_1__["default"](err instanceof Error ? err.message : err)); + } + } + + let timer = timeout && setTimeout(() => { + onabort(new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"](`timeout ${timeout} of ms exceeded`, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"].ETIMEDOUT)) + }, timeout) + + const unsubscribe = () => { + if (signals) { + timer && clearTimeout(timer); + timer = null; + signals.forEach(signal => { + signal && + (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort)); + }); + signals = null; + } + } + + signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort)); + + const {signal} = controller; + + signal.unsubscribe = unsubscribe; + + return [signal, () => { + timer && clearTimeout(timer); + timer = null; + }]; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (composeSignals); + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/cookies.js": +/*!***************************************************!*\ + !*** ./node_modules/axios/lib/helpers/cookies.js ***! + \***************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); +/* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js"); + + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_platform_index_js__WEBPACK_IMPORTED_MODULE_0__["default"].hasStandardBrowserEnv ? + + // Standard browser envs support document.cookie + { + write(name, value, expires, path, domain, secure) { + const cookie = [name + '=' + encodeURIComponent(value)]; + + _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString()); + + _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isString(path) && cookie.push('path=' + path); + + _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isString(domain) && cookie.push('domain=' + domain); + + secure === true && cookie.push('secure'); + + document.cookie = cookie.join('; '); + }, + + read(name) { + const match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)')); + return (match ? decodeURIComponent(match[3]) : null); + }, + + remove(name) { + this.write(name, '', Date.now() - 86400000); + } + } + + : + + // Non-standard browser env (web workers, react-native) lack needed support. + { + write() {}, + read() { + return null; + }, + remove() {} + }); + + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/formDataToJSON.js": +/*!**********************************************************!*\ + !*** ./node_modules/axios/lib/helpers/formDataToJSON.js ***! + \**********************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); + + + + +/** + * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z'] + * + * @param {string} name - The name of the property to get. + * + * @returns An array of strings. + */ +function parsePropPath(name) { + // foo[x][y][z] + // foo.x.y.z + // foo-x-y-z + // foo x y z + return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].matchAll(/\w+|\[(\w*)]/g, name).map(match => { + return match[0] === '[]' ? '' : match[1] || match[0]; + }); +} + +/** + * Convert an array to an object. + * + * @param {Array} arr - The array to convert to an object. + * + * @returns An object with the same keys and values as the array. + */ +function arrayToObject(arr) { + const obj = {}; + const keys = Object.keys(arr); + let i; + const len = keys.length; + let key; + for (i = 0; i < len; i++) { + key = keys[i]; + obj[key] = arr[key]; + } + return obj; +} + +/** + * It takes a FormData object and returns a JavaScript object + * + * @param {string} formData The FormData object to convert to JSON. + * + * @returns {Object | null} The converted object. + */ +function formDataToJSON(formData) { + function buildPath(path, value, target, index) { + let name = path[index++]; + + if (name === '__proto__') return true; + + const isNumericKey = Number.isFinite(+name); + const isLast = index >= path.length; + name = !name && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(target) ? target.length : name; + + if (isLast) { + if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].hasOwnProp(target, name)) { + target[name] = [target[name], value]; + } else { + target[name] = value; + } + + return !isNumericKey; + } + + if (!target[name] || !_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isObject(target[name])) { + target[name] = []; + } + + const result = buildPath(path, value, target[name], index); + + if (result && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(target[name])) { + target[name] = arrayToObject(target[name]); + } + + return !isNumericKey; + } + + if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFormData(formData) && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFunction(formData.entries)) { + const obj = {}; + + _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEachEntry(formData, (name, value) => { + buildPath(parsePropPath(name), value, obj, 0); + }); + + return obj; + } + + return null; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (formDataToJSON); + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/isAbsoluteURL.js": +/*!*********************************************************!*\ + !*** ./node_modules/axios/lib/helpers/isAbsoluteURL.js ***! + \*********************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ isAbsoluteURL) +/* harmony export */ }); + + +/** + * Determines whether the specified URL is absolute + * + * @param {string} url The URL to test + * + * @returns {boolean} True if the specified URL is absolute, otherwise false + */ +function isAbsoluteURL(url) { + // A URL is considered absolute if it begins with "://" or "//" (protocol-relative URL). + // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed + // by any combination of letters, digits, plus, period, or hyphen. + return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url); +} + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/isAxiosError.js": +/*!********************************************************!*\ + !*** ./node_modules/axios/lib/helpers/isAxiosError.js ***! + \********************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ isAxiosError) +/* harmony export */ }); +/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); + + + + +/** + * Determines whether the payload is an error thrown by Axios + * + * @param {*} payload The value to test + * + * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false + */ +function isAxiosError(payload) { + return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isObject(payload) && (payload.isAxiosError === true); +} + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/isURLSameOrigin.js": +/*!***********************************************************!*\ + !*** ./node_modules/axios/lib/helpers/isURLSameOrigin.js ***! + \***********************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); +/* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js"); + + + + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_platform_index_js__WEBPACK_IMPORTED_MODULE_0__["default"].hasStandardBrowserEnv ? + +// Standard browser envs have full support of the APIs needed to test +// whether the request URL is of the same origin as current location. + (function standardBrowserEnv() { + const msie = /(msie|trident)/i.test(navigator.userAgent); + const urlParsingNode = document.createElement('a'); + let originURL; + + /** + * Parse a URL to discover its components + * + * @param {String} url The URL to be parsed + * @returns {Object} + */ + function resolveURL(url) { + let href = url; + + if (msie) { + // IE needs attribute set twice to normalize properties + urlParsingNode.setAttribute('href', href); + href = urlParsingNode.href; + } + + urlParsingNode.setAttribute('href', href); + + // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils + return { + href: urlParsingNode.href, + protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '', + host: urlParsingNode.host, + search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '', + hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '', + hostname: urlParsingNode.hostname, + port: urlParsingNode.port, + pathname: (urlParsingNode.pathname.charAt(0) === '/') ? + urlParsingNode.pathname : + '/' + urlParsingNode.pathname + }; + } + + originURL = resolveURL(window.location.href); + + /** + * Determine if a URL shares the same origin as the current location + * + * @param {String} requestURL The URL to test + * @returns {boolean} True if URL shares the same origin, otherwise false + */ + return function isURLSameOrigin(requestURL) { + const parsed = (_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isString(requestURL)) ? resolveURL(requestURL) : requestURL; + return (parsed.protocol === originURL.protocol && + parsed.host === originURL.host); + }; + })() : + + // Non standard browser envs (web workers, react-native) lack needed support. + (function nonStandardBrowserEnv() { + return function isURLSameOrigin() { + return true; + }; + })()); + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/null.js": +/*!************************************************!*\ + !*** ./node_modules/axios/lib/helpers/null.js ***! + \************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +// eslint-disable-next-line strict +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (null); + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/parseHeaders.js": +/*!********************************************************!*\ + !*** ./node_modules/axios/lib/helpers/parseHeaders.js ***! + \********************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); + + + + +// RawAxiosHeaders whose duplicates are ignored by node +// c.f. https://nodejs.org/api/http.html#http_message_headers +const ignoreDuplicateOf = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toObjectSet([ + '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' +]); + +/** + * Parse headers into an object + * + * ``` + * Date: Wed, 27 Aug 2014 08:58:49 GMT + * Content-Type: application/json + * Connection: keep-alive + * Transfer-Encoding: chunked + * ``` + * + * @param {String} rawHeaders Headers needing to be parsed + * + * @returns {Object} Headers parsed into an object + */ +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (rawHeaders => { + const parsed = {}; + let key; + let val; + let i; + + rawHeaders && rawHeaders.split('\n').forEach(function parser(line) { + i = line.indexOf(':'); + key = line.substring(0, i).trim().toLowerCase(); + val = line.substring(i + 1).trim(); + + if (!key || (parsed[key] && ignoreDuplicateOf[key])) { + return; + } + + if (key === 'set-cookie') { + if (parsed[key]) { + parsed[key].push(val); + } else { + parsed[key] = [val]; + } + } else { + parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val; + } + }); + + return parsed; +}); + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/parseProtocol.js": +/*!*********************************************************!*\ + !*** ./node_modules/axios/lib/helpers/parseProtocol.js ***! + \*********************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ parseProtocol) +/* harmony export */ }); + + +function parseProtocol(url) { + const match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url); + return match && match[1] || ''; +} + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/progressEventReducer.js": +/*!****************************************************************!*\ + !*** ./node_modules/axios/lib/helpers/progressEventReducer.js ***! + \****************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _speedometer_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./speedometer.js */ "./node_modules/axios/lib/helpers/speedometer.js"); +/* harmony import */ var _throttle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./throttle.js */ "./node_modules/axios/lib/helpers/throttle.js"); + + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((listener, isDownloadStream, freq = 3) => { + let bytesNotified = 0; + const _speedometer = (0,_speedometer_js__WEBPACK_IMPORTED_MODULE_0__["default"])(50, 250); + + return (0,_throttle_js__WEBPACK_IMPORTED_MODULE_1__["default"])(e => { + const loaded = e.loaded; + const total = e.lengthComputable ? e.total : undefined; + const progressBytes = loaded - bytesNotified; + const rate = _speedometer(progressBytes); + const inRange = loaded <= total; + + bytesNotified = loaded; + + const data = { + loaded, + total, + progress: total ? (loaded / total) : undefined, + bytes: progressBytes, + rate: rate ? rate : undefined, + estimated: rate && total && inRange ? (total - loaded) / rate : undefined, + event: e, + lengthComputable: total != null + }; + + data[isDownloadStream ? 'download' : 'upload'] = true; + + listener(data); + }, freq); +}); + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/resolveConfig.js": +/*!*********************************************************!*\ + !*** ./node_modules/axios/lib/helpers/resolveConfig.js ***! + \*********************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js"); +/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); +/* harmony import */ var _isURLSameOrigin_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./isURLSameOrigin.js */ "./node_modules/axios/lib/helpers/isURLSameOrigin.js"); +/* harmony import */ var _cookies_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./cookies.js */ "./node_modules/axios/lib/helpers/cookies.js"); +/* harmony import */ var _core_buildFullPath_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../core/buildFullPath.js */ "./node_modules/axios/lib/core/buildFullPath.js"); +/* harmony import */ var _core_mergeConfig_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/mergeConfig.js */ "./node_modules/axios/lib/core/mergeConfig.js"); +/* harmony import */ var _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); +/* harmony import */ var _buildURL_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./buildURL.js */ "./node_modules/axios/lib/helpers/buildURL.js"); + + + + + + + + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((config) => { + const newConfig = (0,_core_mergeConfig_js__WEBPACK_IMPORTED_MODULE_0__["default"])({}, config); + + let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig; + + newConfig.headers = headers = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"].from(headers); + + newConfig.url = (0,_buildURL_js__WEBPACK_IMPORTED_MODULE_2__["default"])((0,_core_buildFullPath_js__WEBPACK_IMPORTED_MODULE_3__["default"])(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer); + + // HTTP basic authentication + if (auth) { + headers.set('Authorization', 'Basic ' + + btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : '')) + ); + } + + let contentType; + + if (_utils_js__WEBPACK_IMPORTED_MODULE_4__["default"].isFormData(data)) { + if (_platform_index_js__WEBPACK_IMPORTED_MODULE_5__["default"].hasStandardBrowserEnv || _platform_index_js__WEBPACK_IMPORTED_MODULE_5__["default"].hasStandardBrowserWebWorkerEnv) { + headers.setContentType(undefined); // Let the browser set it + } else if ((contentType = headers.getContentType()) !== false) { + // fix semicolon duplication issue for ReactNative FormData implementation + const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : []; + headers.setContentType([type || 'multipart/form-data', ...tokens].join('; ')); + } + } + + // Add xsrf header + // This is only done if running in a standard browser environment. + // Specifically not if we're in a web worker, or react-native. + + if (_platform_index_js__WEBPACK_IMPORTED_MODULE_5__["default"].hasStandardBrowserEnv) { + withXSRFToken && _utils_js__WEBPACK_IMPORTED_MODULE_4__["default"].isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig)); + + if (withXSRFToken || (withXSRFToken !== false && (0,_isURLSameOrigin_js__WEBPACK_IMPORTED_MODULE_6__["default"])(newConfig.url))) { + // Add xsrf header + const xsrfValue = xsrfHeaderName && xsrfCookieName && _cookies_js__WEBPACK_IMPORTED_MODULE_7__["default"].read(xsrfCookieName); + + if (xsrfValue) { + headers.set(xsrfHeaderName, xsrfValue); + } + } + } + + return newConfig; +}); + + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/speedometer.js": +/*!*******************************************************!*\ + !*** ./node_modules/axios/lib/helpers/speedometer.js ***! + \*******************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); + + +/** + * Calculate data maxRate + * @param {Number} [samplesCount= 10] + * @param {Number} [min= 1000] + * @returns {Function} + */ +function speedometer(samplesCount, min) { + samplesCount = samplesCount || 10; + const bytes = new Array(samplesCount); + const timestamps = new Array(samplesCount); + let head = 0; + let tail = 0; + let firstSampleTS; + + min = min !== undefined ? min : 1000; + + return function push(chunkLength) { + const now = Date.now(); + + const startedAt = timestamps[tail]; + + if (!firstSampleTS) { + firstSampleTS = now; + } + + bytes[head] = chunkLength; + timestamps[head] = now; + + let i = tail; + let bytesCount = 0; + + while (i !== head) { + bytesCount += bytes[i++]; + i = i % samplesCount; + } + + head = (head + 1) % samplesCount; + + if (head === tail) { + tail = (tail + 1) % samplesCount; + } + + if (now - firstSampleTS < min) { + return; + } + + const passed = startedAt && now - startedAt; + + return passed ? Math.round(bytesCount * 1000 / passed) : undefined; + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (speedometer); + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/spread.js": +/*!**************************************************!*\ + !*** ./node_modules/axios/lib/helpers/spread.js ***! + \**************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ spread) +/* harmony export */ }); + + +/** + * Syntactic sugar for invoking a function and expanding an array for arguments. + * + * Common use case would be to use `Function.prototype.apply`. + * + * ```js + * function f(x, y, z) {} + * var args = [1, 2, 3]; + * f.apply(null, args); + * ``` + * + * With `spread` this example can be re-written. + * + * ```js + * spread(function(x, y, z) {})([1, 2, 3]); + * ``` + * + * @param {Function} callback + * + * @returns {Function} + */ +function spread(callback) { + return function wrap(arr) { + return callback.apply(null, arr); + }; +} + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/throttle.js": +/*!****************************************************!*\ + !*** ./node_modules/axios/lib/helpers/throttle.js ***! + \****************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); + + +/** + * Throttle decorator + * @param {Function} fn + * @param {Number} freq + * @return {Function} + */ +function throttle(fn, freq) { + let timestamp = 0; + const threshold = 1000 / freq; + let timer = null; + return function throttled() { + const force = this === true; + + const now = Date.now(); + if (force || now - timestamp > threshold) { + if (timer) { + clearTimeout(timer); + timer = null; + } + timestamp = now; + return fn.apply(null, arguments); + } + if (!timer) { + timer = setTimeout(() => { + timer = null; + timestamp = Date.now(); + return fn.apply(null, arguments); + }, threshold - (now - timestamp)); + } + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (throttle); + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/toFormData.js": +/*!******************************************************!*\ + !*** ./node_modules/axios/lib/helpers/toFormData.js ***! + \******************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); +/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); +/* harmony import */ var _platform_node_classes_FormData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../platform/node/classes/FormData.js */ "./node_modules/axios/lib/helpers/null.js"); + + + + +// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored + + +/** + * Determines if the given thing is a array or js object. + * + * @param {string} thing - The object or array to be visited. + * + * @returns {boolean} + */ +function isVisitable(thing) { + return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isPlainObject(thing) || _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(thing); +} + +/** + * It removes the brackets from the end of a string + * + * @param {string} key - The key of the parameter. + * + * @returns {string} the key without the brackets. + */ +function removeBrackets(key) { + return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].endsWith(key, '[]') ? key.slice(0, -2) : key; +} + +/** + * It takes a path, a key, and a boolean, and returns a string + * + * @param {string} path - The path to the current key. + * @param {string} key - The key of the current object being iterated over. + * @param {string} dots - If true, the key will be rendered with dots instead of brackets. + * + * @returns {string} The path to the current key. + */ +function renderKey(path, key, dots) { + if (!path) return key; + return path.concat(key).map(function each(token, i) { + // eslint-disable-next-line no-param-reassign + token = removeBrackets(token); + return !dots && i ? '[' + token + ']' : token; + }).join(dots ? '.' : ''); +} + +/** + * If the array is an array and none of its elements are visitable, then it's a flat array. + * + * @param {Array} arr - The array to check + * + * @returns {boolean} + */ +function isFlatArray(arr) { + return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(arr) && !arr.some(isVisitable); +} + +const predicates = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toFlatObject(_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"], {}, null, function filter(prop) { + return /^is[A-Z]/.test(prop); +}); + +/** + * Convert a data object to FormData + * + * @param {Object} obj + * @param {?Object} [formData] + * @param {?Object} [options] + * @param {Function} [options.visitor] + * @param {Boolean} [options.metaTokens = true] + * @param {Boolean} [options.dots = false] + * @param {?Boolean} [options.indexes = false] + * + * @returns {Object} + **/ + +/** + * It converts an object into a FormData object + * + * @param {Object} obj - The object to convert to form data. + * @param {string} formData - The FormData object to append to. + * @param {Object} options + * + * @returns + */ +function toFormData(obj, formData, options) { + if (!_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isObject(obj)) { + throw new TypeError('target must be an object'); + } + + // eslint-disable-next-line no-param-reassign + formData = formData || new (_platform_node_classes_FormData_js__WEBPACK_IMPORTED_MODULE_1__["default"] || FormData)(); + + // eslint-disable-next-line no-param-reassign + options = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toFlatObject(options, { + metaTokens: true, + dots: false, + indexes: false + }, false, function defined(option, source) { + // eslint-disable-next-line no-eq-null,eqeqeq + return !_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isUndefined(source[option]); + }); + + const metaTokens = options.metaTokens; + // eslint-disable-next-line no-use-before-define + const visitor = options.visitor || defaultVisitor; + const dots = options.dots; + const indexes = options.indexes; + const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob; + const useBlob = _Blob && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isSpecCompliantForm(formData); + + if (!_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFunction(visitor)) { + throw new TypeError('visitor must be a function'); + } + + function convertValue(value) { + if (value === null) return ''; + + if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isDate(value)) { + return value.toISOString(); + } + + if (!useBlob && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isBlob(value)) { + throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_2__["default"]('Blob is not supported. Use a Buffer instead.'); + } + + if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArrayBuffer(value) || _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isTypedArray(value)) { + return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value); + } + + return value; + } + + /** + * Default visitor. + * + * @param {*} value + * @param {String|Number} key + * @param {Array} path + * @this {FormData} + * + * @returns {boolean} return true to visit the each prop of the value recursively + */ + function defaultVisitor(value, key, path) { + let arr = value; + + if (value && !path && typeof value === 'object') { + if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].endsWith(key, '{}')) { + // eslint-disable-next-line no-param-reassign + key = metaTokens ? key : key.slice(0, -2); + // eslint-disable-next-line no-param-reassign + value = JSON.stringify(value); + } else if ( + (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(value) && isFlatArray(value)) || + ((_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFileList(value) || _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].endsWith(key, '[]')) && (arr = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toArray(value)) + )) { + // eslint-disable-next-line no-param-reassign + key = removeBrackets(key); + + arr.forEach(function each(el, index) { + !(_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isUndefined(el) || el === null) && formData.append( + // eslint-disable-next-line no-nested-ternary + indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'), + convertValue(el) + ); + }); + return false; + } + } + + if (isVisitable(value)) { + return true; + } + + formData.append(renderKey(path, key, dots), convertValue(value)); + + return false; + } + + const stack = []; + + const exposedHelpers = Object.assign(predicates, { + defaultVisitor, + convertValue, + isVisitable + }); + + function build(value, path) { + if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isUndefined(value)) return; + + if (stack.indexOf(value) !== -1) { + throw Error('Circular reference detected in ' + path.join('.')); + } + + stack.push(value); + + _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(value, function each(el, key) { + const result = !(_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isUndefined(el) || el === null) && visitor.call( + formData, el, _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(key) ? key.trim() : key, path, exposedHelpers + ); + + if (result === true) { + build(el, path ? path.concat(key) : [key]); + } + }); + + stack.pop(); + } + + if (!_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isObject(obj)) { + throw new TypeError('data must be an object'); + } + + build(obj); + + return formData; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (toFormData); + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/toURLEncodedForm.js": +/*!************************************************************!*\ + !*** ./node_modules/axios/lib/helpers/toURLEncodedForm.js ***! + \************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ toURLEncodedForm) +/* harmony export */ }); +/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); +/* harmony import */ var _toFormData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toFormData.js */ "./node_modules/axios/lib/helpers/toFormData.js"); +/* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js"); + + + + + + +function toURLEncodedForm(data, options) { + return (0,_toFormData_js__WEBPACK_IMPORTED_MODULE_0__["default"])(data, new _platform_index_js__WEBPACK_IMPORTED_MODULE_1__["default"].classes.URLSearchParams(), Object.assign({ + visitor: function(value, key, path, helpers) { + if (_platform_index_js__WEBPACK_IMPORTED_MODULE_1__["default"].isNode && _utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].isBuffer(value)) { + this.append(key, value.toString('base64')); + return false; + } + + return helpers.defaultVisitor.apply(this, arguments); + } + }, options)); +} + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/trackStream.js": +/*!*******************************************************!*\ + !*** ./node_modules/axios/lib/helpers/trackStream.js ***! + \*******************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ readBytes: () => (/* binding */ readBytes), +/* harmony export */ streamChunk: () => (/* binding */ streamChunk), +/* harmony export */ trackStream: () => (/* binding */ trackStream) +/* harmony export */ }); + + +const streamChunk = function* (chunk, chunkSize) { + let len = chunk.byteLength; + + if (!chunkSize || len < chunkSize) { + yield chunk; + return; + } + + let pos = 0; + let end; + + while (pos < len) { + end = pos + chunkSize; + yield chunk.slice(pos, end); + pos = end; + } +} + +const readBytes = async function* (iterable, chunkSize, encode) { + for await (const chunk of iterable) { + yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize); + } +} + +const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => { + const iterator = readBytes(stream, chunkSize, encode); + + let bytes = 0; + + return new ReadableStream({ + type: 'bytes', + + async pull(controller) { + const {done, value} = await iterator.next(); + + if (done) { + controller.close(); + onFinish(); + return; + } + + let len = value.byteLength; + onProgress && onProgress(bytes += len); + controller.enqueue(new Uint8Array(value)); + }, + cancel(reason) { + onFinish(reason); + return iterator.return(); + } + }, { + highWaterMark: 2 + }) +} + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/validator.js": +/*!*****************************************************!*\ + !*** ./node_modules/axios/lib/helpers/validator.js ***! + \*****************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _env_data_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../env/data.js */ "./node_modules/axios/lib/env/data.js"); +/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); + + + + + +const validators = {}; + +// eslint-disable-next-line func-names +['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => { + validators[type] = function validator(thing) { + return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type; + }; +}); + +const deprecatedWarnings = {}; + +/** + * Transitional option validator + * + * @param {function|boolean?} validator - set to false if the transitional option has been removed + * @param {string?} version - deprecated version / removed since version + * @param {string?} message - some message with additional info + * + * @returns {function} + */ +validators.transitional = function transitional(validator, version, message) { + function formatMessage(opt, desc) { + return '[Axios v' + _env_data_js__WEBPACK_IMPORTED_MODULE_0__.VERSION + '] Transitional option \'' + opt + '\'' + desc + (message ? '. ' + message : ''); + } + + // eslint-disable-next-line func-names + return (value, opt, opts) => { + if (validator === false) { + throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"]( + formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')), + _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"].ERR_DEPRECATED + ); + } + + if (version && !deprecatedWarnings[opt]) { + deprecatedWarnings[opt] = true; + // eslint-disable-next-line no-console + console.warn( + formatMessage( + opt, + ' has been deprecated since v' + version + ' and will be removed in the near future' + ) + ); + } + + return validator ? validator(value, opt, opts) : true; + }; +}; + +/** + * Assert object's properties type + * + * @param {object} options + * @param {object} schema + * @param {boolean?} allowUnknown + * + * @returns {object} + */ + +function assertOptions(options, schema, allowUnknown) { + if (typeof options !== 'object') { + throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"]('options must be an object', _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"].ERR_BAD_OPTION_VALUE); + } + const keys = Object.keys(options); + let i = keys.length; + while (i-- > 0) { + const opt = keys[i]; + const validator = schema[opt]; + if (validator) { + const value = options[opt]; + const result = value === undefined || validator(value, opt, options); + if (result !== true) { + throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"]('option ' + opt + ' must be ' + result, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"].ERR_BAD_OPTION_VALUE); + } + continue; + } + if (allowUnknown !== true) { + throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"]('Unknown option ' + opt, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"].ERR_BAD_OPTION); + } + } +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + assertOptions, + validators +}); + + +/***/ }), + +/***/ "./node_modules/axios/lib/platform/browser/classes/Blob.js": +/*!*****************************************************************!*\ + !*** ./node_modules/axios/lib/platform/browser/classes/Blob.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (typeof Blob !== 'undefined' ? Blob : null); + + +/***/ }), + +/***/ "./node_modules/axios/lib/platform/browser/classes/FormData.js": +/*!*********************************************************************!*\ + !*** ./node_modules/axios/lib/platform/browser/classes/FormData.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (typeof FormData !== 'undefined' ? FormData : null); + + +/***/ }), + +/***/ "./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js": +/*!****************************************************************************!*\ + !*** ./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _helpers_AxiosURLSearchParams_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../helpers/AxiosURLSearchParams.js */ "./node_modules/axios/lib/helpers/AxiosURLSearchParams.js"); + + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (typeof URLSearchParams !== 'undefined' ? URLSearchParams : _helpers_AxiosURLSearchParams_js__WEBPACK_IMPORTED_MODULE_0__["default"]); + + +/***/ }), + +/***/ "./node_modules/axios/lib/platform/browser/index.js": +/*!**********************************************************!*\ + !*** ./node_modules/axios/lib/platform/browser/index.js ***! + \**********************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _classes_URLSearchParams_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./classes/URLSearchParams.js */ "./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js"); +/* harmony import */ var _classes_FormData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./classes/FormData.js */ "./node_modules/axios/lib/platform/browser/classes/FormData.js"); +/* harmony import */ var _classes_Blob_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./classes/Blob.js */ "./node_modules/axios/lib/platform/browser/classes/Blob.js"); + + + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + isBrowser: true, + classes: { + URLSearchParams: _classes_URLSearchParams_js__WEBPACK_IMPORTED_MODULE_0__["default"], + FormData: _classes_FormData_js__WEBPACK_IMPORTED_MODULE_1__["default"], + Blob: _classes_Blob_js__WEBPACK_IMPORTED_MODULE_2__["default"] + }, + protocols: ['http', 'https', 'file', 'blob', 'url', 'data'] +}); + + +/***/ }), + +/***/ "./node_modules/axios/lib/platform/common/utils.js": +/*!*********************************************************!*\ + !*** ./node_modules/axios/lib/platform/common/utils.js ***! + \*********************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ hasBrowserEnv: () => (/* binding */ hasBrowserEnv), +/* harmony export */ hasStandardBrowserEnv: () => (/* binding */ hasStandardBrowserEnv), +/* harmony export */ hasStandardBrowserWebWorkerEnv: () => (/* binding */ hasStandardBrowserWebWorkerEnv), +/* harmony export */ origin: () => (/* binding */ origin) +/* harmony export */ }); +const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined'; + +/** + * Determine if we're running in a standard browser environment + * + * This allows axios to run in a web worker, and react-native. + * Both environments support XMLHttpRequest, but not fully standard globals. + * + * web workers: + * typeof window -> undefined + * typeof document -> undefined + * + * react-native: + * navigator.product -> 'ReactNative' + * nativescript + * navigator.product -> 'NativeScript' or 'NS' + * + * @returns {boolean} + */ +const hasStandardBrowserEnv = ( + (product) => { + return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0 + })(typeof navigator !== 'undefined' && navigator.product); + +/** + * Determine if we're running in a standard browser webWorker environment + * + * Although the `isStandardBrowserEnv` method indicates that + * `allows axios to run in a web worker`, the WebWorker will still be + * filtered out due to its judgment standard + * `typeof window !== 'undefined' && typeof document !== 'undefined'`. + * This leads to a problem when axios post `FormData` in webWorker + */ +const hasStandardBrowserWebWorkerEnv = (() => { + return ( + typeof WorkerGlobalScope !== 'undefined' && + // eslint-disable-next-line no-undef + self instanceof WorkerGlobalScope && + typeof self.importScripts === 'function' + ); +})(); + +const origin = hasBrowserEnv && window.location.href || 'http://localhost'; + + + + +/***/ }), + +/***/ "./node_modules/axios/lib/platform/index.js": +/*!**************************************************!*\ + !*** ./node_modules/axios/lib/platform/index.js ***! + \**************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _node_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node/index.js */ "./node_modules/axios/lib/platform/browser/index.js"); +/* harmony import */ var _common_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./common/utils.js */ "./node_modules/axios/lib/platform/common/utils.js"); + + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + ..._common_utils_js__WEBPACK_IMPORTED_MODULE_0__, + ..._node_index_js__WEBPACK_IMPORTED_MODULE_1__["default"] +}); + + +/***/ }), + +/***/ "./node_modules/axios/lib/utils.js": +/*!*****************************************!*\ + !*** ./node_modules/axios/lib/utils.js ***! + \*****************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _helpers_bind_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helpers/bind.js */ "./node_modules/axios/lib/helpers/bind.js"); + + + + +// utils is a library of generic helper functions non-specific to axios + +const {toString} = Object.prototype; +const {getPrototypeOf} = Object; + +const kindOf = (cache => thing => { + const str = toString.call(thing); + return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase()); +})(Object.create(null)); + +const kindOfTest = (type) => { + type = type.toLowerCase(); + return (thing) => kindOf(thing) === type +} + +const typeOfTest = type => thing => typeof thing === type; + +/** + * Determine if a value is an Array + * + * @param {Object} val The value to test + * + * @returns {boolean} True if value is an Array, otherwise false + */ +const {isArray} = Array; + +/** + * Determine if a value is undefined + * + * @param {*} val The value to test + * + * @returns {boolean} True if the value is undefined, otherwise false + */ +const isUndefined = typeOfTest('undefined'); + +/** + * Determine if a value is a Buffer + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Buffer, otherwise false + */ +function isBuffer(val) { + return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) + && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val); +} + +/** + * Determine if a value is an ArrayBuffer + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is an ArrayBuffer, otherwise false + */ +const isArrayBuffer = kindOfTest('ArrayBuffer'); + + +/** + * Determine if a value is a view on an ArrayBuffer + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false + */ +function isArrayBufferView(val) { + let result; + if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) { + result = ArrayBuffer.isView(val); + } else { + result = (val) && (val.buffer) && (isArrayBuffer(val.buffer)); + } + return result; +} + +/** + * Determine if a value is a String + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a String, otherwise false + */ +const isString = typeOfTest('string'); + +/** + * Determine if a value is a Function + * + * @param {*} val The value to test + * @returns {boolean} True if value is a Function, otherwise false + */ +const isFunction = typeOfTest('function'); + +/** + * Determine if a value is a Number + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Number, otherwise false + */ +const isNumber = typeOfTest('number'); + +/** + * Determine if a value is an Object + * + * @param {*} thing The value to test + * + * @returns {boolean} True if value is an Object, otherwise false + */ +const isObject = (thing) => thing !== null && typeof thing === 'object'; + +/** + * Determine if a value is a Boolean + * + * @param {*} thing The value to test + * @returns {boolean} True if value is a Boolean, otherwise false + */ +const isBoolean = thing => thing === true || thing === false; + +/** + * Determine if a value is a plain Object + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a plain Object, otherwise false + */ +const isPlainObject = (val) => { + if (kindOf(val) !== 'object') { + return false; + } + + const prototype = getPrototypeOf(val); + return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val); +} + +/** + * Determine if a value is a Date + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Date, otherwise false + */ +const isDate = kindOfTest('Date'); + +/** + * Determine if a value is a File + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a File, otherwise false + */ +const isFile = kindOfTest('File'); + +/** + * Determine if a value is a Blob + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Blob, otherwise false + */ +const isBlob = kindOfTest('Blob'); + +/** + * Determine if a value is a FileList + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a File, otherwise false + */ +const isFileList = kindOfTest('FileList'); + +/** + * Determine if a value is a Stream + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Stream, otherwise false + */ +const isStream = (val) => isObject(val) && isFunction(val.pipe); + +/** + * Determine if a value is a FormData + * + * @param {*} thing The value to test + * + * @returns {boolean} True if value is an FormData, otherwise false + */ +const isFormData = (thing) => { + let kind; + return thing && ( + (typeof FormData === 'function' && thing instanceof FormData) || ( + isFunction(thing.append) && ( + (kind = kindOf(thing)) === 'formdata' || + // detect form-data instance + (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]') + ) + ) + ) +} + +/** + * Determine if a value is a URLSearchParams object + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a URLSearchParams object, otherwise false + */ +const isURLSearchParams = kindOfTest('URLSearchParams'); + +const [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest); + +/** + * Trim excess whitespace off the beginning and end of a string + * + * @param {String} str The String to trim + * + * @returns {String} The String freed of excess whitespace + */ +const trim = (str) => str.trim ? + str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); + +/** + * Iterate over an Array or an Object invoking a function for each item. + * + * If `obj` is an Array callback will be called passing + * the value, index, and complete array for each item. + * + * If 'obj' is an Object callback will be called passing + * the value, key, and complete object for each property. + * + * @param {Object|Array} obj The object to iterate + * @param {Function} fn The callback to invoke for each item + * + * @param {Boolean} [allOwnKeys = false] + * @returns {any} + */ +function forEach(obj, fn, {allOwnKeys = false} = {}) { + // Don't bother if no value provided + if (obj === null || typeof obj === 'undefined') { + return; + } + + let i; + let l; + + // Force an array if not already something iterable + if (typeof obj !== 'object') { + /*eslint no-param-reassign:0*/ + obj = [obj]; + } + + if (isArray(obj)) { + // Iterate over array values + for (i = 0, l = obj.length; i < l; i++) { + fn.call(null, obj[i], i, obj); + } + } else { + // Iterate over object keys + const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj); + const len = keys.length; + let key; + + for (i = 0; i < len; i++) { + key = keys[i]; + fn.call(null, obj[key], key, obj); + } + } +} + +function findKey(obj, key) { + key = key.toLowerCase(); + const keys = Object.keys(obj); + let i = keys.length; + let _key; + while (i-- > 0) { + _key = keys[i]; + if (key === _key.toLowerCase()) { + return _key; + } + } + return null; +} + +const _global = (() => { + /*eslint no-undef:0*/ + if (typeof globalThis !== "undefined") return globalThis; + return typeof self !== "undefined" ? self : (typeof window !== 'undefined' ? window : global) +})(); + +const isContextDefined = (context) => !isUndefined(context) && context !== _global; + +/** + * Accepts varargs expecting each argument to be an object, then + * immutably merges the properties of each object and returns result. + * + * When multiple objects contain the same key the later object in + * the arguments list will take precedence. + * + * Example: + * + * ```js + * var result = merge({foo: 123}, {foo: 456}); + * console.log(result.foo); // outputs 456 + * ``` + * + * @param {Object} obj1 Object to merge + * + * @returns {Object} Result of all merge properties + */ +function merge(/* obj1, obj2, obj3, ... */) { + const {caseless} = isContextDefined(this) && this || {}; + const result = {}; + const assignValue = (val, key) => { + const targetKey = caseless && findKey(result, key) || key; + if (isPlainObject(result[targetKey]) && isPlainObject(val)) { + result[targetKey] = merge(result[targetKey], val); + } else if (isPlainObject(val)) { + result[targetKey] = merge({}, val); + } else if (isArray(val)) { + result[targetKey] = val.slice(); + } else { + result[targetKey] = val; + } + } + + for (let i = 0, l = arguments.length; i < l; i++) { + arguments[i] && forEach(arguments[i], assignValue); + } + return result; +} + +/** + * Extends object a by mutably adding to it the properties of object b. + * + * @param {Object} a The object to be extended + * @param {Object} b The object to copy properties from + * @param {Object} thisArg The object to bind function to + * + * @param {Boolean} [allOwnKeys] + * @returns {Object} The resulting value of object a + */ +const extend = (a, b, thisArg, {allOwnKeys}= {}) => { + forEach(b, (val, key) => { + if (thisArg && isFunction(val)) { + a[key] = (0,_helpers_bind_js__WEBPACK_IMPORTED_MODULE_0__["default"])(val, thisArg); + } else { + a[key] = val; + } + }, {allOwnKeys}); + return a; +} + +/** + * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM) + * + * @param {string} content with BOM + * + * @returns {string} content value without BOM + */ +const stripBOM = (content) => { + if (content.charCodeAt(0) === 0xFEFF) { + content = content.slice(1); + } + return content; +} + +/** + * Inherit the prototype methods from one constructor into another + * @param {function} constructor + * @param {function} superConstructor + * @param {object} [props] + * @param {object} [descriptors] + * + * @returns {void} + */ +const inherits = (constructor, superConstructor, props, descriptors) => { + constructor.prototype = Object.create(superConstructor.prototype, descriptors); + constructor.prototype.constructor = constructor; + Object.defineProperty(constructor, 'super', { + value: superConstructor.prototype + }); + props && Object.assign(constructor.prototype, props); +} + +/** + * Resolve object with deep prototype chain to a flat object + * @param {Object} sourceObj source object + * @param {Object} [destObj] + * @param {Function|Boolean} [filter] + * @param {Function} [propFilter] + * + * @returns {Object} + */ +const toFlatObject = (sourceObj, destObj, filter, propFilter) => { + let props; + let i; + let prop; + const merged = {}; + + destObj = destObj || {}; + // eslint-disable-next-line no-eq-null,eqeqeq + if (sourceObj == null) return destObj; + + do { + props = Object.getOwnPropertyNames(sourceObj); + i = props.length; + while (i-- > 0) { + prop = props[i]; + if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) { + destObj[prop] = sourceObj[prop]; + merged[prop] = true; + } + } + sourceObj = filter !== false && getPrototypeOf(sourceObj); + } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype); + + return destObj; +} + +/** + * Determines whether a string ends with the characters of a specified string + * + * @param {String} str + * @param {String} searchString + * @param {Number} [position= 0] + * + * @returns {boolean} + */ +const endsWith = (str, searchString, position) => { + str = String(str); + if (position === undefined || position > str.length) { + position = str.length; + } + position -= searchString.length; + const lastIndex = str.indexOf(searchString, position); + return lastIndex !== -1 && lastIndex === position; +} + + +/** + * Returns new array from array like object or null if failed + * + * @param {*} [thing] + * + * @returns {?Array} + */ +const toArray = (thing) => { + if (!thing) return null; + if (isArray(thing)) return thing; + let i = thing.length; + if (!isNumber(i)) return null; + const arr = new Array(i); + while (i-- > 0) { + arr[i] = thing[i]; + } + return arr; +} + +/** + * Checking if the Uint8Array exists and if it does, it returns a function that checks if the + * thing passed in is an instance of Uint8Array + * + * @param {TypedArray} + * + * @returns {Array} + */ +// eslint-disable-next-line func-names +const isTypedArray = (TypedArray => { + // eslint-disable-next-line func-names + return thing => { + return TypedArray && thing instanceof TypedArray; + }; +})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array)); + +/** + * For each entry in the object, call the function with the key and value. + * + * @param {Object} obj - The object to iterate over. + * @param {Function} fn - The function to call for each entry. + * + * @returns {void} + */ +const forEachEntry = (obj, fn) => { + const generator = obj && obj[Symbol.iterator]; + + const iterator = generator.call(obj); + + let result; + + while ((result = iterator.next()) && !result.done) { + const pair = result.value; + fn.call(obj, pair[0], pair[1]); + } +} + +/** + * It takes a regular expression and a string, and returns an array of all the matches + * + * @param {string} regExp - The regular expression to match against. + * @param {string} str - The string to search. + * + * @returns {Array} + */ +const matchAll = (regExp, str) => { + let matches; + const arr = []; + + while ((matches = regExp.exec(str)) !== null) { + arr.push(matches); + } + + return arr; +} + +/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */ +const isHTMLForm = kindOfTest('HTMLFormElement'); + +const toCamelCase = str => { + return str.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g, + function replacer(m, p1, p2) { + return p1.toUpperCase() + p2; + } + ); +}; + +/* Creating a function that will check if an object has a property. */ +const hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype); + +/** + * Determine if a value is a RegExp object + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a RegExp object, otherwise false + */ +const isRegExp = kindOfTest('RegExp'); + +const reduceDescriptors = (obj, reducer) => { + const descriptors = Object.getOwnPropertyDescriptors(obj); + const reducedDescriptors = {}; + + forEach(descriptors, (descriptor, name) => { + let ret; + if ((ret = reducer(descriptor, name, obj)) !== false) { + reducedDescriptors[name] = ret || descriptor; + } + }); + + Object.defineProperties(obj, reducedDescriptors); +} + +/** + * Makes all methods read-only + * @param {Object} obj + */ + +const freezeMethods = (obj) => { + reduceDescriptors(obj, (descriptor, name) => { + // skip restricted props in strict mode + if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) { + return false; + } + + const value = obj[name]; + + if (!isFunction(value)) return; + + descriptor.enumerable = false; + + if ('writable' in descriptor) { + descriptor.writable = false; + return; + } + + if (!descriptor.set) { + descriptor.set = () => { + throw Error('Can not rewrite read-only method \'' + name + '\''); + }; + } + }); +} + +const toObjectSet = (arrayOrString, delimiter) => { + const obj = {}; + + const define = (arr) => { + arr.forEach(value => { + obj[value] = true; + }); + } + + isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter)); + + return obj; +} + +const noop = () => {} + +const toFiniteNumber = (value, defaultValue) => { + return value != null && Number.isFinite(value = +value) ? value : defaultValue; +} + +const ALPHA = 'abcdefghijklmnopqrstuvwxyz' + +const DIGIT = '0123456789'; + +const ALPHABET = { + DIGIT, + ALPHA, + ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT +} + +const generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => { + let str = ''; + const {length} = alphabet; + while (size--) { + str += alphabet[Math.random() * length|0] + } + + return str; +} + +/** + * If the thing is a FormData object, return true, otherwise return false. + * + * @param {unknown} thing - The thing to check. + * + * @returns {boolean} + */ +function isSpecCompliantForm(thing) { + return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]); +} + +const toJSONObject = (obj) => { + const stack = new Array(10); + + const visit = (source, i) => { + + if (isObject(source)) { + if (stack.indexOf(source) >= 0) { + return; + } + + if(!('toJSON' in source)) { + stack[i] = source; + const target = isArray(source) ? [] : {}; + + forEach(source, (value, key) => { + const reducedValue = visit(value, i + 1); + !isUndefined(reducedValue) && (target[key] = reducedValue); + }); + + stack[i] = undefined; + + return target; + } + } + + return source; + } + + return visit(obj, 0); +} + +const isAsyncFn = kindOfTest('AsyncFunction'); + +const isThenable = (thing) => + thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch); + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + isArray, + isArrayBuffer, + isBuffer, + isFormData, + isArrayBufferView, + isString, + isNumber, + isBoolean, + isObject, + isPlainObject, + isReadableStream, + isRequest, + isResponse, + isHeaders, + isUndefined, + isDate, + isFile, + isBlob, + isRegExp, + isFunction, + isStream, + isURLSearchParams, + isTypedArray, + isFileList, + forEach, + merge, + extend, + trim, + stripBOM, + inherits, + toFlatObject, + kindOf, + kindOfTest, + endsWith, + toArray, + forEachEntry, + matchAll, + isHTMLForm, + hasOwnProperty, + hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection + reduceDescriptors, + freezeMethods, + toObjectSet, + toCamelCase, + noop, + toFiniteNumber, + findKey, + global: _global, + isContextDefined, + ALPHABET, + generateString, + isSpecCompliantForm, + toJSONObject, + isAsyncFn, + isThenable +}); + + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/compat get default export */ +/******/ (() => { +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = (module) => { +/******/ var getter = module && module.__esModule ? +/******/ () => (module['default']) : +/******/ () => (module); +/******/ __webpack_require__.d(getter, { a: getter }); +/******/ return getter; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry need to be wrapped in an IIFE because it need to be in strict mode. +(() => { +"use strict"; +/*!**************************!*\ + !*** ./src/Typesense.ts ***! + \**************************/ +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Client: () => (/* reexport safe */ _Typesense_Client__WEBPACK_IMPORTED_MODULE_0__["default"]), +/* harmony export */ Errors: () => (/* reexport module object */ _Typesense_Errors__WEBPACK_IMPORTED_MODULE_2__), +/* harmony export */ SearchClient: () => (/* reexport safe */ _Typesense_SearchClient__WEBPACK_IMPORTED_MODULE_1__["default"]), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _Typesense_Client__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Typesense/Client */ "./src/Typesense/Client.ts"); +/* harmony import */ var _Typesense_SearchClient__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Typesense/SearchClient */ "./src/Typesense/SearchClient.ts"); +/* harmony import */ var _Typesense_Errors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Typesense/Errors */ "./src/Typesense/Errors/index.ts"); + + + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + Client: _Typesense_Client__WEBPACK_IMPORTED_MODULE_0__["default"], + SearchClient: _Typesense_SearchClient__WEBPACK_IMPORTED_MODULE_1__["default"], + Errors: _Typesense_Errors__WEBPACK_IMPORTED_MODULE_2__ +}); +})(); + +Typesense = __webpack_exports__; +/******/ })() +; +//# sourceMappingURL=typesense.js.map \ No newline at end of file diff --git a/dist/typesense.js.map b/dist/typesense.js.map new file mode 100644 index 00000000..0ca20dbb --- /dev/null +++ b/dist/typesense.js.map @@ -0,0 +1 @@ +{"version":3,"file":"typesense.js","mappings":"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;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;;AAEA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;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;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA,qDAAqD;AACrD,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,sBAAsB;AACtB;;AAEA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA,oCAAoC;AACpC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;;;;;;;;;;ACpWD;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA,cAAc,sGAAiC;AAC/C;AACA,gBAAgB;AAChB;AACA;AACA,GAAG,EAAE,yBAAyB,SAAS,yBAAyB;AAChE;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,KAAK;AACL,iDAAiD;AACjD;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;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;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;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,eAAe;AAClC;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,SAAS;AACtB;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;;;;;;;;;;;;;;;ACHe;AACf;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;ACLA;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;;;;;;;;;;;;;;;;;ACJiD;AACoB;AACtD;AACf,MAAM,wEAAwB;AAC9B;AACA;AACA;AACA,cAAc,8DAAc;AAC5B;;;;;;;;;;;;;;;;ACR+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;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACLiD;AAClC;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH,kBAAkB,8DAAc;AAChC;;;;;;;;;;;;;;;AChBe;AACf;AACA;AACA,IAAI;AACJ;AACA;AACA;;;;;;;;;;;;;;;ACNe;AACf;AACA,yFAAyF;AACzF,IAAI;AACJ;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;ACPe;AACf;AACA;;;;;;;;;;;;;;;ACFe;AACf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A;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,iBAAiB,2DAAU,oBAAoB,2DAAU;;AAEzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,2DAAU,kBAAkB,2DAAU;;AAEvD;AACA;AACA;;AAEA;AACA;AACA;AACA,kDAAkD,iEAAoB;AACtE;AACA;AACA;AACA,iBAAiB,2DAAU;AAC3B;AACA,2CAA2C,2DAAU,aAAa,2DAAU;AAC5E;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO,0DAAQ;AACf,uBAAuB,iDAAK;;AAE5B,uDAAuD,uEAAe;AACtE;AACA,4EAA4E,4DAAO;;AAEnF;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAM,iDAAK;AACX;AACA,OAAO;AACP;;AAEA;AACA,SAAS,iDAAK;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,iEAAa;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,sEAAa;;AAElC,oBAAoB,0DAAQ;AAC5B,iBAAiB,2DAAU,2CAA2C,2DAAU;AAChF;AACA;;;AAGA;AACA;AACA,GAAG;AACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnQY;;AAEkB;AACM;AACD;AACY;AACL;AACc;AACH;AACJ;AACN;AACN;AACW;AACH;AACL;AACY;AACH;AACJ;AACW;;AAEzD;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,OAAO;AACpB;AACA;AACA,sBAAsB,sDAAK;AAC3B,mBAAmB,4DAAI,CAAC,sDAAK;;AAE7B;AACA,EAAE,iDAAK,kBAAkB,sDAAK,sBAAsB,iBAAiB;;AAErE;AACA,EAAE,iDAAK,kCAAkC,iBAAiB;;AAE1D;AACA;AACA,0BAA0B,gEAAW;AACrC;;AAEA;AACA;;AAEA;AACA,6BAA6B,0DAAQ;;AAErC;AACA,cAAc,sDAAK;;AAEnB;AACA,sBAAsB,gEAAa;AACnC,oBAAoB,8DAAW;AAC/B,iBAAiB,2DAAQ;AACzB,gBAAgB,iDAAO;AACvB,mBAAmB,8DAAU;;AAE7B;AACA,mBAAmB,4DAAU;;AAE7B;AACA;;AAEA;AACA;AACA;AACA;;AAEA,eAAe,2DAAM;;AAErB;AACA,qBAAqB,iEAAY;;AAEjC;AACA,oBAAoB,4DAAW;;AAE/B,qBAAqB,8DAAY;;AAEjC,4BAA4B,uEAAc,CAAC,iDAAK;;AAEhD,mBAAmB,8DAAQ;;AAE3B,uBAAuB,mEAAc;;AAErC;;AAEA;AACA,iEAAe,KAAK;;;;;;;;;;;;;;;;;ACxFP;;AAEkC;;AAE/C;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,yDAAa;AACtC;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA,iEAAe,WAAW,EAAC;;;;;;;;;;;;;;;;;;ACxHd;;AAEkC;AACf;;AAEhC;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,aAAa,eAAe;AAC5B;AACA;AACA;AACA,EAAE,2DAAU,oDAAoD,2DAAU;AAC1E;AACA;;AAEA,iDAAK,yBAAyB,2DAAU;AACxC;AACA,CAAC;;AAED,iEAAe,aAAa,EAAC;;;;;;;;;;;;;;;;ACxBhB;;AAEE;AACf;AACA;;;;;;;;;;;;;;;;;;;;;;;;ACJa;;AAEqB;AACY;AACW;AACN;AACR;AACI;AACC;AACH;;AAE7C,mBAAmB,6DAAS;;AAE5B;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,mBAAmB,8DAAkB;AACrC,oBAAoB,8DAAkB;AACtC;AACA;;AAEA;AACA;AACA;AACA,aAAa,eAAe;AAC5B,aAAa,SAAS;AACtB;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA,oEAAoE;;AAEpE;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA,aAAa,2DAAW;;AAExB,WAAW,yCAAyC;;AAEpD;AACA,MAAM,6DAAS;AACf;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,UAAU,iDAAK;AACf;AACA;AACA;AACA,QAAQ;AACR,QAAQ,6DAAS;AACjB;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA,oCAAoC,iDAAK;AACzC;AACA;AACA;;AAEA,eAAe,iDAAK;AACpB;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,wDAAY;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA,qBAAqB,2DAAe;AACpC;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA,gBAAgB,2DAAe;AAC/B,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,aAAa,2DAAW;AACxB,qBAAqB,6DAAa;AAClC,WAAW,gEAAQ;AACnB;AACA;;AAEA;AACA,iDAAK;AACL;AACA;AACA,wBAAwB,2DAAW,aAAa;AAChD;AACA;AACA,yBAAyB;AACzB,KAAK;AACL;AACA,CAAC;;AAED,iDAAK;AACL;;AAEA;AACA;AACA,0BAA0B,2DAAW,aAAa;AAClD;AACA;AACA;AACA,UAAU,IAAI;AACd;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA,CAAC;;AAED,iEAAe,KAAK,EAAC;;;;;;;;;;;;;;;;;AChOR;;AAEmB;;AAEhC;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,OAAO;AACpB;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iDAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,iDAAK;AACnB;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,CAAC;;AAED;AACA,kDAAkD,YAAY;;AAE9D;AACA;AACA;;AAEA,EAAE,iDAAK;AACP;AACA,GAAG;AACH;AACA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,iEAAe,UAAU,EAAC;;;;;;;;;;;;;;;;;;ACnGb;;AAEmB;AACsB;;AAEtD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS,iDAAK;AACd;;AAEA;AACA;AACA,2BAA2B,mBAAmB;AAC9C;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,MAAM,iDAAK;AACX;AACA;;AAEA;AACA;AACA;;AAEA,OAAO,iDAAK;;AAEZ,MAAM,iDAAK;AACX;AACA;;AAEA,MAAM,iDAAK;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,uBAAuB,iDAAK;;AAE5B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,iDAAK;;AAEvB;AACA;AACA;AACA;;AAEA;AACA,MAAM,iDAAK;;AAEX,QAAQ,iDAAK;AACb;AACA,MAAM,QAAQ,iDAAK;AACnB,iBAAiB,oEAAY;AAC7B,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB,iDAAK;;AAEvB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,YAAY,iDAAK;AACjB;AACA;;AAEA,YAAY,iDAAK;AACjB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB,iDAAK;;AAEvB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,oBAAoB,iDAAK;;AAEzB;AACA;;AAEA;AACA;AACA;AACA;;AAEA,QAAQ,iDAAK;AACb;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,IAAI,iDAAK;AACT,kBAAkB,iDAAK;;AAEvB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,IAAI,iDAAK;AACT,sEAAsE,iDAAK;AAC3E,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,IAAI,iDAAK;;AAET;AACA;AACA;;AAEA;;AAEA;AACA,iDAAK,6CAA6C,MAAM;AACxD,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,iDAAK;;AAEL,iEAAe,YAAY,EAAC;;;;;;;;;;;;;;;;;ACzSf;;AAEqB;;AAElC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB,aAAa,UAAU;AACvB;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,UAAU;AACvB;AACA,eAAe;AACf;AACA;AACA,IAAI,iDAAK;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,iEAAe,kBAAkB,EAAC;;;;;;;;;;;;;;;;;;ACtErB;;AAE2C;AACJ;;AAEpD;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf,kBAAkB,qEAAa;AAC/B,WAAW,mEAAW;AACtB;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;ACpBa;;AAEkC;AACF;AACD;AACW;AACJ;AACJ;;AAE/C;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,gEAAa;AAC3B;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACe;AACf;;AAEA,mBAAmB,6DAAY;;AAE/B;AACA,gBAAgB,yDAAa;AAC7B;AACA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,6DAAQ,8BAA8B,0DAAQ;;AAEhE;AACA;;AAEA;AACA,oBAAoB,yDAAa;AACjC;AACA;AACA;AACA;;AAEA,uBAAuB,6DAAY;;AAEnC;AACA,GAAG;AACH,SAAS,+DAAQ;AACjB;;AAEA;AACA;AACA,+BAA+B,yDAAa;AAC5C;AACA;AACA;AACA;AACA,kCAAkC,6DAAY;AAC9C;AACA;;AAEA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;AChFa;;AAEmB;AACa;;AAE7C,oDAAoD,wDAAY;;AAEhE;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;;AAEA;AACA,QAAQ,iDAAK,0BAA0B,iDAAK;AAC5C,aAAa,iDAAK,aAAa,SAAS;AACxC,MAAM,SAAS,iDAAK;AACpB,aAAa,iDAAK,SAAS;AAC3B,MAAM,SAAS,iDAAK;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS,iDAAK;AACd;AACA,MAAM,UAAU,iDAAK;AACrB;AACA;AACA;;AAEA;AACA;AACA,SAAS,iDAAK;AACd;AACA;AACA;;AAEA;AACA;AACA,SAAS,iDAAK;AACd;AACA,MAAM,UAAU,iDAAK;AACrB;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;AACA;AACA;AACA;;AAEA,EAAE,iDAAK,qCAAqC;AAC5C;AACA;AACA,KAAK,iDAAK;AACV,GAAG;;AAEH;AACA;;;;;;;;;;;;;;;;;ACzGa;;AAE4B;;AAEzC;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;AACA,IAAI;AACJ,eAAe,sDAAU;AACzB;AACA,OAAO,sDAAU,kBAAkB,sDAAU;AAC7C;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;AC1Ba;;AAEqB;AACU;AACO;;AAEnD;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB;AACA,aAAa,GAAG;AAChB;AACe;AACf,yBAAyB,0DAAQ;AACjC;AACA,kBAAkB,6DAAY;AAC9B;;AAEA,EAAE,iDAAK;AACP;AACA,GAAG;;AAEH;;AAEA;AACA;;;;;;;;;;;;;;;;;;;;;;;AC3Ba;;AAEmB;AACe;AACM;AACH;AACY;AAClB;AACc;;AAE1D;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA,MAAM,iDAAK;AACX;AACA;AACA,aAAa,iDAAK;AAClB,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,gBAAgB,wDAAoB;;AAEpC;;AAEA;AACA;AACA;AACA,4BAA4B,iDAAK;;AAEjC,2BAA2B,iDAAK;AAChC;AACA;;AAEA,uBAAuB,iDAAK;;AAE5B;AACA,iDAAiD,sEAAc;AAC/D;;AAEA,QAAQ,iDAAK;AACb,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX;AACA;AACA;AACA,QAAQ,iDAAK;AACb;AACA;AACA,QAAQ,iDAAK;AACb,gEAAgE;AAChE;AACA;;AAEA;;AAEA;AACA;AACA,eAAe,wEAAgB;AAC/B;;AAEA,wBAAwB,iDAAK;AAC7B;;AAEA,eAAe,kEAAU;AACzB,wBAAwB,iBAAiB;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA,gBAAgB,iDAAK;AACrB;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA,kBAAkB,2DAAU,SAAS,2DAAU;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,cAAc,0DAAQ;AACtB,UAAU,0DAAQ;AAClB,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iDAAK;AACL;AACA,CAAC;;AAED,iEAAe,QAAQ,EAAC;;;;;;;;;;;;;;;;AC3JX;;AAEb,iEAAe;AACf;AACA;AACA;AACA,CAAC,EAAC;;;;;;;;;;;;;;;;ACNK;;;;;;;;;;;;;;;;ACAM;;AAE4B;;AAEzC;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,WAAW,qBAAqB;AAChC,WAAW,qBAAqB;AAChC;AACA,aAAa;AACb;AACA;AACA;;AAEA,YAAY,0DAAU;AACtB;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA,GAAG;AACH;;AAEA,iEAAe,oBAAoB,EAAC;;;;;;;;;;;;;;;;ACzDpC;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;;AAEA;AACA;AACA,CAAC;;AAED,iEAAe,cAAc,EAAC;;;;;;;;;;;;;;;;ACtEjB;;AAEE;AACf;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACNa;;AAEmB;AACsC;;AAEtE;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,IAAI;AACJ,uBAAuB,iDAAK;AAC5B;AACA,UAAU,wEAAoB;AAC9B;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;AC9Da;;AAEb;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACdkC;AACU;;AAE5C,iEAAe,0DAAQ;;AAEvB;AACA;AACA;AACA;;AAEA,MAAM,iDAAK;;AAEX,MAAM,iDAAK;;AAEX,MAAM,iDAAK;;AAEX;;AAEA,uCAAuC;AACvC,KAAK;;AAEL;AACA,0DAA0D,wBAAwB;AAClF;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA,KAAK;AACL;AACA,GAAG,EAAC;;;;;;;;;;;;;;;;;;ACxCS;;AAEmB;;AAEhC;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,iDAAK;AACd;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,4BAA4B;AACzC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,oBAAoB,iDAAK;;AAEzB;AACA,UAAU,iDAAK;AACf;AACA,QAAQ;AACR;AACA;;AAEA;AACA;;AAEA,0BAA0B,iDAAK;AAC/B;AACA;;AAEA;;AAEA,kBAAkB,iDAAK;AACvB;AACA;;AAEA;AACA;;AAEA,MAAM,iDAAK,yBAAyB,iDAAK;AACzC;;AAEA,IAAI,iDAAK;AACT;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA,iEAAe,cAAc,EAAC;;;;;;;;;;;;;;;;AC9FjB;;AAEb;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACe;AACf;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACda;;AAEqB;;AAElC;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACe;AACf,SAAS,iDAAK;AACd;;;;;;;;;;;;;;;;;;ACba;;AAEqB;AACU;;AAE5C,iEAAe,0DAAQ;;AAEvB;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,sBAAsB,iDAAK;AAC3B;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAG,GAAG,EAAC;;;;;;;;;;;;;;;;AClEP;AACA,iEAAe,IAAI,EAAC;;;;;;;;;;;;;;;;;ACDP;;AAEqB;;AAElC;AACA;AACA,0BAA0B,iDAAK;AAC/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA,iEAAe;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,MAAM;AACN;AACA;AACA,GAAG;;AAEH;AACA,CAAC,EAAC;;;;;;;;;;;;;;;;ACtDW;;AAEE;AACf,0BAA0B,KAAK;AAC/B;AACA;;;;;;;;;;;;;;;;ACLa;;AAEb;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;A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A;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;;AAGA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,UAAU;AACrB;AACA,WAAW,SAAS;AACpB,aAAa;AACb;AACA,2BAA2B,oBAAoB,IAAI;AACnD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS;AAC5C,4BAA4B;AAC5B;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA,SAAS,UAAU;AACnB;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,kCAAkC;AAClC,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;;AAEA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA,gCAAgC,WAAW,IAAI;AAC/C;AACA;AACA,eAAe,4DAAI;AACnB,MAAM;AACN;AACA;AACA,GAAG,GAAG,WAAW;AACjB;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,kBAAkB;AAC7B,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,WAAW,kBAAkB;AAC7B,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B,eAAe;;AAEzC;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS,QAAQ;AACjB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA,iEAAe;AACf;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,EAAC;;;;;;;UCltBF;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;;;;;;;ACNwC;AACY;AACP;AAEL;AACxC,iEAAe;EAAE9B,MAAM,EAANA,yDAAM;EAAEgL,YAAY,EAAZA,+DAAY;EAAEU,MAAM,EAANA,8CAAMA;AAAC,CAAC,E","sources":["webpack://Typesense/./src/Typesense/Alias.ts","webpack://Typesense/./src/Typesense/Aliases.ts","webpack://Typesense/./src/Typesense/Analytics.ts","webpack://Typesense/./src/Typesense/AnalyticsEvents.ts","webpack://Typesense/./src/Typesense/AnalyticsRule.ts","webpack://Typesense/./src/Typesense/AnalyticsRules.ts","webpack://Typesense/./src/Typesense/ApiCall.ts","webpack://Typesense/./src/Typesense/Client.ts","webpack://Typesense/./src/Typesense/Collection.ts","webpack://Typesense/./src/Typesense/Collections.ts","webpack://Typesense/./src/Typesense/Configuration.ts","webpack://Typesense/./src/Typesense/Conversation.ts","webpack://Typesense/./src/Typesense/ConversationModel.ts","webpack://Typesense/./src/Typesense/ConversationModels.ts","webpack://Typesense/./src/Typesense/Conversations.ts","webpack://Typesense/./src/Typesense/Debug.ts","webpack://Typesense/./src/Typesense/Document.ts","webpack://Typesense/./src/Typesense/Documents.ts","webpack://Typesense/./src/Typesense/Errors/HTTPError.ts","webpack://Typesense/./src/Typesense/Errors/ImportError.ts","webpack://Typesense/./src/Typesense/Errors/MissingConfigurationError.ts","webpack://Typesense/./src/Typesense/Errors/ObjectAlreadyExists.ts","webpack://Typesense/./src/Typesense/Errors/ObjectNotFound.ts","webpack://Typesense/./src/Typesense/Errors/ObjectUnprocessable.ts","webpack://Typesense/./src/Typesense/Errors/RequestMalformed.ts","webpack://Typesense/./src/Typesense/Errors/RequestUnauthorized.ts","webpack://Typesense/./src/Typesense/Errors/ServerError.ts","webpack://Typesense/./src/Typesense/Errors/TypesenseError.ts","webpack://Typesense/./src/Typesense/Errors/index.ts","webpack://Typesense/./src/Typesense/Health.ts","webpack://Typesense/./src/Typesense/Key.ts","webpack://Typesense/./src/Typesense/Keys.ts","webpack://Typesense/./src/Typesense/Metrics.ts","webpack://Typesense/./src/Typesense/MultiSearch.ts","webpack://Typesense/./src/Typesense/Operations.ts","webpack://Typesense/./src/Typesense/Override.ts","webpack://Typesense/./src/Typesense/Overrides.ts","webpack://Typesense/./src/Typesense/Preset.ts","webpack://Typesense/./src/Typesense/Presets.ts","webpack://Typesense/./src/Typesense/RequestWithCache.ts","webpack://Typesense/./src/Typesense/SearchClient.ts","webpack://Typesense/./src/Typesense/SearchOnlyCollection.ts","webpack://Typesense/./src/Typesense/SearchOnlyDocuments.ts","webpack://Typesense/./src/Typesense/Stats.ts","webpack://Typesense/./src/Typesense/Stopword.ts","webpack://Typesense/./src/Typesense/Stopwords.ts","webpack://Typesense/./src/Typesense/Synonym.ts","webpack://Typesense/./src/Typesense/Synonyms.ts","webpack://Typesense/./node_modules/loglevel/lib/loglevel.js","webpack://Typesense/ignored|/Users/lewis/PHP/typesense-js/src/Typesense|crypto","webpack://Typesense/ignored|/Users/lewis/PHP/typesense-js/src/Typesense|http","webpack://Typesense/ignored|/Users/lewis/PHP/typesense-js/src/Typesense|https","webpack://Typesense/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/regenerator/index.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://Typesense/./node_modules/axios/lib/adapters/adapters.js","webpack://Typesense/./node_modules/axios/lib/adapters/xhr.js","webpack://Typesense/./node_modules/axios/lib/axios.js","webpack://Typesense/./node_modules/axios/lib/cancel/CancelToken.js","webpack://Typesense/./node_modules/axios/lib/cancel/CanceledError.js","webpack://Typesense/./node_modules/axios/lib/cancel/isCancel.js","webpack://Typesense/./node_modules/axios/lib/core/Axios.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosError.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://Typesense/./node_modules/axios/lib/core/InterceptorManager.js","webpack://Typesense/./node_modules/axios/lib/core/buildFullPath.js","webpack://Typesense/./node_modules/axios/lib/core/dispatchRequest.js","webpack://Typesense/./node_modules/axios/lib/core/mergeConfig.js","webpack://Typesense/./node_modules/axios/lib/core/settle.js","webpack://Typesense/./node_modules/axios/lib/core/transformData.js","webpack://Typesense/./node_modules/axios/lib/defaults/index.js","webpack://Typesense/./node_modules/axios/lib/defaults/transitional.js","webpack://Typesense/./node_modules/axios/lib/env/data.js","webpack://Typesense/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://Typesense/./node_modules/axios/lib/helpers/bind.js","webpack://Typesense/./node_modules/axios/lib/helpers/buildURL.js","webpack://Typesense/./node_modules/axios/lib/helpers/combineURLs.js","webpack://Typesense/./node_modules/axios/lib/helpers/cookies.js","webpack://Typesense/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://Typesense/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://Typesense/./node_modules/axios/lib/helpers/null.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://Typesense/./node_modules/axios/lib/helpers/speedometer.js","webpack://Typesense/./node_modules/axios/lib/helpers/spread.js","webpack://Typesense/./node_modules/axios/lib/helpers/toFormData.js","webpack://Typesense/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://Typesense/./node_modules/axios/lib/helpers/validator.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/index.js","webpack://Typesense/./node_modules/axios/lib/platform/common/utils.js","webpack://Typesense/./node_modules/axios/lib/platform/index.js","webpack://Typesense/./node_modules/axios/lib/utils.js","webpack://Typesense/webpack/bootstrap","webpack://Typesense/webpack/runtime/compat get default export","webpack://Typesense/webpack/runtime/define property getters","webpack://Typesense/webpack/runtime/hasOwnProperty shorthand","webpack://Typesense/webpack/runtime/make namespace object","webpack://Typesense/./src/Typesense.ts"],"sourcesContent":["import Aliases, { CollectionAliasSchema } from \"./Aliases\";\nimport ApiCall from \"./ApiCall\";\n\nexport default class Alias {\n constructor(private name: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/aliases\";\n\nexport interface CollectionAliasCreateSchema {\n collection_name: string;\n}\n\nexport interface CollectionAliasSchema extends CollectionAliasCreateSchema {\n name: string;\n}\n\nexport interface CollectionAliasesResponseSchema {\n aliases: CollectionAliasSchema[];\n}\n\nexport default class Aliases {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n name: string,\n mapping: CollectionAliasCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(name),\n mapping\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n private endpointPath(aliasName): string {\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(aliasName)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\nimport AnalyticsRule from \"./AnalyticsRule\";\nimport AnalyticsEvents from \"./AnalyticsEvents\";\n\nconst RESOURCEPATH = \"/analytics\";\n\nexport default class Analytics {\n private readonly _analyticsRules: AnalyticsRules;\n private readonly individualAnalyticsRules: Record = {};\n private readonly _analyticsEvents: AnalyticsEvents;\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._analyticsRules = new AnalyticsRules(this.apiCall);\n this._analyticsEvents = new AnalyticsEvents(this.apiCall);\n }\n\n rules(id?: string): AnalyticsRules | AnalyticsRule {\n if (id === undefined) {\n return this._analyticsRules;\n } else {\n if (this.individualAnalyticsRules[id] === undefined) {\n this.individualAnalyticsRules[id] = new AnalyticsRule(id, this.apiCall);\n }\n return this.individualAnalyticsRules[id];\n }\n }\n\n events(): AnalyticsEvents {\n return this._analyticsEvents;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { AnalyticsEventCreateSchema } from \"./AnalyticsEvent\";\n\nconst RESOURCEPATH = \"/analytics/events\";\n\nexport default class AnalyticsEvents {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: AnalyticsEventCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsEvents.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\n\nexport interface AnalyticsRuleCreateSchema {\n type: \"popular_queries\" | \"nohits_queries\" | \"counter\";\n params: {\n source: {\n collections: string[];\n events?: Array<{\n type: string;\n weight: number;\n name: string;\n }>;\n };\n expand_query?: boolean;\n destination: {\n collection: string;\n counter_field?: string;\n };\n limit?: number;\n };\n}\n\nexport interface AnalyticsRuleDeleteSchema {\n name: string;\n}\n\nexport interface AnalyticsRuleSchema extends AnalyticsRuleCreateSchema {\n name: string;\n}\n\nexport default class AnalyticsRule {\n constructor(\n private name: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${AnalyticsRules.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n AnalyticsRuleCreateSchema,\n AnalyticsRuleSchema,\n} from \"./AnalyticsRule\";\n\nexport interface AnalyticsRulesRetrieveSchema {\n rules: AnalyticsRuleSchema[];\n}\n\nconst RESOURCEPATH = \"/analytics/rules\";\n\nexport default class AnalyticsRules {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async upsert(\n name: string,\n params: AnalyticsRuleCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(name),\n params\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsRules.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import axios, { AxiosRequestConfig, AxiosResponse, Method } from \"axios\";\nimport { Logger } from \"loglevel\";\nimport {\n HTTPError,\n ObjectAlreadyExists,\n ObjectNotFound,\n ObjectUnprocessable,\n RequestMalformed,\n RequestUnauthorized,\n ServerError,\n} from \"./Errors\";\nimport TypesenseError from \"./Errors/TypesenseError\";\nimport Configuration, { NodeConfiguration } from \"./Configuration\";\nimport { Agent as HTTPAgent } from \"http\";\nimport { Agent as HTTPSAgent } from \"https\";\n\nconst APIKEYHEADERNAME = \"X-TYPESENSE-API-KEY\";\nconst HEALTHY = true;\nconst UNHEALTHY = false;\n\ninterface Node extends NodeConfiguration {\n isHealthy: boolean;\n index: string | number;\n}\n\nexport default class ApiCall {\n private readonly apiKey: string;\n private readonly nodes: Node[];\n private readonly nearestNode: Node;\n private readonly connectionTimeoutSeconds: number;\n private readonly healthcheckIntervalSeconds: number;\n private readonly retryIntervalSeconds: number;\n private readonly sendApiKeyAsQueryParam?: boolean;\n private readonly numRetriesPerRequest: number;\n private readonly additionalUserHeaders?: Record;\n\n private readonly logger: Logger;\n private currentNodeIndex: number;\n\n constructor(private 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\n this.logger = this.configuration.logger;\n\n this.initializeMetadataForNodes();\n this.currentNodeIndex = -1;\n }\n\n async get(\n endpoint: string,\n queryParameters: any = {},\n {\n abortSignal = null,\n responseType = undefined,\n }: {\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n } = {},\n ): Promise {\n return this.performRequest(\"get\", endpoint, {\n queryParameters,\n abortSignal,\n responseType,\n });\n }\n\n async delete(endpoint: string, queryParameters: any = {}): Promise {\n return this.performRequest(\"delete\", endpoint, { queryParameters });\n }\n\n async post(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n additionalHeaders: any = {},\n ): Promise {\n return this.performRequest(\"post\", endpoint, {\n queryParameters,\n bodyParameters,\n additionalHeaders,\n });\n }\n\n async put(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"put\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async patch(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"patch\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async performRequest(\n requestType: Method,\n endpoint: string,\n {\n queryParameters = null,\n bodyParameters = null,\n additionalHeaders = {},\n abortSignal = null,\n responseType = undefined,\n skipConnectionTimeout = false,\n enableKeepAlive = undefined,\n }: {\n queryParameters?: any;\n bodyParameters?: any;\n additionalHeaders?: any;\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n skipConnectionTimeout?: boolean;\n enableKeepAlive?: boolean | undefined;\n },\n ): Promise {\n this.configuration.validate();\n\n const requestNumber = Date.now();\n let lastException;\n this.logger.debug(\n `Request #${requestNumber}: Performing ${requestType.toUpperCase()} request: ${endpoint}`,\n );\n for (\n let numTries = 1;\n numTries <= this.numRetriesPerRequest + 1;\n numTries++\n ) {\n const node = this.getNextNode(requestNumber);\n this.logger.debug(\n `Request #${requestNumber}: Attempting ${requestType.toUpperCase()} request Try #${numTries} to Node ${\n node.index\n }`,\n );\n\n if (abortSignal && abortSignal.aborted) {\n return Promise.reject(new Error(\"Request aborted by caller.\"));\n }\n\n let abortListener;\n\n try {\n const requestOptions: AxiosRequestConfig = {\n method: requestType,\n url: this.uriFor(endpoint, node),\n headers: Object.assign(\n {},\n this.defaultHeaders(),\n additionalHeaders,\n this.additionalUserHeaders,\n ),\n maxContentLength: Infinity,\n maxBodyLength: Infinity,\n responseType,\n validateStatus: (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 (data, headers) => {\n let transformedData = data;\n if (\n headers !== undefined &&\n typeof data === \"string\" &&\n headers[\"content-type\"] &&\n headers[\"content-type\"].startsWith(\"application/json\")\n ) {\n transformedData = JSON.parse(data);\n }\n return transformedData;\n },\n ],\n };\n\n if (skipConnectionTimeout !== true) {\n requestOptions.timeout = this.connectionTimeoutSeconds * 1000;\n }\n\n if (queryParameters && Object.keys(queryParameters).length !== 0) {\n requestOptions.params = queryParameters;\n }\n\n if (this.sendApiKeyAsQueryParam) {\n requestOptions.params = requestOptions.params || {};\n requestOptions.params[\"x-typesense-api-key\"] = this.apiKey;\n }\n\n if (this.configuration.httpAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpAgent`,\n );\n requestOptions.httpAgent = this.configuration.httpAgent;\n } else if (enableKeepAlive === true) {\n this.logger.debug(`Request #${requestNumber}: Enabling KeepAlive`);\n requestOptions.httpAgent = new HTTPAgent({ keepAlive: true });\n }\n\n if (this.configuration.httpsAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpsAgent`,\n );\n requestOptions.httpsAgent = this.configuration.httpsAgent;\n } else if (enableKeepAlive === true) {\n this.logger.debug(`Request #${requestNumber}: Enabling keepAlive`);\n requestOptions.httpsAgent = new HTTPSAgent({ keepAlive: true });\n }\n\n if (this.configuration.paramsSerializer) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom paramsSerializer`,\n );\n requestOptions.paramsSerializer = this.configuration.paramsSerializer;\n }\n\n if (\n bodyParameters &&\n ((typeof bodyParameters === \"string\" &&\n bodyParameters.length !== 0) ||\n (typeof bodyParameters === \"object\" &&\n Object.keys(bodyParameters).length !== 0))\n ) {\n requestOptions.data = bodyParameters;\n }\n\n // Translate from user-provided AbortController to the Axios request cancel mechanism.\n if (abortSignal) {\n const cancelToken = axios.CancelToken;\n const source = cancelToken.source();\n abortListener = () => source.cancel();\n abortSignal.addEventListener(\"abort\", abortListener);\n requestOptions.cancelToken = source.token;\n }\n\n const response = await axios(requestOptions);\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.setNodeHealthcheck(node, HEALTHY);\n }\n this.logger.debug(\n `Request #${requestNumber}: Request to Node ${node.index} was made. Response Code was ${response.status}.`,\n );\n\n if (response.status >= 200 && response.status < 300) {\n // If response is 2xx return a resolved promise\n return Promise.resolve(response.data);\n } else if (response.status < 500) {\n // Next, if response is anything but 5xx, don't retry, return a custom error\n return Promise.reject(\n this.customErrorForResponse(response, response.data?.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.customErrorForResponse(response, response.data?.message);\n }\n } catch (error: any) {\n // This block handles retries for HTTPStatus > 500 and network layer issues like connection timeouts\n this.setNodeHealthcheck(node, UNHEALTHY);\n lastException = error;\n this.logger.warn(\n `Request #${requestNumber}: Request to Node ${\n node.index\n } failed due to \"${error.code} ${error.message}${\n error.response == null\n ? \"\"\n : \" - \" + JSON.stringify(error.response?.data)\n }\"`,\n );\n // this.logger.debug(error.stack)\n this.logger.warn(\n `Request #${requestNumber}: Sleeping for ${this.retryIntervalSeconds}s and then retrying request...`,\n );\n await this.timer(this.retryIntervalSeconds);\n } finally {\n if (abortSignal && abortListener) {\n abortSignal.removeEventListener(\"abort\", abortListener);\n }\n }\n }\n this.logger.debug(\n `Request #${requestNumber}: No retries left. Raising last error`,\n );\n return Promise.reject(lastException);\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 getNextNode(requestNumber = 0): Node {\n // Check if nearestNode is set and is healthy, if so return it\n if (this.nearestNode != null) {\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: Node ${\n this.nearestNode.index\n } is ${this.nearestNode.isHealthy === true ? \"Healthy\" : \"Unhealthy\"}`,\n );\n if (\n this.nearestNode.isHealthy === true ||\n this.nodeDueForHealthcheck(this.nearestNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${this.nearestNode.index}`,\n );\n return this.nearestNode;\n }\n this.logger.debug(\n `Request #${requestNumber}: Falling back to individual nodes`,\n );\n }\n\n // Fallback to nodes as usual\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: ${this.nodes\n .map(\n (node) =>\n `Node ${node.index} is ${\n node.isHealthy === true ? \"Healthy\" : \"Unhealthy\"\n }`,\n )\n .join(\" || \")}`,\n );\n let candidateNode: Node = this.nodes[0];\n for (let i = 0; i <= this.nodes.length; i++) {\n this.currentNodeIndex = (this.currentNodeIndex + 1) % this.nodes.length;\n candidateNode = this.nodes[this.currentNodeIndex];\n if (\n candidateNode.isHealthy === true ||\n this.nodeDueForHealthcheck(candidateNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\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(\n `Request #${requestNumber}: No healthy nodes were found. Returning the next node, Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\n\n nodeDueForHealthcheck(node, requestNumber = 0): boolean {\n const isDueForHealthcheck =\n Date.now() - node.lastAccessTimestamp >\n this.healthcheckIntervalSeconds * 1000;\n if (isDueForHealthcheck) {\n this.logger.debug(\n `Request #${requestNumber}: Node ${node.index} has exceeded healtcheckIntervalSeconds of ${this.healthcheckIntervalSeconds}. Adding it back into rotation.`,\n );\n }\n return isDueForHealthcheck;\n }\n\n initializeMetadataForNodes(): void {\n if (this.nearestNode != null) {\n this.nearestNode.index = \"nearestNode\";\n this.setNodeHealthcheck(this.nearestNode, HEALTHY);\n }\n\n this.nodes.forEach((node, i) => {\n node.index = i;\n this.setNodeHealthcheck(node, HEALTHY);\n });\n }\n\n setNodeHealthcheck(node, isHealthy): void {\n node.isHealthy = isHealthy;\n node.lastAccessTimestamp = Date.now();\n }\n\n uriFor(endpoint: string, node): string {\n if (node.url != null) {\n return `${node.url}${endpoint}`;\n }\n return `${node.protocol}://${node.host}:${node.port}${node.path}${endpoint}`;\n }\n\n defaultHeaders(): any {\n const defaultHeaders = {};\n if (!this.sendApiKeyAsQueryParam) {\n defaultHeaders[APIKEYHEADERNAME] = this.apiKey;\n }\n defaultHeaders[\"Content-Type\"] = \"application/json\";\n return defaultHeaders;\n }\n\n async timer(seconds): Promise {\n return new Promise((resolve) => setTimeout(resolve, seconds * 1000));\n }\n\n customErrorForResponse(\n response: AxiosResponse,\n messageFromServer: string,\n ): TypesenseError {\n let errorMessage = `Request failed with HTTP code ${response.status}`;\n if (\n typeof messageFromServer === \"string\" &&\n messageFromServer.trim() !== \"\"\n ) {\n errorMessage += ` | Server said: ${messageFromServer}`;\n }\n\n let error = new TypesenseError(errorMessage);\n\n if (response.status === 400) {\n error = new RequestMalformed(errorMessage);\n } else if (response.status === 401) {\n error = new RequestUnauthorized(errorMessage);\n } else if (response.status === 404) {\n error = new ObjectNotFound(errorMessage);\n } else if (response.status === 409) {\n error = new ObjectAlreadyExists(errorMessage);\n } else if (response.status === 422) {\n error = new ObjectUnprocessable(errorMessage);\n } else if (response.status >= 500 && response.status <= 599) {\n error = new ServerError(errorMessage);\n } else {\n error = new HTTPError(errorMessage);\n }\n\n error.httpStatus = response.status;\n\n return error;\n }\n}\n","/* eslint-disable no-dupe-class-members */\n\nimport Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Collection from \"./Collection\";\nimport Aliases from \"./Aliases\";\nimport Alias from \"./Alias\";\nimport Keys from \"./Keys\";\nimport Key from \"./Key\";\nimport Debug from \"./Debug\";\nimport Metrics from \"./Metrics\";\nimport Stats from \"./Stats\";\nimport Health from \"./Health\";\nimport Operations from \"./Operations\";\nimport MultiSearch from \"./MultiSearch\";\nimport Presets from \"./Presets\";\nimport Preset from \"./Preset\";\nimport Analytics from \"./Analytics\";\nimport Stopwords from \"./Stopwords\";\nimport Stopword from \"./Stopword\";\nimport Conversations from \"./Conversations\";\nimport Conversation from \"./Conversation\";\n\nexport default class Client {\n configuration: Configuration;\n apiCall: ApiCall;\n debug: Debug;\n metrics: Metrics;\n stats: Stats;\n health: Health;\n operations: Operations;\n multiSearch: MultiSearch;\n analytics: Analytics;\n private readonly _collections: Collections;\n private readonly individualCollections: Record;\n private readonly _aliases: Aliases;\n private readonly individualAliases: Record;\n private readonly _keys: Keys;\n private readonly individualKeys: Record;\n private readonly _presets: Presets;\n private readonly individualPresets: Record;\n private readonly _stopwords: Stopwords;\n private readonly individualStopwords: Record;\n private readonly _conversations: Conversations;\n private readonly individualConversations: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? false;\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.debug = new Debug(this.apiCall);\n this.metrics = new Metrics(this.apiCall);\n this.stats = new Stats(this.apiCall);\n this.health = new Health(this.apiCall);\n this.operations = new Operations(this.apiCall);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration);\n this._collections = new Collections(this.apiCall);\n this.individualCollections = {};\n this._aliases = new Aliases(this.apiCall);\n this.individualAliases = {};\n this._keys = new Keys(this.apiCall);\n this.individualKeys = {};\n this._presets = new Presets(this.apiCall);\n this.individualPresets = {};\n this._stopwords = new Stopwords(this.apiCall);\n this.individualStopwords = {};\n this.analytics = new Analytics(this.apiCall);\n this._conversations = new Conversations(this.apiCall);\n this.individualConversations = {};\n }\n\n collections(): Collections;\n collections = object>(\n collectionName: string,\n ): Collection;\n collections(collectionName?: string): Collections | Collection {\n if (collectionName === undefined) {\n return this._collections;\n } else {\n if (this.individualCollections[collectionName] === undefined) {\n this.individualCollections[collectionName] = new Collection(\n collectionName,\n this.apiCall,\n this.configuration,\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n\n aliases(): Aliases;\n aliases(aliasName: string): Alias;\n aliases(aliasName?: string): Aliases | Alias {\n if (aliasName === undefined) {\n return this._aliases;\n } else {\n if (this.individualAliases[aliasName] === undefined) {\n this.individualAliases[aliasName] = new Alias(aliasName, this.apiCall);\n }\n return this.individualAliases[aliasName];\n }\n }\n\n keys(): Keys;\n keys(id: number): Key;\n keys(id?: number): Keys | Key {\n if (id === undefined) {\n return this._keys;\n } else {\n if (this.individualKeys[id] === undefined) {\n this.individualKeys[id] = new Key(id, this.apiCall);\n }\n return this.individualKeys[id];\n }\n }\n\n presets(): Presets;\n presets(id: string): Preset;\n presets(id?: string): Presets | Preset {\n if (id === undefined) {\n return this._presets;\n } else {\n if (this.individualPresets[id] === undefined) {\n this.individualPresets[id] = new Preset(id, this.apiCall);\n }\n return this.individualPresets[id];\n }\n }\n\n stopwords(): Stopwords;\n stopwords(id: string): Stopword;\n stopwords(id?: string): Stopwords | Stopword {\n if (id === undefined) {\n return this._stopwords;\n } else {\n if (this.individualStopwords[id] === undefined) {\n this.individualStopwords[id] = new Stopword(id, this.apiCall);\n }\n return this.individualStopwords[id];\n }\n }\n\n conversations(): Conversations;\n conversations(id: string): Conversation;\n conversations(id?: string): Conversations | Conversation {\n if (id === undefined) {\n return this._conversations;\n } else {\n if (this.individualConversations[id] === undefined) {\n this.individualConversations[id] = new Conversation(id, this.apiCall);\n }\n return this.individualConversations[id];\n }\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections, { CollectionCreateSchema } from \"./Collections\";\nimport Documents, { DocumentSchema } from \"./Documents\";\nimport { ObjectNotFound } from \"./Errors\";\nimport Overrides from \"./Overrides\";\nimport Override from \"./Override\";\nimport Synonyms from \"./Synonyms\";\nimport Synonym from \"./Synonym\";\nimport { Document } from \"./Document\";\n\nexport type FieldType =\n | \"string\"\n | \"int32\"\n | \"int64\"\n | \"float\"\n | \"bool\"\n | \"geopoint\"\n | \"geopoint[]\"\n | \"string[]\"\n | \"int32[]\"\n | \"int64[]\"\n | \"float[]\"\n | \"bool[]\"\n | \"object\"\n | \"object[]\"\n | \"auto\"\n | \"string*\"\n | \"image\";\n\nexport interface CollectionFieldSchema {\n name: string;\n type: FieldType;\n optional?: boolean;\n facet?: boolean;\n index?: boolean;\n sort?: boolean;\n locale?: string;\n infix?: boolean;\n stem?: boolean;\n num_dim?: number;\n store?: boolean;\n [t: string]: unknown;\n}\n\nexport interface CollectionSchema extends CollectionCreateSchema {\n created_at: number;\n num_documents: number;\n num_memory_shards: number;\n}\n\nexport interface CollectionDropFieldSchema {\n name: string;\n drop: true;\n}\n\nexport interface CollectionUpdateSchema\n extends Partial> {\n fields?: (CollectionFieldSchema | CollectionDropFieldSchema)[];\n}\n\nexport default class Collection {\n private readonly _documents: Documents;\n private individualDocuments: Record> = {};\n private readonly _overrides: Overrides;\n private individualOverrides: Record = {};\n private readonly _synonyms: Synonyms;\n private individualSynonyms: Record = {};\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any,\n ) {\n this.name = name;\n this.apiCall = apiCall;\n this.configuration = configuration;\n\n this._documents = new Documents(\n this.name,\n this.apiCall,\n this.configuration,\n );\n this._overrides = new Overrides(this.name, this.apiCall);\n this._synonyms = new Synonyms(this.name, this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(schema: CollectionUpdateSchema): Promise {\n return this.apiCall.patch(this.endpointPath(), schema);\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n async exists(): Promise {\n try {\n await this.retrieve();\n return true;\n } catch (e) {\n if (e instanceof ObjectNotFound) return false;\n throw e;\n }\n }\n\n documents(): Documents;\n documents(documentId: string): Document;\n documents(documentId?: string): Document | Documents {\n if (!documentId) {\n return this._documents;\n } else {\n if (this.individualDocuments[documentId] === undefined) {\n this.individualDocuments[documentId] = new Document(\n this.name,\n documentId,\n this.apiCall,\n );\n }\n return this.individualDocuments[documentId];\n }\n }\n\n overrides(): Overrides;\n overrides(overrideId: string): Override;\n overrides(overrideId?: string): Overrides | Override {\n if (overrideId === undefined) {\n return this._overrides;\n } else {\n if (this.individualOverrides[overrideId] === undefined) {\n this.individualOverrides[overrideId] = new Override(\n this.name,\n overrideId,\n this.apiCall,\n );\n }\n return this.individualOverrides[overrideId];\n }\n }\n\n synonyms(): Synonyms;\n synonyms(synonymId: string): Synonym;\n synonyms(synonymId?: string): Synonyms | Synonym {\n if (synonymId === undefined) {\n return this._synonyms;\n } else {\n if (this.individualSynonyms[synonymId] === undefined) {\n this.individualSynonyms[synonymId] = new Synonym(\n this.name,\n synonymId,\n this.apiCall,\n );\n }\n return this.individualSynonyms[synonymId];\n }\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { CollectionFieldSchema, CollectionSchema } from \"./Collection\";\n\nexport interface CollectionCreateSchema {\n name: string;\n default_sorting_field?: string;\n fields?: CollectionFieldSchema[];\n symbols_to_index?: string[];\n token_separators?: string[];\n enable_nested_fields?: boolean;\n metadata?: object;\n voice_query_model?: {\n model_name?: string;\n };\n}\n\nexport interface CollectionCreateOptions {\n src_name?: string;\n}\n\nconst RESOURCEPATH = \"/collections\";\n\nexport default class Collections {\n constructor(private apiCall: ApiCall) {}\n\n async create(\n schema: CollectionCreateSchema,\n options: CollectionCreateOptions = {},\n ): Promise {\n return this.apiCall.post(RESOURCEPATH, schema, options);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import * as logger from \"loglevel\";\nimport { Logger, LogLevelDesc } from \"loglevel\";\nimport { MissingConfigurationError } from \"./Errors\";\nimport type { Agent as HTTPAgent } from \"http\";\nimport type { Agent as HTTPSAgent } from \"https\";\n\nexport interface NodeConfiguration {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n url?: string;\n}\n\nexport interface NodeConfigurationWithHostname {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n}\n\nexport interface NodeConfigurationWithUrl {\n url: string;\n}\n\nexport interface ConfigurationOptions {\n apiKey: string;\n nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n randomizeNodes?: boolean;\n /**\n * @deprecated\n * masterNode is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n masterNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n /**\n * @deprecated\n * readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n readReplicaNodes?:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n connectionTimeoutSeconds?: number;\n timeoutSeconds?: number;\n healthcheckIntervalSeconds?: number;\n numRetries?: number;\n retryIntervalSeconds?: number;\n sendApiKeyAsQueryParam?: boolean | undefined;\n useServerSideSearchCache?: boolean;\n cacheSearchResultsForSeconds?: number;\n additionalHeaders?: Record;\n\n logLevel?: LogLevelDesc;\n logger?: Logger;\n\n /**\n * Set a custom HTTP Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPAgent } = require(\"http\");\n * ...\n * httpAgent: new HTTPAgent({ keepAlive: true }),\n * @type {HTTPAgent}\n */\n httpAgent?: HTTPAgent;\n\n /**\n * Set a custom HTTPS Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPSAgent } = require(\"https\");\n * ...\n * httpsAgent: new HTTPSAgent({ keepAlive: true }),\n * @type {HTTPSAgent}\n */\n httpsAgent?: HTTPSAgent;\n\n /**\n * Set a custom paramsSerializer\n *\n * See axios documentation for more information on how to use this parameter: https://axios-http.com/docs/req_config\n * This is helpful for handling React Native issues like this: https://github.com/axios/axios/issues/6102#issuecomment-2085301397\n * @type {any}\n */\n paramsSerializer?: any;\n}\n\nexport default class Configuration {\n readonly nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n readonly nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n readonly connectionTimeoutSeconds: number;\n readonly healthcheckIntervalSeconds: number;\n readonly numRetries: number;\n readonly retryIntervalSeconds: number;\n readonly apiKey: string;\n readonly sendApiKeyAsQueryParam?: boolean;\n readonly cacheSearchResultsForSeconds: number;\n readonly useServerSideSearchCache: boolean;\n readonly logger: Logger;\n readonly logLevel: LogLevelDesc;\n readonly additionalHeaders?: Record;\n readonly httpAgent?: HTTPAgent;\n readonly httpsAgent?: HTTPSAgent;\n readonly paramsSerializer?: any;\n\n constructor(options: ConfigurationOptions) {\n this.nodes = options.nodes || [];\n this.nodes = this.nodes\n .map((node) => this.setDefaultPathInNode(node))\n .map((node) => this.setDefaultPortInNode(node))\n .map((node) => ({ ...node })) as NodeConfiguration[]; // Make a deep copy\n\n if (options.randomizeNodes == null) {\n options.randomizeNodes = true;\n }\n\n if (options.randomizeNodes === true) {\n this.shuffleArray(this.nodes);\n }\n\n this.nearestNode = options.nearestNode;\n this.nearestNode = this.setDefaultPathInNode(this.nearestNode);\n this.nearestNode = this.setDefaultPortInNode(this.nearestNode);\n\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\n this.apiKey = options.apiKey;\n this.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam; // We will set a default for this in Client and SearchClient\n\n this.cacheSearchResultsForSeconds =\n options.cacheSearchResultsForSeconds || 0; // Disable client-side cache by default\n this.useServerSideSearchCache = options.useServerSideSearchCache || false;\n\n this.logger = options.logger || logger;\n this.logLevel = options.logLevel || \"warn\";\n this.logger.setLevel(this.logLevel);\n\n this.additionalHeaders = options.additionalHeaders;\n\n this.httpAgent = options.httpAgent;\n this.httpsAgent = options.httpsAgent;\n\n this.paramsSerializer = options.paramsSerializer;\n\n this.showDeprecationWarnings(options);\n this.validate();\n }\n\n validate(): boolean {\n if (this.nodes == null || this.nodes.length === 0 || this.validateNodes()) {\n throw new MissingConfigurationError(\n \"Ensure that nodes[].protocol, nodes[].host and nodes[].port are set\",\n );\n }\n\n if (\n this.nearestNode != null &&\n this.isNodeMissingAnyParameters(this.nearestNode)\n ) {\n throw new MissingConfigurationError(\n \"Ensure that nearestNodes.protocol, nearestNodes.host and nearestNodes.port are set\",\n );\n }\n\n if (this.apiKey == null) {\n throw new MissingConfigurationError(\"Ensure that apiKey is set\");\n }\n\n return true;\n }\n\n private validateNodes(): boolean {\n return this.nodes.some((node) => {\n return this.isNodeMissingAnyParameters(node);\n });\n }\n\n private isNodeMissingAnyParameters(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl,\n ): boolean {\n return (\n ![\"protocol\", \"host\", \"port\", \"path\"].every((key) => {\n return node.hasOwnProperty(key);\n }) && node[\"url\"] == null\n );\n }\n\n private setDefaultPathInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (node != null && !node.hasOwnProperty(\"path\")) {\n node[\"path\"] = \"\";\n }\n return node;\n }\n\n private setDefaultPortInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (\n node != null &&\n !node.hasOwnProperty(\"port\") &&\n node.hasOwnProperty(\"protocol\")\n ) {\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\n private showDeprecationWarnings(options: ConfigurationOptions): void {\n if (options.timeoutSeconds) {\n this.logger.warn(\n \"Deprecation warning: timeoutSeconds is now renamed to connectionTimeoutSeconds\",\n );\n }\n if (options.masterNode) {\n this.logger.warn(\n \"Deprecation warning: masterNode is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n if (options.readReplicaNodes) {\n this.logger.warn(\n \"Deprecation warning: readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n }\n\n private shuffleArray(array) {\n for (let i = array.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [array[i], array[j]] = [array[j], array[i]];\n }\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Conversations from \"./Conversations\";\n\nexport interface ConversationDeleteSchema {\n id: number;\n}\n\nexport interface ConversationUpdateSchema {\n ttl: number;\n}\n\nexport interface ConversationSchema {\n id: number;\n conversation: object[];\n last_updated: number;\n ttl: number;\n}\n\nexport default class Conversation {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(\n params: ConversationUpdateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Conversations.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\n\nexport interface ConversationModelCreateSchema {\n model_name: string;\n api_key: string;\n system_prompt?: string;\n max_bytes: number;\n}\n\nexport interface ConversationModelDeleteSchema {\n id: string;\n}\n\nexport interface ConversationModelSchema extends ConversationModelCreateSchema {\n id: string;\n}\n\nexport default class ConversationModel {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async update(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(\n this.endpointPath(),\n );\n }\n\n private endpointPath(): string {\n return `${ConversationModels.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n ConversationModelCreateSchema,\n ConversationModelSchema,\n} from \"./ConversationModel\";\n\nconst RESOURCEPATH = \"/conversations/models\";\n\nexport default class ConversationModels {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(\n this.endpointPath(),\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${ConversationModels.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\nimport ConversationModel from \"./ConversationModel\";\nimport { ConversationSchema } from \"./Conversation\";\n\nconst RESOURCEPATH = \"/conversations\";\n\nexport interface ConversationsRetrieveSchema {\n conversations: ConversationSchema[];\n}\n\nexport default class Conversations {\n private readonly _conversationsModels: ConversationModels;\n private readonly individualConversationModels: Record<\n string,\n ConversationModel\n > = {};\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._conversationsModels = new ConversationModels(this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n models(): ConversationModels;\n models(id: string): ConversationModel;\n models(id?: string): ConversationModels | ConversationModel {\n if (id === undefined) {\n return this._conversationsModels;\n } else {\n if (this.individualConversationModels[id] === undefined) {\n this.individualConversationModels[id] = new ConversationModel(\n id,\n this.apiCall,\n );\n }\n return this.individualConversationModels[id];\n }\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/debug\";\n\nexport interface DebugResponseSchema {\n state: number;\n version: string;\n}\n\nexport default class Debug {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Documents, {\n DocumentSchema,\n DocumentWriteParameters,\n} from \"./Documents\";\n\nexport class Document {\n constructor(\n private collectionName: string,\n private documentId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n async update(\n partialDocument: Partial,\n options: DocumentWriteParameters = {}\n ): Promise {\n return this.apiCall.patch(this.endpointPath(), partialDocument, options);\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Documents.RESOURCEPATH}/${encodeURIComponent(this.documentId)}`;\n }\n}\n","import type { ReadStream } from \"fs\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport { ImportError } from \"./Errors\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\n// Todo: use generic to extract filter_by values\nexport interface DeleteQuery {\n filter_by: string;\n batch_size?: number;\n ignore_not_found?: boolean;\n}\n\nexport interface DeleteResponse {\n num_deleted: number;\n}\n\ninterface ImportResponseSuccess {\n success: true;\n}\n\nexport interface ImportResponseFail {\n success: false;\n error: string;\n document: DocumentSchema;\n code: number;\n}\n\nexport type ImportResponse = ImportResponseSuccess | ImportResponseFail;\n\nexport type DocumentSchema = Record;\n\nexport interface SearchParamsWithPreset extends Partial {\n preset: string;\n}\n\ntype OperationMode = \"off\" | \"always\" | \"fallback\";\nexport interface SearchParams {\n // From https://typesense.org/docs/latest/api/documents.html#arguments\n q?: string;\n query_by?: string | string[];\n query_by_weights?: string | number[];\n prefix?: string | boolean | boolean[]; // default: true\n filter_by?: string;\n enable_lazy_filter?: boolean; // default: false\n sort_by?: string | string[]; // default: text match desc\n facet_by?: string | string[];\n max_facet_values?: number;\n facet_sample_threshold?: number;\n facet_sample_percent?: number;\n facet_query?: string;\n facet_query_num_typos?: number;\n facet_return_parent?: string;\n page?: number; // default: 1\n per_page?: number; // default: 10, max 250\n group_by?: string | string[];\n group_limit?: number; // default:\n group_missing_values?: boolean;\n include_fields?: string | string[];\n exclude_fields?: string | string[];\n highlight_fields?: string | string[]; // default: all queried fields\n highlight_full_fields?: string | string[]; // default: all fields\n highlight_affix_num_tokens?: number; // default: 4\n highlight_start_tag?: string; // default: \n highlight_end_tag?: string; // default: \n enable_highlight_v1?: boolean;\n snippet_threshold?: number; // default: 30\n num_typos?: string | number | number[]; // default: 2\n min_len_1typo?: number;\n min_len_2typo?: number;\n split_join_tokens?: OperationMode;\n exhaustive_search?: boolean;\n drop_tokens_threshold?: number; // default: 10\n typo_tokens_threshold?: number; // default: 100\n pinned_hits?: string | string[];\n hidden_hits?: string | string[];\n limit_hits?: number; // default: no limit\n pre_segmented_query?: boolean;\n enable_overrides?: boolean;\n prioritize_exact_match?: boolean; // default: true\n prioritize_token_position?: boolean;\n prioritize_num_matching_fields?: boolean;\n search_cutoff_ms?: number;\n use_cache?: boolean;\n max_candidates?: number;\n infix?: OperationMode | OperationMode[];\n preset?: string;\n text_match_type?: \"max_score\" | \"max_weight\";\n vector_query?: string;\n \"x-typesense-api-key\"?: string;\n \"x-typesense-user-id\"?: string;\n offset?: number;\n limit?: number;\n stopwords?: string;\n conversation?: boolean;\n conversation_model_id?: string;\n conversation_id?: string;\n voice_query?: string;\n}\n\ntype SearchResponseHighlightObject = {\n matched_tokens?: string[];\n snippet?: string;\n value?: string;\n};\n\nexport type SearchResponseHighlight = T extends string | number\n ? SearchResponseHighlightObject\n : {\n [TAttribute in keyof T]?: SearchResponseHighlight;\n };\n\nexport interface SearchResponseHit {\n curated?: true;\n highlights?: [\n {\n field: keyof T;\n snippet?: string;\n value?: string;\n snippets?: string[];\n indices?: number[];\n matched_tokens: string[][] | string[];\n },\n ];\n highlight: SearchResponseHighlight;\n document: T;\n text_match: number;\n text_match_info?: {\n best_field_score: string; // To prevent scores from being truncated by JSON spec\n best_field_weight: number;\n fields_matched: number;\n score: string; // To prevent scores from being truncated by JSON spec\n tokens_matched: number;\n };\n}\n\nexport interface SearchResponseFacetCountSchema {\n counts: {\n count: number;\n highlighted: string;\n value: string;\n }[];\n field_name: keyof T;\n stats: {\n avg?: number;\n max?: number;\n min?: number;\n sum?: number;\n };\n}\n\nexport interface SearchResponseRequestParams {\n collection_name?: string;\n q?: string;\n page?: number;\n per_page?: number;\n first_q?: string;\n voice_query?: {\n transcribed_query?: string;\n };\n}\n\n// Todo: we could infer whether this is a grouped response by adding the search params as a generic\nexport interface SearchResponse {\n facet_counts?: SearchResponseFacetCountSchema[];\n found: number;\n found_docs?: number;\n out_of: number;\n page: number;\n request_params: SearchResponseRequestParams;\n search_time_ms: number;\n search_cutoff?: boolean;\n hits?: SearchResponseHit[];\n grouped_hits?: {\n group_key: string[];\n hits: SearchResponseHit[];\n found?: number;\n }[];\n conversation?: {\n answer: string;\n conversation_history: {\n conversation: object[];\n id: string;\n last_updated: number;\n ttl: number;\n };\n conversation_id: string;\n query: string;\n };\n}\n\nexport interface DocumentWriteParameters {\n dirty_values?: \"coerce_or_reject\" | \"coerce_or_drop\" | \"drop\" | \"reject\";\n action?: \"create\" | \"update\" | \"upsert\" | \"emplace\";\n}\n\nexport interface UpdateByFilterParameters {\n filter_by?: string;\n}\n\nexport interface UpdateByFilterResponse {\n num_updated: number;\n}\n\nexport interface DocumentImportParameters extends DocumentWriteParameters {\n batch_size?: number;\n return_doc?: boolean;\n return_id?: boolean;\n}\n\nexport interface DocumentsExportParameters {\n filter_by?: string;\n include_fields?: string;\n exclude_fields?: string;\n}\n\nexport interface SearchableDocuments {\n search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n options: SearchOptions,\n ): Promise>;\n clearCache(): void;\n}\n\nexport interface WriteableDocuments {\n create(document: T, options: DocumentWriteParameters): Promise;\n upsert(document: T, options: DocumentWriteParameters): Promise;\n update(document: T, options: DocumentWriteParameters): Promise;\n delete(query: DeleteQuery): Promise;\n import(\n documents: T[] | string,\n options: DocumentWriteParameters,\n ): Promise;\n export(options: DocumentsExportParameters): Promise;\n}\n\nexport interface SearchOptions {\n cacheSearchResultsForSeconds?: number;\n abortSignal?: AbortSignal | null;\n}\n\nexport default class Documents\n extends SearchOnlyDocuments\n implements WriteableDocuments\n{\n constructor(\n collectionName: string,\n apiCall: ApiCall,\n configuration: Configuration,\n ) {\n super(collectionName, apiCall, configuration);\n }\n\n async create(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(this.endpointPath(), document, options);\n }\n\n async upsert(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"upsert\" }),\n );\n }\n\n async update(\n document: T,\n options: UpdateByFilterParameters,\n ): Promise;\n async update(document: T, options: DocumentWriteParameters): Promise;\n async update(\n document: T,\n options: DocumentWriteParameters | UpdateByFilterParameters = {},\n ): Promise {\n if (!document) throw new Error(\"No document provided\");\n\n if (options[\"filter_by\"] != null) {\n return this.apiCall.patch(\n this.endpointPath(),\n document,\n Object.assign({}, options),\n );\n } else {\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"update\" }),\n );\n }\n }\n\n async delete(\n query: DeleteQuery = {} as DeleteQuery,\n ): Promise {\n return this.apiCall.delete(this.endpointPath(), query);\n }\n\n async createMany(documents: T[], options: DocumentImportParameters = {}) {\n this.configuration.logger.warn(\n \"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 );\n return this.import(documents, options);\n }\n\n /**\n * Import a set of documents in a batch.\n * @param {string|Array} documents - Can be a JSONL string of documents or an array of document objects.\n * @param options\n * @return {string|Array} Returns a JSONL string if the input was a JSONL string, otherwise it returns an array of results.\n */\n async import(\n documents: string,\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[],\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[] | string,\n options: DocumentImportParameters = {},\n ): Promise {\n let documentsInJSONLFormat;\n if (Array.isArray(documents)) {\n try {\n documentsInJSONLFormat = documents\n .map((document) => JSON.stringify(document))\n .join(\"\\n\");\n } catch (error: any) {\n // if rangeerror, throw custom error message\n if (\n error instanceof RangeError &&\n error.message.includes(\"Too many properties to enumerate\")\n ) {\n throw new Error(`${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\n // else, throw the non-range error anyways\n throw new Error(error);\n }\n } else {\n documentsInJSONLFormat = documents;\n }\n\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\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 enableKeepAlive: true, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n if (Array.isArray(documents)) {\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter(\n (r) => r.success === false,\n );\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n } else {\n return resultsInJSONLFormat as string;\n }\n }\n\n /**\n * Returns a JSONL string for all the documents in this collection\n */\n async export(options: DocumentsExportParameters = {}): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options);\n }\n\n /**\n * Returns a NodeJS readable stream of JSONL for all the documents in this collection.\n */\n async exportStream(\n options: DocumentsExportParameters = {},\n ): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options, {\n responseType: \"stream\",\n });\n }\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class HTTPError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\nimport { ImportResponseFail } from \"../Documents\";\n\nexport default class ImportError extends TypesenseError {\n importResults: ImportResponseFail;\n constructor(message, importResults) {\n super(message);\n this.importResults = importResults;\n }\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class MissingConfigurationError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectAlreadyExists extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectNotFound extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectUnprocessable extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestMalformed extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestUnauthorized extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ServerError extends TypesenseError {}\n","export default class TypesenseError extends Error {\n httpStatus?: number;\n\n // Source: https://stackoverflow.com/a/58417721/123545\n constructor(message?: string) {\n super(message);\n this.name = new.target.name;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n","import HTTPError from \"./HTTPError\";\nimport MissingConfigurationError from \"./MissingConfigurationError\";\nimport ObjectAlreadyExists from \"./ObjectAlreadyExists\";\nimport ObjectNotFound from \"./ObjectNotFound\";\nimport ObjectUnprocessable from \"./ObjectUnprocessable\";\nimport RequestMalformed from \"./RequestMalformed\";\nimport RequestUnauthorized from \"./RequestUnauthorized\";\nimport ServerError from \"./ServerError\";\nimport ImportError from \"./ImportError\";\nimport TypesenseError from \"./TypesenseError\";\n\nexport {\n HTTPError,\n MissingConfigurationError,\n ObjectAlreadyExists,\n ObjectNotFound,\n ObjectUnprocessable,\n RequestMalformed,\n RequestUnauthorized,\n ServerError,\n TypesenseError,\n ImportError,\n};\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/health\";\n\nexport interface HealthResponse {\n ok: boolean;\n}\n\nexport default class Health {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Keys from \"./Keys\";\n\nexport interface KeyCreateSchema {\n actions: string[];\n collections: string[];\n description?: string;\n value?: string;\n value_prefix?: string;\n expires_at?: number;\n}\n\nexport interface KeyDeleteSchema {\n id: number;\n}\n\nexport interface KeySchema extends KeyCreateSchema {\n id: number;\n}\n\nexport default class Key {\n constructor(private id: number, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Keys.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import { createHmac } from \"crypto\";\nimport ApiCall from \"./ApiCall\";\nimport { KeyCreateSchema, KeySchema } from \"./Key\";\nimport { SearchParams } from \"./Documents\";\n\nconst RESOURCEPATH = \"/keys\";\n\nexport interface KeysRetrieveSchema {\n keys: KeySchema[];\n}\n\nexport interface GenerateScopedSearchKeyParams extends Partial {\n expires_at?: number;\n cache_ttl?: number;\n limit_multi_searches?: number;\n}\n\nexport default class Keys {\n constructor(private apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(params: KeyCreateSchema): Promise {\n return this.apiCall.post(Keys.RESOURCEPATH, params);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n generateScopedSearchKey(\n searchKey: string,\n parameters: GenerateScopedSearchKeyParams\n ): string {\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 const paramsJSON = JSON.stringify(parameters);\n const digest = Buffer.from(\n createHmac(\"sha256\", searchKey).update(paramsJSON).digest(\"base64\")\n );\n const keyPrefix = searchKey.substr(0, 4);\n const rawScopedKey = `${digest}${keyPrefix}${paramsJSON}`;\n\n return Buffer.from(rawScopedKey).toString(\"base64\");\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/metrics.json\";\n\nexport interface MetricsResponse {\n [key: `system_cpu${number}_active_percentage`]: string;\n system_cpu_active_percentage: string;\n system_disk_total_bytes: string;\n system_disk_used_bytes: string;\n system_memory_total_bytes: string;\n system_memory_total_swap_bytes?: string;\n system_memory_used_bytes: string;\n system_memory_used_swap_bytes?: string;\n system_network_received_bytes: string;\n system_network_sent_bytes: string;\n typesense_memory_active_bytes: string;\n typesense_memory_allocated_bytes: string;\n typesense_memory_fragmentation_ratio: string;\n typesense_memory_mapped_bytes: string;\n typesense_memory_metadata_bytes: string;\n typesense_memory_resident_bytes: string;\n typesense_memory_retained_bytes: string;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport RequestWithCache from \"./RequestWithCache\";\nimport {\n DocumentSchema,\n SearchParams,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\n\nconst RESOURCEPATH = \"/multi_search\";\n\nexport interface MultiSearchRequestSchema extends SearchParams {\n collection?: string;\n \"x-typesense-api-key\"?: string;\n}\n\nexport interface MultiSearchRequestWithPresetSchema\n extends SearchParamsWithPreset {\n collection?: string;\n \"x-typesense-api-key\"?: string;\n}\n\nexport interface MultiSearchRequestsSchema {\n searches: (MultiSearchRequestSchema | MultiSearchRequestWithPresetSchema)[];\n}\n\nexport interface MultiSearchResponse {\n results: { [Index in keyof T]: SearchResponse } & {\n length: T[\"length\"];\n };\n}\n\nexport default class MultiSearch {\n private requestWithCache: RequestWithCache;\n\n constructor(\n private apiCall: ApiCall,\n private configuration: Configuration,\n private useTextContentType: boolean = false\n ) {\n this.requestWithCache = new RequestWithCache();\n }\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async perform(\n searchRequests: MultiSearchRequestsSchema,\n commonParams: Partial = {},\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n }: { cacheSearchResultsForSeconds?: number } = {}\n ): Promise> {\n const additionalHeaders = {};\n if (this.useTextContentType) {\n additionalHeaders[\"content-type\"] = \"text/plain\";\n }\n\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n const queryParams = Object.assign({}, commonParams, additionalQueryParams);\n\n return this.requestWithCache.perform(\n this.apiCall,\n this.apiCall.post,\n [RESOURCEPATH, searchRequests, queryParams, additionalHeaders],\n { cacheResponseForSeconds: cacheSearchResultsForSeconds }\n ) as Promise>;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/operations\";\n\nexport default class Operations {\n constructor(private apiCall: ApiCall) {}\n\n async perform(\n operationName: \"vote\" | \"snapshot\" | \"cache/clear\" | string,\n queryParameters: Record = {}\n ): Promise {\n return this.apiCall.post(\n `${RESOURCEPATH}/${operationName}`,\n {},\n queryParameters\n );\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Overrides, { OverrideCreateSchema } from \"./Overrides\";\n\nexport interface OverrideSchema extends OverrideCreateSchema {\n id: string;\n}\n\nexport interface OverrideDeleteSchema {\n id: string;\n}\n\nexport default class Override {\n constructor(\n private collectionName: string,\n private overrideId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Overrides.RESOURCEPATH}/${encodeURIComponent(this.overrideId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { OverrideSchema } from \"./Override\";\n\nconst RESOURCEPATH = \"/overrides\";\n\nexport interface OverrideRuleQuerySchema {\n query?: string;\n match?: \"exact\" | \"contains\";\n}\n\nexport interface OverrideRuleFilterSchema {\n filter_by?: string;\n}\n\nexport interface OverrideRuleTagsSchema {\n tags?: string[];\n}\n\nexport interface OverrideCreateSchema {\n rule: OverrideRuleQuerySchema &\n OverrideRuleFilterSchema &\n OverrideRuleTagsSchema;\n filter_by?: string;\n sort_by?: string;\n remove_matched_tokens?: boolean;\n replace_query?: string;\n includes?: Array<{\n id: string;\n position: number;\n }>;\n excludes?: Array<{ id: string }>;\n filter_curated_hits?: boolean;\n effective_from_ts?: number;\n effective_to_ts?: number;\n stop_processing?: boolean;\n metadata?: object;\n}\n\nexport interface OverridesRetrieveSchema {\n overrides: OverrideSchema[];\n}\n\nexport default class Overrides {\n constructor(\n private collectionName: string,\n private apiCall: ApiCall,\n ) {}\n\n async upsert(\n overrideId: string,\n params: OverrideCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(overrideId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${\n Overrides.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Presets, { PresetCreateSchema } from \"./Presets\";\n\nexport interface PresetSchema extends PresetCreateSchema {\n name: string;\n}\n\nexport interface PresetDeleteSchema {\n name: string;\n}\n\nexport default class Preset {\n constructor(private presetId: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Presets.RESOURCEPATH}/${encodeURIComponent(this.presetId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { PresetSchema } from \"./Preset\";\nimport { SearchParams } from \"./Documents\";\nimport { MultiSearchRequestsSchema } from \"./MultiSearch\";\n\nconst RESOURCEPATH = \"/presets\";\n\nexport interface PresetCreateSchema {\n value: SearchParams | MultiSearchRequestsSchema;\n}\n\nexport interface PresetsRetrieveSchema {\n presets: PresetSchema[];\n}\n\nexport default class Presets {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n presetId: string,\n params: PresetCreateSchema\n ): Promise {\n return this.apiCall.put(this.endpointPath(presetId), params);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Presets.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","const defaultCacheResponseForSeconds = 2 * 60;\nconst defaultMaxSize = 100;\n\nexport default class RequestWithCache {\n private responseCache: Map = new Map();\n private responsePromiseCache: Map = new Map();\n\n clearCache() {\n this.responseCache = new Map();\n this.responsePromiseCache = new Map();\n }\n\n // Todo: should probably be passed a callback instead, or an apiCall instance. Types are messy this way\n async perform(\n requestContext: any,\n requestFunction: (...params: any) => unknown,\n requestFunctionArguments: any[],\n cacheOptions: CacheOptions\n ): Promise {\n const {\n cacheResponseForSeconds = defaultCacheResponseForSeconds,\n maxSize = defaultMaxSize,\n } = cacheOptions;\n const isCacheDisabled = cacheResponseForSeconds <= 0 || maxSize <= 0;\n\n if (isCacheDisabled) {\n return requestFunction.call(requestContext, ...requestFunctionArguments);\n }\n\n const requestFunctionArgumentsJSON = JSON.stringify(\n requestFunctionArguments\n );\n const cacheEntry = this.responseCache.get(requestFunctionArgumentsJSON);\n const now = Date.now();\n\n if (cacheEntry) {\n const isEntryValid =\n now - cacheEntry.requestTimestamp < cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n this.responseCache.set(requestFunctionArgumentsJSON, cacheEntry);\n return Promise.resolve(cacheEntry.response);\n } else {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n\n const cachePromiseEntry = this.responsePromiseCache.get(\n requestFunctionArgumentsJSON\n );\n\n if (cachePromiseEntry) {\n const isEntryValid =\n now - cachePromiseEntry.requestTimestamp <\n cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n this.responsePromiseCache.set(\n requestFunctionArgumentsJSON,\n cachePromiseEntry\n );\n return cachePromiseEntry.responsePromise;\n } else {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n\n const responsePromise = requestFunction.call(\n requestContext,\n ...requestFunctionArguments\n );\n this.responsePromiseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n responsePromise,\n });\n\n const response = await responsePromise;\n this.responseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n response,\n });\n\n const isCacheOverMaxSize = this.responseCache.size > maxSize;\n if (isCacheOverMaxSize) {\n const oldestEntry = this.responseCache.keys().next().value;\n this.responseCache.delete(oldestEntry);\n }\n const isResponsePromiseCacheOverMaxSize =\n this.responsePromiseCache.size > maxSize;\n if (isResponsePromiseCacheOverMaxSize) {\n const oldestEntry = this.responsePromiseCache.keys().next().value;\n this.responsePromiseCache.delete(oldestEntry);\n }\n return response as T;\n }\n}\n\ninterface CacheOptions {\n cacheResponseForSeconds?: number;\n maxSize?: number;\n}\n","import Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport MultiSearch from \"./MultiSearch\";\nimport { DocumentSchema } from \"./Documents\";\nimport { SearchOnlyCollection } from \"./SearchOnlyCollection\";\n\nexport default class SearchClient {\n public readonly multiSearch: MultiSearch;\n private readonly configuration: Configuration;\n private readonly apiCall: ApiCall;\n private readonly individualCollections: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? true;\n if (\n options.sendApiKeyAsQueryParam === true &&\n (options.apiKey || \"\").length > 2000\n ) {\n console.warn(\n \"[typesense] API Key is longer than 2000 characters which is over the allowed limit, so disabling sending it as a query parameter.\"\n );\n options.sendApiKeyAsQueryParam = false;\n }\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration, true);\n this.individualCollections = {};\n }\n\n clearCache() {\n this.multiSearch.clearCache();\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Object.entries(this.individualCollections).forEach(([_, collection]) => {\n collection.documents().clearCache();\n });\n }\n\n collections(\n collectionName: string\n ): SearchOnlyCollection | SearchOnlyCollection {\n if (!collectionName) {\n throw new Error(\n \"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(\n collectionName,\n this.apiCall,\n this.configuration\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n}\n","import { DocumentSchema, SearchableDocuments } from \"./Documents\";\nimport ApiCall from \"./ApiCall\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\nexport class SearchOnlyCollection {\n private readonly _documents: SearchableDocuments;\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any\n ) {\n this._documents = new SearchOnlyDocuments(\n this.name,\n this.apiCall,\n this.configuration\n );\n }\n\n documents(): SearchableDocuments {\n return this._documents;\n }\n}\n","import RequestWithCache from \"./RequestWithCache\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport Collections from \"./Collections\";\nimport type {\n DocumentSchema,\n SearchableDocuments,\n SearchOptions,\n SearchParams,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\n\nconst RESOURCEPATH = \"/documents\";\n\nexport class SearchOnlyDocuments\n implements SearchableDocuments\n{\n protected requestWithCache: RequestWithCache = new RequestWithCache();\n\n constructor(\n protected collectionName: string,\n protected apiCall: ApiCall,\n protected configuration: Configuration\n ) {}\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n abortSignal = null,\n }: SearchOptions = {}\n ): Promise> {\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n for (const key in searchParameters) {\n if (Array.isArray(searchParameters[key])) {\n additionalQueryParams[key] = searchParameters[key].join(\",\");\n }\n }\n const queryParams = Object.assign(\n {},\n searchParameters,\n additionalQueryParams\n );\n\n return this.requestWithCache.perform(\n this.apiCall,\n this.apiCall.get,\n [this.endpointPath(\"search\"), queryParams, { abortSignal }],\n {\n cacheResponseForSeconds: cacheSearchResultsForSeconds,\n }\n ) as Promise>;\n }\n\n protected endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + operation\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/stats.json\";\n\nexport interface EndpointStats {\n [endpoint: string]: number;\n}\n\nexport interface StatsResponse {\n delete_latency_ms?: number;\n delete_requests_per_second?: number;\n import_latency_ms?: number;\n import_requests_per_second?: number;\n latency_ms?: EndpointStats;\n overloaded_requests_per_second?: number;\n pending_write_batches?: number;\n requests_per_second?: EndpointStats;\n search_latency_ms?: number;\n search_requests_per_second?: number;\n total_requests_per_second?: number;\n write_latency_ms?: number;\n write_requests_per_second?: number;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Stopwords, { StopwordCreateSchema } from \"./Stopwords\";\n\nexport interface StopwordSchema extends StopwordCreateSchema {\n id: string;\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordDeleteSchema {\n id: string;\n}\n\nexport default class Stopword {\n constructor(\n private stopwordId: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Stopwords.RESOURCEPATH}/${encodeURIComponent(this.stopwordId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { StopwordSchema } from \"./Stopword\";\n\nconst RESOURCEPATH = \"/stopwords\";\n\nexport interface StopwordCreateSchema {\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordsRetrieveSchema {\n stopwords: StopwordSchema[];\n}\n\nexport default class Stopwords {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n stopwordId: string,\n params: StopwordCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(stopwordId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Stopwords.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Synonyms, { SynonymCreateSchema } from \"./Synonyms\";\n\nexport interface SynonymSchema extends SynonymCreateSchema {\n id: string;\n}\n\nexport interface SynonymDeleteSchema {\n id: string;\n}\n\nexport default class Synonym {\n constructor(\n private collectionName: string,\n private synonymId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Synonyms.RESOURCEPATH}/${encodeURIComponent(this.synonymId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { SynonymSchema } from \"./Synonym\";\n\nconst RESOURCEPATH = \"/synonyms\";\n\nexport interface SynonymCreateSchema {\n synonyms: string[];\n root?: string;\n locale?: string;\n symbols_to_index?: string[];\n}\n\nexport interface SynonymsRetrieveSchema {\n synonyms: SynonymSchema[];\n}\n\nexport default class Synonyms {\n constructor(private collectionName: string, private apiCall: ApiCall) {}\n\n async upsert(\n synonymId: string,\n params: SynonymCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(synonymId),\n params\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${\n Synonyms.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\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 var _loggersByName = {};\n var defaultLogger = null;\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() {\n /*jshint validthis:true */\n var level = this.getLevel();\n\n // Replace the actual methods.\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, this.name);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n\n // Return any important warnings.\n if (typeof console === undefinedType && level < this.levels.SILENT) {\n return \"No console available for logging\";\n }\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) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this);\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, factory) {\n // Private instance variables.\n var self = this;\n /**\n * The level inherited from a parent logger (or a global default). We\n * cache this here rather than delegating to the parent so that it stays\n * in sync with the actual logging methods that we have installed (the\n * parent could change levels but we might not have rebuilt the loggers\n * in this child yet).\n * @type {number}\n */\n var inheritedLevel;\n /**\n * The default level for this logger, if any. If set, this overrides\n * `inheritedLevel`.\n * @type {number|null}\n */\n var defaultLevel;\n /**\n * A user-specific level for this logger. If set, this overrides\n * `defaultLevel`.\n * @type {number|null}\n */\n var userLevel;\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 cookieName = encodeURIComponent(storageKey);\n var location = cookie.indexOf(cookieName + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(\n cookie.slice(location + cookieName.length + 1)\n )[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 } 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 function normalizeLevel(input) {\n var level = input;\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 return level;\n } else {\n throw new TypeError(\"log.setLevel() called with invalid level: \" + input);\n }\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 if (userLevel != null) {\n return userLevel;\n } else if (defaultLevel != null) {\n return defaultLevel;\n } else {\n return inheritedLevel;\n }\n };\n\n self.setLevel = function (level, persist) {\n userLevel = normalizeLevel(level);\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(userLevel);\n }\n\n // NOTE: in v2, this should call rebuild(), which updates children.\n return replaceLoggingMethods.call(self);\n };\n\n self.setDefaultLevel = function (level) {\n defaultLevel = normalizeLevel(level);\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.resetLevel = function () {\n userLevel = null;\n clearPersistedLevel();\n replaceLoggingMethods.call(self);\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 self.rebuild = function () {\n if (defaultLogger !== self) {\n inheritedLevel = normalizeLevel(defaultLogger.getLevel());\n }\n replaceLoggingMethods.call(self);\n\n if (defaultLogger === self) {\n for (var childName in _loggersByName) {\n _loggersByName[childName].rebuild();\n }\n }\n };\n\n // Initialize all the internal levels.\n inheritedLevel = normalizeLevel(\n defaultLogger ? defaultLogger.getLevel() : \"WARN\"\n );\n var initialLevel = getPersistedLevel();\n if (initialLevel != null) {\n userLevel = normalizeLevel(initialLevel);\n }\n replaceLoggingMethods.call(self);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n defaultLogger = new Logger();\n\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,\n defaultLogger.methodFactory\n );\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","/* (ignored) */","/* (ignored) */","/* (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 e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw new Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\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}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\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 setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\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 _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _isNativeFunction(fn) {\n try {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n } catch (e) {\n return typeof fn === \"function\";\n }\n}","export default function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\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(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\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 _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\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(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\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 getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n let {responseType, withXSRFToken} = config;\n let 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 let contentType;\n\n if (utils.isFormData(requestData)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n requestHeaders.setContentType(false); // Let the browser set it\n } else if ((contentType = requestHeaders.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n requestHeaders.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\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 const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n 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(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, 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(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\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(platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(config));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(fullPath))) {\n // Add xsrf header\n const xsrfValue = config.xsrfHeaderName && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\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', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : 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 const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\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\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(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, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n 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\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const 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 */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(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 {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n }\n\n throw err;\n }\n }\n\n _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 const {transitional, paramsSerializer, headers} = config;\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 if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let 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 const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\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,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport utils from '../utils.js';\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 {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n 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: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\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 */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n 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 *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\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 *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\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 *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\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 *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(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 config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\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 config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? thing.toJSON() : thing;\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 *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, 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(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const 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 withXSRFToken: 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 beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\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 *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\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\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (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 headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\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 env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\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 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","export const VERSION = \"1.6.7\";","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\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 * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\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 *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default 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\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\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 const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let 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 const 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","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\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} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\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 *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\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 *\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 (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\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 *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\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 *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = (\n (product) => {\n return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0\n })(typeof navigator !== 'undefined' && navigator.product);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\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 && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let 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 {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\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 *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\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 (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 const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\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 *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && 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 *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\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 *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\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))","// 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};","import Client from \"./Typesense/Client\";\nimport SearchClient from \"./Typesense/SearchClient\";\nimport * as Errors from \"./Typesense/Errors\";\n\nexport { Client, SearchClient, Errors };\nexport default { Client, SearchClient, Errors };\n"],"names":["Aliases","Alias","name","apiCall","_classCallCheck","_createClass","key","value","_retrieve","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","abrupt","get","endpointPath","stop","retrieve","apply","arguments","_delete2","_callee2","_callee2$","_context2","delete","_delete","concat","RESOURCEPATH","encodeURIComponent","default","_upsert","mapping","put","upsert","_x","_x2","aliasName","AnalyticsRules","AnalyticsRule","AnalyticsEvents","Analytics","_defineProperty","_analyticsRules","_analyticsEvents","rules","id","undefined","individualAnalyticsRules","events","_create","params","post","create","operation","axios","HTTPError","ObjectAlreadyExists","ObjectNotFound","ObjectUnprocessable","RequestMalformed","RequestUnauthorized","ServerError","TypesenseError","Agent","HTTPAgent","HTTPSAgent","APIKEYHEADERNAME","HEALTHY","UNHEALTHY","ApiCall","configuration","apiKey","nodes","JSON","parse","stringify","nearestNode","connectionTimeoutSeconds","healthcheckIntervalSeconds","numRetriesPerRequest","numRetries","retryIntervalSeconds","sendApiKeyAsQueryParam","additionalUserHeaders","additionalHeaders","logger","initializeMetadataForNodes","currentNodeIndex","_get","endpoint","queryParameters","_ref","_ref$abortSignal","abortSignal","_ref$responseType","responseType","_args","length","performRequest","_args2","_post","_callee3","bodyParameters","_args3","_callee3$","_context3","_x3","_put","_callee4","_args4","_callee4$","_context4","_x4","_patch","_callee5","_args5","_callee5$","_context5","patch","_x5","_performRequest","_callee6","requestType","_ref2","_this","_ref2$queryParameters","_ref2$bodyParameters","_ref2$additionalHeade","_ref2$abortSignal","_ref2$responseType","_ref2$skipConnectionT","skipConnectionTimeout","_ref2$enableKeepAlive","enableKeepAlive","requestNumber","lastException","_loop","_ret","numTries","_callee6$","_context7","validate","Date","now","debug","toUpperCase","node","abortListener","requestOptions","cancelToken","source","response","_response$data","_response$data2","_error$response","_loop$","_context6","getNextNode","index","aborted","v","Promise","reject","Error","method","url","uriFor","headers","Object","assign","defaultHeaders","maxContentLength","Infinity","maxBodyLength","validateStatus","status","transformResponse","data","transformedData","startsWith","timeout","keys","httpAgent","keepAlive","httpsAgent","paramsSerializer","_typeof","CancelToken","cancel","addEventListener","token","sent","setNodeHealthcheck","resolve","customErrorForResponse","message","t0","warn","code","timer","removeEventListener","finish","delegateYield","_x6","_x7","_x8","isHealthy","nodeDueForHealthcheck","map","join","candidateNode","i","isDueForHealthcheck","lastAccessTimestamp","_this2","forEach","protocol","host","port","path","_timer","_callee7","seconds","_callee7$","_context8","setTimeout","_x9","messageFromServer","errorMessage","trim","error","httpStatus","Configuration","Collections","Collection","Keys","Key","Debug","Metrics","Stats","Health","Operations","MultiSearch","Presets","Preset","Stopwords","Stopword","Conversations","Conversation","Client","options","_options$sendApiKeyAs","metrics","stats","health","operations","multiSearch","_collections","individualCollections","_aliases","individualAliases","_keys","individualKeys","_presets","individualPresets","_stopwords","individualStopwords","analytics","_conversations","individualConversations","collections","collectionName","aliases","presets","stopwords","conversations","Documents","Overrides","Override","Synonyms","Synonym","Document","_documents","_overrides","_synonyms","_update","schema","update","_exists","exists","documents","documentId","individualDocuments","overrides","overrideId","individualOverrides","synonyms","synonymId","individualSynonyms","MissingConfigurationError","setDefaultPathInNode","setDefaultPortInNode","_objectSpread","randomizeNodes","shuffleArray","timeoutSeconds","cacheSearchResultsForSeconds","useServerSideSearchCache","logLevel","setLevel","showDeprecationWarnings","validateNodes","isNodeMissingAnyParameters","some","every","hasOwnProperty","masterNode","readReplicaNodes","array","j","Math","floor","random","ConversationModels","ConversationModel","_conversationsModels","models","individualConversationModels","partialDocument","ImportError","SearchOnlyDocuments","_inherits","_callSuper","document","action","query","_createMany","import","createMany","_import2","documentsInJSONLFormat","resultsInJSONLFormat","resultsInJSONFormat","failedItems","_args6","Array","isArray","RangeError","includes","split","r","filter","success","_import","_export2","_args7","_export","_exportStream","_callee8","_args8","_callee8$","exportStream","_TypesenseError","importResults","_Error","constructor","setPrototypeOf","_assertThisInitialized","prototype","_wrapNativeSuper","createHmac","generateScopedSearchKey","searchKey","parameters","paramsJSON","digest","Buffer","from","keyPrefix","substr","rawScopedKey","toString","RequestWithCache","useTextContentType","requestWithCache","clearCache","_perform","searchRequests","commonParams","_ref$cacheSearchResul","additionalQueryParams","queryParams","perform","cacheResponseForSeconds","operationName","presetId","defaultCacheResponseForSeconds","defaultMaxSize","Map","responseCache","responsePromiseCache","requestContext","requestFunction","requestFunctionArguments","cacheOptions","_cacheOptions$cacheRe","_cacheOptions$maxSize","maxSize","isCacheDisabled","requestFunctionArgumentsJSON","cacheEntry","isEntryValid","cachePromiseEntry","_isEntryValid","responsePromise","isCacheOverMaxSize","oldestEntry","isResponsePromiseCacheOverMaxSize","_oldestEntry","call","_toConsumableArray","requestTimestamp","set","size","SearchOnlyCollection","SearchClient","console","entries","_slicedToArray","_","collection","_search","searchParameters","search","stopwordId","Errors"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/typesense.min.js b/dist/typesense.min.js new file mode 100644 index 00000000..89414525 --- /dev/null +++ b/dist/typesense.min.js @@ -0,0 +1,3 @@ +/*! For license information please see typesense.min.js.LICENSE.txt */ +var Typesense;(()=>{var t={43:function(t,e,n){var r,o;!function(i,a){"use strict";r=function(){var t=function(){},e="undefined",n=typeof window!==e&&typeof window.navigator!==e&&/Trident\/|MSIE /.test(window.navigator.userAgent),r=["trace","debug","info","warn","error"],o={},i=null;function a(t,e){var n=t[e];if("function"==typeof n.bind)return n.bind(t);try{return Function.prototype.bind.call(n,t)}catch(e){return function(){return Function.prototype.apply.apply(n,[t,arguments])}}}function s(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function c(){for(var n=this.getLevel(),o=0;o=0&&e<=h.levels.SILENT)return e;throw new TypeError("log.setLevel() called with invalid level: "+t)}"string"==typeof t?p+=":"+t:"symbol"==typeof t&&(p=void 0),h.name=t,h.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},h.methodFactory=n||l,h.getLevel=function(){return null!=u?u:null!=s?s:a},h.setLevel=function(t,n){return u=d(t),!1!==n&&function(t){var n=(r[t]||"silent").toUpperCase();if(typeof window!==e&&p){try{return void(window.localStorage[p]=n)}catch(t){}try{window.document.cookie=encodeURIComponent(p)+"="+n+";"}catch(t){}}}(u),c.call(h)},h.setDefaultLevel=function(t){s=d(t),f()||h.setLevel(t,!1)},h.resetLevel=function(){u=null,function(){if(typeof window!==e&&p){try{window.localStorage.removeItem(p)}catch(t){}try{window.document.cookie=encodeURIComponent(p)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch(t){}}}(),c.call(h)},h.enableAll=function(t){h.setLevel(h.levels.TRACE,t)},h.disableAll=function(t){h.setLevel(h.levels.SILENT,t)},h.rebuild=function(){if(i!==h&&(a=d(i.getLevel())),c.call(h),i===h)for(var t in o)o[t].rebuild()},a=d(i?i.getLevel():"WARN");var y=f();null!=y&&(u=d(y)),c.call(h)}(i=new h).getLogger=function(t){if("symbol"!=typeof t&&"string"!=typeof t||""===t)throw new TypeError("You must supply a name when creating a logger.");var e=o[t];return e||(e=o[t]=new h(t,i.methodFactory)),e};var p=typeof window!==e?window.log:void 0;return i.noConflict=function(){return typeof window!==e&&window.log===i&&(window.log=p),i},i.getLoggers=function(){return o},i.default=i,i},void 0===(o=r.call(e,n,e,t))||(t.exports=o)}()},565:()=>{},337:()=>{},877:()=>{},61:(t,e,n)=>{var r=n(698).default;function o(){"use strict";t.exports=o=function(){return n},t.exports.__esModule=!0,t.exports.default=t.exports;var e,n={},i=Object.prototype,a=i.hasOwnProperty,s=Object.defineProperty||function(t,e,n){t[e]=n.value},c="function"==typeof Symbol?Symbol:{},u=c.iterator||"@@iterator",l=c.asyncIterator||"@@asyncIterator",h=c.toStringTag||"@@toStringTag";function p(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{p({},"")}catch(e){p=function(t,e,n){return t[e]=n}}function f(t,e,n,r){var o=e&&e.prototype instanceof b?e:b,i=Object.create(o.prototype),a=new U(r||[]);return s(i,"_invoke",{value:A(t,n,a)}),i}function d(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}n.wrap=f;var y="suspendedStart",v="suspendedYield",m="executing",g="completed",w={};function b(){}function C(){}function k(){}var R={};p(R,u,(function(){return this}));var E=Object.getPrototypeOf,S=E&&E(E(_([])));S&&S!==i&&a.call(S,u)&&(R=S);var O=k.prototype=b.prototype=Object.create(R);function P(t){["next","throw","return"].forEach((function(e){p(t,e,(function(t){return this._invoke(e,t)}))}))}function x(t,e){function n(o,i,s,c){var u=d(t[o],t,i);if("throw"!==u.type){var l=u.arg,h=l.value;return h&&"object"==r(h)&&a.call(h,"__await")?e.resolve(h.__await).then((function(t){n("next",t,s,c)}),(function(t){n("throw",t,s,c)})):e.resolve(h).then((function(t){l.value=t,s(l)}),(function(t){return n("throw",t,s,c)}))}c(u.arg)}var o;s(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 A(t,n,r){var o=y;return function(i,a){if(o===m)throw new Error("Generator is already running");if(o===g){if("throw"===i)throw a;return{value:e,done:!0}}for(r.method=i,r.arg=a;;){var s=r.delegate;if(s){var c=T(s,r);if(c){if(c===w)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(o===y)throw o=g,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);o=m;var u=d(t,n,r);if("normal"===u.type){if(o=r.done?g:v,u.arg===w)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(o=g,r.method="throw",r.arg=u.arg)}}}function T(t,n){var r=n.method,o=t.iterator[r];if(o===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,T(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),w;var i=d(o,t.iterator,n.arg);if("throw"===i.type)return n.method="throw",n.arg=i.arg,n.delegate=null,w;var a=i.arg;return a?a.done?(n[t.resultName]=a.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,w):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,w)}function N(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 j(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function U(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(N,this),this.reset(!0)}function _(t){if(t||""===t){var n=t[u];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,i=function n(){for(;++o=0;--o){var i=this.tryEntries[o],s=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var c=a.call(i,"catchLoc"),u=a.call(i,"finallyLoc");if(c&&u){if(this.prev=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&a.call(r,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),j(n),w}},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;j(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:_(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),w}},n}t.exports=o,t.exports.__esModule=!0,t.exports.default=t.exports},698: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},687:(t,e,n)=>{var r=n(61)();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),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var r={};(()=>{"use strict";n.r(r),n.d(r,{Client:()=>In,Errors:()=>e,SearchClient:()=>Hn,default:()=>Bn});var t={};n.r(t),n.d(t,{hasBrowserEnv:()=>At,hasStandardBrowserEnv:()=>Tt,hasStandardBrowserWebWorkerEnv:()=>jt});var e={};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)||!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;nHe,ImportError:()=>Ge,MissingConfigurationError:()=>R,ObjectAlreadyExists:()=>Ae,ObjectNotFound:()=>Oe,ObjectUnprocessable:()=>je,RequestMalformed:()=>be,RequestUnauthorized:()=>Re,ServerError:()=>Le,TypesenseError:()=>b});var l=n(43);function h(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function p(t,e){if(e&&("object"===i(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return h(t)}function f(t){return f=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},f(t)}function d(t,e){return d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},d(t,e)}function y(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&d(t,e)}function v(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(v=function(){return!!t})()}function m(t){var e="function"==typeof Map?new Map:void 0;return m=function(t){if(null===t||!function(t){try{return-1!==Function.toString.call(t).indexOf("[native code]")}catch(e){return"function"==typeof t}}(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return function(t,e,n){if(v())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,e);var o=new(t.bind.apply(t,r));return n&&d(o,n.prototype),o}(t,arguments,f(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),d(n,t)},m(t)}function g(t,e,n){return e=f(e),p(t,w()?Reflect.construct(e,n||[],f(t).constructor):e.apply(t,n))}function w(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(w=function(){return!!t})()}var b=function(t){function e(t){var n;return o(this,e),(n=g(this,e,[t])).name=(this instanceof e?this.constructor:void 0).name,Object.setPrototypeOf(h(n),(this instanceof e?this.constructor:void 0).prototype),n}return y(e,t),c(e)}(m(Error));function C(t,e,n){return e=f(e),p(t,k()?Reflect.construct(e,n||[],f(t).constructor):e.apply(t,n))}function k(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(k=function(){return!!t})()}var R=function(t){function e(){return o(this,e),C(this,e,arguments)}return y(e,t),c(e)}(b);function E(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}var S=function(){function t(e){var n=this;o(this,t),this.nodes=e.nodes||[],this.nodes=this.nodes.map((function(t){return n.setDefaultPathInNode(t)})).map((function(t){return n.setDefaultPortInNode(t)})).map((function(t){return function(t){for(var e=1;e0;e--){var n=Math.floor(Math.random()*(e+1)),r=[t[n],t[e]];t[e]=r[0],t[n]=r[1]}}}]),t}();function O(t,e,n,r,o,i,a){try{var s=t[i](a),c=s.value}catch(t){return void n(t)}s.done?e(c):Promise.resolve(c).then(r,o)}function P(t){return function(){var e=this,n=arguments;return new Promise((function(r,o){var i=t.apply(e,n);function a(t){O(i,r,o,a,s,"next",t)}function s(t){O(i,r,o,a,s,"throw",t)}a(void 0)}))}}var x=n(687),A=n.n(x);function T(t,e){return function(){return t.apply(e,arguments)}}const{toString:N}=Object.prototype,{getPrototypeOf:j}=Object,U=(_=Object.create(null),t=>{const e=N.call(t);return _[e]||(_[e]=e.slice(8,-1).toLowerCase())});var _;const L=t=>(t=t.toLowerCase(),e=>U(e)===t),I=t=>e=>typeof e===t,{isArray:F}=Array,H=I("undefined"),B=L("ArrayBuffer"),q=I("string"),D=I("function"),M=I("number"),K=t=>null!==t&&"object"==typeof t,z=t=>{if("object"!==U(t))return!1;const e=j(t);return!(null!==e&&e!==Object.prototype&&null!==Object.getPrototypeOf(e)||Symbol.toStringTag in t||Symbol.iterator in t)},J=L("Date"),W=L("File"),G=L("Blob"),Q=L("FileList"),V=L("URLSearchParams");function $(t,e,{allOwnKeys:n=!1}={}){if(null==t)return;let r,o;if("object"!=typeof t&&(t=[t]),F(t))for(r=0,o=t.length;r0;)if(r=n[o],e===r.toLowerCase())return r;return null}const Y="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,Z=t=>!H(t)&&t!==Y,tt=(et="undefined"!=typeof Uint8Array&&j(Uint8Array),t=>et&&t instanceof et);var et;const nt=L("HTMLFormElement"),rt=(({hasOwnProperty:t})=>(e,n)=>t.call(e,n))(Object.prototype),ot=L("RegExp"),it=(t,e)=>{const n=Object.getOwnPropertyDescriptors(t),r={};$(n,((n,o)=>{let i;!1!==(i=e(n,o,t))&&(r[o]=i||n)})),Object.defineProperties(t,r)},at="abcdefghijklmnopqrstuvwxyz",st="0123456789",ct={DIGIT:st,ALPHA:at,ALPHA_DIGIT:at+at.toUpperCase()+st},ut=L("AsyncFunction"),lt={isArray:F,isArrayBuffer:B,isBuffer:function(t){return null!==t&&!H(t)&&null!==t.constructor&&!H(t.constructor)&&D(t.constructor.isBuffer)&&t.constructor.isBuffer(t)},isFormData:t=>{let e;return t&&("function"==typeof FormData&&t instanceof FormData||D(t.append)&&("formdata"===(e=U(t))||"object"===e&&D(t.toString)&&"[object FormData]"===t.toString()))},isArrayBufferView:function(t){let e;return e="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&B(t.buffer),e},isString:q,isNumber:M,isBoolean:t=>!0===t||!1===t,isObject:K,isPlainObject:z,isUndefined:H,isDate:J,isFile:W,isBlob:G,isRegExp:ot,isFunction:D,isStream:t=>K(t)&&D(t.pipe),isURLSearchParams:V,isTypedArray:tt,isFileList:Q,forEach:$,merge:function t(){const{caseless:e}=Z(this)&&this||{},n={},r=(r,o)=>{const i=e&&X(n,o)||o;z(n[i])&&z(r)?n[i]=t(n[i],r):z(r)?n[i]=t({},r):F(r)?n[i]=r.slice():n[i]=r};for(let t=0,e=arguments.length;t($(e,((e,r)=>{n&&D(e)?t[r]=T(e,n):t[r]=e}),{allOwnKeys:r}),t),trim:t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:t=>(65279===t.charCodeAt(0)&&(t=t.slice(1)),t),inherits:(t,e,n,r)=>{t.prototype=Object.create(e.prototype,r),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),n&&Object.assign(t.prototype,n)},toFlatObject:(t,e,n,r)=>{let o,i,a;const s={};if(e=e||{},null==t)return e;do{for(o=Object.getOwnPropertyNames(t),i=o.length;i-- >0;)a=o[i],r&&!r(a,t,e)||s[a]||(e[a]=t[a],s[a]=!0);t=!1!==n&&j(t)}while(t&&(!n||n(t,e))&&t!==Object.prototype);return e},kindOf:U,kindOfTest:L,endsWith:(t,e,n)=>{t=String(t),(void 0===n||n>t.length)&&(n=t.length),n-=e.length;const r=t.indexOf(e,n);return-1!==r&&r===n},toArray:t=>{if(!t)return null;if(F(t))return t;let e=t.length;if(!M(e))return null;const n=new Array(e);for(;e-- >0;)n[e]=t[e];return n},forEachEntry:(t,e)=>{const n=(t&&t[Symbol.iterator]).call(t);let r;for(;(r=n.next())&&!r.done;){const n=r.value;e.call(t,n[0],n[1])}},matchAll:(t,e)=>{let n;const r=[];for(;null!==(n=t.exec(e));)r.push(n);return r},isHTMLForm:nt,hasOwnProperty:rt,hasOwnProp:rt,reduceDescriptors:it,freezeMethods:t=>{it(t,((e,n)=>{if(D(t)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;const r=t[n];D(r)&&(e.enumerable=!1,"writable"in e?e.writable=!1:e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}))}))},toObjectSet:(t,e)=>{const n={},r=t=>{t.forEach((t=>{n[t]=!0}))};return F(t)?r(t):r(String(t).split(e)),n},toCamelCase:t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(t,e,n){return e.toUpperCase()+n})),noop:()=>{},toFiniteNumber:(t,e)=>(t=+t,Number.isFinite(t)?t:e),findKey:X,global:Y,isContextDefined:Z,ALPHABET:ct,generateString:(t=16,e=ct.ALPHA_DIGIT)=>{let n="";const{length:r}=e;for(;t--;)n+=e[Math.random()*r|0];return n},isSpecCompliantForm:function(t){return!!(t&&D(t.append)&&"FormData"===t[Symbol.toStringTag]&&t[Symbol.iterator])},toJSONObject:t=>{const e=new Array(10),n=(t,r)=>{if(K(t)){if(e.indexOf(t)>=0)return;if(!("toJSON"in t)){e[r]=t;const o=F(t)?[]:{};return $(t,((t,e)=>{const i=n(t,r+1);!H(i)&&(o[e]=i)})),e[r]=void 0,o}}return t};return n(t,0)},isAsyncFn:ut,isThenable:t=>t&&(K(t)||D(t))&&D(t.then)&&D(t.catch)};function ht(t,e,n,r,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=t,this.name="AxiosError",e&&(this.code=e),n&&(this.config=n),r&&(this.request=r),o&&(this.response=o)}lt.inherits(ht,Error,{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:lt.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const pt=ht.prototype,ft={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((t=>{ft[t]={value:t}})),Object.defineProperties(ht,ft),Object.defineProperty(pt,"isAxiosError",{value:!0}),ht.from=(t,e,n,r,o,i)=>{const a=Object.create(pt);return lt.toFlatObject(t,a,(function(t){return t!==Error.prototype}),(t=>"isAxiosError"!==t)),ht.call(a,t.message,e,n,r,o),a.cause=t,a.name=t.name,i&&Object.assign(a,i),a};const dt=ht;function yt(t){return lt.isPlainObject(t)||lt.isArray(t)}function vt(t){return lt.endsWith(t,"[]")?t.slice(0,-2):t}function mt(t,e,n){return t?t.concat(e).map((function(t,e){return t=vt(t),!n&&e?"["+t+"]":t})).join(n?".":""):e}const gt=lt.toFlatObject(lt,{},null,(function(t){return/^is[A-Z]/.test(t)})),wt=function(t,e,n){if(!lt.isObject(t))throw new TypeError("target must be an object");e=e||new FormData;const r=(n=lt.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(t,e){return!lt.isUndefined(e[t])}))).metaTokens,o=n.visitor||u,i=n.dots,a=n.indexes,s=(n.Blob||"undefined"!=typeof Blob&&Blob)&<.isSpecCompliantForm(e);if(!lt.isFunction(o))throw new TypeError("visitor must be a function");function c(t){if(null===t)return"";if(lt.isDate(t))return t.toISOString();if(!s&<.isBlob(t))throw new dt("Blob is not supported. Use a Buffer instead.");return lt.isArrayBuffer(t)||lt.isTypedArray(t)?s&&"function"==typeof Blob?new Blob([t]):Buffer.from(t):t}function u(t,n,o){let s=t;if(t&&!o&&"object"==typeof t)if(lt.endsWith(n,"{}"))n=r?n:n.slice(0,-2),t=JSON.stringify(t);else if(lt.isArray(t)&&function(t){return lt.isArray(t)&&!t.some(yt)}(t)||(lt.isFileList(t)||lt.endsWith(n,"[]"))&&(s=lt.toArray(t)))return n=vt(n),s.forEach((function(t,r){!lt.isUndefined(t)&&null!==t&&e.append(!0===a?mt([n],r,i):null===a?n:n+"[]",c(t))})),!1;return!!yt(t)||(e.append(mt(o,n,i),c(t)),!1)}const l=[],h=Object.assign(gt,{defaultVisitor:u,convertValue:c,isVisitable:yt});if(!lt.isObject(t))throw new TypeError("data must be an object");return function t(n,r){if(!lt.isUndefined(n)){if(-1!==l.indexOf(n))throw Error("Circular reference detected in "+r.join("."));l.push(n),lt.forEach(n,(function(n,i){!0===(!(lt.isUndefined(n)||null===n)&&o.call(e,n,lt.isString(i)?i.trim():i,r,h))&&t(n,r?r.concat(i):[i])})),l.pop()}}(t),e};function bt(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,(function(t){return e[t]}))}function Ct(t,e){this._pairs=[],t&&wt(t,this,e)}const kt=Ct.prototype;kt.append=function(t,e){this._pairs.push([t,e])},kt.toString=function(t){const e=t?function(e){return t.call(this,e,bt)}:bt;return this._pairs.map((function(t){return e(t[0])+"="+e(t[1])}),"").join("&")};const Rt=Ct;function Et(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function St(t,e,n){if(!e)return t;const r=n&&n.encode||Et,o=n&&n.serialize;let i;if(i=o?o(e,n):lt.isURLSearchParams(e)?e.toString():new Rt(e,n).toString(r),i){const e=t.indexOf("#");-1!==e&&(t=t.slice(0,e)),t+=(-1===t.indexOf("?")?"?":"&")+i}return t}const Ot=class{constructor(){this.handlers=[]}use(t,e,n){return this.handlers.push({fulfilled:t,rejected:e,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){lt.forEach(this.handlers,(function(e){null!==e&&t(e)}))}},Pt={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},xt={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:Rt,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]},At="undefined"!=typeof window&&"undefined"!=typeof document,Tt=(Nt="undefined"!=typeof navigator&&navigator.product,At&&["ReactNative","NativeScript","NS"].indexOf(Nt)<0);var Nt;const jt="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,Ut={...t,...xt},_t=function(t){function e(t,n,r,o){let i=t[o++];if("__proto__"===i)return!0;const a=Number.isFinite(+i),s=o>=t.length;return i=!i&<.isArray(r)?r.length:i,s?(lt.hasOwnProp(r,i)?r[i]=[r[i],n]:r[i]=n,!a):(r[i]&<.isObject(r[i])||(r[i]=[]),e(t,n,r[i],o)&<.isArray(r[i])&&(r[i]=function(t){const e={},n=Object.keys(t);let r;const o=n.length;let i;for(r=0;r{e(function(t){return lt.matchAll(/\w+|\[(\w*)]/g,t).map((t=>"[]"===t[0]?"":t[1]||t[0]))}(t),r,n,0)})),n}return null},Lt={transitional:Pt,adapter:["xhr","http"],transformRequest:[function(t,e){const n=e.getContentType()||"",r=n.indexOf("application/json")>-1,o=lt.isObject(t);if(o&<.isHTMLForm(t)&&(t=new FormData(t)),lt.isFormData(t))return r?JSON.stringify(_t(t)):t;if(lt.isArrayBuffer(t)||lt.isBuffer(t)||lt.isStream(t)||lt.isFile(t)||lt.isBlob(t))return t;if(lt.isArrayBufferView(t))return t.buffer;if(lt.isURLSearchParams(t))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let i;if(o){if(n.indexOf("application/x-www-form-urlencoded")>-1)return function(t,e){return wt(t,new Ut.classes.URLSearchParams,Object.assign({visitor:function(t,e,n,r){return Ut.isNode&<.isBuffer(t)?(this.append(e,t.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)}},e))}(t,this.formSerializer).toString();if((i=lt.isFileList(t))||n.indexOf("multipart/form-data")>-1){const e=this.env&&this.env.FormData;return wt(i?{"files[]":t}:t,e&&new e,this.formSerializer)}}return o||r?(e.setContentType("application/json",!1),function(t,e,n){if(lt.isString(t))try{return(0,JSON.parse)(t),lt.trim(t)}catch(t){if("SyntaxError"!==t.name)throw t}return(0,JSON.stringify)(t)}(t)):t}],transformResponse:[function(t){const e=this.transitional||Lt.transitional,n=e&&e.forcedJSONParsing,r="json"===this.responseType;if(t&<.isString(t)&&(n&&!this.responseType||r)){const n=!(e&&e.silentJSONParsing)&&r;try{return JSON.parse(t)}catch(t){if(n){if("SyntaxError"===t.name)throw dt.from(t,dt.ERR_BAD_RESPONSE,this,null,this.response);throw t}}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Ut.classes.FormData,Blob:Ut.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};lt.forEach(["delete","get","head","post","put","patch"],(t=>{Lt.headers[t]={}}));const It=Lt,Ft=lt.toObjectSet(["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"]),Ht=Symbol("internals");function Bt(t){return t&&String(t).trim().toLowerCase()}function qt(t){return!1===t||null==t?t:lt.isArray(t)?t.map(qt):String(t)}function Dt(t,e,n,r,o){return lt.isFunction(r)?r.call(this,e,n):(o&&(e=n),lt.isString(e)?lt.isString(r)?-1!==e.indexOf(r):lt.isRegExp(r)?r.test(e):void 0:void 0)}class Mt{constructor(t){t&&this.set(t)}set(t,e,n){const r=this;function o(t,e,n){const o=Bt(e);if(!o)throw new Error("header name must be a non-empty string");const i=lt.findKey(r,o);(!i||void 0===r[i]||!0===n||void 0===n&&!1!==r[i])&&(r[i||e]=qt(t))}const i=(t,e)=>lt.forEach(t,((t,n)=>o(t,n,e)));return lt.isPlainObject(t)||t instanceof this.constructor?i(t,e):lt.isString(t)&&(t=t.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim())?i((t=>{const e={};let n,r,o;return t&&t.split("\n").forEach((function(t){o=t.indexOf(":"),n=t.substring(0,o).trim().toLowerCase(),r=t.substring(o+1).trim(),!n||e[n]&&Ft[n]||("set-cookie"===n?e[n]?e[n].push(r):e[n]=[r]:e[n]=e[n]?e[n]+", "+r:r)})),e})(t),e):null!=t&&o(e,t,n),this}get(t,e){if(t=Bt(t)){const n=lt.findKey(this,t);if(n){const t=this[n];if(!e)return t;if(!0===e)return function(t){const e=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(t);)e[r[1]]=r[2];return e}(t);if(lt.isFunction(e))return e.call(this,t,n);if(lt.isRegExp(e))return e.exec(t);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,e){if(t=Bt(t)){const n=lt.findKey(this,t);return!(!n||void 0===this[n]||e&&!Dt(0,this[n],n,e))}return!1}delete(t,e){const n=this;let r=!1;function o(t){if(t=Bt(t)){const o=lt.findKey(n,t);!o||e&&!Dt(0,n[o],o,e)||(delete n[o],r=!0)}}return lt.isArray(t)?t.forEach(o):o(t),r}clear(t){const e=Object.keys(this);let n=e.length,r=!1;for(;n--;){const o=e[n];t&&!Dt(0,this[o],o,t,!0)||(delete this[o],r=!0)}return r}normalize(t){const e=this,n={};return lt.forEach(this,((r,o)=>{const i=lt.findKey(n,o);if(i)return e[i]=qt(r),void delete e[o];const a=t?function(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((t,e,n)=>e.toUpperCase()+n))}(o):String(o).trim();a!==o&&delete e[o],e[a]=qt(r),n[a]=!0})),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const e=Object.create(null);return lt.forEach(this,((n,r)=>{null!=n&&!1!==n&&(e[r]=t&<.isArray(n)?n.join(", "):n)})),e}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([t,e])=>t+": "+e)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...e){const n=new this(t);return e.forEach((t=>n.set(t))),n}static accessor(t){const e=(this[Ht]=this[Ht]={accessors:{}}).accessors,n=this.prototype;function r(t){const r=Bt(t);e[r]||(function(t,e){const n=lt.toCamelCase(" "+e);["get","set","has"].forEach((r=>{Object.defineProperty(t,r+n,{value:function(t,n,o){return this[r].call(this,e,t,n,o)},configurable:!0})}))}(n,t),e[r]=!0)}return lt.isArray(t)?t.forEach(r):r(t),this}}Mt.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),lt.reduceDescriptors(Mt.prototype,(({value:t},e)=>{let n=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(t){this[n]=t}}})),lt.freezeMethods(Mt);const Kt=Mt;function zt(t,e){const n=this||It,r=e||n,o=Kt.from(r.headers);let i=r.data;return lt.forEach(t,(function(t){i=t.call(n,i,o.normalize(),e?e.status:void 0)})),o.normalize(),i}function Jt(t){return!(!t||!t.__CANCEL__)}function Wt(t,e,n){dt.call(this,null==t?"canceled":t,dt.ERR_CANCELED,e,n),this.name="CanceledError"}lt.inherits(Wt,dt,{__CANCEL__:!0});const Gt=Wt,Qt=Ut.hasStandardBrowserEnv?{write(t,e,n,r,o,i){const a=[t+"="+encodeURIComponent(e)];lt.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),lt.isString(r)&&a.push("path="+r),lt.isString(o)&&a.push("domain="+o),!0===i&&a.push("secure"),document.cookie=a.join("; ")},read(t){const e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove(t){this.write(t,"",Date.now()-864e5)}}:{write(){},read:()=>null,remove(){}};function Vt(t,e){return t&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)?function(t,e){return e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}(t,e):e}const $t=Ut.hasStandardBrowserEnv?function(){const t=/(msie|trident)/i.test(navigator.userAgent),e=document.createElement("a");let n;function r(n){let r=n;return t&&(e.setAttribute("href",r),r=e.href),e.setAttribute("href",r),{href:e.href,protocol:e.protocol?e.protocol.replace(/:$/,""):"",host:e.host,search:e.search?e.search.replace(/^\?/,""):"",hash:e.hash?e.hash.replace(/^#/,""):"",hostname:e.hostname,port:e.port,pathname:"/"===e.pathname.charAt(0)?e.pathname:"/"+e.pathname}}return n=r(window.location.href),function(t){const e=lt.isString(t)?r(t):t;return e.protocol===n.protocol&&e.host===n.host}}():function(){return!0};function Xt(t,e){let n=0;const r=function(t,e){t=t||10;const n=new Array(t),r=new Array(t);let o,i=0,a=0;return e=void 0!==e?e:1e3,function(s){const c=Date.now(),u=r[a];o||(o=c),n[i]=s,r[i]=c;let l=a,h=0;for(;l!==i;)h+=n[l++],l%=t;if(i=(i+1)%t,i===a&&(a=(a+1)%t),c-o{const i=o.loaded,a=o.lengthComputable?o.total:void 0,s=i-n,c=r(s);n=i;const u={loaded:i,total:a,progress:a?i/a:void 0,bytes:s,rate:c||void 0,estimated:c&&a&&i<=a?(a-i)/c:void 0,event:o};u[e?"download":"upload"]=!0,t(u)}}const Yt={http:null,xhr:"undefined"!=typeof XMLHttpRequest&&function(t){return new Promise((function(e,n){let r=t.data;const o=Kt.from(t.headers).normalize();let i,a,{responseType:s,withXSRFToken:c}=t;function u(){t.cancelToken&&t.cancelToken.unsubscribe(i),t.signal&&t.signal.removeEventListener("abort",i)}if(lt.isFormData(r))if(Ut.hasStandardBrowserEnv||Ut.hasStandardBrowserWebWorkerEnv)o.setContentType(!1);else if(!1!==(a=o.getContentType())){const[t,...e]=a?a.split(";").map((t=>t.trim())).filter(Boolean):[];o.setContentType([t||"multipart/form-data",...e].join("; "))}let l=new XMLHttpRequest;if(t.auth){const e=t.auth.username||"",n=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";o.set("Authorization","Basic "+btoa(e+":"+n))}const h=Vt(t.baseURL,t.url);function p(){if(!l)return;const r=Kt.from("getAllResponseHeaders"in l&&l.getAllResponseHeaders());!function(t,e,n){const r=n.config.validateStatus;n.status&&r&&!r(n.status)?e(new dt("Request failed with status code "+n.status,[dt.ERR_BAD_REQUEST,dt.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):t(n)}((function(t){e(t),u()}),(function(t){n(t),u()}),{data:s&&"text"!==s&&"json"!==s?l.response:l.responseText,status:l.status,statusText:l.statusText,headers:r,config:t,request:l}),l=null}if(l.open(t.method.toUpperCase(),St(h,t.params,t.paramsSerializer),!0),l.timeout=t.timeout,"onloadend"in l?l.onloadend=p:l.onreadystatechange=function(){l&&4===l.readyState&&(0!==l.status||l.responseURL&&0===l.responseURL.indexOf("file:"))&&setTimeout(p)},l.onabort=function(){l&&(n(new dt("Request aborted",dt.ECONNABORTED,t,l)),l=null)},l.onerror=function(){n(new dt("Network Error",dt.ERR_NETWORK,t,l)),l=null},l.ontimeout=function(){let e=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded";const r=t.transitional||Pt;t.timeoutErrorMessage&&(e=t.timeoutErrorMessage),n(new dt(e,r.clarifyTimeoutError?dt.ETIMEDOUT:dt.ECONNABORTED,t,l)),l=null},Ut.hasStandardBrowserEnv&&(c&<.isFunction(c)&&(c=c(t)),c||!1!==c&&$t(h))){const e=t.xsrfHeaderName&&t.xsrfCookieName&&Qt.read(t.xsrfCookieName);e&&o.set(t.xsrfHeaderName,e)}void 0===r&&o.setContentType(null),"setRequestHeader"in l&<.forEach(o.toJSON(),(function(t,e){l.setRequestHeader(e,t)})),lt.isUndefined(t.withCredentials)||(l.withCredentials=!!t.withCredentials),s&&"json"!==s&&(l.responseType=t.responseType),"function"==typeof t.onDownloadProgress&&l.addEventListener("progress",Xt(t.onDownloadProgress,!0)),"function"==typeof t.onUploadProgress&&l.upload&&l.upload.addEventListener("progress",Xt(t.onUploadProgress)),(t.cancelToken||t.signal)&&(i=e=>{l&&(n(!e||e.type?new Gt(null,t,l):e),l.abort(),l=null)},t.cancelToken&&t.cancelToken.subscribe(i),t.signal&&(t.signal.aborted?i():t.signal.addEventListener("abort",i)));const f=function(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}(h);f&&-1===Ut.protocols.indexOf(f)?n(new dt("Unsupported protocol "+f+":",dt.ERR_BAD_REQUEST,t)):l.send(r||null)}))}};lt.forEach(Yt,((t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch(t){}Object.defineProperty(t,"adapterName",{value:e})}}));const Zt=t=>`- ${t}`,te=t=>lt.isFunction(t)||null===t||!1===t,ee=t=>{t=lt.isArray(t)?t:[t];const{length:e}=t;let n,r;const o={};for(let i=0;i`adapter ${t} `+(!1===e?"is not supported by the environment":"is not available in the build")));let n=e?t.length>1?"since :\n"+t.map(Zt).join("\n"):" "+Zt(t[0]):"as no adapter specified";throw new dt("There is no suitable adapter to dispatch the request "+n,"ERR_NOT_SUPPORT")}return r};function ne(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new Gt(null,t)}function re(t){return ne(t),t.headers=Kt.from(t.headers),t.data=zt.call(t,t.transformRequest),-1!==["post","put","patch"].indexOf(t.method)&&t.headers.setContentType("application/x-www-form-urlencoded",!1),ee(t.adapter||It.adapter)(t).then((function(e){return ne(t),e.data=zt.call(t,t.transformResponse,e),e.headers=Kt.from(e.headers),e}),(function(e){return Jt(e)||(ne(t),e&&e.response&&(e.response.data=zt.call(t,t.transformResponse,e.response),e.response.headers=Kt.from(e.response.headers))),Promise.reject(e)}))}const oe=t=>t instanceof Kt?t.toJSON():t;function ie(t,e){e=e||{};const n={};function r(t,e,n){return lt.isPlainObject(t)&<.isPlainObject(e)?lt.merge.call({caseless:n},t,e):lt.isPlainObject(e)?lt.merge({},e):lt.isArray(e)?e.slice():e}function o(t,e,n){return lt.isUndefined(e)?lt.isUndefined(t)?void 0:r(void 0,t,n):r(t,e,n)}function i(t,e){if(!lt.isUndefined(e))return r(void 0,e)}function a(t,e){return lt.isUndefined(e)?lt.isUndefined(t)?void 0:r(void 0,t):r(void 0,e)}function s(n,o,i){return i in e?r(n,o):i in t?r(void 0,n):void 0}const c={url:i,method:i,data:i,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:s,headers:(t,e)=>o(oe(t),oe(e),!0)};return lt.forEach(Object.keys(Object.assign({},t,e)),(function(r){const i=c[r]||o,a=i(t[r],e[r],r);lt.isUndefined(a)&&i!==s||(n[r]=a)})),n}const ae={};["object","boolean","number","function","string","symbol"].forEach(((t,e)=>{ae[t]=function(n){return typeof n===t||"a"+(e<1?"n ":" ")+t}}));const se={};ae.transitional=function(t,e,n){function r(t,e){return"[Axios v1.6.7] Transitional option '"+t+"'"+e+(n?". "+n:"")}return(n,o,i)=>{if(!1===t)throw new dt(r(o," has been removed"+(e?" in "+e:"")),dt.ERR_DEPRECATED);return e&&!se[o]&&(se[o]=!0,console.warn(r(o," has been deprecated since v"+e+" and will be removed in the near future"))),!t||t(n,o,i)}};const ce={assertOptions:function(t,e,n){if("object"!=typeof t)throw new dt("options must be an object",dt.ERR_BAD_OPTION_VALUE);const r=Object.keys(t);let o=r.length;for(;o-- >0;){const i=r[o],a=e[i];if(a){const e=t[i],n=void 0===e||a(e,i,t);if(!0!==n)throw new dt("option "+i+" must be "+n,dt.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new dt("Unknown option "+i,dt.ERR_BAD_OPTION)}},validators:ae},ue=ce.validators;class le{constructor(t){this.defaults=t,this.interceptors={request:new Ot,response:new Ot}}async request(t,e){try{return await this._request(t,e)}catch(t){if(t instanceof Error){let e;Error.captureStackTrace?Error.captureStackTrace(e={}):e=new Error;const n=e.stack?e.stack.replace(/^.+\n/,""):"";t.stack?n&&!String(t.stack).endsWith(n.replace(/^.+\n.+\n/,""))&&(t.stack+="\n"+n):t.stack=n}throw t}}_request(t,e){"string"==typeof t?(e=e||{}).url=t:e=t||{},e=ie(this.defaults,e);const{transitional:n,paramsSerializer:r,headers:o}=e;void 0!==n&&ce.assertOptions(n,{silentJSONParsing:ue.transitional(ue.boolean),forcedJSONParsing:ue.transitional(ue.boolean),clarifyTimeoutError:ue.transitional(ue.boolean)},!1),null!=r&&(lt.isFunction(r)?e.paramsSerializer={serialize:r}:ce.assertOptions(r,{encode:ue.function,serialize:ue.function},!0)),e.method=(e.method||this.defaults.method||"get").toLowerCase();let i=o&<.merge(o.common,o[e.method]);o&<.forEach(["delete","get","head","post","put","patch","common"],(t=>{delete o[t]})),e.headers=Kt.concat(i,o);const a=[];let s=!0;this.interceptors.request.forEach((function(t){"function"==typeof t.runWhen&&!1===t.runWhen(e)||(s=s&&t.synchronous,a.unshift(t.fulfilled,t.rejected))}));const c=[];let u;this.interceptors.response.forEach((function(t){c.push(t.fulfilled,t.rejected)}));let l,h=0;if(!s){const t=[re.bind(this),void 0];for(t.unshift.apply(t,a),t.push.apply(t,c),l=t.length,u=Promise.resolve(e);h{if(!n._listeners)return;let e=n._listeners.length;for(;e-- >0;)n._listeners[e](t);n._listeners=null})),this.promise.then=t=>{let e;const r=new Promise((t=>{n.subscribe(t),e=t})).then(t);return r.cancel=function(){n.unsubscribe(e)},r},t((function(t,r,o){n.reason||(n.reason=new Gt(t,r,o),e(n.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){this.reason?t(this.reason):this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const e=this._listeners.indexOf(t);-1!==e&&this._listeners.splice(e,1)}static source(){let t;return{token:new pe((function(e){t=e})),cancel:t}}}const fe=pe,de={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(de).forEach((([t,e])=>{de[e]=t}));const ye=de,ve=function t(e){const n=new he(e),r=T(he.prototype.request,n);return lt.extend(r,he.prototype,n,{allOwnKeys:!0}),lt.extend(r,n,null,{allOwnKeys:!0}),r.create=function(n){return t(ie(e,n))},r}(It);ve.Axios=he,ve.CanceledError=Gt,ve.CancelToken=fe,ve.isCancel=Jt,ve.VERSION="1.6.7",ve.toFormData=wt,ve.AxiosError=dt,ve.Cancel=ve.CanceledError,ve.all=function(t){return Promise.all(t)},ve.spread=function(t){return function(e){return t.apply(null,e)}},ve.isAxiosError=function(t){return lt.isObject(t)&&!0===t.isAxiosError},ve.mergeConfig=ie,ve.AxiosHeaders=Kt,ve.formToJSON=t=>_t(lt.isHTMLForm(t)?new FormData(t):t),ve.getAdapter=ee,ve.HttpStatusCode=ye,ve.default=ve;const me=ve;function ge(t,e,n){return e=f(e),p(t,we()?Reflect.construct(e,n||[],f(t).constructor):e.apply(t,n))}function we(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(we=function(){return!!t})()}var be=function(t){function e(){return o(this,e),ge(this,e,arguments)}return y(e,t),c(e)}(b);function Ce(t,e,n){return e=f(e),p(t,ke()?Reflect.construct(e,n||[],f(t).constructor):e.apply(t,n))}function ke(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(ke=function(){return!!t})()}var Re=function(t){function e(){return o(this,e),Ce(this,e,arguments)}return y(e,t),c(e)}(b);function Ee(t,e,n){return e=f(e),p(t,Se()?Reflect.construct(e,n||[],f(t).constructor):e.apply(t,n))}function Se(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(Se=function(){return!!t})()}var Oe=function(t){function e(){return o(this,e),Ee(this,e,arguments)}return y(e,t),c(e)}(b);function Pe(t,e,n){return e=f(e),p(t,xe()?Reflect.construct(e,n||[],f(t).constructor):e.apply(t,n))}function xe(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(xe=function(){return!!t})()}var Ae=function(t){function e(){return o(this,e),Pe(this,e,arguments)}return y(e,t),c(e)}(b);function Te(t,e,n){return e=f(e),p(t,Ne()?Reflect.construct(e,n||[],f(t).constructor):e.apply(t,n))}function Ne(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(Ne=function(){return!!t})()}var je=function(t){function e(){return o(this,e),Te(this,e,arguments)}return y(e,t),c(e)}(b);function Ue(t,e,n){return e=f(e),p(t,_e()?Reflect.construct(e,n||[],f(t).constructor):e.apply(t,n))}function _e(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(_e=function(){return!!t})()}var Le=function(t){function e(){return o(this,e),Ue(this,e,arguments)}return y(e,t),c(e)}(b);function Ie(t,e,n){return e=f(e),p(t,Fe()?Reflect.construct(e,n||[],f(t).constructor):e.apply(t,n))}function Fe(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(Fe=function(){return!!t})()}var He=function(t){function e(){return o(this,e),Ie(this,e,arguments)}return y(e,t),c(e)}(b),Be=n(337),qe=n(877),De=!0,Me=function(){function t(e){o(this,t),this.configuration=e,this.apiKey=this.configuration.apiKey,this.nodes=null==this.configuration.nodes?this.configuration.nodes:JSON.parse(JSON.stringify(this.configuration.nodes)),this.nearestNode=null==this.configuration.nearestNode?this.configuration.nearestNode:JSON.parse(JSON.stringify(this.configuration.nearestNode)),this.connectionTimeoutSeconds=this.configuration.connectionTimeoutSeconds,this.healthcheckIntervalSeconds=this.configuration.healthcheckIntervalSeconds,this.numRetriesPerRequest=this.configuration.numRetries,this.retryIntervalSeconds=this.configuration.retryIntervalSeconds,this.sendApiKeyAsQueryParam=this.configuration.sendApiKeyAsQueryParam,this.additionalUserHeaders=this.configuration.additionalHeaders,this.logger=this.configuration.logger,this.initializeMetadataForNodes(),this.currentNodeIndex=-1}var e,n,r,a,s,u,l;return c(t,[{key:"get",value:(l=P(A().mark((function t(e){var n,r,o,i,a,s,c=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=c.length>1&&void 0!==c[1]?c[1]:{},o=(r=c.length>2&&void 0!==c[2]?c[2]:{}).abortSignal,i=void 0===o?null:o,a=r.responseType,s=void 0===a?void 0:a,t.abrupt("return",this.performRequest("get",e,{queryParameters:n,abortSignal:i,responseType:s}));case 3:case"end":return t.stop()}}),t,this)}))),function(t){return l.apply(this,arguments)})},{key:"delete",value:(u=P(A().mark((function t(e){var n,r=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},t.abrupt("return",this.performRequest("delete",e,{queryParameters:n}));case 2:case"end":return t.stop()}}),t,this)}))),function(t){return u.apply(this,arguments)})},{key:"post",value:(s=P(A().mark((function t(e){var n,r,o,i=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=i.length>1&&void 0!==i[1]?i[1]:{},r=i.length>2&&void 0!==i[2]?i[2]:{},o=i.length>3&&void 0!==i[3]?i[3]:{},t.abrupt("return",this.performRequest("post",e,{queryParameters:r,bodyParameters:n,additionalHeaders:o}));case 4:case"end":return t.stop()}}),t,this)}))),function(t){return s.apply(this,arguments)})},{key:"put",value:(a=P(A().mark((function t(e){var n,r,o=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=o.length>1&&void 0!==o[1]?o[1]:{},r=o.length>2&&void 0!==o[2]?o[2]:{},t.abrupt("return",this.performRequest("put",e,{queryParameters:r,bodyParameters:n}));case 3:case"end":return t.stop()}}),t,this)}))),function(t){return a.apply(this,arguments)})},{key:"patch",value:(r=P(A().mark((function t(e){var n,r,o=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=o.length>1&&void 0!==o[1]?o[1]:{},r=o.length>2&&void 0!==o[2]?o[2]:{},t.abrupt("return",this.performRequest("patch",e,{queryParameters:r,bodyParameters:n}));case 3:case"end":return t.stop()}}),t,this)}))),function(t){return r.apply(this,arguments)})},{key:"performRequest",value:(n=P(A().mark((function t(e,n,r){var o,a,s,c,u,l,h,p,f,d,y,v,m,g,w,b,C,k,R,E=this;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:o=r.queryParameters,a=void 0===o?null:o,s=r.bodyParameters,c=void 0===s?null:s,u=r.additionalHeaders,l=void 0===u?{}:u,h=r.abortSignal,p=void 0===h?null:h,f=r.responseType,d=void 0===f?void 0:f,y=r.skipConnectionTimeout,v=void 0!==y&&y,m=r.enableKeepAlive,g=void 0===m?void 0:m,this.configuration.validate(),w=Date.now(),this.logger.debug("Request #".concat(w,": Performing ").concat(e.toUpperCase()," request: ").concat(n)),C=A().mark((function t(){var r,o,s,u,h,f,y,m,C;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=E.getNextNode(w),E.logger.debug("Request #".concat(w,": Attempting ").concat(e.toUpperCase()," request Try #").concat(R," to Node ").concat(r.index)),!p||!p.aborted){t.next=4;break}return t.abrupt("return",{v:Promise.reject(new Error("Request aborted by caller."))});case 4:return t.prev=4,s={method:e,url:E.uriFor(n,r),headers:Object.assign({},E.defaultHeaders(),l,E.additionalUserHeaders),maxContentLength:1/0,maxBodyLength:1/0,responseType:d,validateStatus:function(t){return t>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!==v&&(s.timeout=1e3*E.connectionTimeoutSeconds),a&&0!==Object.keys(a).length&&(s.params=a),E.sendApiKeyAsQueryParam&&(s.params=s.params||{},s.params["x-typesense-api-key"]=E.apiKey),E.configuration.httpAgent?(E.logger.debug("Request #".concat(w,": Using custom httpAgent")),s.httpAgent=E.configuration.httpAgent):!0===g&&(E.logger.debug("Request #".concat(w,": Enabling KeepAlive")),s.httpAgent=new Be.Agent({keepAlive:!0})),E.configuration.httpsAgent?(E.logger.debug("Request #".concat(w,": Using custom httpsAgent")),s.httpsAgent=E.configuration.httpsAgent):!0===g&&(E.logger.debug("Request #".concat(w,": Enabling keepAlive")),s.httpsAgent=new qe.Agent({keepAlive:!0})),E.configuration.paramsSerializer&&(E.logger.debug("Request #".concat(w,": Using custom paramsSerializer")),s.paramsSerializer=E.configuration.paramsSerializer),c&&("string"==typeof c&&0!==c.length||"object"===i(c)&&0!==Object.keys(c).length)&&(s.data=c),p&&(u=me.CancelToken,h=u.source(),o=function(){return h.cancel()},p.addEventListener("abort",o),s.cancelToken=h.token),t.next=16,me(s);case 16:if((f=t.sent).status>=1&&f.status<=499&&E.setNodeHealthcheck(r,De),E.logger.debug("Request #".concat(w,": Request to Node ").concat(r.index," was made. Response Code was ").concat(f.status,".")),!(f.status>=200&&f.status<300)){t.next=23;break}return t.abrupt("return",{v:Promise.resolve(f.data)});case 23:if(!(f.status<500)){t.next=27;break}return t.abrupt("return",{v:Promise.reject(E.customErrorForResponse(f,null===(y=f.data)||void 0===y?void 0:y.message))});case 27:throw E.customErrorForResponse(f,null===(m=f.data)||void 0===m?void 0:m.message);case 28:t.next=38;break;case 30:return t.prev=30,t.t0=t.catch(4),E.setNodeHealthcheck(r,!1),b=t.t0,E.logger.warn("Request #".concat(w,": Request to Node ").concat(r.index,' failed due to "').concat(t.t0.code," ").concat(t.t0.message).concat(null==t.t0.response?"":" - "+JSON.stringify(null===(C=t.t0.response)||void 0===C?void 0:C.data),'"')),E.logger.warn("Request #".concat(w,": Sleeping for ").concat(E.retryIntervalSeconds,"s and then retrying request...")),t.next=38,E.timer(E.retryIntervalSeconds);case 38:return t.prev=38,p&&o&&p.removeEventListener("abort",o),t.finish(38);case 41:case"end":return t.stop()}}),t,null,[[4,30,38,41]])})),R=1;case 6:if(!(R<=this.numRetriesPerRequest+1)){t.next=14;break}return t.delegateYield(C(),"t0",8);case 8:if(!(k=t.t0)){t.next=11;break}return t.abrupt("return",k.v);case 11:R++,t.next=6;break;case 14:return this.logger.debug("Request #".concat(w,": No retries left. Raising last error")),t.abrupt("return",Promise.reject(b));case 16:case"end":return t.stop()}}),t,this)}))),function(t,e,r){return n.apply(this,arguments)})},{key:"getNextNode",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(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}},{key:"nodeDueForHealthcheck",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,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}},{key:"initializeMetadataForNodes",value:function(){var t=this;null!=this.nearestNode&&(this.nearestNode.index="nearestNode",this.setNodeHealthcheck(this.nearestNode,De)),this.nodes.forEach((function(e,n){e.index=n,t.setNodeHealthcheck(e,De)}))}},{key:"setNodeHealthcheck",value:function(t,e){t.isHealthy=e,t.lastAccessTimestamp=Date.now()}},{key:"uriFor",value: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)}},{key:"defaultHeaders",value:function(){var t={};return this.sendApiKeyAsQueryParam||(t["X-TYPESENSE-API-KEY"]=this.apiKey),t["Content-Type"]="application/json",t}},{key:"timer",value:(e=P(A().mark((function t(e){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",new Promise((function(t){return setTimeout(t,1e3*e)})));case 1:case"end":return t.stop()}}),t)}))),function(t){return e.apply(this,arguments)})},{key:"customErrorForResponse",value: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 b(n);return(r=400===t.status?new be(n):401===t.status?new Re(n):404===t.status?new Oe(n):409===t.status?new Ae(n):422===t.status?new je(n):t.status>=500&&t.status<=599?new Le(n):new He(n)).httpStatus=t.status,r}}]),t}(),Ke="/collections",ze=function(){function t(e){o(this,t),this.apiCall=e}var e,n;return c(t,[{key:"create",value:(n=P(A().mark((function t(e){var n,r=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},t.abrupt("return",this.apiCall.post(Ke,e,n));case 2:case"end":return t.stop()}}),t,this)}))),function(t){return n.apply(this,arguments)})},{key:"retrieve",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(Ke));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})}],[{key:"RESOURCEPATH",get:function(){return Ke}}]),t}();function Je(t,e,n){return e=f(e),p(t,We()?Reflect.construct(e,n||[],f(t).constructor):e.apply(t,n))}function We(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(We=function(){return!!t})()}var Ge=function(t){function e(t,n){var r;return o(this,e),(r=Je(this,e,[t])).importResults=n,r}return y(e,t),c(e)}(b);function Qe(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);nc&&(y=this.responseCache.keys().next().value,this.responseCache.delete(y)),this.responsePromiseCache.size>c&&(v=this.responsePromiseCache.keys().next().value,this.responsePromiseCache.delete(v)),t.abrupt("return",d);case 37:case"end":return t.stop()}}),t,this)}))),function(t,n,r,o){return e.apply(this,arguments)})}]),t}(),Ye="/documents",Ze=function(){function t(e,n,r){o(this,t),u(this,"requestWithCache",new Xe),this.collectionName=e,this.apiCall=n,this.configuration=r}var e;return c(t,[{key:"clearCache",value:function(){this.requestWithCache.clearCache()}},{key:"search",value:(e=P(A().mark((function t(e){var n,r,o,i,a,s,c,u,l=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:for(c in r=(n=l.length>1&&void 0!==l[1]?l[1]:{}).cacheSearchResultsForSeconds,o=void 0===r?this.configuration.cacheSearchResultsForSeconds:r,i=n.abortSignal,a=void 0===i?null:i,s={},!0===this.configuration.useServerSideSearchCache&&(s.use_cache=!0),e)Array.isArray(e[c])&&(s[c]=e[c].join(","));return u=Object.assign({},e,s),t.abrupt("return",this.requestWithCache.perform(this.apiCall,this.apiCall.get,[this.endpointPath("search"),u,{abortSignal:a}],{cacheResponseForSeconds:o}));case 6:case"end":return t.stop()}}),t,this)}))),function(t){return e.apply(this,arguments)})},{key:"endpointPath",value:function(t){return"".concat(ze.RESOURCEPATH,"/").concat(this.collectionName).concat(Ye).concat(void 0===t?"":"/"+t)}}],[{key:"RESOURCEPATH",get:function(){return Ye}}]),t}();function tn(t,e,n){return e=f(e),p(t,en()?Reflect.construct(e,n||[],f(t).constructor):e.apply(t,n))}function en(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(en=function(){return!!t})()}var nn=function(t){function e(t,n,r){return o(this,e),tn(this,e,[t,n,r])}var n,r,i,a,s,u,l,h;return y(e,t),c(e,[{key:"create",value:(h=P(A().mark((function t(e){var n,r=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=r.length>1&&void 0!==r[1]?r[1]:{},e){t.next=3;break}throw new Error("No document provided");case 3:return t.abrupt("return",this.apiCall.post(this.endpointPath(),e,n));case 4:case"end":return t.stop()}}),t,this)}))),function(t){return h.apply(this,arguments)})},{key:"upsert",value:(l=P(A().mark((function t(e){var n,r=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=r.length>1&&void 0!==r[1]?r[1]:{},e){t.next=3;break}throw new Error("No document provided");case 3:return t.abrupt("return",this.apiCall.post(this.endpointPath(),e,Object.assign({},n,{action:"upsert"})));case 4:case"end":return t.stop()}}),t,this)}))),function(t){return l.apply(this,arguments)})},{key:"update",value:(u=P(A().mark((function t(e){var n,r=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=r.length>1&&void 0!==r[1]?r[1]:{},e){t.next=3;break}throw new Error("No document provided");case 3:if(null==n.filter_by){t.next=7;break}return t.abrupt("return",this.apiCall.patch(this.endpointPath(),e,Object.assign({},n)));case 7:return t.abrupt("return",this.apiCall.post(this.endpointPath(),e,Object.assign({},n,{action:"update"})));case 8:case"end":return t.stop()}}),t,this)}))),function(t){return u.apply(this,arguments)})},{key:"delete",value:(s=P(A().mark((function t(){var e,n=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=n.length>0&&void 0!==n[0]?n[0]:{},t.abrupt("return",this.apiCall.delete(this.endpointPath(),e));case 2:case"end":return t.stop()}}),t,this)}))),function(){return s.apply(this,arguments)})},{key:"createMany",value:(a=P(A().mark((function t(e){var n,r=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},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"),t.abrupt("return",this.import(e,n));case 3:case"end":return t.stop()}}),t,this)}))),function(t){return a.apply(this,arguments)})},{key:"import",value:(i=P(A().mark((function t(e){var n,r,o,i,a,s=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=s.length>1&&void 0!==s[1]?s[1]:{},!Array.isArray(e)){t.next=13;break}t.prev=2,r=e.map((function(t){return JSON.stringify(t)})).join("\n"),t.next=11;break;case 6:if(t.prev=6,t.t0=t.catch(2),!(t.t0 instanceof RangeError&&t.t0.message.includes("Too many properties to enumerate"))){t.next=10;break}throw new Error("".concat(t.t0,"\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 "));case 10:throw new Error(t.t0);case 11:t.next=14;break;case 13:r=e;case 14:return t.next=16,this.apiCall.performRequest("post",this.endpointPath("import"),{queryParameters:n,bodyParameters:r,additionalHeaders:{"Content-Type":"text/plain"},skipConnectionTimeout:!0,enableKeepAlive:!0});case 16:if(o=t.sent,!Array.isArray(e)){t.next=27;break}if(i=o.split("\n").map((function(t){return JSON.parse(t)})),!((a=i.filter((function(t){return!1===t.success}))).length>0)){t.next=24;break}throw new Ge("".concat(i.length-a.length," documents imported successfully, ").concat(a.length," documents failed during import. Use `error.importResults` from the raised exception to get a detailed error reason for each document."),i);case 24:return t.abrupt("return",i);case 25:t.next=28;break;case 27:return t.abrupt("return",o);case 28:case"end":return t.stop()}}),t,this,[[2,6]])}))),function(t){return i.apply(this,arguments)})},{key:"export",value:(r=P(A().mark((function t(){var e,n=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=n.length>0&&void 0!==n[0]?n[0]:{},t.abrupt("return",this.apiCall.get(this.endpointPath("export"),e));case 2:case"end":return t.stop()}}),t,this)}))),function(){return r.apply(this,arguments)})},{key:"exportStream",value:(n=P(A().mark((function t(){var e,n=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=n.length>0&&void 0!==n[0]?n[0]:{},t.abrupt("return",this.apiCall.get(this.endpointPath("export"),e,{responseType:"stream"}));case 2:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})}]),e}(Ze),rn=function(){function t(e,n){o(this,t),this.collectionName=e,this.apiCall=n}var e,n;return c(t,[{key:"upsert",value:(n=P(A().mark((function t(e,n){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.put(this.endpointPath(e),n));case 1:case"end":return t.stop()}}),t,this)}))),function(t,e){return n.apply(this,arguments)})},{key:"retrieve",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(e){return"".concat(ze.RESOURCEPATH,"/").concat(this.collectionName).concat(t.RESOURCEPATH).concat(void 0===e?"":"/"+encodeURIComponent(e))}}],[{key:"RESOURCEPATH",get:function(){return"/overrides"}}]),t}(),on=function(){function t(e,n,r){o(this,t),this.collectionName=e,this.overrideId=n,this.apiCall=r}var e,n;return c(t,[{key:"retrieve",value:(n=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(ze.RESOURCEPATH,"/").concat(encodeURIComponent(this.collectionName)).concat(rn.RESOURCEPATH,"/").concat(encodeURIComponent(this.overrideId))}}]),t}(),an=function(){function t(e,n){o(this,t),this.collectionName=e,this.apiCall=n}var e,n;return c(t,[{key:"upsert",value:(n=P(A().mark((function t(e,n){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.put(this.endpointPath(e),n));case 1:case"end":return t.stop()}}),t,this)}))),function(t,e){return n.apply(this,arguments)})},{key:"retrieve",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(e){return"".concat(ze.RESOURCEPATH,"/").concat(encodeURIComponent(this.collectionName)).concat(t.RESOURCEPATH).concat(void 0===e?"":"/"+encodeURIComponent(e))}}],[{key:"RESOURCEPATH",get:function(){return"/synonyms"}}]),t}(),sn=function(){function t(e,n,r){o(this,t),this.collectionName=e,this.synonymId=n,this.apiCall=r}var e,n;return c(t,[{key:"retrieve",value:(n=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(ze.RESOURCEPATH,"/").concat(encodeURIComponent(this.collectionName)).concat(an.RESOURCEPATH,"/").concat(encodeURIComponent(this.synonymId))}}]),t}(),cn=function(){function t(e,n,r){o(this,t),this.collectionName=e,this.documentId=n,this.apiCall=r}var e,n,r;return c(t,[{key:"retrieve",value:(r=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return r.apply(this,arguments)})},{key:"delete",value:(n=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},{key:"update",value:(e=P(A().mark((function t(e){var n,r=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},t.abrupt("return",this.apiCall.patch(this.endpointPath(),e,n));case 2:case"end":return t.stop()}}),t,this)}))),function(t){return e.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(ze.RESOURCEPATH,"/").concat(encodeURIComponent(this.collectionName)).concat(nn.RESOURCEPATH,"/").concat(encodeURIComponent(this.documentId))}}]),t}(),un=function(){function t(e,n,r){o(this,t),u(this,"individualDocuments",{}),u(this,"individualOverrides",{}),u(this,"individualSynonyms",{}),this.name=e,this.apiCall=n,this.configuration=r,this.name=e,this.apiCall=n,this.configuration=r,this._documents=new nn(this.name,this.apiCall,this.configuration),this._overrides=new rn(this.name,this.apiCall),this._synonyms=new an(this.name,this.apiCall)}var e,n,r,i;return c(t,[{key:"retrieve",value:(i=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return i.apply(this,arguments)})},{key:"update",value:(r=P(A().mark((function t(e){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.patch(this.endpointPath(),e));case 1:case"end":return t.stop()}}),t,this)}))),function(t){return r.apply(this,arguments)})},{key:"delete",value:(n=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},{key:"exists",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,this.retrieve();case 3:return t.abrupt("return",!0);case 6:if(t.prev=6,t.t0=t.catch(0),!(t.t0 instanceof Oe)){t.next=10;break}return t.abrupt("return",!1);case 10:throw t.t0;case 11:case"end":return t.stop()}}),t,this,[[0,6]])}))),function(){return e.apply(this,arguments)})},{key:"documents",value:function(t){return t?(void 0===this.individualDocuments[t]&&(this.individualDocuments[t]=new cn(this.name,t,this.apiCall)),this.individualDocuments[t]):this._documents}},{key:"overrides",value:function(t){return void 0===t?this._overrides:(void 0===this.individualOverrides[t]&&(this.individualOverrides[t]=new on(this.name,t,this.apiCall)),this.individualOverrides[t])}},{key:"synonyms",value:function(t){return void 0===t?this._synonyms:(void 0===this.individualSynonyms[t]&&(this.individualSynonyms[t]=new sn(this.name,t,this.apiCall)),this.individualSynonyms[t])}},{key:"endpointPath",value:function(){return"".concat(ze.RESOURCEPATH,"/").concat(encodeURIComponent(this.name))}}]),t}(),ln="/aliases",hn=function(){function t(e){o(this,t),this.apiCall=e}var e,n;return c(t,[{key:"upsert",value:(n=P(A().mark((function t(e,n){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.put(this.endpointPath(e),n));case 1:case"end":return t.stop()}}),t,this)}))),function(t,e){return n.apply(this,arguments)})},{key:"retrieve",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(ln));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(e){return"".concat(t.RESOURCEPATH,"/").concat(encodeURIComponent(e))}}],[{key:"RESOURCEPATH",get:function(){return ln}}]),t}(),pn=function(){function t(e,n){o(this,t),this.name=e,this.apiCall=n}var e,n;return c(t,[{key:"retrieve",value:(n=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(hn.RESOURCEPATH,"/").concat(encodeURIComponent(this.name))}}]),t}(),fn=n(565),dn="/keys",yn=function(){function t(e){o(this,t),this.apiCall=e,this.apiCall=e}var e,n;return c(t,[{key:"create",value:(n=P(A().mark((function e(n){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.post(t.RESOURCEPATH,n));case 1:case"end":return e.stop()}}),e,this)}))),function(t){return n.apply(this,arguments)})},{key:"retrieve",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(dn));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"generateScopedSearchKey",value:function(t,e){var n=JSON.stringify(e),r=Buffer.from((0,fn.createHmac)("sha256",t).update(n).digest("base64")),o=t.substr(0,4),i="".concat(r).concat(o).concat(n);return Buffer.from(i).toString("base64")}}],[{key:"RESOURCEPATH",get:function(){return dn}}]),t}(),vn=function(){function t(e,n){o(this,t),this.id=e,this.apiCall=n}var e,n;return c(t,[{key:"retrieve",value:(n=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(yn.RESOURCEPATH,"/").concat(encodeURIComponent(this.id))}}]),t}(),mn=function(){function t(e){o(this,t),this.apiCall=e}var e;return c(t,[{key:"retrieve",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get("/debug"));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})}]),t}(),gn=function(){function t(e){o(this,t),this.apiCall=e}var e;return c(t,[{key:"retrieve",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get("/metrics.json"));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})}]),t}(),wn=function(){function t(e){o(this,t),this.apiCall=e}var e;return c(t,[{key:"retrieve",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get("/stats.json"));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})}]),t}(),bn=function(){function t(e){o(this,t),this.apiCall=e}var e;return c(t,[{key:"retrieve",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get("/health"));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})}]),t}(),Cn=function(){function t(e){o(this,t),this.apiCall=e}var e;return c(t,[{key:"perform",value:(e=P(A().mark((function t(e){var n,r=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},t.abrupt("return",this.apiCall.post("".concat("/operations","/").concat(e),{},n));case 2:case"end":return t.stop()}}),t,this)}))),function(t){return e.apply(this,arguments)})}]),t}(),kn=function(){function t(e,n){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];o(this,t),this.apiCall=e,this.configuration=n,this.useTextContentType=r,this.requestWithCache=new Xe}var e;return c(t,[{key:"clearCache",value:function(){this.requestWithCache.clearCache()}},{key:"perform",value:(e=P(A().mark((function t(e){var n,r,o,i,a,s,c=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=c.length>1&&void 0!==c[1]?c[1]:{},r=(c.length>2&&void 0!==c[2]?c[2]:{}).cacheSearchResultsForSeconds,o=void 0===r?this.configuration.cacheSearchResultsForSeconds:r,i={},this.useTextContentType&&(i["content-type"]="text/plain"),a={},!0===this.configuration.useServerSideSearchCache&&(a.use_cache=!0),s=Object.assign({},n,a),t.abrupt("return",this.requestWithCache.perform(this.apiCall,this.apiCall.post,["/multi_search",e,s,i],{cacheResponseForSeconds:o}));case 8:case"end":return t.stop()}}),t,this)}))),function(t){return e.apply(this,arguments)})}]),t}(),Rn=function(){function t(e){o(this,t),this.apiCall=e}var e,n;return c(t,[{key:"upsert",value:(n=P(A().mark((function t(e,n){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.put(this.endpointPath(e),n));case 1:case"end":return t.stop()}}),t,this)}))),function(t,e){return n.apply(this,arguments)})},{key:"retrieve",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(e){return"".concat(t.RESOURCEPATH).concat(void 0===e?"":"/"+encodeURIComponent(e))}}],[{key:"RESOURCEPATH",get:function(){return"/presets"}}]),t}(),En=function(){function t(e,n){o(this,t),this.presetId=e,this.apiCall=n}var e,n;return c(t,[{key:"retrieve",value:(n=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(Rn.RESOURCEPATH,"/").concat(encodeURIComponent(this.presetId))}}]),t}(),Sn=function(){function t(e){o(this,t),this.apiCall=e,this.apiCall=e}var e,n;return c(t,[{key:"upsert",value:(n=P(A().mark((function t(e,n){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.put(this.endpointPath(e),n));case 1:case"end":return t.stop()}}),t,this)}))),function(t,e){return n.apply(this,arguments)})},{key:"retrieve",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(e){return"".concat(t.RESOURCEPATH).concat(void 0===e?"":"/"+encodeURIComponent(e))}}],[{key:"RESOURCEPATH",get:function(){return"/analytics/rules"}}]),t}(),On=function(){function t(e,n){o(this,t),this.name=e,this.apiCall=n}var e,n;return c(t,[{key:"retrieve",value:(n=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(Sn.RESOURCEPATH,"/").concat(encodeURIComponent(this.name))}}]),t}(),Pn=function(){function t(e){o(this,t),this.apiCall=e,this.apiCall=e}var e;return c(t,[{key:"create",value:(e=P(A().mark((function t(e){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.post(this.endpointPath(),e));case 1:case"end":return t.stop()}}),t,this)}))),function(t){return e.apply(this,arguments)})},{key:"endpointPath",value:function(e){return"".concat(t.RESOURCEPATH).concat(void 0===e?"":"/"+encodeURIComponent(e))}}],[{key:"RESOURCEPATH",get:function(){return"/analytics/events"}}]),t}(),xn=function(){function t(e){o(this,t),u(this,"individualAnalyticsRules",{}),this.apiCall=e,this.apiCall=e,this._analyticsRules=new Sn(this.apiCall),this._analyticsEvents=new Pn(this.apiCall)}return c(t,[{key:"rules",value:function(t){return void 0===t?this._analyticsRules:(void 0===this.individualAnalyticsRules[t]&&(this.individualAnalyticsRules[t]=new On(t,this.apiCall)),this.individualAnalyticsRules[t])}},{key:"events",value:function(){return this._analyticsEvents}}],[{key:"RESOURCEPATH",get:function(){return"/analytics"}}]),t}(),An=function(){function t(e){o(this,t),this.apiCall=e}var e,n;return c(t,[{key:"upsert",value:(n=P(A().mark((function t(e,n){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.put(this.endpointPath(e),n));case 1:case"end":return t.stop()}}),t,this)}))),function(t,e){return n.apply(this,arguments)})},{key:"retrieve",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(e){return"".concat(t.RESOURCEPATH).concat(void 0===e?"":"/"+encodeURIComponent(e))}}],[{key:"RESOURCEPATH",get:function(){return"/stopwords"}}]),t}(),Tn=function(){function t(e,n){o(this,t),this.stopwordId=e,this.apiCall=n}var e,n;return c(t,[{key:"retrieve",value:(n=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(An.RESOURCEPATH,"/").concat(encodeURIComponent(this.stopwordId))}}]),t}(),Nn=function(){function t(e){o(this,t),this.apiCall=e,this.apiCall=e}var e,n;return c(t,[{key:"create",value:(n=P(A().mark((function t(e){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.post(this.endpointPath(),e));case 1:case"end":return t.stop()}}),t,this)}))),function(t){return n.apply(this,arguments)})},{key:"retrieve",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(e){return"".concat(t.RESOURCEPATH).concat(void 0===e?"":"/"+encodeURIComponent(e))}}],[{key:"RESOURCEPATH",get:function(){return"/conversations/models"}}]),t}(),jn=function(){function t(e,n){o(this,t),this.id=e,this.apiCall=n}var e,n,r;return c(t,[{key:"update",value:(r=P(A().mark((function t(e){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.put(this.endpointPath(),e));case 1:case"end":return t.stop()}}),t,this)}))),function(t){return r.apply(this,arguments)})},{key:"retrieve",value:(n=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(Nn.RESOURCEPATH,"/").concat(encodeURIComponent(this.id))}}]),t}(),Un="/conversations",_n=function(){function t(e){o(this,t),u(this,"individualConversationModels",{}),this.apiCall=e,this.apiCall=e,this._conversationsModels=new Nn(this.apiCall)}var e;return c(t,[{key:"retrieve",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(Un));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"models",value:function(t){return void 0===t?this._conversationsModels:(void 0===this.individualConversationModels[t]&&(this.individualConversationModels[t]=new jn(t,this.apiCall)),this.individualConversationModels[t])}}],[{key:"RESOURCEPATH",get:function(){return Un}}]),t}(),Ln=function(){function t(e,n){o(this,t),this.id=e,this.apiCall=n}var e,n,r;return c(t,[{key:"retrieve",value:(r=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return r.apply(this,arguments)})},{key:"update",value:(n=P(A().mark((function t(e){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.put(this.endpointPath(),e));case 1:case"end":return t.stop()}}),t,this)}))),function(t){return n.apply(this,arguments)})},{key:"delete",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(_n.RESOURCEPATH,"/").concat(encodeURIComponent(this.id))}}]),t}(),In=function(){function t(e){var n;o(this,t),e.sendApiKeyAsQueryParam=null!==(n=e.sendApiKeyAsQueryParam)&&void 0!==n&&n,this.configuration=new S(e),this.apiCall=new Me(this.configuration),this.debug=new mn(this.apiCall),this.metrics=new gn(this.apiCall),this.stats=new wn(this.apiCall),this.health=new bn(this.apiCall),this.operations=new Cn(this.apiCall),this.multiSearch=new kn(this.apiCall,this.configuration),this._collections=new ze(this.apiCall),this.individualCollections={},this._aliases=new hn(this.apiCall),this.individualAliases={},this._keys=new yn(this.apiCall),this.individualKeys={},this._presets=new Rn(this.apiCall),this.individualPresets={},this._stopwords=new An(this.apiCall),this.individualStopwords={},this.analytics=new xn(this.apiCall),this._conversations=new _n(this.apiCall),this.individualConversations={}}return c(t,[{key:"collections",value:function(t){return void 0===t?this._collections:(void 0===this.individualCollections[t]&&(this.individualCollections[t]=new un(t,this.apiCall,this.configuration)),this.individualCollections[t])}},{key:"aliases",value:function(t){return void 0===t?this._aliases:(void 0===this.individualAliases[t]&&(this.individualAliases[t]=new pn(t,this.apiCall)),this.individualAliases[t])}},{key:"keys",value:function(t){return void 0===t?this._keys:(void 0===this.individualKeys[t]&&(this.individualKeys[t]=new vn(t,this.apiCall)),this.individualKeys[t])}},{key:"presets",value:function(t){return void 0===t?this._presets:(void 0===this.individualPresets[t]&&(this.individualPresets[t]=new En(t,this.apiCall)),this.individualPresets[t])}},{key:"stopwords",value:function(t){return void 0===t?this._stopwords:(void 0===this.individualStopwords[t]&&(this.individualStopwords[t]=new Tn(t,this.apiCall)),this.individualStopwords[t])}},{key:"conversations",value:function(t){return void 0===t?this._conversations:(void 0===this.individualConversations[t]&&(this.individualConversations[t]=new Ln(t,this.apiCall)),this.individualConversations[t])}}]),t}();var Fn=function(){function t(e,n,r){o(this,t),this.name=e,this.apiCall=n,this.configuration=r,this._documents=new Ze(this.name,this.apiCall,this.configuration)}return c(t,[{key:"documents",value:function(){return this._documents}}]),t}(),Hn=function(){function t(e){var n;o(this,t),e.sendApiKeyAsQueryParam=null===(n=e.sendApiKeyAsQueryParam)||void 0===n||n,!0===e.sendApiKeyAsQueryParam&&(e.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."),e.sendApiKeyAsQueryParam=!1),this.configuration=new S(e),this.apiCall=new Me(this.configuration),this.multiSearch=new kn(this.apiCall,this.configuration,!0),this.individualCollections={}}return c(t,[{key:"clearCache",value:function(){this.multiSearch.clearCache(),Object.entries(this.individualCollections).forEach((function(t){var e,n,r=(n=2,function(t){if(Array.isArray(t))return t}(e=t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,o,i,a,s=[],c=!0,u=!1;try{if(i=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(s.push(r.value),s.length!==e);c=!0);}catch(t){u=!0,o=t}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}(e,n)||Ve(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}());r[0],r[1].documents().clearCache()}))}},{key:"collections",value:function(t){if(t)return void 0===this.individualCollections[t]&&(this.individualCollections[t]=new Fn(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}();const Bn={Client:In,SearchClient:Hn,Errors:e}})(),Typesense=r})(); +//# sourceMappingURL=typesense.min.js.map \ No newline at end of file diff --git a/dist/typesense.min.js.map b/dist/typesense.min.js.map new file mode 100644 index 00000000..f731e4e4 --- /dev/null +++ b/dist/typesense.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"typesense.min.js","mappings":"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","sources":["webpack://Typesense/./node_modules/loglevel/lib/loglevel.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/regenerator/index.js","webpack://Typesense/webpack/bootstrap","webpack://Typesense/webpack/runtime/compat get default export","webpack://Typesense/webpack/runtime/define property getters","webpack://Typesense/webpack/runtime/hasOwnProperty shorthand","webpack://Typesense/webpack/runtime/make namespace object","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://Typesense/./src/Typesense/Errors/TypesenseError.ts","webpack://Typesense/./src/Typesense/Errors/MissingConfigurationError.ts","webpack://Typesense/./src/Typesense/Configuration.ts","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://Typesense/./node_modules/axios/lib/helpers/bind.js","webpack://Typesense/./node_modules/axios/lib/utils.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosError.js","webpack://Typesense/./node_modules/axios/lib/helpers/toFormData.js","webpack://Typesense/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/helpers/buildURL.js","webpack://Typesense/./node_modules/axios/lib/core/InterceptorManager.js","webpack://Typesense/./node_modules/axios/lib/defaults/transitional.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/index.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://Typesense/./node_modules/axios/lib/platform/common/utils.js","webpack://Typesense/./node_modules/axios/lib/platform/index.js","webpack://Typesense/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://Typesense/./node_modules/axios/lib/defaults/index.js","webpack://Typesense/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://Typesense/./node_modules/axios/lib/core/transformData.js","webpack://Typesense/./node_modules/axios/lib/cancel/isCancel.js","webpack://Typesense/./node_modules/axios/lib/cancel/CanceledError.js","webpack://Typesense/./node_modules/axios/lib/helpers/cookies.js","webpack://Typesense/./node_modules/axios/lib/core/buildFullPath.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://Typesense/./node_modules/axios/lib/helpers/combineURLs.js","webpack://Typesense/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://Typesense/./node_modules/axios/lib/adapters/xhr.js","webpack://Typesense/./node_modules/axios/lib/helpers/speedometer.js","webpack://Typesense/./node_modules/axios/lib/adapters/adapters.js","webpack://Typesense/./node_modules/axios/lib/helpers/null.js","webpack://Typesense/./node_modules/axios/lib/core/settle.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://Typesense/./node_modules/axios/lib/core/dispatchRequest.js","webpack://Typesense/./node_modules/axios/lib/core/mergeConfig.js","webpack://Typesense/./node_modules/axios/lib/env/data.js","webpack://Typesense/./node_modules/axios/lib/helpers/validator.js","webpack://Typesense/./node_modules/axios/lib/core/Axios.js","webpack://Typesense/./node_modules/axios/lib/cancel/CancelToken.js","webpack://Typesense/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://Typesense/./node_modules/axios/lib/axios.js","webpack://Typesense/./node_modules/axios/lib/helpers/spread.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://Typesense/./src/Typesense/Errors/RequestMalformed.ts","webpack://Typesense/./src/Typesense/Errors/RequestUnauthorized.ts","webpack://Typesense/./src/Typesense/Errors/ObjectNotFound.ts","webpack://Typesense/./src/Typesense/Errors/ObjectAlreadyExists.ts","webpack://Typesense/./src/Typesense/Errors/ObjectUnprocessable.ts","webpack://Typesense/./src/Typesense/Errors/ServerError.ts","webpack://Typesense/./src/Typesense/Errors/HTTPError.ts","webpack://Typesense/./src/Typesense/ApiCall.ts","webpack://Typesense/./src/Typesense/Collections.ts","webpack://Typesense/./src/Typesense/Errors/ImportError.ts","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://Typesense/./src/Typesense/RequestWithCache.ts","webpack://Typesense/./src/Typesense/SearchOnlyDocuments.ts","webpack://Typesense/./src/Typesense/Documents.ts","webpack://Typesense/./src/Typesense/Overrides.ts","webpack://Typesense/./src/Typesense/Override.ts","webpack://Typesense/./src/Typesense/Synonyms.ts","webpack://Typesense/./src/Typesense/Synonym.ts","webpack://Typesense/./src/Typesense/Document.ts","webpack://Typesense/./src/Typesense/Collection.ts","webpack://Typesense/./src/Typesense/Aliases.ts","webpack://Typesense/./src/Typesense/Alias.ts","webpack://Typesense/./src/Typesense/Keys.ts","webpack://Typesense/./src/Typesense/Key.ts","webpack://Typesense/./src/Typesense/Debug.ts","webpack://Typesense/./src/Typesense/Metrics.ts","webpack://Typesense/./src/Typesense/Stats.ts","webpack://Typesense/./src/Typesense/Health.ts","webpack://Typesense/./src/Typesense/Operations.ts","webpack://Typesense/./src/Typesense/MultiSearch.ts","webpack://Typesense/./src/Typesense/Presets.ts","webpack://Typesense/./src/Typesense/Preset.ts","webpack://Typesense/./src/Typesense/AnalyticsRules.ts","webpack://Typesense/./src/Typesense/AnalyticsRule.ts","webpack://Typesense/./src/Typesense/AnalyticsEvents.ts","webpack://Typesense/./src/Typesense/Analytics.ts","webpack://Typesense/./src/Typesense/Stopwords.ts","webpack://Typesense/./src/Typesense/Stopword.ts","webpack://Typesense/./src/Typesense/ConversationModels.ts","webpack://Typesense/./src/Typesense/ConversationModel.ts","webpack://Typesense/./src/Typesense/Conversations.ts","webpack://Typesense/./src/Typesense/Conversation.ts","webpack://Typesense/./src/Typesense/Client.ts","webpack://Typesense/./src/Typesense/SearchOnlyCollection.ts","webpack://Typesense/./src/Typesense/SearchClient.ts","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://Typesense/./src/Typesense.ts"],"sourcesContent":["/*\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 var _loggersByName = {};\n var defaultLogger = null;\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() {\n /*jshint validthis:true */\n var level = this.getLevel();\n\n // Replace the actual methods.\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, this.name);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n\n // Return any important warnings.\n if (typeof console === undefinedType && level < this.levels.SILENT) {\n return \"No console available for logging\";\n }\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) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this);\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, factory) {\n // Private instance variables.\n var self = this;\n /**\n * The level inherited from a parent logger (or a global default). We\n * cache this here rather than delegating to the parent so that it stays\n * in sync with the actual logging methods that we have installed (the\n * parent could change levels but we might not have rebuilt the loggers\n * in this child yet).\n * @type {number}\n */\n var inheritedLevel;\n /**\n * The default level for this logger, if any. If set, this overrides\n * `inheritedLevel`.\n * @type {number|null}\n */\n var defaultLevel;\n /**\n * A user-specific level for this logger. If set, this overrides\n * `defaultLevel`.\n * @type {number|null}\n */\n var userLevel;\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 cookieName = encodeURIComponent(storageKey);\n var location = cookie.indexOf(cookieName + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(\n cookie.slice(location + cookieName.length + 1)\n )[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 } 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 function normalizeLevel(input) {\n var level = input;\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 return level;\n } else {\n throw new TypeError(\"log.setLevel() called with invalid level: \" + input);\n }\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 if (userLevel != null) {\n return userLevel;\n } else if (defaultLevel != null) {\n return defaultLevel;\n } else {\n return inheritedLevel;\n }\n };\n\n self.setLevel = function (level, persist) {\n userLevel = normalizeLevel(level);\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(userLevel);\n }\n\n // NOTE: in v2, this should call rebuild(), which updates children.\n return replaceLoggingMethods.call(self);\n };\n\n self.setDefaultLevel = function (level) {\n defaultLevel = normalizeLevel(level);\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.resetLevel = function () {\n userLevel = null;\n clearPersistedLevel();\n replaceLoggingMethods.call(self);\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 self.rebuild = function () {\n if (defaultLogger !== self) {\n inheritedLevel = normalizeLevel(defaultLogger.getLevel());\n }\n replaceLoggingMethods.call(self);\n\n if (defaultLogger === self) {\n for (var childName in _loggersByName) {\n _loggersByName[childName].rebuild();\n }\n }\n };\n\n // Initialize all the internal levels.\n inheritedLevel = normalizeLevel(\n defaultLogger ? defaultLogger.getLevel() : \"WARN\"\n );\n var initialLevel = getPersistedLevel();\n if (initialLevel != null) {\n userLevel = normalizeLevel(initialLevel);\n }\n replaceLoggingMethods.call(self);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n defaultLogger = new Logger();\n\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,\n defaultLogger.methodFactory\n );\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","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 e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw new Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\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))","// 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};","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(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\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 _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n try {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n } catch (e) {\n return typeof fn === \"function\";\n }\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\n}","export default class TypesenseError extends Error {\n httpStatus?: number;\n\n // Source: https://stackoverflow.com/a/58417721/123545\n constructor(message?: string) {\n super(message);\n this.name = new.target.name;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class MissingConfigurationError extends TypesenseError {}\n","import * as logger from \"loglevel\";\nimport { Logger, LogLevelDesc } from \"loglevel\";\nimport { MissingConfigurationError } from \"./Errors\";\nimport type { Agent as HTTPAgent } from \"http\";\nimport type { Agent as HTTPSAgent } from \"https\";\n\nexport interface NodeConfiguration {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n url?: string;\n}\n\nexport interface NodeConfigurationWithHostname {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n}\n\nexport interface NodeConfigurationWithUrl {\n url: string;\n}\n\nexport interface ConfigurationOptions {\n apiKey: string;\n nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n randomizeNodes?: boolean;\n /**\n * @deprecated\n * masterNode is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n masterNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n /**\n * @deprecated\n * readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n readReplicaNodes?:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n connectionTimeoutSeconds?: number;\n timeoutSeconds?: number;\n healthcheckIntervalSeconds?: number;\n numRetries?: number;\n retryIntervalSeconds?: number;\n sendApiKeyAsQueryParam?: boolean | undefined;\n useServerSideSearchCache?: boolean;\n cacheSearchResultsForSeconds?: number;\n additionalHeaders?: Record;\n\n logLevel?: LogLevelDesc;\n logger?: Logger;\n\n /**\n * Set a custom HTTP Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPAgent } = require(\"http\");\n * ...\n * httpAgent: new HTTPAgent({ keepAlive: true }),\n * @type {HTTPAgent}\n */\n httpAgent?: HTTPAgent;\n\n /**\n * Set a custom HTTPS Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPSAgent } = require(\"https\");\n * ...\n * httpsAgent: new HTTPSAgent({ keepAlive: true }),\n * @type {HTTPSAgent}\n */\n httpsAgent?: HTTPSAgent;\n\n /**\n * Set a custom paramsSerializer\n *\n * See axios documentation for more information on how to use this parameter: https://axios-http.com/docs/req_config\n * This is helpful for handling React Native issues like this: https://github.com/axios/axios/issues/6102#issuecomment-2085301397\n * @type {any}\n */\n paramsSerializer?: any;\n}\n\nexport default class Configuration {\n readonly nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n readonly nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n readonly connectionTimeoutSeconds: number;\n readonly healthcheckIntervalSeconds: number;\n readonly numRetries: number;\n readonly retryIntervalSeconds: number;\n readonly apiKey: string;\n readonly sendApiKeyAsQueryParam?: boolean;\n readonly cacheSearchResultsForSeconds: number;\n readonly useServerSideSearchCache: boolean;\n readonly logger: Logger;\n readonly logLevel: LogLevelDesc;\n readonly additionalHeaders?: Record;\n readonly httpAgent?: HTTPAgent;\n readonly httpsAgent?: HTTPSAgent;\n readonly paramsSerializer?: any;\n\n constructor(options: ConfigurationOptions) {\n this.nodes = options.nodes || [];\n this.nodes = this.nodes\n .map((node) => this.setDefaultPathInNode(node))\n .map((node) => this.setDefaultPortInNode(node))\n .map((node) => ({ ...node })) as NodeConfiguration[]; // Make a deep copy\n\n if (options.randomizeNodes == null) {\n options.randomizeNodes = true;\n }\n\n if (options.randomizeNodes === true) {\n this.shuffleArray(this.nodes);\n }\n\n this.nearestNode = options.nearestNode;\n this.nearestNode = this.setDefaultPathInNode(this.nearestNode);\n this.nearestNode = this.setDefaultPortInNode(this.nearestNode);\n\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\n this.apiKey = options.apiKey;\n this.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam; // We will set a default for this in Client and SearchClient\n\n this.cacheSearchResultsForSeconds =\n options.cacheSearchResultsForSeconds || 0; // Disable client-side cache by default\n this.useServerSideSearchCache = options.useServerSideSearchCache || false;\n\n this.logger = options.logger || logger;\n this.logLevel = options.logLevel || \"warn\";\n this.logger.setLevel(this.logLevel);\n\n this.additionalHeaders = options.additionalHeaders;\n\n this.httpAgent = options.httpAgent;\n this.httpsAgent = options.httpsAgent;\n\n this.paramsSerializer = options.paramsSerializer;\n\n this.showDeprecationWarnings(options);\n this.validate();\n }\n\n validate(): boolean {\n if (this.nodes == null || this.nodes.length === 0 || this.validateNodes()) {\n throw new MissingConfigurationError(\n \"Ensure that nodes[].protocol, nodes[].host and nodes[].port are set\",\n );\n }\n\n if (\n this.nearestNode != null &&\n this.isNodeMissingAnyParameters(this.nearestNode)\n ) {\n throw new MissingConfigurationError(\n \"Ensure that nearestNodes.protocol, nearestNodes.host and nearestNodes.port are set\",\n );\n }\n\n if (this.apiKey == null) {\n throw new MissingConfigurationError(\"Ensure that apiKey is set\");\n }\n\n return true;\n }\n\n private validateNodes(): boolean {\n return this.nodes.some((node) => {\n return this.isNodeMissingAnyParameters(node);\n });\n }\n\n private isNodeMissingAnyParameters(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl,\n ): boolean {\n return (\n ![\"protocol\", \"host\", \"port\", \"path\"].every((key) => {\n return node.hasOwnProperty(key);\n }) && node[\"url\"] == null\n );\n }\n\n private setDefaultPathInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (node != null && !node.hasOwnProperty(\"path\")) {\n node[\"path\"] = \"\";\n }\n return node;\n }\n\n private setDefaultPortInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (\n node != null &&\n !node.hasOwnProperty(\"port\") &&\n node.hasOwnProperty(\"protocol\")\n ) {\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\n private showDeprecationWarnings(options: ConfigurationOptions): void {\n if (options.timeoutSeconds) {\n this.logger.warn(\n \"Deprecation warning: timeoutSeconds is now renamed to connectionTimeoutSeconds\",\n );\n }\n if (options.masterNode) {\n this.logger.warn(\n \"Deprecation warning: masterNode is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n if (options.readReplicaNodes) {\n this.logger.warn(\n \"Deprecation warning: readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n }\n\n private shuffleArray(array) {\n for (let i = array.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [array[i], array[j]] = [array[j], array[i]];\n }\n }\n}\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}","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\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 && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let 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 {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\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 *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\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 (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 const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\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 *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && 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 *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\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 *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","'use strict';\n\nimport utils from '../utils.js';\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 {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n 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: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\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 * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\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 */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n 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 *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\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 *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\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 *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = (\n (product) => {\n return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0\n })(typeof navigator !== 'undefined' && navigator.product);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\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\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (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 headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\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 env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\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 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\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} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\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 *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default 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\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 *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\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 const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let 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 const 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","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n let {responseType, withXSRFToken} = config;\n let 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 let contentType;\n\n if (utils.isFormData(requestData)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n requestHeaders.setContentType(false); // Let the browser set it\n } else if ((contentType = requestHeaders.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n requestHeaders.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\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 const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n 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(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, 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(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\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(platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(config));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(fullPath))) {\n // Add xsrf header\n const xsrfValue = config.xsrfHeaderName && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\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', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : 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 const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\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 *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\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 *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(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 config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\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 config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? thing.toJSON() : thing;\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 *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, 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(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const 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 withXSRFToken: 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 beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","export const VERSION = \"1.6.7\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\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 *\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 (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\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 *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(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 {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n }\n\n throw err;\n }\n }\n\n _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 const {transitional, paramsSerializer, headers} = config;\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 if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let 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 const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\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,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(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, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n 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\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const 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 */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\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\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\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 *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestMalformed extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestUnauthorized extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectNotFound extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectAlreadyExists extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectUnprocessable extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ServerError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class HTTPError extends TypesenseError {}\n","import axios, { AxiosRequestConfig, AxiosResponse, Method } from \"axios\";\nimport { Logger } from \"loglevel\";\nimport {\n HTTPError,\n ObjectAlreadyExists,\n ObjectNotFound,\n ObjectUnprocessable,\n RequestMalformed,\n RequestUnauthorized,\n ServerError,\n} from \"./Errors\";\nimport TypesenseError from \"./Errors/TypesenseError\";\nimport Configuration, { NodeConfiguration } from \"./Configuration\";\nimport { Agent as HTTPAgent } from \"http\";\nimport { Agent as HTTPSAgent } from \"https\";\n\nconst APIKEYHEADERNAME = \"X-TYPESENSE-API-KEY\";\nconst HEALTHY = true;\nconst UNHEALTHY = false;\n\ninterface Node extends NodeConfiguration {\n isHealthy: boolean;\n index: string | number;\n}\n\nexport default class ApiCall {\n private readonly apiKey: string;\n private readonly nodes: Node[];\n private readonly nearestNode: Node;\n private readonly connectionTimeoutSeconds: number;\n private readonly healthcheckIntervalSeconds: number;\n private readonly retryIntervalSeconds: number;\n private readonly sendApiKeyAsQueryParam?: boolean;\n private readonly numRetriesPerRequest: number;\n private readonly additionalUserHeaders?: Record;\n\n private readonly logger: Logger;\n private currentNodeIndex: number;\n\n constructor(private 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\n this.logger = this.configuration.logger;\n\n this.initializeMetadataForNodes();\n this.currentNodeIndex = -1;\n }\n\n async get(\n endpoint: string,\n queryParameters: any = {},\n {\n abortSignal = null,\n responseType = undefined,\n }: {\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n } = {},\n ): Promise {\n return this.performRequest(\"get\", endpoint, {\n queryParameters,\n abortSignal,\n responseType,\n });\n }\n\n async delete(endpoint: string, queryParameters: any = {}): Promise {\n return this.performRequest(\"delete\", endpoint, { queryParameters });\n }\n\n async post(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n additionalHeaders: any = {},\n ): Promise {\n return this.performRequest(\"post\", endpoint, {\n queryParameters,\n bodyParameters,\n additionalHeaders,\n });\n }\n\n async put(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"put\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async patch(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"patch\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async performRequest(\n requestType: Method,\n endpoint: string,\n {\n queryParameters = null,\n bodyParameters = null,\n additionalHeaders = {},\n abortSignal = null,\n responseType = undefined,\n skipConnectionTimeout = false,\n enableKeepAlive = undefined,\n }: {\n queryParameters?: any;\n bodyParameters?: any;\n additionalHeaders?: any;\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n skipConnectionTimeout?: boolean;\n enableKeepAlive?: boolean | undefined;\n },\n ): Promise {\n this.configuration.validate();\n\n const requestNumber = Date.now();\n let lastException;\n this.logger.debug(\n `Request #${requestNumber}: Performing ${requestType.toUpperCase()} request: ${endpoint}`,\n );\n for (\n let numTries = 1;\n numTries <= this.numRetriesPerRequest + 1;\n numTries++\n ) {\n const node = this.getNextNode(requestNumber);\n this.logger.debug(\n `Request #${requestNumber}: Attempting ${requestType.toUpperCase()} request Try #${numTries} to Node ${\n node.index\n }`,\n );\n\n if (abortSignal && abortSignal.aborted) {\n return Promise.reject(new Error(\"Request aborted by caller.\"));\n }\n\n let abortListener;\n\n try {\n const requestOptions: AxiosRequestConfig = {\n method: requestType,\n url: this.uriFor(endpoint, node),\n headers: Object.assign(\n {},\n this.defaultHeaders(),\n additionalHeaders,\n this.additionalUserHeaders,\n ),\n maxContentLength: Infinity,\n maxBodyLength: Infinity,\n responseType,\n validateStatus: (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 (data, headers) => {\n let transformedData = data;\n if (\n headers !== undefined &&\n typeof data === \"string\" &&\n headers[\"content-type\"] &&\n headers[\"content-type\"].startsWith(\"application/json\")\n ) {\n transformedData = JSON.parse(data);\n }\n return transformedData;\n },\n ],\n };\n\n if (skipConnectionTimeout !== true) {\n requestOptions.timeout = this.connectionTimeoutSeconds * 1000;\n }\n\n if (queryParameters && Object.keys(queryParameters).length !== 0) {\n requestOptions.params = queryParameters;\n }\n\n if (this.sendApiKeyAsQueryParam) {\n requestOptions.params = requestOptions.params || {};\n requestOptions.params[\"x-typesense-api-key\"] = this.apiKey;\n }\n\n if (this.configuration.httpAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpAgent`,\n );\n requestOptions.httpAgent = this.configuration.httpAgent;\n } else if (enableKeepAlive === true) {\n this.logger.debug(`Request #${requestNumber}: Enabling KeepAlive`);\n requestOptions.httpAgent = new HTTPAgent({ keepAlive: true });\n }\n\n if (this.configuration.httpsAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpsAgent`,\n );\n requestOptions.httpsAgent = this.configuration.httpsAgent;\n } else if (enableKeepAlive === true) {\n this.logger.debug(`Request #${requestNumber}: Enabling keepAlive`);\n requestOptions.httpsAgent = new HTTPSAgent({ keepAlive: true });\n }\n\n if (this.configuration.paramsSerializer) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom paramsSerializer`,\n );\n requestOptions.paramsSerializer = this.configuration.paramsSerializer;\n }\n\n if (\n bodyParameters &&\n ((typeof bodyParameters === \"string\" &&\n bodyParameters.length !== 0) ||\n (typeof bodyParameters === \"object\" &&\n Object.keys(bodyParameters).length !== 0))\n ) {\n requestOptions.data = bodyParameters;\n }\n\n // Translate from user-provided AbortController to the Axios request cancel mechanism.\n if (abortSignal) {\n const cancelToken = axios.CancelToken;\n const source = cancelToken.source();\n abortListener = () => source.cancel();\n abortSignal.addEventListener(\"abort\", abortListener);\n requestOptions.cancelToken = source.token;\n }\n\n const response = await axios(requestOptions);\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.setNodeHealthcheck(node, HEALTHY);\n }\n this.logger.debug(\n `Request #${requestNumber}: Request to Node ${node.index} was made. Response Code was ${response.status}.`,\n );\n\n if (response.status >= 200 && response.status < 300) {\n // If response is 2xx return a resolved promise\n return Promise.resolve(response.data);\n } else if (response.status < 500) {\n // Next, if response is anything but 5xx, don't retry, return a custom error\n return Promise.reject(\n this.customErrorForResponse(response, response.data?.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.customErrorForResponse(response, response.data?.message);\n }\n } catch (error: any) {\n // This block handles retries for HTTPStatus > 500 and network layer issues like connection timeouts\n this.setNodeHealthcheck(node, UNHEALTHY);\n lastException = error;\n this.logger.warn(\n `Request #${requestNumber}: Request to Node ${\n node.index\n } failed due to \"${error.code} ${error.message}${\n error.response == null\n ? \"\"\n : \" - \" + JSON.stringify(error.response?.data)\n }\"`,\n );\n // this.logger.debug(error.stack)\n this.logger.warn(\n `Request #${requestNumber}: Sleeping for ${this.retryIntervalSeconds}s and then retrying request...`,\n );\n await this.timer(this.retryIntervalSeconds);\n } finally {\n if (abortSignal && abortListener) {\n abortSignal.removeEventListener(\"abort\", abortListener);\n }\n }\n }\n this.logger.debug(\n `Request #${requestNumber}: No retries left. Raising last error`,\n );\n return Promise.reject(lastException);\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 getNextNode(requestNumber = 0): Node {\n // Check if nearestNode is set and is healthy, if so return it\n if (this.nearestNode != null) {\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: Node ${\n this.nearestNode.index\n } is ${this.nearestNode.isHealthy === true ? \"Healthy\" : \"Unhealthy\"}`,\n );\n if (\n this.nearestNode.isHealthy === true ||\n this.nodeDueForHealthcheck(this.nearestNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${this.nearestNode.index}`,\n );\n return this.nearestNode;\n }\n this.logger.debug(\n `Request #${requestNumber}: Falling back to individual nodes`,\n );\n }\n\n // Fallback to nodes as usual\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: ${this.nodes\n .map(\n (node) =>\n `Node ${node.index} is ${\n node.isHealthy === true ? \"Healthy\" : \"Unhealthy\"\n }`,\n )\n .join(\" || \")}`,\n );\n let candidateNode: Node = this.nodes[0];\n for (let i = 0; i <= this.nodes.length; i++) {\n this.currentNodeIndex = (this.currentNodeIndex + 1) % this.nodes.length;\n candidateNode = this.nodes[this.currentNodeIndex];\n if (\n candidateNode.isHealthy === true ||\n this.nodeDueForHealthcheck(candidateNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\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(\n `Request #${requestNumber}: No healthy nodes were found. Returning the next node, Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\n\n nodeDueForHealthcheck(node, requestNumber = 0): boolean {\n const isDueForHealthcheck =\n Date.now() - node.lastAccessTimestamp >\n this.healthcheckIntervalSeconds * 1000;\n if (isDueForHealthcheck) {\n this.logger.debug(\n `Request #${requestNumber}: Node ${node.index} has exceeded healtcheckIntervalSeconds of ${this.healthcheckIntervalSeconds}. Adding it back into rotation.`,\n );\n }\n return isDueForHealthcheck;\n }\n\n initializeMetadataForNodes(): void {\n if (this.nearestNode != null) {\n this.nearestNode.index = \"nearestNode\";\n this.setNodeHealthcheck(this.nearestNode, HEALTHY);\n }\n\n this.nodes.forEach((node, i) => {\n node.index = i;\n this.setNodeHealthcheck(node, HEALTHY);\n });\n }\n\n setNodeHealthcheck(node, isHealthy): void {\n node.isHealthy = isHealthy;\n node.lastAccessTimestamp = Date.now();\n }\n\n uriFor(endpoint: string, node): string {\n if (node.url != null) {\n return `${node.url}${endpoint}`;\n }\n return `${node.protocol}://${node.host}:${node.port}${node.path}${endpoint}`;\n }\n\n defaultHeaders(): any {\n const defaultHeaders = {};\n if (!this.sendApiKeyAsQueryParam) {\n defaultHeaders[APIKEYHEADERNAME] = this.apiKey;\n }\n defaultHeaders[\"Content-Type\"] = \"application/json\";\n return defaultHeaders;\n }\n\n async timer(seconds): Promise {\n return new Promise((resolve) => setTimeout(resolve, seconds * 1000));\n }\n\n customErrorForResponse(\n response: AxiosResponse,\n messageFromServer: string,\n ): TypesenseError {\n let errorMessage = `Request failed with HTTP code ${response.status}`;\n if (\n typeof messageFromServer === \"string\" &&\n messageFromServer.trim() !== \"\"\n ) {\n errorMessage += ` | Server said: ${messageFromServer}`;\n }\n\n let error = new TypesenseError(errorMessage);\n\n if (response.status === 400) {\n error = new RequestMalformed(errorMessage);\n } else if (response.status === 401) {\n error = new RequestUnauthorized(errorMessage);\n } else if (response.status === 404) {\n error = new ObjectNotFound(errorMessage);\n } else if (response.status === 409) {\n error = new ObjectAlreadyExists(errorMessage);\n } else if (response.status === 422) {\n error = new ObjectUnprocessable(errorMessage);\n } else if (response.status >= 500 && response.status <= 599) {\n error = new ServerError(errorMessage);\n } else {\n error = new HTTPError(errorMessage);\n }\n\n error.httpStatus = response.status;\n\n return error;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { CollectionFieldSchema, CollectionSchema } from \"./Collection\";\n\nexport interface CollectionCreateSchema {\n name: string;\n default_sorting_field?: string;\n fields?: CollectionFieldSchema[];\n symbols_to_index?: string[];\n token_separators?: string[];\n enable_nested_fields?: boolean;\n metadata?: object;\n voice_query_model?: {\n model_name?: string;\n };\n}\n\nexport interface CollectionCreateOptions {\n src_name?: string;\n}\n\nconst RESOURCEPATH = \"/collections\";\n\nexport default class Collections {\n constructor(private apiCall: ApiCall) {}\n\n async create(\n schema: CollectionCreateSchema,\n options: CollectionCreateOptions = {},\n ): Promise {\n return this.apiCall.post(RESOURCEPATH, schema, options);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import TypesenseError from \"./TypesenseError\";\nimport { ImportResponseFail } from \"../Documents\";\n\nexport default class ImportError extends TypesenseError {\n importResults: ImportResponseFail;\n constructor(message, importResults) {\n super(message);\n this.importResults = importResults;\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 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}","const defaultCacheResponseForSeconds = 2 * 60;\nconst defaultMaxSize = 100;\n\nexport default class RequestWithCache {\n private responseCache: Map = new Map();\n private responsePromiseCache: Map = new Map();\n\n clearCache() {\n this.responseCache = new Map();\n this.responsePromiseCache = new Map();\n }\n\n // Todo: should probably be passed a callback instead, or an apiCall instance. Types are messy this way\n async perform(\n requestContext: any,\n requestFunction: (...params: any) => unknown,\n requestFunctionArguments: any[],\n cacheOptions: CacheOptions\n ): Promise {\n const {\n cacheResponseForSeconds = defaultCacheResponseForSeconds,\n maxSize = defaultMaxSize,\n } = cacheOptions;\n const isCacheDisabled = cacheResponseForSeconds <= 0 || maxSize <= 0;\n\n if (isCacheDisabled) {\n return requestFunction.call(requestContext, ...requestFunctionArguments);\n }\n\n const requestFunctionArgumentsJSON = JSON.stringify(\n requestFunctionArguments\n );\n const cacheEntry = this.responseCache.get(requestFunctionArgumentsJSON);\n const now = Date.now();\n\n if (cacheEntry) {\n const isEntryValid =\n now - cacheEntry.requestTimestamp < cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n this.responseCache.set(requestFunctionArgumentsJSON, cacheEntry);\n return Promise.resolve(cacheEntry.response);\n } else {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n\n const cachePromiseEntry = this.responsePromiseCache.get(\n requestFunctionArgumentsJSON\n );\n\n if (cachePromiseEntry) {\n const isEntryValid =\n now - cachePromiseEntry.requestTimestamp <\n cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n this.responsePromiseCache.set(\n requestFunctionArgumentsJSON,\n cachePromiseEntry\n );\n return cachePromiseEntry.responsePromise;\n } else {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n\n const responsePromise = requestFunction.call(\n requestContext,\n ...requestFunctionArguments\n );\n this.responsePromiseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n responsePromise,\n });\n\n const response = await responsePromise;\n this.responseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n response,\n });\n\n const isCacheOverMaxSize = this.responseCache.size > maxSize;\n if (isCacheOverMaxSize) {\n const oldestEntry = this.responseCache.keys().next().value;\n this.responseCache.delete(oldestEntry);\n }\n const isResponsePromiseCacheOverMaxSize =\n this.responsePromiseCache.size > maxSize;\n if (isResponsePromiseCacheOverMaxSize) {\n const oldestEntry = this.responsePromiseCache.keys().next().value;\n this.responsePromiseCache.delete(oldestEntry);\n }\n return response as T;\n }\n}\n\ninterface CacheOptions {\n cacheResponseForSeconds?: number;\n maxSize?: number;\n}\n","import RequestWithCache from \"./RequestWithCache\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport Collections from \"./Collections\";\nimport type {\n DocumentSchema,\n SearchableDocuments,\n SearchOptions,\n SearchParams,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\n\nconst RESOURCEPATH = \"/documents\";\n\nexport class SearchOnlyDocuments\n implements SearchableDocuments\n{\n protected requestWithCache: RequestWithCache = new RequestWithCache();\n\n constructor(\n protected collectionName: string,\n protected apiCall: ApiCall,\n protected configuration: Configuration\n ) {}\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n abortSignal = null,\n }: SearchOptions = {}\n ): Promise> {\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n for (const key in searchParameters) {\n if (Array.isArray(searchParameters[key])) {\n additionalQueryParams[key] = searchParameters[key].join(\",\");\n }\n }\n const queryParams = Object.assign(\n {},\n searchParameters,\n additionalQueryParams\n );\n\n return this.requestWithCache.perform(\n this.apiCall,\n this.apiCall.get,\n [this.endpointPath(\"search\"), queryParams, { abortSignal }],\n {\n cacheResponseForSeconds: cacheSearchResultsForSeconds,\n }\n ) as Promise>;\n }\n\n protected endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + operation\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import type { ReadStream } from \"fs\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport { ImportError } from \"./Errors\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\n// Todo: use generic to extract filter_by values\nexport interface DeleteQuery {\n filter_by: string;\n batch_size?: number;\n ignore_not_found?: boolean;\n}\n\nexport interface DeleteResponse {\n num_deleted: number;\n}\n\ninterface ImportResponseSuccess {\n success: true;\n}\n\nexport interface ImportResponseFail {\n success: false;\n error: string;\n document: DocumentSchema;\n code: number;\n}\n\nexport type ImportResponse = ImportResponseSuccess | ImportResponseFail;\n\nexport type DocumentSchema = Record;\n\nexport interface SearchParamsWithPreset extends Partial {\n preset: string;\n}\n\ntype OperationMode = \"off\" | \"always\" | \"fallback\";\nexport interface SearchParams {\n // From https://typesense.org/docs/latest/api/documents.html#arguments\n q?: string;\n query_by?: string | string[];\n query_by_weights?: string | number[];\n prefix?: string | boolean | boolean[]; // default: true\n filter_by?: string;\n enable_lazy_filter?: boolean; // default: false\n sort_by?: string | string[]; // default: text match desc\n facet_by?: string | string[];\n max_facet_values?: number;\n facet_sample_threshold?: number;\n facet_sample_percent?: number;\n facet_query?: string;\n facet_query_num_typos?: number;\n facet_return_parent?: string;\n page?: number; // default: 1\n per_page?: number; // default: 10, max 250\n group_by?: string | string[];\n group_limit?: number; // default:\n group_missing_values?: boolean;\n include_fields?: string | string[];\n exclude_fields?: string | string[];\n highlight_fields?: string | string[]; // default: all queried fields\n highlight_full_fields?: string | string[]; // default: all fields\n highlight_affix_num_tokens?: number; // default: 4\n highlight_start_tag?: string; // default: \n highlight_end_tag?: string; // default: \n enable_highlight_v1?: boolean;\n snippet_threshold?: number; // default: 30\n num_typos?: string | number | number[]; // default: 2\n min_len_1typo?: number;\n min_len_2typo?: number;\n split_join_tokens?: OperationMode;\n exhaustive_search?: boolean;\n drop_tokens_threshold?: number; // default: 10\n typo_tokens_threshold?: number; // default: 100\n pinned_hits?: string | string[];\n hidden_hits?: string | string[];\n limit_hits?: number; // default: no limit\n pre_segmented_query?: boolean;\n enable_overrides?: boolean;\n prioritize_exact_match?: boolean; // default: true\n prioritize_token_position?: boolean;\n prioritize_num_matching_fields?: boolean;\n search_cutoff_ms?: number;\n use_cache?: boolean;\n max_candidates?: number;\n infix?: OperationMode | OperationMode[];\n preset?: string;\n text_match_type?: \"max_score\" | \"max_weight\";\n vector_query?: string;\n \"x-typesense-api-key\"?: string;\n \"x-typesense-user-id\"?: string;\n offset?: number;\n limit?: number;\n stopwords?: string;\n conversation?: boolean;\n conversation_model_id?: string;\n conversation_id?: string;\n voice_query?: string;\n}\n\ntype SearchResponseHighlightObject = {\n matched_tokens?: string[];\n snippet?: string;\n value?: string;\n};\n\nexport type SearchResponseHighlight = T extends string | number\n ? SearchResponseHighlightObject\n : {\n [TAttribute in keyof T]?: SearchResponseHighlight;\n };\n\nexport interface SearchResponseHit {\n curated?: true;\n highlights?: [\n {\n field: keyof T;\n snippet?: string;\n value?: string;\n snippets?: string[];\n indices?: number[];\n matched_tokens: string[][] | string[];\n },\n ];\n highlight: SearchResponseHighlight;\n document: T;\n text_match: number;\n text_match_info?: {\n best_field_score: string; // To prevent scores from being truncated by JSON spec\n best_field_weight: number;\n fields_matched: number;\n score: string; // To prevent scores from being truncated by JSON spec\n tokens_matched: number;\n };\n}\n\nexport interface SearchResponseFacetCountSchema {\n counts: {\n count: number;\n highlighted: string;\n value: string;\n }[];\n field_name: keyof T;\n stats: {\n avg?: number;\n max?: number;\n min?: number;\n sum?: number;\n };\n}\n\nexport interface SearchResponseRequestParams {\n collection_name?: string;\n q?: string;\n page?: number;\n per_page?: number;\n first_q?: string;\n voice_query?: {\n transcribed_query?: string;\n };\n}\n\n// Todo: we could infer whether this is a grouped response by adding the search params as a generic\nexport interface SearchResponse {\n facet_counts?: SearchResponseFacetCountSchema[];\n found: number;\n found_docs?: number;\n out_of: number;\n page: number;\n request_params: SearchResponseRequestParams;\n search_time_ms: number;\n search_cutoff?: boolean;\n hits?: SearchResponseHit[];\n grouped_hits?: {\n group_key: string[];\n hits: SearchResponseHit[];\n found?: number;\n }[];\n conversation?: {\n answer: string;\n conversation_history: {\n conversation: object[];\n id: string;\n last_updated: number;\n ttl: number;\n };\n conversation_id: string;\n query: string;\n };\n}\n\nexport interface DocumentWriteParameters {\n dirty_values?: \"coerce_or_reject\" | \"coerce_or_drop\" | \"drop\" | \"reject\";\n action?: \"create\" | \"update\" | \"upsert\" | \"emplace\";\n}\n\nexport interface UpdateByFilterParameters {\n filter_by?: string;\n}\n\nexport interface UpdateByFilterResponse {\n num_updated: number;\n}\n\nexport interface DocumentImportParameters extends DocumentWriteParameters {\n batch_size?: number;\n return_doc?: boolean;\n return_id?: boolean;\n}\n\nexport interface DocumentsExportParameters {\n filter_by?: string;\n include_fields?: string;\n exclude_fields?: string;\n}\n\nexport interface SearchableDocuments {\n search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n options: SearchOptions,\n ): Promise>;\n clearCache(): void;\n}\n\nexport interface WriteableDocuments {\n create(document: T, options: DocumentWriteParameters): Promise;\n upsert(document: T, options: DocumentWriteParameters): Promise;\n update(document: T, options: DocumentWriteParameters): Promise;\n delete(query: DeleteQuery): Promise;\n import(\n documents: T[] | string,\n options: DocumentWriteParameters,\n ): Promise;\n export(options: DocumentsExportParameters): Promise;\n}\n\nexport interface SearchOptions {\n cacheSearchResultsForSeconds?: number;\n abortSignal?: AbortSignal | null;\n}\n\nexport default class Documents\n extends SearchOnlyDocuments\n implements WriteableDocuments\n{\n constructor(\n collectionName: string,\n apiCall: ApiCall,\n configuration: Configuration,\n ) {\n super(collectionName, apiCall, configuration);\n }\n\n async create(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(this.endpointPath(), document, options);\n }\n\n async upsert(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"upsert\" }),\n );\n }\n\n async update(\n document: T,\n options: UpdateByFilterParameters,\n ): Promise;\n async update(document: T, options: DocumentWriteParameters): Promise;\n async update(\n document: T,\n options: DocumentWriteParameters | UpdateByFilterParameters = {},\n ): Promise {\n if (!document) throw new Error(\"No document provided\");\n\n if (options[\"filter_by\"] != null) {\n return this.apiCall.patch(\n this.endpointPath(),\n document,\n Object.assign({}, options),\n );\n } else {\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"update\" }),\n );\n }\n }\n\n async delete(\n query: DeleteQuery = {} as DeleteQuery,\n ): Promise {\n return this.apiCall.delete(this.endpointPath(), query);\n }\n\n async createMany(documents: T[], options: DocumentImportParameters = {}) {\n this.configuration.logger.warn(\n \"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 );\n return this.import(documents, options);\n }\n\n /**\n * Import a set of documents in a batch.\n * @param {string|Array} documents - Can be a JSONL string of documents or an array of document objects.\n * @param options\n * @return {string|Array} Returns a JSONL string if the input was a JSONL string, otherwise it returns an array of results.\n */\n async import(\n documents: string,\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[],\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[] | string,\n options: DocumentImportParameters = {},\n ): Promise {\n let documentsInJSONLFormat;\n if (Array.isArray(documents)) {\n try {\n documentsInJSONLFormat = documents\n .map((document) => JSON.stringify(document))\n .join(\"\\n\");\n } catch (error: any) {\n // if rangeerror, throw custom error message\n if (\n error instanceof RangeError &&\n error.message.includes(\"Too many properties to enumerate\")\n ) {\n throw new Error(`${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\n // else, throw the non-range error anyways\n throw new Error(error);\n }\n } else {\n documentsInJSONLFormat = documents;\n }\n\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\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 enableKeepAlive: true, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n if (Array.isArray(documents)) {\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter(\n (r) => r.success === false,\n );\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n } else {\n return resultsInJSONLFormat as string;\n }\n }\n\n /**\n * Returns a JSONL string for all the documents in this collection\n */\n async export(options: DocumentsExportParameters = {}): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options);\n }\n\n /**\n * Returns a NodeJS readable stream of JSONL for all the documents in this collection.\n */\n async exportStream(\n options: DocumentsExportParameters = {},\n ): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options, {\n responseType: \"stream\",\n });\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { OverrideSchema } from \"./Override\";\n\nconst RESOURCEPATH = \"/overrides\";\n\nexport interface OverrideRuleQuerySchema {\n query?: string;\n match?: \"exact\" | \"contains\";\n}\n\nexport interface OverrideRuleFilterSchema {\n filter_by?: string;\n}\n\nexport interface OverrideRuleTagsSchema {\n tags?: string[];\n}\n\nexport interface OverrideCreateSchema {\n rule: OverrideRuleQuerySchema &\n OverrideRuleFilterSchema &\n OverrideRuleTagsSchema;\n filter_by?: string;\n sort_by?: string;\n remove_matched_tokens?: boolean;\n replace_query?: string;\n includes?: Array<{\n id: string;\n position: number;\n }>;\n excludes?: Array<{ id: string }>;\n filter_curated_hits?: boolean;\n effective_from_ts?: number;\n effective_to_ts?: number;\n stop_processing?: boolean;\n metadata?: object;\n}\n\nexport interface OverridesRetrieveSchema {\n overrides: OverrideSchema[];\n}\n\nexport default class Overrides {\n constructor(\n private collectionName: string,\n private apiCall: ApiCall,\n ) {}\n\n async upsert(\n overrideId: string,\n params: OverrideCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(overrideId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${\n Overrides.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Overrides, { OverrideCreateSchema } from \"./Overrides\";\n\nexport interface OverrideSchema extends OverrideCreateSchema {\n id: string;\n}\n\nexport interface OverrideDeleteSchema {\n id: string;\n}\n\nexport default class Override {\n constructor(\n private collectionName: string,\n private overrideId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Overrides.RESOURCEPATH}/${encodeURIComponent(this.overrideId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { SynonymSchema } from \"./Synonym\";\n\nconst RESOURCEPATH = \"/synonyms\";\n\nexport interface SynonymCreateSchema {\n synonyms: string[];\n root?: string;\n locale?: string;\n symbols_to_index?: string[];\n}\n\nexport interface SynonymsRetrieveSchema {\n synonyms: SynonymSchema[];\n}\n\nexport default class Synonyms {\n constructor(private collectionName: string, private apiCall: ApiCall) {}\n\n async upsert(\n synonymId: string,\n params: SynonymCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(synonymId),\n params\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${\n Synonyms.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Synonyms, { SynonymCreateSchema } from \"./Synonyms\";\n\nexport interface SynonymSchema extends SynonymCreateSchema {\n id: string;\n}\n\nexport interface SynonymDeleteSchema {\n id: string;\n}\n\nexport default class Synonym {\n constructor(\n private collectionName: string,\n private synonymId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Synonyms.RESOURCEPATH}/${encodeURIComponent(this.synonymId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Documents, {\n DocumentSchema,\n DocumentWriteParameters,\n} from \"./Documents\";\n\nexport class Document {\n constructor(\n private collectionName: string,\n private documentId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n async update(\n partialDocument: Partial,\n options: DocumentWriteParameters = {}\n ): Promise {\n return this.apiCall.patch(this.endpointPath(), partialDocument, options);\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Documents.RESOURCEPATH}/${encodeURIComponent(this.documentId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections, { CollectionCreateSchema } from \"./Collections\";\nimport Documents, { DocumentSchema } from \"./Documents\";\nimport { ObjectNotFound } from \"./Errors\";\nimport Overrides from \"./Overrides\";\nimport Override from \"./Override\";\nimport Synonyms from \"./Synonyms\";\nimport Synonym from \"./Synonym\";\nimport { Document } from \"./Document\";\n\nexport type FieldType =\n | \"string\"\n | \"int32\"\n | \"int64\"\n | \"float\"\n | \"bool\"\n | \"geopoint\"\n | \"geopoint[]\"\n | \"string[]\"\n | \"int32[]\"\n | \"int64[]\"\n | \"float[]\"\n | \"bool[]\"\n | \"object\"\n | \"object[]\"\n | \"auto\"\n | \"string*\"\n | \"image\";\n\nexport interface CollectionFieldSchema {\n name: string;\n type: FieldType;\n optional?: boolean;\n facet?: boolean;\n index?: boolean;\n sort?: boolean;\n locale?: string;\n infix?: boolean;\n stem?: boolean;\n num_dim?: number;\n store?: boolean;\n [t: string]: unknown;\n}\n\nexport interface CollectionSchema extends CollectionCreateSchema {\n created_at: number;\n num_documents: number;\n num_memory_shards: number;\n}\n\nexport interface CollectionDropFieldSchema {\n name: string;\n drop: true;\n}\n\nexport interface CollectionUpdateSchema\n extends Partial> {\n fields?: (CollectionFieldSchema | CollectionDropFieldSchema)[];\n}\n\nexport default class Collection {\n private readonly _documents: Documents;\n private individualDocuments: Record> = {};\n private readonly _overrides: Overrides;\n private individualOverrides: Record = {};\n private readonly _synonyms: Synonyms;\n private individualSynonyms: Record = {};\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any,\n ) {\n this.name = name;\n this.apiCall = apiCall;\n this.configuration = configuration;\n\n this._documents = new Documents(\n this.name,\n this.apiCall,\n this.configuration,\n );\n this._overrides = new Overrides(this.name, this.apiCall);\n this._synonyms = new Synonyms(this.name, this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(schema: CollectionUpdateSchema): Promise {\n return this.apiCall.patch(this.endpointPath(), schema);\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n async exists(): Promise {\n try {\n await this.retrieve();\n return true;\n } catch (e) {\n if (e instanceof ObjectNotFound) return false;\n throw e;\n }\n }\n\n documents(): Documents;\n documents(documentId: string): Document;\n documents(documentId?: string): Document | Documents {\n if (!documentId) {\n return this._documents;\n } else {\n if (this.individualDocuments[documentId] === undefined) {\n this.individualDocuments[documentId] = new Document(\n this.name,\n documentId,\n this.apiCall,\n );\n }\n return this.individualDocuments[documentId];\n }\n }\n\n overrides(): Overrides;\n overrides(overrideId: string): Override;\n overrides(overrideId?: string): Overrides | Override {\n if (overrideId === undefined) {\n return this._overrides;\n } else {\n if (this.individualOverrides[overrideId] === undefined) {\n this.individualOverrides[overrideId] = new Override(\n this.name,\n overrideId,\n this.apiCall,\n );\n }\n return this.individualOverrides[overrideId];\n }\n }\n\n synonyms(): Synonyms;\n synonyms(synonymId: string): Synonym;\n synonyms(synonymId?: string): Synonyms | Synonym {\n if (synonymId === undefined) {\n return this._synonyms;\n } else {\n if (this.individualSynonyms[synonymId] === undefined) {\n this.individualSynonyms[synonymId] = new Synonym(\n this.name,\n synonymId,\n this.apiCall,\n );\n }\n return this.individualSynonyms[synonymId];\n }\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/aliases\";\n\nexport interface CollectionAliasCreateSchema {\n collection_name: string;\n}\n\nexport interface CollectionAliasSchema extends CollectionAliasCreateSchema {\n name: string;\n}\n\nexport interface CollectionAliasesResponseSchema {\n aliases: CollectionAliasSchema[];\n}\n\nexport default class Aliases {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n name: string,\n mapping: CollectionAliasCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(name),\n mapping\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n private endpointPath(aliasName): string {\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(aliasName)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import Aliases, { CollectionAliasSchema } from \"./Aliases\";\nimport ApiCall from \"./ApiCall\";\n\nexport default class Alias {\n constructor(private name: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import { createHmac } from \"crypto\";\nimport ApiCall from \"./ApiCall\";\nimport { KeyCreateSchema, KeySchema } from \"./Key\";\nimport { SearchParams } from \"./Documents\";\n\nconst RESOURCEPATH = \"/keys\";\n\nexport interface KeysRetrieveSchema {\n keys: KeySchema[];\n}\n\nexport interface GenerateScopedSearchKeyParams extends Partial {\n expires_at?: number;\n cache_ttl?: number;\n limit_multi_searches?: number;\n}\n\nexport default class Keys {\n constructor(private apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(params: KeyCreateSchema): Promise {\n return this.apiCall.post(Keys.RESOURCEPATH, params);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n generateScopedSearchKey(\n searchKey: string,\n parameters: GenerateScopedSearchKeyParams\n ): string {\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 const paramsJSON = JSON.stringify(parameters);\n const digest = Buffer.from(\n createHmac(\"sha256\", searchKey).update(paramsJSON).digest(\"base64\")\n );\n const keyPrefix = searchKey.substr(0, 4);\n const rawScopedKey = `${digest}${keyPrefix}${paramsJSON}`;\n\n return Buffer.from(rawScopedKey).toString(\"base64\");\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Keys from \"./Keys\";\n\nexport interface KeyCreateSchema {\n actions: string[];\n collections: string[];\n description?: string;\n value?: string;\n value_prefix?: string;\n expires_at?: number;\n}\n\nexport interface KeyDeleteSchema {\n id: number;\n}\n\nexport interface KeySchema extends KeyCreateSchema {\n id: number;\n}\n\nexport default class Key {\n constructor(private id: number, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Keys.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/debug\";\n\nexport interface DebugResponseSchema {\n state: number;\n version: string;\n}\n\nexport default class Debug {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/metrics.json\";\n\nexport interface MetricsResponse {\n [key: `system_cpu${number}_active_percentage`]: string;\n system_cpu_active_percentage: string;\n system_disk_total_bytes: string;\n system_disk_used_bytes: string;\n system_memory_total_bytes: string;\n system_memory_total_swap_bytes?: string;\n system_memory_used_bytes: string;\n system_memory_used_swap_bytes?: string;\n system_network_received_bytes: string;\n system_network_sent_bytes: string;\n typesense_memory_active_bytes: string;\n typesense_memory_allocated_bytes: string;\n typesense_memory_fragmentation_ratio: string;\n typesense_memory_mapped_bytes: string;\n typesense_memory_metadata_bytes: string;\n typesense_memory_resident_bytes: string;\n typesense_memory_retained_bytes: string;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/stats.json\";\n\nexport interface EndpointStats {\n [endpoint: string]: number;\n}\n\nexport interface StatsResponse {\n delete_latency_ms?: number;\n delete_requests_per_second?: number;\n import_latency_ms?: number;\n import_requests_per_second?: number;\n latency_ms?: EndpointStats;\n overloaded_requests_per_second?: number;\n pending_write_batches?: number;\n requests_per_second?: EndpointStats;\n search_latency_ms?: number;\n search_requests_per_second?: number;\n total_requests_per_second?: number;\n write_latency_ms?: number;\n write_requests_per_second?: number;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/health\";\n\nexport interface HealthResponse {\n ok: boolean;\n}\n\nexport default class Health {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/operations\";\n\nexport default class Operations {\n constructor(private apiCall: ApiCall) {}\n\n async perform(\n operationName: \"vote\" | \"snapshot\" | \"cache/clear\" | string,\n queryParameters: Record = {}\n ): Promise {\n return this.apiCall.post(\n `${RESOURCEPATH}/${operationName}`,\n {},\n queryParameters\n );\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport RequestWithCache from \"./RequestWithCache\";\nimport {\n DocumentSchema,\n SearchParams,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\n\nconst RESOURCEPATH = \"/multi_search\";\n\nexport interface MultiSearchRequestSchema extends SearchParams {\n collection?: string;\n \"x-typesense-api-key\"?: string;\n}\n\nexport interface MultiSearchRequestWithPresetSchema\n extends SearchParamsWithPreset {\n collection?: string;\n \"x-typesense-api-key\"?: string;\n}\n\nexport interface MultiSearchRequestsSchema {\n searches: (MultiSearchRequestSchema | MultiSearchRequestWithPresetSchema)[];\n}\n\nexport interface MultiSearchResponse {\n results: { [Index in keyof T]: SearchResponse } & {\n length: T[\"length\"];\n };\n}\n\nexport default class MultiSearch {\n private requestWithCache: RequestWithCache;\n\n constructor(\n private apiCall: ApiCall,\n private configuration: Configuration,\n private useTextContentType: boolean = false\n ) {\n this.requestWithCache = new RequestWithCache();\n }\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async perform(\n searchRequests: MultiSearchRequestsSchema,\n commonParams: Partial = {},\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n }: { cacheSearchResultsForSeconds?: number } = {}\n ): Promise> {\n const additionalHeaders = {};\n if (this.useTextContentType) {\n additionalHeaders[\"content-type\"] = \"text/plain\";\n }\n\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n const queryParams = Object.assign({}, commonParams, additionalQueryParams);\n\n return this.requestWithCache.perform(\n this.apiCall,\n this.apiCall.post,\n [RESOURCEPATH, searchRequests, queryParams, additionalHeaders],\n { cacheResponseForSeconds: cacheSearchResultsForSeconds }\n ) as Promise>;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { PresetSchema } from \"./Preset\";\nimport { SearchParams } from \"./Documents\";\nimport { MultiSearchRequestsSchema } from \"./MultiSearch\";\n\nconst RESOURCEPATH = \"/presets\";\n\nexport interface PresetCreateSchema {\n value: SearchParams | MultiSearchRequestsSchema;\n}\n\nexport interface PresetsRetrieveSchema {\n presets: PresetSchema[];\n}\n\nexport default class Presets {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n presetId: string,\n params: PresetCreateSchema\n ): Promise {\n return this.apiCall.put(this.endpointPath(presetId), params);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Presets.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Presets, { PresetCreateSchema } from \"./Presets\";\n\nexport interface PresetSchema extends PresetCreateSchema {\n name: string;\n}\n\nexport interface PresetDeleteSchema {\n name: string;\n}\n\nexport default class Preset {\n constructor(private presetId: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Presets.RESOURCEPATH}/${encodeURIComponent(this.presetId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n AnalyticsRuleCreateSchema,\n AnalyticsRuleSchema,\n} from \"./AnalyticsRule\";\n\nexport interface AnalyticsRulesRetrieveSchema {\n rules: AnalyticsRuleSchema[];\n}\n\nconst RESOURCEPATH = \"/analytics/rules\";\n\nexport default class AnalyticsRules {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async upsert(\n name: string,\n params: AnalyticsRuleCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(name),\n params\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsRules.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\n\nexport interface AnalyticsRuleCreateSchema {\n type: \"popular_queries\" | \"nohits_queries\" | \"counter\";\n params: {\n source: {\n collections: string[];\n events?: Array<{\n type: string;\n weight: number;\n name: string;\n }>;\n };\n expand_query?: boolean;\n destination: {\n collection: string;\n counter_field?: string;\n };\n limit?: number;\n };\n}\n\nexport interface AnalyticsRuleDeleteSchema {\n name: string;\n}\n\nexport interface AnalyticsRuleSchema extends AnalyticsRuleCreateSchema {\n name: string;\n}\n\nexport default class AnalyticsRule {\n constructor(\n private name: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${AnalyticsRules.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { AnalyticsEventCreateSchema } from \"./AnalyticsEvent\";\n\nconst RESOURCEPATH = \"/analytics/events\";\n\nexport default class AnalyticsEvents {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: AnalyticsEventCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsEvents.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\nimport AnalyticsRule from \"./AnalyticsRule\";\nimport AnalyticsEvents from \"./AnalyticsEvents\";\n\nconst RESOURCEPATH = \"/analytics\";\n\nexport default class Analytics {\n private readonly _analyticsRules: AnalyticsRules;\n private readonly individualAnalyticsRules: Record = {};\n private readonly _analyticsEvents: AnalyticsEvents;\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._analyticsRules = new AnalyticsRules(this.apiCall);\n this._analyticsEvents = new AnalyticsEvents(this.apiCall);\n }\n\n rules(id?: string): AnalyticsRules | AnalyticsRule {\n if (id === undefined) {\n return this._analyticsRules;\n } else {\n if (this.individualAnalyticsRules[id] === undefined) {\n this.individualAnalyticsRules[id] = new AnalyticsRule(id, this.apiCall);\n }\n return this.individualAnalyticsRules[id];\n }\n }\n\n events(): AnalyticsEvents {\n return this._analyticsEvents;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { StopwordSchema } from \"./Stopword\";\n\nconst RESOURCEPATH = \"/stopwords\";\n\nexport interface StopwordCreateSchema {\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordsRetrieveSchema {\n stopwords: StopwordSchema[];\n}\n\nexport default class Stopwords {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n stopwordId: string,\n params: StopwordCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(stopwordId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Stopwords.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Stopwords, { StopwordCreateSchema } from \"./Stopwords\";\n\nexport interface StopwordSchema extends StopwordCreateSchema {\n id: string;\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordDeleteSchema {\n id: string;\n}\n\nexport default class Stopword {\n constructor(\n private stopwordId: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Stopwords.RESOURCEPATH}/${encodeURIComponent(this.stopwordId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n ConversationModelCreateSchema,\n ConversationModelSchema,\n} from \"./ConversationModel\";\n\nconst RESOURCEPATH = \"/conversations/models\";\n\nexport default class ConversationModels {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(\n this.endpointPath(),\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${ConversationModels.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\n\nexport interface ConversationModelCreateSchema {\n model_name: string;\n api_key: string;\n system_prompt?: string;\n max_bytes: number;\n}\n\nexport interface ConversationModelDeleteSchema {\n id: string;\n}\n\nexport interface ConversationModelSchema extends ConversationModelCreateSchema {\n id: string;\n}\n\nexport default class ConversationModel {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async update(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(\n this.endpointPath(),\n );\n }\n\n private endpointPath(): string {\n return `${ConversationModels.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\nimport ConversationModel from \"./ConversationModel\";\nimport { ConversationSchema } from \"./Conversation\";\n\nconst RESOURCEPATH = \"/conversations\";\n\nexport interface ConversationsRetrieveSchema {\n conversations: ConversationSchema[];\n}\n\nexport default class Conversations {\n private readonly _conversationsModels: ConversationModels;\n private readonly individualConversationModels: Record<\n string,\n ConversationModel\n > = {};\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._conversationsModels = new ConversationModels(this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n models(): ConversationModels;\n models(id: string): ConversationModel;\n models(id?: string): ConversationModels | ConversationModel {\n if (id === undefined) {\n return this._conversationsModels;\n } else {\n if (this.individualConversationModels[id] === undefined) {\n this.individualConversationModels[id] = new ConversationModel(\n id,\n this.apiCall,\n );\n }\n return this.individualConversationModels[id];\n }\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Conversations from \"./Conversations\";\n\nexport interface ConversationDeleteSchema {\n id: number;\n}\n\nexport interface ConversationUpdateSchema {\n ttl: number;\n}\n\nexport interface ConversationSchema {\n id: number;\n conversation: object[];\n last_updated: number;\n ttl: number;\n}\n\nexport default class Conversation {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(\n params: ConversationUpdateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Conversations.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","/* eslint-disable no-dupe-class-members */\n\nimport Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Collection from \"./Collection\";\nimport Aliases from \"./Aliases\";\nimport Alias from \"./Alias\";\nimport Keys from \"./Keys\";\nimport Key from \"./Key\";\nimport Debug from \"./Debug\";\nimport Metrics from \"./Metrics\";\nimport Stats from \"./Stats\";\nimport Health from \"./Health\";\nimport Operations from \"./Operations\";\nimport MultiSearch from \"./MultiSearch\";\nimport Presets from \"./Presets\";\nimport Preset from \"./Preset\";\nimport Analytics from \"./Analytics\";\nimport Stopwords from \"./Stopwords\";\nimport Stopword from \"./Stopword\";\nimport Conversations from \"./Conversations\";\nimport Conversation from \"./Conversation\";\n\nexport default class Client {\n configuration: Configuration;\n apiCall: ApiCall;\n debug: Debug;\n metrics: Metrics;\n stats: Stats;\n health: Health;\n operations: Operations;\n multiSearch: MultiSearch;\n analytics: Analytics;\n private readonly _collections: Collections;\n private readonly individualCollections: Record;\n private readonly _aliases: Aliases;\n private readonly individualAliases: Record;\n private readonly _keys: Keys;\n private readonly individualKeys: Record;\n private readonly _presets: Presets;\n private readonly individualPresets: Record;\n private readonly _stopwords: Stopwords;\n private readonly individualStopwords: Record;\n private readonly _conversations: Conversations;\n private readonly individualConversations: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? false;\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.debug = new Debug(this.apiCall);\n this.metrics = new Metrics(this.apiCall);\n this.stats = new Stats(this.apiCall);\n this.health = new Health(this.apiCall);\n this.operations = new Operations(this.apiCall);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration);\n this._collections = new Collections(this.apiCall);\n this.individualCollections = {};\n this._aliases = new Aliases(this.apiCall);\n this.individualAliases = {};\n this._keys = new Keys(this.apiCall);\n this.individualKeys = {};\n this._presets = new Presets(this.apiCall);\n this.individualPresets = {};\n this._stopwords = new Stopwords(this.apiCall);\n this.individualStopwords = {};\n this.analytics = new Analytics(this.apiCall);\n this._conversations = new Conversations(this.apiCall);\n this.individualConversations = {};\n }\n\n collections(): Collections;\n collections = object>(\n collectionName: string,\n ): Collection;\n collections(collectionName?: string): Collections | Collection {\n if (collectionName === undefined) {\n return this._collections;\n } else {\n if (this.individualCollections[collectionName] === undefined) {\n this.individualCollections[collectionName] = new Collection(\n collectionName,\n this.apiCall,\n this.configuration,\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n\n aliases(): Aliases;\n aliases(aliasName: string): Alias;\n aliases(aliasName?: string): Aliases | Alias {\n if (aliasName === undefined) {\n return this._aliases;\n } else {\n if (this.individualAliases[aliasName] === undefined) {\n this.individualAliases[aliasName] = new Alias(aliasName, this.apiCall);\n }\n return this.individualAliases[aliasName];\n }\n }\n\n keys(): Keys;\n keys(id: number): Key;\n keys(id?: number): Keys | Key {\n if (id === undefined) {\n return this._keys;\n } else {\n if (this.individualKeys[id] === undefined) {\n this.individualKeys[id] = new Key(id, this.apiCall);\n }\n return this.individualKeys[id];\n }\n }\n\n presets(): Presets;\n presets(id: string): Preset;\n presets(id?: string): Presets | Preset {\n if (id === undefined) {\n return this._presets;\n } else {\n if (this.individualPresets[id] === undefined) {\n this.individualPresets[id] = new Preset(id, this.apiCall);\n }\n return this.individualPresets[id];\n }\n }\n\n stopwords(): Stopwords;\n stopwords(id: string): Stopword;\n stopwords(id?: string): Stopwords | Stopword {\n if (id === undefined) {\n return this._stopwords;\n } else {\n if (this.individualStopwords[id] === undefined) {\n this.individualStopwords[id] = new Stopword(id, this.apiCall);\n }\n return this.individualStopwords[id];\n }\n }\n\n conversations(): Conversations;\n conversations(id: string): Conversation;\n conversations(id?: string): Conversations | Conversation {\n if (id === undefined) {\n return this._conversations;\n } else {\n if (this.individualConversations[id] === undefined) {\n this.individualConversations[id] = new Conversation(id, this.apiCall);\n }\n return this.individualConversations[id];\n }\n }\n}\n","import { DocumentSchema, SearchableDocuments } from \"./Documents\";\nimport ApiCall from \"./ApiCall\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\nexport class SearchOnlyCollection {\n private readonly _documents: SearchableDocuments;\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any\n ) {\n this._documents = new SearchOnlyDocuments(\n this.name,\n this.apiCall,\n this.configuration\n );\n }\n\n documents(): SearchableDocuments {\n return this._documents;\n }\n}\n","import Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport MultiSearch from \"./MultiSearch\";\nimport { DocumentSchema } from \"./Documents\";\nimport { SearchOnlyCollection } from \"./SearchOnlyCollection\";\n\nexport default class SearchClient {\n public readonly multiSearch: MultiSearch;\n private readonly configuration: Configuration;\n private readonly apiCall: ApiCall;\n private readonly individualCollections: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? true;\n if (\n options.sendApiKeyAsQueryParam === true &&\n (options.apiKey || \"\").length > 2000\n ) {\n console.warn(\n \"[typesense] API Key is longer than 2000 characters which is over the allowed limit, so disabling sending it as a query parameter.\"\n );\n options.sendApiKeyAsQueryParam = false;\n }\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration, true);\n this.individualCollections = {};\n }\n\n clearCache() {\n this.multiSearch.clearCache();\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Object.entries(this.individualCollections).forEach(([_, collection]) => {\n collection.documents().clearCache();\n });\n }\n\n collections(\n collectionName: string\n ): SearchOnlyCollection | SearchOnlyCollection {\n if (!collectionName) {\n throw new Error(\n \"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(\n collectionName,\n this.apiCall,\n this.configuration\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n}\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(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\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}","import Client from \"./Typesense/Client\";\nimport SearchClient from \"./Typesense/SearchClient\";\nimport * as Errors from \"./Typesense/Errors\";\n\nexport { Client, SearchClient, Errors };\nexport default { Client, SearchClient, Errors };\n"],"names":["root","definition","noop","undefinedType","isIE","window","navigator","test","userAgent","logMethods","_loggersByName","defaultLogger","bindMethod","obj","methodName","method","bind","Function","prototype","call","e","apply","arguments","traceForIE","console","log","trace","replaceLoggingMethods","level","this","getLevel","i","length","methodFactory","name","debug","levels","SILENT","enableLoggingWhenConsoleArrives","defaultMethodFactory","_level","_loggerName","undefined","realMethod","Logger","factory","inheritedLevel","defaultLevel","userLevel","self","storageKey","getPersistedLevel","storedLevel","localStorage","ignore","cookie","document","cookieName","encodeURIComponent","location","indexOf","exec","slice","normalizeLevel","input","toUpperCase","TypeError","setLevel","persist","levelNum","levelName","persistLevelIfPossible","setDefaultLevel","resetLevel","removeItem","clearPersistedLevel","enableAll","TRACE","disableAll","rebuild","childName","initialLevel","getLogger","logger","_log","noConflict","getLoggers","_typeof","_regeneratorRuntime","module","exports","__esModule","t","r","Object","n","hasOwnProperty","o","defineProperty","value","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","constructor","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","stop","rval","handle","complete","finish","delegateYield","runtime","regeneratorRuntime","accidentalStrictMode","globalThis","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","key","get","prop","_classCallCheck","instance","Constructor","toPropertyKey","toPrimitive","String","_defineProperties","target","props","descriptor","_createClass","protoProps","staticProps","_defineProperty","_assertThisInitialized","ReferenceError","_possibleConstructorReturn","_getPrototypeOf","_setPrototypeOf","_inherits","subClass","superClass","_isNativeReflectConstruct","Boolean","valueOf","Reflect","construct","_wrapNativeSuper","Class","_cache","Map","fn","toString","has","set","Wrapper","TypesenseError","_Error","message","_this","_callSuper","MissingConfigurationError","_TypesenseError","Configuration","options","nodes","map","node","setDefaultPathInNode","setDefaultPortInNode","_objectSpread","randomizeNodes","shuffleArray","nearestNode","connectionTimeoutSeconds","timeoutSeconds","healthcheckIntervalSeconds","numRetries","retryIntervalSeconds","apiKey","sendApiKeyAsQueryParam","cacheSearchResultsForSeconds","useServerSideSearchCache","logLevel","additionalHeaders","httpAgent","httpsAgent","paramsSerializer","showDeprecationWarnings","validate","validateNodes","isNodeMissingAnyParameters","_this2","some","every","warn","masterNode","readReplicaNodes","array","j","Math","floor","random","_ref","asyncGeneratorStep","gen","reject","_next","_throw","info","error","_asyncToGenerator","args","err","thisArg","kindOf","cache","thing","str","toLowerCase","kindOfTest","typeOfTest","isArray","Array","isUndefined","isArrayBuffer","isString","isFunction","isNumber","isObject","isPlainObject","val","isDate","isFile","isBlob","isFileList","isURLSearchParams","allOwnKeys","getOwnPropertyNames","len","findKey","_key","_global","global","isContextDefined","context","isTypedArray","TypedArray","Uint8Array","isHTMLForm","isRegExp","reduceDescriptors","reducer","descriptors","getOwnPropertyDescriptors","reducedDescriptors","ret","defineProperties","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","isAsyncFn","isBuffer","isFormData","kind","FormData","append","isArrayBufferView","result","ArrayBuffer","isView","buffer","isBoolean","isStream","pipe","merge","caseless","assignValue","targetKey","extend","b","trim","replace","stripBOM","content","charCodeAt","inherits","superConstructor","assign","toFlatObject","sourceObj","destObj","filter","propFilter","merged","endsWith","searchString","position","lastIndex","toArray","arr","forEachEntry","pair","matchAll","regExp","matches","hasOwnProp","freezeMethods","toObjectSet","arrayOrString","delimiter","split","toCamelCase","m","p1","p2","toFiniteNumber","defaultValue","Number","isFinite","generateString","size","alphabet","isSpecCompliantForm","toJSONObject","stack","visit","source","reducedValue","isThenable","catch","AxiosError","code","config","request","response","captureStackTrace","utils","toJSON","description","number","fileName","lineNumber","columnNumber","status","from","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","path","dots","concat","token","join","predicates","formData","metaTokens","indexes","option","visitor","defaultVisitor","useBlob","Blob","convertValue","toISOString","Buffer","JSON","stringify","isFlatArray","el","index","exposedHelpers","build","encode","charMap","match","AxiosURLSearchParams","params","_pairs","encoder","_encode","buildURL","url","serializeFn","serialize","serializedParams","hashmarkIndex","handlers","use","fulfilled","rejected","synchronous","runWhen","eject","id","clear","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","isBrowser","classes","URLSearchParams","protocols","hasBrowserEnv","hasStandardBrowserEnv","product","hasStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","buildPath","isNumericKey","isLast","arrayToObject","entries","parsePropPath","defaults","transitional","adapter","transformRequest","data","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","setContentType","platform","helpers","isNode","toURLEncodedForm","formSerializer","_FormData","env","rawValue","parser","parse","stringifySafely","transformResponse","JSONRequested","responseType","strictJSONParsing","ERR_BAD_RESPONSE","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","ignoreDuplicateOf","$internals","normalizeHeader","header","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","rawHeaders","parsed","line","substring","parseHeaders","tokens","tokensRE","parseTokens","matcher","deleted","deleteHeader","normalize","format","normalized","w","char","formatHeader","targets","asStrings","first","computed","accessor","accessors","defineAccessor","accessorName","arg1","arg2","arg3","buildAccessors","mapped","headerValue","transformData","fns","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","write","expires","domain","secure","Date","toGMTString","read","RegExp","decodeURIComponent","remove","now","buildFullPath","baseURL","requestedURL","relativeURL","combineURLs","msie","urlParsingNode","createElement","originURL","resolveURL","href","setAttribute","protocol","host","search","hash","hostname","port","pathname","requestURL","progressEventReducer","listener","isDownloadStream","bytesNotified","_speedometer","samplesCount","min","bytes","timestamps","firstSampleTS","head","tail","chunkLength","startedAt","bytesCount","passed","round","loaded","total","lengthComputable","progressBytes","rate","progress","estimated","event","knownAdapters","http","xhr","XMLHttpRequest","requestData","requestHeaders","onCanceled","withXSRFToken","cancelToken","unsubscribe","signal","removeEventListener","auth","username","password","unescape","btoa","fullPath","onloadend","responseHeaders","getAllResponseHeaders","ERR_BAD_REQUEST","settle","responseText","statusText","open","onreadystatechange","readyState","responseURL","setTimeout","onabort","ECONNABORTED","onerror","ERR_NETWORK","ontimeout","timeoutErrorMessage","ETIMEDOUT","isURLSameOrigin","xsrfValue","cookies","setRequestHeader","withCredentials","onDownloadProgress","addEventListener","onUploadProgress","upload","cancel","abort","subscribe","aborted","parseProtocol","send","renderReason","reason","isResolvedHandle","adapters","nameOrAdapter","rejectedReasons","reasons","state","throwIfCancellationRequested","throwIfRequested","dispatchRequest","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","decompress","beforeRedirect","transport","socketPath","responseEncoding","configValue","validators","deprecatedWarnings","validator","version","formatMessage","opt","desc","opts","ERR_DEPRECATED","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","Axios","instanceConfig","interceptors","configOrUrl","_request","dummy","boolean","function","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","unshift","responseInterceptorChain","promise","chain","newConfig","onFulfilled","onRejected","getUri","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","splice","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","axios","createInstance","defaultConfig","VERSION","toFormData","Cancel","all","promises","spread","callback","isAxiosError","payload","formToJSON","getAdapter","default","RequestMalformed","RequestUnauthorized","ObjectNotFound","ObjectAlreadyExists","ObjectUnprocessable","ServerError","HTTPError","HEALTHY","ApiCall","configuration","numRetriesPerRequest","additionalUserHeaders","initializeMetadataForNodes","currentNodeIndex","_timer","_performRequest","_patch","_put","_post","_delete2","_get","_callee","endpoint","queryParameters","_ref$abortSignal","abortSignal","_ref$responseType","_args","_context","performRequest","_x","_callee2","_args2","_context2","_x2","_callee3","bodyParameters","_args3","_context3","_x3","_callee4","_args4","_context4","_x4","_callee5","_args5","_context5","_x5","_callee6","requestType","_ref2","_ref2$queryParameters","_ref2$bodyParameters","_ref2$additionalHeade","_ref2$abortSignal","_ref2$responseType","_ref2$skipConnectionT","skipConnectionTimeout","_ref2$enableKeepAlive","enableKeepAlive","requestNumber","lastException","_loop","_ret","numTries","_context7","abortListener","requestOptions","_response$data","_response$data2","_error$response","_context6","getNextNode","uriFor","defaultHeaders","Infinity","transformedData","startsWith","HTTPAgent","keepAlive","HTTPSAgent","setNodeHealthcheck","customErrorForResponse","t0","timer","_x6","_x7","_x8","isHealthy","nodeDueForHealthcheck","candidateNode","isDueForHealthcheck","lastAccessTimestamp","_callee7","seconds","_context8","_x9","messageFromServer","errorMessage","httpStatus","RESOURCEPATH","Collections","apiCall","_retrieve","_create","post","ImportError","importResults","_arrayLikeToArray","arr2","_unsupportedIterableToArray","minLen","_toConsumableArray","iter","RequestWithCache","_perform","responseCache","responsePromiseCache","requestContext","requestFunction","requestFunctionArguments","cacheOptions","_cacheOptions$cacheRe","cacheResponseForSeconds","_cacheOptions$maxSize","maxSize","requestFunctionArgumentsJSON","cacheEntry","cachePromiseEntry","responsePromise","oldestEntry","_oldestEntry","requestTimestamp","delete","SearchOnlyDocuments","collectionName","_search","requestWithCache","clearCache","searchParameters","_ref$cacheSearchResul","additionalQueryParams","queryParams","perform","endpointPath","operation","Documents","_exportStream","_export2","_import2","_createMany","_update","_upsert","action","patch","query","documents","import","documentsInJSONLFormat","resultsInJSONLFormat","resultsInJSONFormat","failedItems","_args6","RangeError","includes","success","_args7","_callee8","_args8","Overrides","overrideId","put","Override","Synonyms","synonymId","Synonym","Document","documentId","partialDocument","Collection","_documents","_overrides","_synonyms","_exists","retrieve","individualDocuments","individualOverrides","individualSynonyms","Aliases","mapping","aliasName","Alias","Keys","searchKey","parameters","paramsJSON","digest","createHmac","update","keyPrefix","substr","rawScopedKey","Key","Debug","Metrics","Health","Operations","operationName","MultiSearch","useTextContentType","searchRequests","commonParams","Presets","presetId","Preset","AnalyticsRules","AnalyticsRule","AnalyticsEvents","Analytics","_analyticsRules","_analyticsEvents","individualAnalyticsRules","Stopwords","stopwordId","Stopword","ConversationModels","ConversationModel","Conversations","_conversationsModels","individualConversationModels","Conversation","Client","_options$sendApiKeyAs","metrics","stats","Stats","health","operations","multiSearch","_collections","individualCollections","_aliases","individualAliases","_keys","individualKeys","_presets","individualPresets","_stopwords","individualStopwords","analytics","_conversations","individualConversations","SearchOnlyCollection","SearchClient","Errors"],"sourceRoot":""} \ No newline at end of file diff --git a/lib/Typesense/Alias.js b/lib/Typesense/Alias.js new file mode 100644 index 00000000..08cb130a --- /dev/null +++ b/lib/Typesense/Alias.js @@ -0,0 +1,30 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var Aliases_1 = tslib_1.__importDefault(require("./Aliases")); +var Alias = /** @class */ (function () { + function Alias(name, apiCall) { + this.name = name; + this.apiCall = apiCall; + } + Alias.prototype.retrieve = function () { + return tslib_1.__awaiter(this, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + return [2 /*return*/, this.apiCall.get(this.endpointPath())]; + }); + }); + }; + Alias.prototype.delete = function () { + return tslib_1.__awaiter(this, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + return [2 /*return*/, this.apiCall.delete(this.endpointPath())]; + }); + }); + }; + Alias.prototype.endpointPath = function () { + return "".concat(Aliases_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.name)); + }; + return Alias; +}()); +exports.default = Alias; +//# sourceMappingURL=Alias.js.map \ No newline at end of file diff --git a/lib/Typesense/Alias.js.map b/lib/Typesense/Alias.js.map new file mode 100644 index 00000000..03fa9442 --- /dev/null +++ b/lib/Typesense/Alias.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Alias.js","sourceRoot":"","sources":["../../src/Typesense/Alias.ts"],"names":[],"mappings":";;;AAAA,8DAA2D;AAG3D;IACE,eAAoB,IAAY,EAAU,OAAgB;QAAtC,SAAI,GAAJ,IAAI,CAAQ;QAAU,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAExD,wBAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAwB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACrE;IAEK,sBAAM,GAAZ;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAwB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACxE;IAEO,4BAAY,GAApB;QACE,OAAO,UAAG,iBAAO,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAE,CAAC;IACpE,CAAC;IACH,YAAC;AAAD,CAAC,AAdD,IAcC"} \ No newline at end of file diff --git a/lib/Typesense/Aliases.js b/lib/Typesense/Aliases.js new file mode 100644 index 00000000..ac647bc9 --- /dev/null +++ b/lib/Typesense/Aliases.js @@ -0,0 +1,36 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var RESOURCEPATH = "/aliases"; +var Aliases = /** @class */ (function () { + function Aliases(apiCall) { + this.apiCall = apiCall; + } + Aliases.prototype.upsert = function (name, mapping) { + return tslib_1.__awaiter(this, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + return [2 /*return*/, this.apiCall.put(this.endpointPath(name), mapping)]; + }); + }); + }; + Aliases.prototype.retrieve = function () { + return tslib_1.__awaiter(this, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + return [2 /*return*/, this.apiCall.get(RESOURCEPATH)]; + }); + }); + }; + Aliases.prototype.endpointPath = function (aliasName) { + return "".concat(Aliases.RESOURCEPATH, "/").concat(encodeURIComponent(aliasName)); + }; + Object.defineProperty(Aliases, "RESOURCEPATH", { + get: function () { + return RESOURCEPATH; + }, + enumerable: false, + configurable: true + }); + return Aliases; +}()); +exports.default = Aliases; +//# sourceMappingURL=Aliases.js.map \ No newline at end of file diff --git a/lib/Typesense/Aliases.js.map b/lib/Typesense/Aliases.js.map new file mode 100644 index 00000000..9b3a301a --- /dev/null +++ b/lib/Typesense/Aliases.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Aliases.js","sourceRoot":"","sources":["../../src/Typesense/Aliases.ts"],"names":[],"mappings":";;;AAEA,IAAM,YAAY,GAAG,UAAU,CAAC;AAchC;IACE,iBAAoB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAElC,wBAAM,GAAZ,UACE,IAAY,EACZ,OAAoC;;;gBAEpC,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CACrB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EACvB,OAAO,CACR,EAAC;;;KACH;IAEK,0BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAkC,YAAY,CAAC,EAAC;;;KACxE;IAEO,8BAAY,GAApB,UAAqB,SAAS;QAC5B,OAAO,UAAG,OAAO,CAAC,YAAY,cAAI,kBAAkB,CAAC,SAAS,CAAC,CAAE,CAAC;IACpE,CAAC;IAED,sBAAW,uBAAY;aAAvB;YACE,OAAO,YAAY,CAAC;QACtB,CAAC;;;OAAA;IACH,cAAC;AAAD,CAAC,AAxBD,IAwBC"} \ No newline at end of file diff --git a/lib/Typesense/AnalyticsEvents.js b/lib/Typesense/AnalyticsEvents.js new file mode 100644 index 00000000..9f8691a7 --- /dev/null +++ b/lib/Typesense/AnalyticsEvents.js @@ -0,0 +1,30 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var RESOURCEPATH = "/analytics/events"; +var AnalyticsEvents = /** @class */ (function () { + function AnalyticsEvents(apiCall) { + this.apiCall = apiCall; + this.apiCall = apiCall; + } + AnalyticsEvents.prototype.create = function (params) { + return tslib_1.__awaiter(this, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + return [2 /*return*/, this.apiCall.post(this.endpointPath(), params)]; + }); + }); + }; + AnalyticsEvents.prototype.endpointPath = function (operation) { + return "".concat(AnalyticsEvents.RESOURCEPATH).concat(operation === undefined ? "" : "/" + encodeURIComponent(operation)); + }; + Object.defineProperty(AnalyticsEvents, "RESOURCEPATH", { + get: function () { + return RESOURCEPATH; + }, + enumerable: false, + configurable: true + }); + return AnalyticsEvents; +}()); +exports.default = AnalyticsEvents; +//# sourceMappingURL=AnalyticsEvents.js.map \ No newline at end of file diff --git a/lib/Typesense/AnalyticsEvents.js.map b/lib/Typesense/AnalyticsEvents.js.map new file mode 100644 index 00000000..12348751 --- /dev/null +++ b/lib/Typesense/AnalyticsEvents.js.map @@ -0,0 +1 @@ +{"version":3,"file":"AnalyticsEvents.js","sourceRoot":"","sources":["../../src/Typesense/AnalyticsEvents.ts"],"names":[],"mappings":";;;AAGA,IAAM,YAAY,GAAG,mBAAmB,CAAC;AAEzC;IACE,yBAA6B,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;QAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEK,gCAAM,GAAZ,UACE,MAAkC;;;gBAElC,sBAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CACtB,IAAI,CAAC,YAAY,EAAE,EACnB,MAAM,CACP,EAAC;;;KACH;IAEO,sCAAY,GAApB,UAAqB,SAAkB;QACrC,OAAO,UAAG,eAAe,CAAC,YAAY,SACpC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAClE,CAAC;IACL,CAAC;IAED,sBAAW,+BAAY;aAAvB;YACE,OAAO,YAAY,CAAC;QACtB,CAAC;;;OAAA;IACH,sBAAC;AAAD,CAAC,AAvBD,IAuBC"} \ No newline at end of file diff --git a/lib/Typesense/AnalyticsRule.js b/lib/Typesense/AnalyticsRule.js new file mode 100644 index 00000000..7155fe00 --- /dev/null +++ b/lib/Typesense/AnalyticsRule.js @@ -0,0 +1,30 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var AnalyticsRules_1 = tslib_1.__importDefault(require("./AnalyticsRules")); +var AnalyticsRule = /** @class */ (function () { + function AnalyticsRule(name, apiCall) { + this.name = name; + this.apiCall = apiCall; + } + AnalyticsRule.prototype.retrieve = function () { + return tslib_1.__awaiter(this, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + return [2 /*return*/, this.apiCall.get(this.endpointPath())]; + }); + }); + }; + AnalyticsRule.prototype.delete = function () { + return tslib_1.__awaiter(this, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + return [2 /*return*/, this.apiCall.delete(this.endpointPath())]; + }); + }); + }; + AnalyticsRule.prototype.endpointPath = function () { + return "".concat(AnalyticsRules_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.name)); + }; + return AnalyticsRule; +}()); +exports.default = AnalyticsRule; +//# sourceMappingURL=AnalyticsRule.js.map \ No newline at end of file diff --git a/lib/Typesense/AnalyticsRule.js.map b/lib/Typesense/AnalyticsRule.js.map new file mode 100644 index 00000000..b2ea540f --- /dev/null +++ b/lib/Typesense/AnalyticsRule.js.map @@ -0,0 +1 @@ +{"version":3,"file":"AnalyticsRule.js","sourceRoot":"","sources":["../../src/Typesense/AnalyticsRule.ts"],"names":[],"mappings":";;;AACA,4EAA8C;AA8B9C;IACE,uBACU,IAAY,EACZ,OAAgB;QADhB,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAS;IACvB,CAAC;IAEE,gCAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAsB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACnE;IAEK,8BAAM,GAAZ;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAA4B,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KAC5E;IAEO,oCAAY,GAApB;QACE,OAAO,UAAG,wBAAc,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAE,CAAC;IAC3E,CAAC;IACH,oBAAC;AAAD,CAAC,AAjBD,IAiBC"} \ No newline at end of file diff --git a/lib/Typesense/AnalyticsRules.js b/lib/Typesense/AnalyticsRules.js new file mode 100644 index 00000000..a4d8b9d4 --- /dev/null +++ b/lib/Typesense/AnalyticsRules.js @@ -0,0 +1,37 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var RESOURCEPATH = "/analytics/rules"; +var AnalyticsRules = /** @class */ (function () { + function AnalyticsRules(apiCall) { + this.apiCall = apiCall; + this.apiCall = apiCall; + } + AnalyticsRules.prototype.upsert = function (name, params) { + return tslib_1.__awaiter(this, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + return [2 /*return*/, this.apiCall.put(this.endpointPath(name), params)]; + }); + }); + }; + AnalyticsRules.prototype.retrieve = function () { + return tslib_1.__awaiter(this, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + return [2 /*return*/, this.apiCall.get(this.endpointPath())]; + }); + }); + }; + AnalyticsRules.prototype.endpointPath = function (operation) { + return "".concat(AnalyticsRules.RESOURCEPATH).concat(operation === undefined ? "" : "/" + encodeURIComponent(operation)); + }; + Object.defineProperty(AnalyticsRules, "RESOURCEPATH", { + get: function () { + return RESOURCEPATH; + }, + enumerable: false, + configurable: true + }); + return AnalyticsRules; +}()); +exports.default = AnalyticsRules; +//# sourceMappingURL=AnalyticsRules.js.map \ No newline at end of file diff --git a/lib/Typesense/AnalyticsRules.js.map b/lib/Typesense/AnalyticsRules.js.map new file mode 100644 index 00000000..b18a8b68 --- /dev/null +++ b/lib/Typesense/AnalyticsRules.js.map @@ -0,0 +1 @@ +{"version":3,"file":"AnalyticsRules.js","sourceRoot":"","sources":["../../src/Typesense/AnalyticsRules.ts"],"names":[],"mappings":";;;AAUA,IAAM,YAAY,GAAG,kBAAkB,CAAC;AAExC;IACE,wBAA6B,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;QAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEK,+BAAM,GAAZ,UACE,IAAY,EACZ,MAAiC;;;gBAEjC,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CACrB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EACvB,MAAM,CACP,EAAC;;;KACH;IAEK,iCAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAA+B,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KAC5E;IAEO,qCAAY,GAApB,UAAqB,SAAkB;QACrC,OAAO,UAAG,cAAc,CAAC,YAAY,SACnC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAClE,CAAC;IACL,CAAC;IAED,sBAAW,8BAAY;aAAvB;YACE,OAAO,YAAY,CAAC;QACtB,CAAC;;;OAAA;IACH,qBAAC;AAAD,CAAC,AA5BD,IA4BC"} \ No newline at end of file diff --git a/lib/Typesense/Collection.js b/lib/Typesense/Collection.js new file mode 100644 index 00000000..81ae1a96 --- /dev/null +++ b/lib/Typesense/Collection.js @@ -0,0 +1,108 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var Collections_1 = tslib_1.__importDefault(require("./Collections")); +var Documents_1 = tslib_1.__importDefault(require("./Documents")); +var Errors_1 = require("./Errors"); +var Overrides_1 = tslib_1.__importDefault(require("./Overrides")); +var Override_1 = tslib_1.__importDefault(require("./Override")); +var Synonyms_1 = tslib_1.__importDefault(require("./Synonyms")); +var Synonym_1 = tslib_1.__importDefault(require("./Synonym")); +var Document_1 = require("./Document"); +var Collection = /** @class */ (function () { + function Collection(name, apiCall, configuration) { + this.name = name; + this.apiCall = apiCall; + this.configuration = configuration; + this.individualDocuments = {}; + this.individualOverrides = {}; + this.individualSynonyms = {}; + this.name = name; + this.apiCall = apiCall; + this.configuration = configuration; + this._documents = new Documents_1.default(this.name, this.apiCall, this.configuration); + this._overrides = new Overrides_1.default(this.name, this.apiCall); + this._synonyms = new Synonyms_1.default(this.name, this.apiCall); + } + Collection.prototype.retrieve = function () { + return tslib_1.__awaiter(this, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + return [2 /*return*/, this.apiCall.get(this.endpointPath())]; + }); + }); + }; + Collection.prototype.update = function (schema) { + return tslib_1.__awaiter(this, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + return [2 /*return*/, this.apiCall.patch(this.endpointPath(), schema)]; + }); + }); + }; + Collection.prototype.delete = function () { + return tslib_1.__awaiter(this, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + return [2 /*return*/, this.apiCall.delete(this.endpointPath())]; + }); + }); + }; + Collection.prototype.exists = function () { + return tslib_1.__awaiter(this, void 0, void 0, function () { + var e_1; + return tslib_1.__generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.retrieve()]; + case 1: + _a.sent(); + return [2 /*return*/, true]; + case 2: + e_1 = _a.sent(); + if (e_1 instanceof Errors_1.ObjectNotFound) + return [2 /*return*/, false]; + throw e_1; + case 3: return [2 /*return*/]; + } + }); + }); + }; + Collection.prototype.documents = function (documentId) { + if (!documentId) { + return this._documents; + } + else { + if (this.individualDocuments[documentId] === undefined) { + this.individualDocuments[documentId] = new Document_1.Document(this.name, documentId, this.apiCall); + } + return this.individualDocuments[documentId]; + } + }; + Collection.prototype.overrides = function (overrideId) { + if (overrideId === undefined) { + return this._overrides; + } + else { + if (this.individualOverrides[overrideId] === undefined) { + this.individualOverrides[overrideId] = new Override_1.default(this.name, overrideId, this.apiCall); + } + return this.individualOverrides[overrideId]; + } + }; + Collection.prototype.synonyms = function (synonymId) { + if (synonymId === undefined) { + return this._synonyms; + } + else { + if (this.individualSynonyms[synonymId] === undefined) { + this.individualSynonyms[synonymId] = new Synonym_1.default(this.name, synonymId, this.apiCall); + } + return this.individualSynonyms[synonymId]; + } + }; + Collection.prototype.endpointPath = function () { + return "".concat(Collections_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.name)); + }; + return Collection; +}()); +exports.default = Collection; +//# sourceMappingURL=Collection.js.map \ No newline at end of file diff --git a/lib/Typesense/Collection.js.map b/lib/Typesense/Collection.js.map new file mode 100644 index 00000000..5a42b40c --- /dev/null +++ b/lib/Typesense/Collection.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Collection.js","sourceRoot":"","sources":["../../src/Typesense/Collection.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/Typesense/Conversation.js b/lib/Typesense/Conversation.js new file mode 100644 index 00000000..b0891aed --- /dev/null +++ b/lib/Typesense/Conversation.js @@ -0,0 +1,37 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var Conversations_1 = tslib_1.__importDefault(require("./Conversations")); +var Conversation = /** @class */ (function () { + function Conversation(id, apiCall) { + this.id = id; + this.apiCall = apiCall; + } + Conversation.prototype.retrieve = function () { + return tslib_1.__awaiter(this, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + return [2 /*return*/, this.apiCall.get(this.endpointPath())]; + }); + }); + }; + Conversation.prototype.update = function (params) { + return tslib_1.__awaiter(this, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + return [2 /*return*/, this.apiCall.put(this.endpointPath(), params)]; + }); + }); + }; + Conversation.prototype.delete = function () { + return tslib_1.__awaiter(this, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + return [2 /*return*/, this.apiCall.delete(this.endpointPath())]; + }); + }); + }; + Conversation.prototype.endpointPath = function () { + return "".concat(Conversations_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.id)); + }; + return Conversation; +}()); +exports.default = Conversation; +//# sourceMappingURL=Conversation.js.map \ No newline at end of file diff --git a/lib/Typesense/Conversation.js.map b/lib/Typesense/Conversation.js.map new file mode 100644 index 00000000..0a9646b7 --- /dev/null +++ b/lib/Typesense/Conversation.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Conversation.js","sourceRoot":"","sources":["../../src/Typesense/Conversation.ts"],"names":[],"mappings":";;;AACA,0EAA4C;AAiB5C;IACE,sBACU,EAAU,EACV,OAAgB;QADhB,OAAE,GAAF,EAAE,CAAQ;QACV,YAAO,GAAP,OAAO,CAAS;IACvB,CAAC;IAEE,+BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAuB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACpE;IAEK,6BAAM,GAAZ,UACE,MAAgC;;;gBAEhC,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CACrB,IAAI,CAAC,YAAY,EAAE,EACnB,MAAM,CACP,EAAC;;;KACH;IAEK,6BAAM,GAAZ;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAA2B,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KAC3E;IAEO,mCAAY,GAApB;QACE,OAAO,UAAG,uBAAa,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAE,CAAC;IACxE,CAAC;IACH,mBAAC;AAAD,CAAC,AA1BD,IA0BC"} \ No newline at end of file diff --git a/lib/Typesense/ConversationModel.js b/lib/Typesense/ConversationModel.js new file mode 100644 index 00000000..2da74c2d --- /dev/null +++ b/lib/Typesense/ConversationModel.js @@ -0,0 +1,37 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var ConversationModels_1 = tslib_1.__importDefault(require("./ConversationModels")); +var ConversationModel = /** @class */ (function () { + function ConversationModel(id, apiCall) { + this.id = id; + this.apiCall = apiCall; + } + ConversationModel.prototype.update = function (params) { + return tslib_1.__awaiter(this, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + return [2 /*return*/, this.apiCall.put(this.endpointPath(), params)]; + }); + }); + }; + ConversationModel.prototype.retrieve = function () { + return tslib_1.__awaiter(this, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + return [2 /*return*/, this.apiCall.get(this.endpointPath())]; + }); + }); + }; + ConversationModel.prototype.delete = function () { + return tslib_1.__awaiter(this, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + return [2 /*return*/, this.apiCall.delete(this.endpointPath())]; + }); + }); + }; + ConversationModel.prototype.endpointPath = function () { + return "".concat(ConversationModels_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.id)); + }; + return ConversationModel; +}()); +exports.default = ConversationModel; +//# sourceMappingURL=ConversationModel.js.map \ No newline at end of file diff --git a/lib/Typesense/ConversationModel.js.map b/lib/Typesense/ConversationModel.js.map new file mode 100644 index 00000000..4fa2fbce --- /dev/null +++ b/lib/Typesense/ConversationModel.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ConversationModel.js","sourceRoot":"","sources":["../../src/Typesense/ConversationModel.ts"],"names":[],"mappings":";;;AACA,oFAAsD;AAiBtD;IACE,2BACU,EAAU,EACV,OAAgB;QADhB,OAAE,GAAF,EAAE,CAAQ;QACV,YAAO,GAAP,OAAO,CAAS;IACvB,CAAC;IAEE,kCAAM,GAAZ,UACE,MAAqC;;;gBAErC,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CACrB,IAAI,CAAC,YAAY,EAAE,EACnB,MAAM,CACP,EAAC;;;KACH;IAEK,oCAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAA0B,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACvE;IAEK,kCAAM,GAAZ;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CACxB,IAAI,CAAC,YAAY,EAAE,CACpB,EAAC;;;KACH;IAEO,wCAAY,GAApB;QACE,OAAO,UAAG,4BAAkB,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAE,CAAC;IAC7E,CAAC;IACH,wBAAC;AAAD,CAAC,AA5BD,IA4BC"} \ No newline at end of file diff --git a/lib/Typesense/ConversationModels.js b/lib/Typesense/ConversationModels.js new file mode 100644 index 00000000..29563fc5 --- /dev/null +++ b/lib/Typesense/ConversationModels.js @@ -0,0 +1,37 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var RESOURCEPATH = "/conversations/models"; +var ConversationModels = /** @class */ (function () { + function ConversationModels(apiCall) { + this.apiCall = apiCall; + this.apiCall = apiCall; + } + ConversationModels.prototype.create = function (params) { + return tslib_1.__awaiter(this, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + return [2 /*return*/, this.apiCall.post(this.endpointPath(), params)]; + }); + }); + }; + ConversationModels.prototype.retrieve = function () { + return tslib_1.__awaiter(this, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + return [2 /*return*/, this.apiCall.get(this.endpointPath())]; + }); + }); + }; + ConversationModels.prototype.endpointPath = function (operation) { + return "".concat(ConversationModels.RESOURCEPATH).concat(operation === undefined ? "" : "/" + encodeURIComponent(operation)); + }; + Object.defineProperty(ConversationModels, "RESOURCEPATH", { + get: function () { + return RESOURCEPATH; + }, + enumerable: false, + configurable: true + }); + return ConversationModels; +}()); +exports.default = ConversationModels; +//# sourceMappingURL=ConversationModels.js.map \ No newline at end of file diff --git a/lib/Typesense/ConversationModels.js.map b/lib/Typesense/ConversationModels.js.map new file mode 100644 index 00000000..3c3b1bc0 --- /dev/null +++ b/lib/Typesense/ConversationModels.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ConversationModels.js","sourceRoot":"","sources":["../../src/Typesense/ConversationModels.ts"],"names":[],"mappings":";;;AAMA,IAAM,YAAY,GAAG,uBAAuB,CAAC;AAE7C;IACE,4BAA6B,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;QAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEK,mCAAM,GAAZ,UACE,MAAqC;;;gBAErC,sBAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CACtB,IAAI,CAAC,YAAY,EAAE,EACnB,MAAM,CACP,EAAC;;;KACH;IAEK,qCAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CACrB,IAAI,CAAC,YAAY,EAAE,CACpB,EAAC;;;KACH;IAEO,yCAAY,GAApB,UAAqB,SAAkB;QACrC,OAAO,UAAG,kBAAkB,CAAC,YAAY,SACvC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAClE,CAAC;IACL,CAAC;IAED,sBAAW,kCAAY;aAAvB;YACE,OAAO,YAAY,CAAC;QACtB,CAAC;;;OAAA;IACH,yBAAC;AAAD,CAAC,AA7BD,IA6BC"} \ No newline at end of file diff --git a/lib/Typesense/Document.js b/lib/Typesense/Document.js new file mode 100644 index 00000000..222c16ca --- /dev/null +++ b/lib/Typesense/Document.js @@ -0,0 +1,41 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Document = void 0; +var tslib_1 = require("tslib"); +var Collections_1 = tslib_1.__importDefault(require("./Collections")); +var Documents_1 = tslib_1.__importDefault(require("./Documents")); +var Document = /** @class */ (function () { + function Document(collectionName, documentId, apiCall) { + this.collectionName = collectionName; + this.documentId = documentId; + this.apiCall = apiCall; + } + Document.prototype.retrieve = function () { + return tslib_1.__awaiter(this, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + return [2 /*return*/, this.apiCall.get(this.endpointPath())]; + }); + }); + }; + Document.prototype.delete = function (options) { + return tslib_1.__awaiter(this, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + return [2 /*return*/, this.apiCall.delete(this.endpointPath(), options)]; + }); + }); + }; + Document.prototype.update = function (partialDocument, options) { + if (options === void 0) { options = {}; } + return tslib_1.__awaiter(this, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + return [2 /*return*/, this.apiCall.patch(this.endpointPath(), partialDocument, options)]; + }); + }); + }; + Document.prototype.endpointPath = function () { + return "".concat(Collections_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.collectionName)).concat(Documents_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.documentId)); + }; + return Document; +}()); +exports.Document = Document; +//# sourceMappingURL=Document.js.map \ No newline at end of file diff --git a/lib/Typesense/Document.js.map b/lib/Typesense/Document.js.map new file mode 100644 index 00000000..c4eb9562 --- /dev/null +++ b/lib/Typesense/Document.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Document.js","sourceRoot":"","sources":["../../src/Typesense/Document.ts"],"names":[],"mappings":";;;;AACA,sEAAwC;AACxC,kEAGqB;AAErB;IACE,kBACU,cAAsB,EACtB,UAAkB,EAClB,OAAgB;QAFhB,mBAAc,GAAd,cAAc,CAAQ;QACtB,eAAU,GAAV,UAAU,CAAQ;QAClB,YAAO,GAAP,OAAO,CAAS;IACvB,CAAC;IAEE,2BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAI,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACjD;IAEK,yBAAM,GAAZ;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAI,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACpD;IAEK,yBAAM,GAAZ,UACE,eAA2B,EAC3B,OAAqC;QAArC,wBAAA,EAAA,YAAqC;;;gBAErC,sBAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAI,IAAI,CAAC,YAAY,EAAE,EAAE,eAAe,EAAE,OAAO,CAAC,EAAC;;;KAC7E;IAEO,+BAAY,GAApB;QACE,OAAO,UAAG,qBAAW,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,SAAG,mBAAS,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAE,CAAC;IAClJ,CAAC;IACH,eAAC;AAAD,CAAC,AAzBD,IAyBC;AAzBY,4BAAQ"} \ No newline at end of file diff --git a/lib/Typesense/Key.js b/lib/Typesense/Key.js new file mode 100644 index 00000000..27538455 --- /dev/null +++ b/lib/Typesense/Key.js @@ -0,0 +1,30 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var Keys_1 = tslib_1.__importDefault(require("./Keys")); +var Key = /** @class */ (function () { + function Key(id, apiCall) { + this.id = id; + this.apiCall = apiCall; + } + Key.prototype.retrieve = function () { + return tslib_1.__awaiter(this, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + return [2 /*return*/, this.apiCall.get(this.endpointPath())]; + }); + }); + }; + Key.prototype.delete = function () { + return tslib_1.__awaiter(this, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + return [2 /*return*/, this.apiCall.delete(this.endpointPath())]; + }); + }); + }; + Key.prototype.endpointPath = function () { + return "".concat(Keys_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.id)); + }; + return Key; +}()); +exports.default = Key; +//# sourceMappingURL=Key.js.map \ No newline at end of file diff --git a/lib/Typesense/Key.js.map b/lib/Typesense/Key.js.map new file mode 100644 index 00000000..0c2ca229 --- /dev/null +++ b/lib/Typesense/Key.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Key.js","sourceRoot":"","sources":["../../src/Typesense/Key.ts"],"names":[],"mappings":";;;AACA,wDAA0B;AAmB1B;IACE,aAAoB,EAAU,EAAU,OAAgB;QAApC,OAAE,GAAF,EAAE,CAAQ;QAAU,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAEtD,sBAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAY,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACzD;IAEK,oBAAM,GAAZ;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAkB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KAClE;IAEO,0BAAY,GAApB;QACE,OAAO,UAAG,cAAI,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAE,CAAC;IAC/D,CAAC;IACH,UAAC;AAAD,CAAC,AAdD,IAcC"} \ No newline at end of file diff --git a/lib/Typesense/Override.js b/lib/Typesense/Override.js new file mode 100644 index 00000000..a2e07e2f --- /dev/null +++ b/lib/Typesense/Override.js @@ -0,0 +1,32 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var Collections_1 = tslib_1.__importDefault(require("./Collections")); +var Overrides_1 = tslib_1.__importDefault(require("./Overrides")); +var Override = /** @class */ (function () { + function Override(collectionName, overrideId, apiCall) { + this.collectionName = collectionName; + this.overrideId = overrideId; + this.apiCall = apiCall; + } + Override.prototype.retrieve = function () { + return tslib_1.__awaiter(this, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + return [2 /*return*/, this.apiCall.get(this.endpointPath())]; + }); + }); + }; + Override.prototype.delete = function () { + return tslib_1.__awaiter(this, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + return [2 /*return*/, this.apiCall.delete(this.endpointPath())]; + }); + }); + }; + Override.prototype.endpointPath = function () { + return "".concat(Collections_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.collectionName)).concat(Overrides_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.overrideId)); + }; + return Override; +}()); +exports.default = Override; +//# sourceMappingURL=Override.js.map \ No newline at end of file diff --git a/lib/Typesense/Override.js.map b/lib/Typesense/Override.js.map new file mode 100644 index 00000000..43ae48f8 --- /dev/null +++ b/lib/Typesense/Override.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Override.js","sourceRoot":"","sources":["../../src/Typesense/Override.ts"],"names":[],"mappings":";;;AACA,sEAAwC;AACxC,kEAA8D;AAU9D;IACE,kBACU,cAAsB,EACtB,UAAkB,EAClB,OAAgB;QAFhB,mBAAc,GAAd,cAAc,CAAQ;QACtB,eAAU,GAAV,UAAU,CAAQ;QAClB,YAAO,GAAP,OAAO,CAAS;IACvB,CAAC;IAEE,2BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAiB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KAC9D;IAEK,yBAAM,GAAZ;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAuB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACvE;IAEO,+BAAY,GAApB;QACE,OAAO,UAAG,qBAAW,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,SAAG,mBAAS,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAE,CAAC;IAClJ,CAAC;IACH,eAAC;AAAD,CAAC,AAlBD,IAkBC"} \ No newline at end of file diff --git a/lib/Typesense/Overrides.js b/lib/Typesense/Overrides.js new file mode 100644 index 00000000..503c47c1 --- /dev/null +++ b/lib/Typesense/Overrides.js @@ -0,0 +1,38 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var Collections_1 = tslib_1.__importDefault(require("./Collections")); +var RESOURCEPATH = "/overrides"; +var Overrides = /** @class */ (function () { + function Overrides(collectionName, apiCall) { + this.collectionName = collectionName; + this.apiCall = apiCall; + } + Overrides.prototype.upsert = function (overrideId, params) { + return tslib_1.__awaiter(this, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + return [2 /*return*/, this.apiCall.put(this.endpointPath(overrideId), params)]; + }); + }); + }; + Overrides.prototype.retrieve = function () { + return tslib_1.__awaiter(this, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + return [2 /*return*/, this.apiCall.get(this.endpointPath())]; + }); + }); + }; + Overrides.prototype.endpointPath = function (operation) { + return "".concat(Collections_1.default.RESOURCEPATH, "/").concat(this.collectionName).concat(Overrides.RESOURCEPATH).concat(operation === undefined ? "" : "/" + encodeURIComponent(operation)); + }; + Object.defineProperty(Overrides, "RESOURCEPATH", { + get: function () { + return RESOURCEPATH; + }, + enumerable: false, + configurable: true + }); + return Overrides; +}()); +exports.default = Overrides; +//# sourceMappingURL=Overrides.js.map \ No newline at end of file diff --git a/lib/Typesense/Overrides.js.map b/lib/Typesense/Overrides.js.map new file mode 100644 index 00000000..a7ac0700 --- /dev/null +++ b/lib/Typesense/Overrides.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Overrides.js","sourceRoot":"","sources":["../../src/Typesense/Overrides.ts"],"names":[],"mappings":";;;AACA,sEAAwC;AAGxC,IAAM,YAAY,GAAG,YAAY,CAAC;AAuClC;IACE,mBACU,cAAsB,EACtB,OAAgB;QADhB,mBAAc,GAAd,cAAc,CAAQ;QACtB,YAAO,GAAP,OAAO,CAAS;IACvB,CAAC;IAEE,0BAAM,GAAZ,UACE,UAAkB,EAClB,MAA4B;;;gBAE5B,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CACrB,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAC7B,MAAM,CACP,EAAC;;;KACH;IAEK,4BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAA0B,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACvE;IAEO,gCAAY,GAApB,UAAqB,SAAkB;QACrC,OAAO,UAAG,qBAAW,CAAC,YAAY,cAAI,IAAI,CAAC,cAAc,SACvD,SAAS,CAAC,YAAY,SACrB,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAE,CAAC;IAC1E,CAAC;IAED,sBAAW,yBAAY;aAAvB;YACE,OAAO,YAAY,CAAC;QACtB,CAAC;;;OAAA;IACH,gBAAC;AAAD,CAAC,AA7BD,IA6BC"} \ No newline at end of file diff --git a/lib/Typesense/Preset.js b/lib/Typesense/Preset.js new file mode 100644 index 00000000..1f9f7d84 --- /dev/null +++ b/lib/Typesense/Preset.js @@ -0,0 +1,30 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var Presets_1 = tslib_1.__importDefault(require("./Presets")); +var Preset = /** @class */ (function () { + function Preset(presetId, apiCall) { + this.presetId = presetId; + this.apiCall = apiCall; + } + Preset.prototype.retrieve = function () { + return tslib_1.__awaiter(this, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + return [2 /*return*/, this.apiCall.get(this.endpointPath())]; + }); + }); + }; + Preset.prototype.delete = function () { + return tslib_1.__awaiter(this, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + return [2 /*return*/, this.apiCall.delete(this.endpointPath())]; + }); + }); + }; + Preset.prototype.endpointPath = function () { + return "".concat(Presets_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.presetId)); + }; + return Preset; +}()); +exports.default = Preset; +//# sourceMappingURL=Preset.js.map \ No newline at end of file diff --git a/lib/Typesense/Preset.js.map b/lib/Typesense/Preset.js.map new file mode 100644 index 00000000..a1d77dcb --- /dev/null +++ b/lib/Typesense/Preset.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Preset.js","sourceRoot":"","sources":["../../src/Typesense/Preset.ts"],"names":[],"mappings":";;;AACA,8DAAwD;AAUxD;IACE,gBAAoB,QAAgB,EAAU,OAAgB;QAA1C,aAAQ,GAAR,QAAQ,CAAQ;QAAU,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAE5D,yBAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAe,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KAC5D;IAEK,uBAAM,GAAZ;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAqB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACrE;IAEO,6BAAY,GAApB;QACE,OAAO,UAAG,iBAAO,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAE,CAAC;IACxE,CAAC;IACH,aAAC;AAAD,CAAC,AAdD,IAcC"} \ No newline at end of file diff --git a/lib/Typesense/Presets.js b/lib/Typesense/Presets.js new file mode 100644 index 00000000..47195e85 --- /dev/null +++ b/lib/Typesense/Presets.js @@ -0,0 +1,36 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var RESOURCEPATH = "/presets"; +var Presets = /** @class */ (function () { + function Presets(apiCall) { + this.apiCall = apiCall; + } + Presets.prototype.upsert = function (presetId, params) { + return tslib_1.__awaiter(this, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + return [2 /*return*/, this.apiCall.put(this.endpointPath(presetId), params)]; + }); + }); + }; + Presets.prototype.retrieve = function () { + return tslib_1.__awaiter(this, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + return [2 /*return*/, this.apiCall.get(this.endpointPath())]; + }); + }); + }; + Presets.prototype.endpointPath = function (operation) { + return "".concat(Presets.RESOURCEPATH).concat(operation === undefined ? "" : "/" + encodeURIComponent(operation)); + }; + Object.defineProperty(Presets, "RESOURCEPATH", { + get: function () { + return RESOURCEPATH; + }, + enumerable: false, + configurable: true + }); + return Presets; +}()); +exports.default = Presets; +//# sourceMappingURL=Presets.js.map \ No newline at end of file diff --git a/lib/Typesense/Presets.js.map b/lib/Typesense/Presets.js.map new file mode 100644 index 00000000..43db42d6 --- /dev/null +++ b/lib/Typesense/Presets.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Presets.js","sourceRoot":"","sources":["../../src/Typesense/Presets.ts"],"names":[],"mappings":";;;AAKA,IAAM,YAAY,GAAG,UAAU,CAAC;AAUhC;IACE,iBAAoB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAElC,wBAAM,GAAZ,UACE,QAAgB,EAChB,MAA0B;;;gBAE1B,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAe,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,EAAC;;;KAC5E;IAEK,0BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAwB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACrE;IAEO,8BAAY,GAApB,UAAqB,SAAkB;QACrC,OAAO,UAAG,OAAO,CAAC,YAAY,SAC5B,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAClE,CAAC;IACL,CAAC;IAED,sBAAW,uBAAY;aAAvB;YACE,OAAO,YAAY,CAAC;QACtB,CAAC;;;OAAA;IACH,cAAC;AAAD,CAAC,AAvBD,IAuBC"} \ No newline at end of file diff --git a/lib/Typesense/Stopword.js b/lib/Typesense/Stopword.js new file mode 100644 index 00000000..83547225 --- /dev/null +++ b/lib/Typesense/Stopword.js @@ -0,0 +1,30 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var Stopwords_1 = tslib_1.__importDefault(require("./Stopwords")); +var Stopword = /** @class */ (function () { + function Stopword(stopwordId, apiCall) { + this.stopwordId = stopwordId; + this.apiCall = apiCall; + } + Stopword.prototype.retrieve = function () { + return tslib_1.__awaiter(this, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + return [2 /*return*/, this.apiCall.get(this.endpointPath())]; + }); + }); + }; + Stopword.prototype.delete = function () { + return tslib_1.__awaiter(this, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + return [2 /*return*/, this.apiCall.delete(this.endpointPath())]; + }); + }); + }; + Stopword.prototype.endpointPath = function () { + return "".concat(Stopwords_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.stopwordId)); + }; + return Stopword; +}()); +exports.default = Stopword; +//# sourceMappingURL=Stopword.js.map \ No newline at end of file diff --git a/lib/Typesense/Stopword.js.map b/lib/Typesense/Stopword.js.map new file mode 100644 index 00000000..9523cdce --- /dev/null +++ b/lib/Typesense/Stopword.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Stopword.js","sourceRoot":"","sources":["../../src/Typesense/Stopword.ts"],"names":[],"mappings":";;;AACA,kEAA8D;AAY9D;IACE,kBACU,UAAkB,EAClB,OAAgB;QADhB,eAAU,GAAV,UAAU,CAAQ;QAClB,YAAO,GAAP,OAAO,CAAS;IACvB,CAAC;IAEE,2BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAiB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KAC9D;IAEK,yBAAM,GAAZ;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAuB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACvE;IAEO,+BAAY,GAApB;QACE,OAAO,UAAG,mBAAS,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAE,CAAC;IAC5E,CAAC;IACH,eAAC;AAAD,CAAC,AAjBD,IAiBC"} \ No newline at end of file diff --git a/lib/Typesense/Stopwords.js b/lib/Typesense/Stopwords.js new file mode 100644 index 00000000..6caff949 --- /dev/null +++ b/lib/Typesense/Stopwords.js @@ -0,0 +1,36 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var RESOURCEPATH = "/stopwords"; +var Stopwords = /** @class */ (function () { + function Stopwords(apiCall) { + this.apiCall = apiCall; + } + Stopwords.prototype.upsert = function (stopwordId, params) { + return tslib_1.__awaiter(this, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + return [2 /*return*/, this.apiCall.put(this.endpointPath(stopwordId), params)]; + }); + }); + }; + Stopwords.prototype.retrieve = function () { + return tslib_1.__awaiter(this, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + return [2 /*return*/, this.apiCall.get(this.endpointPath())]; + }); + }); + }; + Stopwords.prototype.endpointPath = function (operation) { + return "".concat(Stopwords.RESOURCEPATH).concat(operation === undefined ? "" : "/" + encodeURIComponent(operation)); + }; + Object.defineProperty(Stopwords, "RESOURCEPATH", { + get: function () { + return RESOURCEPATH; + }, + enumerable: false, + configurable: true + }); + return Stopwords; +}()); +exports.default = Stopwords; +//# sourceMappingURL=Stopwords.js.map \ No newline at end of file diff --git a/lib/Typesense/Stopwords.js.map b/lib/Typesense/Stopwords.js.map new file mode 100644 index 00000000..f02de760 --- /dev/null +++ b/lib/Typesense/Stopwords.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Stopwords.js","sourceRoot":"","sources":["../../src/Typesense/Stopwords.ts"],"names":[],"mappings":";;;AAGA,IAAM,YAAY,GAAG,YAAY,CAAC;AAWlC;IACE,mBAAoB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAElC,0BAAM,GAAZ,UACE,UAAkB,EAClB,MAA4B;;;gBAE5B,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CACrB,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAC7B,MAAM,CACP,EAAC;;;KACH;IAEK,4BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAA0B,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACvE;IAEO,gCAAY,GAApB,UAAqB,SAAkB;QACrC,OAAO,UAAG,SAAS,CAAC,YAAY,SAC9B,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAClE,CAAC;IACL,CAAC;IAED,sBAAW,yBAAY;aAAvB;YACE,OAAO,YAAY,CAAC;QACtB,CAAC;;;OAAA;IACH,gBAAC;AAAD,CAAC,AA1BD,IA0BC"} \ No newline at end of file diff --git a/lib/Typesense/Synonym.js b/lib/Typesense/Synonym.js new file mode 100644 index 00000000..fb4830a7 --- /dev/null +++ b/lib/Typesense/Synonym.js @@ -0,0 +1,32 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var Collections_1 = tslib_1.__importDefault(require("./Collections")); +var Synonyms_1 = tslib_1.__importDefault(require("./Synonyms")); +var Synonym = /** @class */ (function () { + function Synonym(collectionName, synonymId, apiCall) { + this.collectionName = collectionName; + this.synonymId = synonymId; + this.apiCall = apiCall; + } + Synonym.prototype.retrieve = function () { + return tslib_1.__awaiter(this, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + return [2 /*return*/, this.apiCall.get(this.endpointPath())]; + }); + }); + }; + Synonym.prototype.delete = function () { + return tslib_1.__awaiter(this, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + return [2 /*return*/, this.apiCall.delete(this.endpointPath())]; + }); + }); + }; + Synonym.prototype.endpointPath = function () { + return "".concat(Collections_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.collectionName)).concat(Synonyms_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.synonymId)); + }; + return Synonym; +}()); +exports.default = Synonym; +//# sourceMappingURL=Synonym.js.map \ No newline at end of file diff --git a/lib/Typesense/Synonym.js.map b/lib/Typesense/Synonym.js.map new file mode 100644 index 00000000..1278adf2 --- /dev/null +++ b/lib/Typesense/Synonym.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Synonym.js","sourceRoot":"","sources":["../../src/Typesense/Synonym.ts"],"names":[],"mappings":";;;AACA,sEAAwC;AACxC,gEAA2D;AAU3D;IACE,iBACU,cAAsB,EACtB,SAAiB,EACjB,OAAgB;QAFhB,mBAAc,GAAd,cAAc,CAAQ;QACtB,cAAS,GAAT,SAAS,CAAQ;QACjB,YAAO,GAAP,OAAO,CAAS;IACvB,CAAC;IAEE,0BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAgB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KAC7D;IAEK,wBAAM,GAAZ;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAsB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACtE;IAEO,8BAAY,GAApB;QACE,OAAO,UAAG,qBAAW,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,SAAG,kBAAQ,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAE,CAAC;IAChJ,CAAC;IACH,cAAC;AAAD,CAAC,AAlBD,IAkBC"} \ No newline at end of file diff --git a/lib/Typesense/Synonyms.js b/lib/Typesense/Synonyms.js new file mode 100644 index 00000000..cef6cb72 --- /dev/null +++ b/lib/Typesense/Synonyms.js @@ -0,0 +1,38 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var Collections_1 = tslib_1.__importDefault(require("./Collections")); +var RESOURCEPATH = "/synonyms"; +var Synonyms = /** @class */ (function () { + function Synonyms(collectionName, apiCall) { + this.collectionName = collectionName; + this.apiCall = apiCall; + } + Synonyms.prototype.upsert = function (synonymId, params) { + return tslib_1.__awaiter(this, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + return [2 /*return*/, this.apiCall.put(this.endpointPath(synonymId), params)]; + }); + }); + }; + Synonyms.prototype.retrieve = function () { + return tslib_1.__awaiter(this, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + return [2 /*return*/, this.apiCall.get(this.endpointPath())]; + }); + }); + }; + Synonyms.prototype.endpointPath = function (operation) { + return "".concat(Collections_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.collectionName)).concat(Synonyms.RESOURCEPATH).concat(operation === undefined ? "" : "/" + encodeURIComponent(operation)); + }; + Object.defineProperty(Synonyms, "RESOURCEPATH", { + get: function () { + return RESOURCEPATH; + }, + enumerable: false, + configurable: true + }); + return Synonyms; +}()); +exports.default = Synonyms; +//# sourceMappingURL=Synonyms.js.map \ No newline at end of file diff --git a/lib/Typesense/Synonyms.js.map b/lib/Typesense/Synonyms.js.map new file mode 100644 index 00000000..08c256ac --- /dev/null +++ b/lib/Typesense/Synonyms.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Synonyms.js","sourceRoot":"","sources":["../../src/Typesense/Synonyms.ts"],"names":[],"mappings":";;;AACA,sEAAwC;AAGxC,IAAM,YAAY,GAAG,WAAW,CAAC;AAajC;IACE,kBAAoB,cAAsB,EAAU,OAAgB;QAAhD,mBAAc,GAAd,cAAc,CAAQ;QAAU,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAElE,yBAAM,GAAZ,UACE,SAAiB,EACjB,MAA2B;;;gBAE3B,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CACrB,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAC5B,MAAM,CACP,EAAC;;;KACH;IAEK,2BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAyB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACtE;IAEO,+BAAY,GAApB,UAAqB,SAAkB;QACrC,OAAO,UAAG,qBAAW,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,SAC3E,QAAQ,CAAC,YAAY,SACpB,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAE,CAAC;IAC1E,CAAC;IAED,sBAAW,wBAAY;aAAvB;YACE,OAAO,YAAY,CAAC;QACtB,CAAC;;;OAAA;IACH,eAAC;AAAD,CAAC,AA1BD,IA0BC"} \ No newline at end of file diff --git a/src/Typesense/Alias.ts b/src/Typesense/Alias.ts index 976423cd..14b61c30 100644 --- a/src/Typesense/Alias.ts +++ b/src/Typesense/Alias.ts @@ -13,6 +13,6 @@ export default class Alias { } private endpointPath(): string { - return `${Aliases.RESOURCEPATH}/${this.name}`; + return `${Aliases.RESOURCEPATH}/${encodeURIComponent(this.name)}`; } } diff --git a/src/Typesense/Aliases.ts b/src/Typesense/Aliases.ts index 0b3942e0..2647af2a 100644 --- a/src/Typesense/Aliases.ts +++ b/src/Typesense/Aliases.ts @@ -32,7 +32,7 @@ export default class Aliases { } private endpointPath(aliasName): string { - return `${Aliases.RESOURCEPATH}/${aliasName}`; + return `${Aliases.RESOURCEPATH}/${encodeURIComponent(aliasName)}`; } static get RESOURCEPATH(): string { diff --git a/src/Typesense/AnalyticsEvents.ts b/src/Typesense/AnalyticsEvents.ts index 6c7df20b..0c251975 100644 --- a/src/Typesense/AnalyticsEvents.ts +++ b/src/Typesense/AnalyticsEvents.ts @@ -19,7 +19,7 @@ export default class AnalyticsEvents { private endpointPath(operation?: string): string { return `${AnalyticsEvents.RESOURCEPATH}${ - operation === undefined ? "" : "/" + operation + operation === undefined ? "" : "/" + encodeURIComponent(operation) }`; } diff --git a/src/Typesense/AnalyticsRule.ts b/src/Typesense/AnalyticsRule.ts index 9931fe08..ef63473d 100644 --- a/src/Typesense/AnalyticsRule.ts +++ b/src/Typesense/AnalyticsRule.ts @@ -44,6 +44,6 @@ export default class AnalyticsRule { } private endpointPath(): string { - return `${AnalyticsRules.RESOURCEPATH}/${this.name}`; + return `${AnalyticsRules.RESOURCEPATH}/${encodeURIComponent(this.name)}`; } } diff --git a/src/Typesense/AnalyticsRules.ts b/src/Typesense/AnalyticsRules.ts index 42c91722..6ab1606b 100644 --- a/src/Typesense/AnalyticsRules.ts +++ b/src/Typesense/AnalyticsRules.ts @@ -31,7 +31,7 @@ export default class AnalyticsRules { private endpointPath(operation?: string): string { return `${AnalyticsRules.RESOURCEPATH}${ - operation === undefined ? "" : "/" + operation + operation === undefined ? "" : "/" + encodeURIComponent(operation) }`; } diff --git a/src/Typesense/Collection.ts b/src/Typesense/Collection.ts index 5eb14421..e50c05e0 100644 --- a/src/Typesense/Collection.ts +++ b/src/Typesense/Collection.ts @@ -158,6 +158,6 @@ export default class Collection { } private endpointPath(): string { - return `${Collections.RESOURCEPATH}/${this.name}`; + return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.name)}`; } } diff --git a/src/Typesense/Conversation.ts b/src/Typesense/Conversation.ts index c6b65a9e..fd18dd78 100644 --- a/src/Typesense/Conversation.ts +++ b/src/Typesense/Conversation.ts @@ -40,6 +40,6 @@ export default class Conversation { } private endpointPath(): string { - return `${Conversations.RESOURCEPATH}/${this.id}`; + return `${Conversations.RESOURCEPATH}/${encodeURIComponent(this.id)}`; } } diff --git a/src/Typesense/ConversationModel.ts b/src/Typesense/ConversationModel.ts index cb01bd64..38446fc6 100644 --- a/src/Typesense/ConversationModel.ts +++ b/src/Typesense/ConversationModel.ts @@ -44,6 +44,6 @@ export default class ConversationModel { } private endpointPath(): string { - return `${ConversationModels.RESOURCEPATH}/${this.id}`; + return `${ConversationModels.RESOURCEPATH}/${encodeURIComponent(this.id)}`; } } diff --git a/src/Typesense/ConversationModels.ts b/src/Typesense/ConversationModels.ts index 62eb09e4..d7c67cc8 100644 --- a/src/Typesense/ConversationModels.ts +++ b/src/Typesense/ConversationModels.ts @@ -28,7 +28,7 @@ export default class ConversationModels { private endpointPath(operation?: string): string { return `${ConversationModels.RESOURCEPATH}${ - operation === undefined ? "" : "/" + operation + operation === undefined ? "" : "/" + encodeURIComponent(operation) }`; } diff --git a/src/Typesense/Document.ts b/src/Typesense/Document.ts index 684fc6f4..c78f0d8e 100644 --- a/src/Typesense/Document.ts +++ b/src/Typesense/Document.ts @@ -29,6 +29,6 @@ export class Document { } private endpointPath(): string { - return `${Collections.RESOURCEPATH}/${this.collectionName}${Documents.RESOURCEPATH}/${this.documentId}`; + return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Documents.RESOURCEPATH}/${encodeURIComponent(this.documentId)}`; } } diff --git a/src/Typesense/Key.ts b/src/Typesense/Key.ts index e011134b..4d4fb692 100644 --- a/src/Typesense/Key.ts +++ b/src/Typesense/Key.ts @@ -30,6 +30,6 @@ export default class Key { } private endpointPath(): string { - return `${Keys.RESOURCEPATH}/${this.id}`; + return `${Keys.RESOURCEPATH}/${encodeURIComponent(this.id)}`; } } diff --git a/src/Typesense/Override.ts b/src/Typesense/Override.ts index 49f08839..a17a945d 100644 --- a/src/Typesense/Override.ts +++ b/src/Typesense/Override.ts @@ -26,6 +26,6 @@ export default class Override { } private endpointPath(): string { - return `${Collections.RESOURCEPATH}/${this.collectionName}${Overrides.RESOURCEPATH}/${this.overrideId}`; + return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Overrides.RESOURCEPATH}/${encodeURIComponent(this.overrideId)}`; } } diff --git a/src/Typesense/Overrides.ts b/src/Typesense/Overrides.ts index 77b79579..75cd397b 100644 --- a/src/Typesense/Overrides.ts +++ b/src/Typesense/Overrides.ts @@ -64,7 +64,7 @@ export default class Overrides { private endpointPath(operation?: string): string { return `${Collections.RESOURCEPATH}/${this.collectionName}${ Overrides.RESOURCEPATH - }${operation === undefined ? "" : "/" + operation}`; + }${operation === undefined ? "" : "/" + encodeURIComponent(operation)}`; } static get RESOURCEPATH(): string { diff --git a/src/Typesense/Preset.ts b/src/Typesense/Preset.ts index 59b060ce..14c39eca 100644 --- a/src/Typesense/Preset.ts +++ b/src/Typesense/Preset.ts @@ -21,6 +21,6 @@ export default class Preset { } private endpointPath(): string { - return `${Presets.RESOURCEPATH}/${this.presetId}`; + return `${Presets.RESOURCEPATH}/${encodeURIComponent(this.presetId)}`; } } diff --git a/src/Typesense/Presets.ts b/src/Typesense/Presets.ts index d21d092e..0c6a2055 100644 --- a/src/Typesense/Presets.ts +++ b/src/Typesense/Presets.ts @@ -29,7 +29,7 @@ export default class Presets { private endpointPath(operation?: string): string { return `${Presets.RESOURCEPATH}${ - operation === undefined ? "" : "/" + operation + operation === undefined ? "" : "/" + encodeURIComponent(operation) }`; } diff --git a/src/Typesense/Stopword.ts b/src/Typesense/Stopword.ts index 0c5f0608..62e174e5 100644 --- a/src/Typesense/Stopword.ts +++ b/src/Typesense/Stopword.ts @@ -26,6 +26,6 @@ export default class Stopword { } private endpointPath(): string { - return `${Stopwords.RESOURCEPATH}/${this.stopwordId}`; + return `${Stopwords.RESOURCEPATH}/${encodeURIComponent(this.stopwordId)}`; } } diff --git a/src/Typesense/Stopwords.ts b/src/Typesense/Stopwords.ts index 22693abc..85a186f7 100644 --- a/src/Typesense/Stopwords.ts +++ b/src/Typesense/Stopwords.ts @@ -31,7 +31,7 @@ export default class Stopwords { private endpointPath(operation?: string): string { return `${Stopwords.RESOURCEPATH}${ - operation === undefined ? "" : "/" + operation + operation === undefined ? "" : "/" + encodeURIComponent(operation) }`; } diff --git a/src/Typesense/Synonym.ts b/src/Typesense/Synonym.ts index 076de562..e6458df0 100644 --- a/src/Typesense/Synonym.ts +++ b/src/Typesense/Synonym.ts @@ -26,6 +26,6 @@ export default class Synonym { } private endpointPath(): string { - return `${Collections.RESOURCEPATH}/${this.collectionName}${Synonyms.RESOURCEPATH}/${this.synonymId}`; + return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Synonyms.RESOURCEPATH}/${encodeURIComponent(this.synonymId)}`; } } diff --git a/src/Typesense/Synonyms.ts b/src/Typesense/Synonyms.ts index 2d4ffd90..eec60c4f 100644 --- a/src/Typesense/Synonyms.ts +++ b/src/Typesense/Synonyms.ts @@ -33,9 +33,9 @@ export default class Synonyms { } private endpointPath(operation?: string) { - return `${Collections.RESOURCEPATH}/${this.collectionName}${ + return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${ Synonyms.RESOURCEPATH - }${operation === undefined ? "" : "/" + operation}`; + }${operation === undefined ? "" : "/" + encodeURIComponent(operation)}`; } static get RESOURCEPATH(): string { From d6bbffa0cb999be57dc3945fd7b1e66ee22cd7c1 Mon Sep 17 00:00:00 2001 From: Hayden Date: Tue, 27 Aug 2024 21:56:18 +0700 Subject: [PATCH 09/21] Build after resolving conflicts for #211 --- dist/typesense.js.map | 2 +- dist/typesense.min.js | 2 +- dist/typesense.min.js.map | 2 +- lib/Typesense/ConversationModel.js.map | 2 +- lib/Typesense/Document.js.map | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/dist/typesense.js.map b/dist/typesense.js.map index 0ca20dbb..8e70eec6 100644 --- a/dist/typesense.js.map +++ b/dist/typesense.js.map @@ -1 +1 @@ -{"version":3,"file":"typesense.js","mappings":"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;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;;AAEA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;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;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA,qDAAqD;AACrD,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,sBAAsB;AACtB;;AAEA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA,oCAAoC;AACpC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;;;;;;;;;;ACpWD;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA,cAAc,sGAAiC;AAC/C;AACA,gBAAgB;AAChB;AACA;AACA,GAAG,EAAE,yBAAyB,SAAS,yBAAyB;AAChE;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,KAAK;AACL,iDAAiD;AACjD;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;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;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;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,eAAe;AAClC;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,SAAS;AACtB;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;;;;;;;;;;;;;;;ACHe;AACf;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;ACLA;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;;;;;;;;;;;;;;;;;ACJiD;AACoB;AACtD;AACf,MAAM,wEAAwB;AAC9B;AACA;AACA;AACA,cAAc,8DAAc;AAC5B;;;;;;;;;;;;;;;;ACR+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;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACLiD;AAClC;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH,kBAAkB,8DAAc;AAChC;;;;;;;;;;;;;;;AChBe;AACf;AACA;AACA,IAAI;AACJ;AACA;AACA;;;;;;;;;;;;;;;ACNe;AACf;AACA,yFAAyF;AACzF,IAAI;AACJ;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;ACPe;AACf;AACA;;;;;;;;;;;;;;;ACFe;AACf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A;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,iBAAiB,2DAAU,oBAAoB,2DAAU;;AAEzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,2DAAU,kBAAkB,2DAAU;;AAEvD;AACA;AACA;;AAEA;AACA;AACA;AACA,kDAAkD,iEAAoB;AACtE;AACA;AACA;AACA,iBAAiB,2DAAU;AAC3B;AACA,2CAA2C,2DAAU,aAAa,2DAAU;AAC5E;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO,0DAAQ;AACf,uBAAuB,iDAAK;;AAE5B,uDAAuD,uEAAe;AACtE;AACA,4EAA4E,4DAAO;;AAEnF;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAM,iDAAK;AACX;AACA,OAAO;AACP;;AAEA;AACA,SAAS,iDAAK;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,iEAAa;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,sEAAa;;AAElC,oBAAoB,0DAAQ;AAC5B,iBAAiB,2DAAU,2CAA2C,2DAAU;AAChF;AACA;;;AAGA;AACA;AACA,GAAG;AACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnQY;;AAEkB;AACM;AACD;AACY;AACL;AACc;AACH;AACJ;AACN;AACN;AACW;AACH;AACL;AACY;AACH;AACJ;AACW;;AAEzD;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,OAAO;AACpB;AACA;AACA,sBAAsB,sDAAK;AAC3B,mBAAmB,4DAAI,CAAC,sDAAK;;AAE7B;AACA,EAAE,iDAAK,kBAAkB,sDAAK,sBAAsB,iBAAiB;;AAErE;AACA,EAAE,iDAAK,kCAAkC,iBAAiB;;AAE1D;AACA;AACA,0BAA0B,gEAAW;AACrC;;AAEA;AACA;;AAEA;AACA,6BAA6B,0DAAQ;;AAErC;AACA,cAAc,sDAAK;;AAEnB;AACA,sBAAsB,gEAAa;AACnC,oBAAoB,8DAAW;AAC/B,iBAAiB,2DAAQ;AACzB,gBAAgB,iDAAO;AACvB,mBAAmB,8DAAU;;AAE7B;AACA,mBAAmB,4DAAU;;AAE7B;AACA;;AAEA;AACA;AACA;AACA;;AAEA,eAAe,2DAAM;;AAErB;AACA,qBAAqB,iEAAY;;AAEjC;AACA,oBAAoB,4DAAW;;AAE/B,qBAAqB,8DAAY;;AAEjC,4BAA4B,uEAAc,CAAC,iDAAK;;AAEhD,mBAAmB,8DAAQ;;AAE3B,uBAAuB,mEAAc;;AAErC;;AAEA;AACA,iEAAe,KAAK;;;;;;;;;;;;;;;;;ACxFP;;AAEkC;;AAE/C;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,yDAAa;AACtC;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA,iEAAe,WAAW,EAAC;;;;;;;;;;;;;;;;;;ACxHd;;AAEkC;AACf;;AAEhC;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,aAAa,eAAe;AAC5B;AACA;AACA;AACA,EAAE,2DAAU,oDAAoD,2DAAU;AAC1E;AACA;;AAEA,iDAAK,yBAAyB,2DAAU;AACxC;AACA,CAAC;;AAED,iEAAe,aAAa,EAAC;;;;;;;;;;;;;;;;ACxBhB;;AAEE;AACf;AACA;;;;;;;;;;;;;;;;;;;;;;;;ACJa;;AAEqB;AACY;AACW;AACN;AACR;AACI;AACC;AACH;;AAE7C,mBAAmB,6DAAS;;AAE5B;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,mBAAmB,8DAAkB;AACrC,oBAAoB,8DAAkB;AACtC;AACA;;AAEA;AACA;AACA;AACA,aAAa,eAAe;AAC5B,aAAa,SAAS;AACtB;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA,oEAAoE;;AAEpE;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA,aAAa,2DAAW;;AAExB,WAAW,yCAAyC;;AAEpD;AACA,MAAM,6DAAS;AACf;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,UAAU,iDAAK;AACf;AACA;AACA;AACA,QAAQ;AACR,QAAQ,6DAAS;AACjB;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA,oCAAoC,iDAAK;AACzC;AACA;AACA;;AAEA,eAAe,iDAAK;AACpB;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,wDAAY;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA,qBAAqB,2DAAe;AACpC;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA,gBAAgB,2DAAe;AAC/B,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,aAAa,2DAAW;AACxB,qBAAqB,6DAAa;AAClC,WAAW,gEAAQ;AACnB;AACA;;AAEA;AACA,iDAAK;AACL;AACA;AACA,wBAAwB,2DAAW,aAAa;AAChD;AACA;AACA,yBAAyB;AACzB,KAAK;AACL;AACA,CAAC;;AAED,iDAAK;AACL;;AAEA;AACA;AACA,0BAA0B,2DAAW,aAAa;AAClD;AACA;AACA;AACA,UAAU,IAAI;AACd;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA,CAAC;;AAED,iEAAe,KAAK,EAAC;;;;;;;;;;;;;;;;;AChOR;;AAEmB;;AAEhC;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,OAAO;AACpB;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iDAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,iDAAK;AACnB;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,CAAC;;AAED;AACA,kDAAkD,YAAY;;AAE9D;AACA;AACA;;AAEA,EAAE,iDAAK;AACP;AACA,GAAG;AACH;AACA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,iEAAe,UAAU,EAAC;;;;;;;;;;;;;;;;;;ACnGb;;AAEmB;AACsB;;AAEtD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS,iDAAK;AACd;;AAEA;AACA;AACA,2BAA2B,mBAAmB;AAC9C;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,MAAM,iDAAK;AACX;AACA;;AAEA;AACA;AACA;;AAEA,OAAO,iDAAK;;AAEZ,MAAM,iDAAK;AACX;AACA;;AAEA,MAAM,iDAAK;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,uBAAuB,iDAAK;;AAE5B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,iDAAK;;AAEvB;AACA;AACA;AACA;;AAEA;AACA,MAAM,iDAAK;;AAEX,QAAQ,iDAAK;AACb;AACA,MAAM,QAAQ,iDAAK;AACnB,iBAAiB,oEAAY;AAC7B,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB,iDAAK;;AAEvB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,YAAY,iDAAK;AACjB;AACA;;AAEA,YAAY,iDAAK;AACjB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB,iDAAK;;AAEvB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,oBAAoB,iDAAK;;AAEzB;AACA;;AAEA;AACA;AACA;AACA;;AAEA,QAAQ,iDAAK;AACb;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,IAAI,iDAAK;AACT,kBAAkB,iDAAK;;AAEvB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,IAAI,iDAAK;AACT,sEAAsE,iDAAK;AAC3E,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,IAAI,iDAAK;;AAET;AACA;AACA;;AAEA;;AAEA;AACA,iDAAK,6CAA6C,MAAM;AACxD,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,iDAAK;;AAEL,iEAAe,YAAY,EAAC;;;;;;;;;;;;;;;;;ACzSf;;AAEqB;;AAElC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB,aAAa,UAAU;AACvB;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,UAAU;AACvB;AACA,eAAe;AACf;AACA;AACA,IAAI,iDAAK;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,iEAAe,kBAAkB,EAAC;;;;;;;;;;;;;;;;;;ACtErB;;AAE2C;AACJ;;AAEpD;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf,kBAAkB,qEAAa;AAC/B,WAAW,mEAAW;AACtB;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;ACpBa;;AAEkC;AACF;AACD;AACW;AACJ;AACJ;;AAE/C;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,gEAAa;AAC3B;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACe;AACf;;AAEA,mBAAmB,6DAAY;;AAE/B;AACA,gBAAgB,yDAAa;AAC7B;AACA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,6DAAQ,8BAA8B,0DAAQ;;AAEhE;AACA;;AAEA;AACA,oBAAoB,yDAAa;AACjC;AACA;AACA;AACA;;AAEA,uBAAuB,6DAAY;;AAEnC;AACA,GAAG;AACH,SAAS,+DAAQ;AACjB;;AAEA;AACA;AACA,+BAA+B,yDAAa;AAC5C;AACA;AACA;AACA;AACA,kCAAkC,6DAAY;AAC9C;AACA;;AAEA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;AChFa;;AAEmB;AACa;;AAE7C,oDAAoD,wDAAY;;AAEhE;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;;AAEA;AACA,QAAQ,iDAAK,0BAA0B,iDAAK;AAC5C,aAAa,iDAAK,aAAa,SAAS;AACxC,MAAM,SAAS,iDAAK;AACpB,aAAa,iDAAK,SAAS;AAC3B,MAAM,SAAS,iDAAK;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS,iDAAK;AACd;AACA,MAAM,UAAU,iDAAK;AACrB;AACA;AACA;;AAEA;AACA;AACA,SAAS,iDAAK;AACd;AACA;AACA;;AAEA;AACA;AACA,SAAS,iDAAK;AACd;AACA,MAAM,UAAU,iDAAK;AACrB;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;AACA;AACA;AACA;;AAEA,EAAE,iDAAK,qCAAqC;AAC5C;AACA;AACA,KAAK,iDAAK;AACV,GAAG;;AAEH;AACA;;;;;;;;;;;;;;;;;ACzGa;;AAE4B;;AAEzC;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;AACA,IAAI;AACJ,eAAe,sDAAU;AACzB;AACA,OAAO,sDAAU,kBAAkB,sDAAU;AAC7C;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;AC1Ba;;AAEqB;AACU;AACO;;AAEnD;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB;AACA,aAAa,GAAG;AAChB;AACe;AACf,yBAAyB,0DAAQ;AACjC;AACA,kBAAkB,6DAAY;AAC9B;;AAEA,EAAE,iDAAK;AACP;AACA,GAAG;;AAEH;;AAEA;AACA;;;;;;;;;;;;;;;;;;;;;;;AC3Ba;;AAEmB;AACe;AACM;AACH;AACY;AAClB;AACc;;AAE1D;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA,MAAM,iDAAK;AACX;AACA;AACA,aAAa,iDAAK;AAClB,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,gBAAgB,wDAAoB;;AAEpC;;AAEA;AACA;AACA;AACA,4BAA4B,iDAAK;;AAEjC,2BAA2B,iDAAK;AAChC;AACA;;AAEA,uBAAuB,iDAAK;;AAE5B;AACA,iDAAiD,sEAAc;AAC/D;;AAEA,QAAQ,iDAAK;AACb,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX;AACA;AACA;AACA,QAAQ,iDAAK;AACb;AACA;AACA,QAAQ,iDAAK;AACb,gEAAgE;AAChE;AACA;;AAEA;;AAEA;AACA;AACA,eAAe,wEAAgB;AAC/B;;AAEA,wBAAwB,iDAAK;AAC7B;;AAEA,eAAe,kEAAU;AACzB,wBAAwB,iBAAiB;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA,gBAAgB,iDAAK;AACrB;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA,kBAAkB,2DAAU,SAAS,2DAAU;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,cAAc,0DAAQ;AACtB,UAAU,0DAAQ;AAClB,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iDAAK;AACL;AACA,CAAC;;AAED,iEAAe,QAAQ,EAAC;;;;;;;;;;;;;;;;AC3JX;;AAEb,iEAAe;AACf;AACA;AACA;AACA,CAAC,EAAC;;;;;;;;;;;;;;;;ACNK;;;;;;;;;;;;;;;;ACAM;;AAE4B;;AAEzC;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,WAAW,qBAAqB;AAChC,WAAW,qBAAqB;AAChC;AACA,aAAa;AACb;AACA;AACA;;AAEA,YAAY,0DAAU;AACtB;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA,GAAG;AACH;;AAEA,iEAAe,oBAAoB,EAAC;;;;;;;;;;;;;;;;ACzDpC;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;;AAEA;AACA;AACA,CAAC;;AAED,iEAAe,cAAc,EAAC;;;;;;;;;;;;;;;;ACtEjB;;AAEE;AACf;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACNa;;AAEmB;AACsC;;AAEtE;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,IAAI;AACJ,uBAAuB,iDAAK;AAC5B;AACA,UAAU,wEAAoB;AAC9B;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;AC9Da;;AAEb;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACdkC;AACU;;AAE5C,iEAAe,0DAAQ;;AAEvB;AACA;AACA;AACA;;AAEA,MAAM,iDAAK;;AAEX,MAAM,iDAAK;;AAEX,MAAM,iDAAK;;AAEX;;AAEA,uCAAuC;AACvC,KAAK;;AAEL;AACA,0DAA0D,wBAAwB;AAClF;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA,KAAK;AACL;AACA,GAAG,EAAC;;;;;;;;;;;;;;;;;;ACxCS;;AAEmB;;AAEhC;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,iDAAK;AACd;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,4BAA4B;AACzC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,oBAAoB,iDAAK;;AAEzB;AACA,UAAU,iDAAK;AACf;AACA,QAAQ;AACR;AACA;;AAEA;AACA;;AAEA,0BAA0B,iDAAK;AAC/B;AACA;;AAEA;;AAEA,kBAAkB,iDAAK;AACvB;AACA;;AAEA;AACA;;AAEA,MAAM,iDAAK,yBAAyB,iDAAK;AACzC;;AAEA,IAAI,iDAAK;AACT;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA,iEAAe,cAAc,EAAC;;;;;;;;;;;;;;;;AC9FjB;;AAEb;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACe;AACf;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACda;;AAEqB;;AAElC;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACe;AACf,SAAS,iDAAK;AACd;;;;;;;;;;;;;;;;;;ACba;;AAEqB;AACU;;AAE5C,iEAAe,0DAAQ;;AAEvB;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,sBAAsB,iDAAK;AAC3B;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAG,GAAG,EAAC;;;;;;;;;;;;;;;;AClEP;AACA,iEAAe,IAAI,EAAC;;;;;;;;;;;;;;;;;ACDP;;AAEqB;;AAElC;AACA;AACA,0BAA0B,iDAAK;AAC/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA,iEAAe;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,MAAM;AACN;AACA;AACA,GAAG;;AAEH;AACA,CAAC,EAAC;;;;;;;;;;;;;;;;ACtDW;;AAEE;AACf,0BAA0B,KAAK;AAC/B;AACA;;;;;;;;;;;;;;;;ACLa;;AAEb;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;A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A;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;;AAGA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,UAAU;AACrB;AACA,WAAW,SAAS;AACpB,aAAa;AACb;AACA,2BAA2B,oBAAoB,IAAI;AACnD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS;AAC5C,4BAA4B;AAC5B;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA,SAAS,UAAU;AACnB;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,kCAAkC;AAClC,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;;AAEA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA,gCAAgC,WAAW,IAAI;AAC/C;AACA;AACA,eAAe,4DAAI;AACnB,MAAM;AACN;AACA;AACA,GAAG,GAAG,WAAW;AACjB;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,kBAAkB;AAC7B,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,WAAW,kBAAkB;AAC7B,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B,eAAe;;AAEzC;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS,QAAQ;AACjB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA,iEAAe;AACf;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,EAAC;;;;;;;UCltBF;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;;;;;;;ACNwC;AACY;AACP;AAEL;AACxC,iEAAe;EAAE9B,MAAM,EAANA,yDAAM;EAAEgL,YAAY,EAAZA,+DAAY;EAAEU,MAAM,EAANA,8CAAMA;AAAC,CAAC,E","sources":["webpack://Typesense/./src/Typesense/Alias.ts","webpack://Typesense/./src/Typesense/Aliases.ts","webpack://Typesense/./src/Typesense/Analytics.ts","webpack://Typesense/./src/Typesense/AnalyticsEvents.ts","webpack://Typesense/./src/Typesense/AnalyticsRule.ts","webpack://Typesense/./src/Typesense/AnalyticsRules.ts","webpack://Typesense/./src/Typesense/ApiCall.ts","webpack://Typesense/./src/Typesense/Client.ts","webpack://Typesense/./src/Typesense/Collection.ts","webpack://Typesense/./src/Typesense/Collections.ts","webpack://Typesense/./src/Typesense/Configuration.ts","webpack://Typesense/./src/Typesense/Conversation.ts","webpack://Typesense/./src/Typesense/ConversationModel.ts","webpack://Typesense/./src/Typesense/ConversationModels.ts","webpack://Typesense/./src/Typesense/Conversations.ts","webpack://Typesense/./src/Typesense/Debug.ts","webpack://Typesense/./src/Typesense/Document.ts","webpack://Typesense/./src/Typesense/Documents.ts","webpack://Typesense/./src/Typesense/Errors/HTTPError.ts","webpack://Typesense/./src/Typesense/Errors/ImportError.ts","webpack://Typesense/./src/Typesense/Errors/MissingConfigurationError.ts","webpack://Typesense/./src/Typesense/Errors/ObjectAlreadyExists.ts","webpack://Typesense/./src/Typesense/Errors/ObjectNotFound.ts","webpack://Typesense/./src/Typesense/Errors/ObjectUnprocessable.ts","webpack://Typesense/./src/Typesense/Errors/RequestMalformed.ts","webpack://Typesense/./src/Typesense/Errors/RequestUnauthorized.ts","webpack://Typesense/./src/Typesense/Errors/ServerError.ts","webpack://Typesense/./src/Typesense/Errors/TypesenseError.ts","webpack://Typesense/./src/Typesense/Errors/index.ts","webpack://Typesense/./src/Typesense/Health.ts","webpack://Typesense/./src/Typesense/Key.ts","webpack://Typesense/./src/Typesense/Keys.ts","webpack://Typesense/./src/Typesense/Metrics.ts","webpack://Typesense/./src/Typesense/MultiSearch.ts","webpack://Typesense/./src/Typesense/Operations.ts","webpack://Typesense/./src/Typesense/Override.ts","webpack://Typesense/./src/Typesense/Overrides.ts","webpack://Typesense/./src/Typesense/Preset.ts","webpack://Typesense/./src/Typesense/Presets.ts","webpack://Typesense/./src/Typesense/RequestWithCache.ts","webpack://Typesense/./src/Typesense/SearchClient.ts","webpack://Typesense/./src/Typesense/SearchOnlyCollection.ts","webpack://Typesense/./src/Typesense/SearchOnlyDocuments.ts","webpack://Typesense/./src/Typesense/Stats.ts","webpack://Typesense/./src/Typesense/Stopword.ts","webpack://Typesense/./src/Typesense/Stopwords.ts","webpack://Typesense/./src/Typesense/Synonym.ts","webpack://Typesense/./src/Typesense/Synonyms.ts","webpack://Typesense/./node_modules/loglevel/lib/loglevel.js","webpack://Typesense/ignored|/Users/lewis/PHP/typesense-js/src/Typesense|crypto","webpack://Typesense/ignored|/Users/lewis/PHP/typesense-js/src/Typesense|http","webpack://Typesense/ignored|/Users/lewis/PHP/typesense-js/src/Typesense|https","webpack://Typesense/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/regenerator/index.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://Typesense/./node_modules/axios/lib/adapters/adapters.js","webpack://Typesense/./node_modules/axios/lib/adapters/xhr.js","webpack://Typesense/./node_modules/axios/lib/axios.js","webpack://Typesense/./node_modules/axios/lib/cancel/CancelToken.js","webpack://Typesense/./node_modules/axios/lib/cancel/CanceledError.js","webpack://Typesense/./node_modules/axios/lib/cancel/isCancel.js","webpack://Typesense/./node_modules/axios/lib/core/Axios.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosError.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://Typesense/./node_modules/axios/lib/core/InterceptorManager.js","webpack://Typesense/./node_modules/axios/lib/core/buildFullPath.js","webpack://Typesense/./node_modules/axios/lib/core/dispatchRequest.js","webpack://Typesense/./node_modules/axios/lib/core/mergeConfig.js","webpack://Typesense/./node_modules/axios/lib/core/settle.js","webpack://Typesense/./node_modules/axios/lib/core/transformData.js","webpack://Typesense/./node_modules/axios/lib/defaults/index.js","webpack://Typesense/./node_modules/axios/lib/defaults/transitional.js","webpack://Typesense/./node_modules/axios/lib/env/data.js","webpack://Typesense/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://Typesense/./node_modules/axios/lib/helpers/bind.js","webpack://Typesense/./node_modules/axios/lib/helpers/buildURL.js","webpack://Typesense/./node_modules/axios/lib/helpers/combineURLs.js","webpack://Typesense/./node_modules/axios/lib/helpers/cookies.js","webpack://Typesense/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://Typesense/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://Typesense/./node_modules/axios/lib/helpers/null.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://Typesense/./node_modules/axios/lib/helpers/speedometer.js","webpack://Typesense/./node_modules/axios/lib/helpers/spread.js","webpack://Typesense/./node_modules/axios/lib/helpers/toFormData.js","webpack://Typesense/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://Typesense/./node_modules/axios/lib/helpers/validator.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/index.js","webpack://Typesense/./node_modules/axios/lib/platform/common/utils.js","webpack://Typesense/./node_modules/axios/lib/platform/index.js","webpack://Typesense/./node_modules/axios/lib/utils.js","webpack://Typesense/webpack/bootstrap","webpack://Typesense/webpack/runtime/compat get default export","webpack://Typesense/webpack/runtime/define property getters","webpack://Typesense/webpack/runtime/hasOwnProperty shorthand","webpack://Typesense/webpack/runtime/make namespace object","webpack://Typesense/./src/Typesense.ts"],"sourcesContent":["import Aliases, { CollectionAliasSchema } from \"./Aliases\";\nimport ApiCall from \"./ApiCall\";\n\nexport default class Alias {\n constructor(private name: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/aliases\";\n\nexport interface CollectionAliasCreateSchema {\n collection_name: string;\n}\n\nexport interface CollectionAliasSchema extends CollectionAliasCreateSchema {\n name: string;\n}\n\nexport interface CollectionAliasesResponseSchema {\n aliases: CollectionAliasSchema[];\n}\n\nexport default class Aliases {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n name: string,\n mapping: CollectionAliasCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(name),\n mapping\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n private endpointPath(aliasName): string {\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(aliasName)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\nimport AnalyticsRule from \"./AnalyticsRule\";\nimport AnalyticsEvents from \"./AnalyticsEvents\";\n\nconst RESOURCEPATH = \"/analytics\";\n\nexport default class Analytics {\n private readonly _analyticsRules: AnalyticsRules;\n private readonly individualAnalyticsRules: Record = {};\n private readonly _analyticsEvents: AnalyticsEvents;\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._analyticsRules = new AnalyticsRules(this.apiCall);\n this._analyticsEvents = new AnalyticsEvents(this.apiCall);\n }\n\n rules(id?: string): AnalyticsRules | AnalyticsRule {\n if (id === undefined) {\n return this._analyticsRules;\n } else {\n if (this.individualAnalyticsRules[id] === undefined) {\n this.individualAnalyticsRules[id] = new AnalyticsRule(id, this.apiCall);\n }\n return this.individualAnalyticsRules[id];\n }\n }\n\n events(): AnalyticsEvents {\n return this._analyticsEvents;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { AnalyticsEventCreateSchema } from \"./AnalyticsEvent\";\n\nconst RESOURCEPATH = \"/analytics/events\";\n\nexport default class AnalyticsEvents {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: AnalyticsEventCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsEvents.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\n\nexport interface AnalyticsRuleCreateSchema {\n type: \"popular_queries\" | \"nohits_queries\" | \"counter\";\n params: {\n source: {\n collections: string[];\n events?: Array<{\n type: string;\n weight: number;\n name: string;\n }>;\n };\n expand_query?: boolean;\n destination: {\n collection: string;\n counter_field?: string;\n };\n limit?: number;\n };\n}\n\nexport interface AnalyticsRuleDeleteSchema {\n name: string;\n}\n\nexport interface AnalyticsRuleSchema extends AnalyticsRuleCreateSchema {\n name: string;\n}\n\nexport default class AnalyticsRule {\n constructor(\n private name: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${AnalyticsRules.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n AnalyticsRuleCreateSchema,\n AnalyticsRuleSchema,\n} from \"./AnalyticsRule\";\n\nexport interface AnalyticsRulesRetrieveSchema {\n rules: AnalyticsRuleSchema[];\n}\n\nconst RESOURCEPATH = \"/analytics/rules\";\n\nexport default class AnalyticsRules {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async upsert(\n name: string,\n params: AnalyticsRuleCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(name),\n params\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsRules.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import axios, { AxiosRequestConfig, AxiosResponse, Method } from \"axios\";\nimport { Logger } from \"loglevel\";\nimport {\n HTTPError,\n ObjectAlreadyExists,\n ObjectNotFound,\n ObjectUnprocessable,\n RequestMalformed,\n RequestUnauthorized,\n ServerError,\n} from \"./Errors\";\nimport TypesenseError from \"./Errors/TypesenseError\";\nimport Configuration, { NodeConfiguration } from \"./Configuration\";\nimport { Agent as HTTPAgent } from \"http\";\nimport { Agent as HTTPSAgent } from \"https\";\n\nconst APIKEYHEADERNAME = \"X-TYPESENSE-API-KEY\";\nconst HEALTHY = true;\nconst UNHEALTHY = false;\n\ninterface Node extends NodeConfiguration {\n isHealthy: boolean;\n index: string | number;\n}\n\nexport default class ApiCall {\n private readonly apiKey: string;\n private readonly nodes: Node[];\n private readonly nearestNode: Node;\n private readonly connectionTimeoutSeconds: number;\n private readonly healthcheckIntervalSeconds: number;\n private readonly retryIntervalSeconds: number;\n private readonly sendApiKeyAsQueryParam?: boolean;\n private readonly numRetriesPerRequest: number;\n private readonly additionalUserHeaders?: Record;\n\n private readonly logger: Logger;\n private currentNodeIndex: number;\n\n constructor(private 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\n this.logger = this.configuration.logger;\n\n this.initializeMetadataForNodes();\n this.currentNodeIndex = -1;\n }\n\n async get(\n endpoint: string,\n queryParameters: any = {},\n {\n abortSignal = null,\n responseType = undefined,\n }: {\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n } = {},\n ): Promise {\n return this.performRequest(\"get\", endpoint, {\n queryParameters,\n abortSignal,\n responseType,\n });\n }\n\n async delete(endpoint: string, queryParameters: any = {}): Promise {\n return this.performRequest(\"delete\", endpoint, { queryParameters });\n }\n\n async post(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n additionalHeaders: any = {},\n ): Promise {\n return this.performRequest(\"post\", endpoint, {\n queryParameters,\n bodyParameters,\n additionalHeaders,\n });\n }\n\n async put(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"put\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async patch(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"patch\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async performRequest(\n requestType: Method,\n endpoint: string,\n {\n queryParameters = null,\n bodyParameters = null,\n additionalHeaders = {},\n abortSignal = null,\n responseType = undefined,\n skipConnectionTimeout = false,\n enableKeepAlive = undefined,\n }: {\n queryParameters?: any;\n bodyParameters?: any;\n additionalHeaders?: any;\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n skipConnectionTimeout?: boolean;\n enableKeepAlive?: boolean | undefined;\n },\n ): Promise {\n this.configuration.validate();\n\n const requestNumber = Date.now();\n let lastException;\n this.logger.debug(\n `Request #${requestNumber}: Performing ${requestType.toUpperCase()} request: ${endpoint}`,\n );\n for (\n let numTries = 1;\n numTries <= this.numRetriesPerRequest + 1;\n numTries++\n ) {\n const node = this.getNextNode(requestNumber);\n this.logger.debug(\n `Request #${requestNumber}: Attempting ${requestType.toUpperCase()} request Try #${numTries} to Node ${\n node.index\n }`,\n );\n\n if (abortSignal && abortSignal.aborted) {\n return Promise.reject(new Error(\"Request aborted by caller.\"));\n }\n\n let abortListener;\n\n try {\n const requestOptions: AxiosRequestConfig = {\n method: requestType,\n url: this.uriFor(endpoint, node),\n headers: Object.assign(\n {},\n this.defaultHeaders(),\n additionalHeaders,\n this.additionalUserHeaders,\n ),\n maxContentLength: Infinity,\n maxBodyLength: Infinity,\n responseType,\n validateStatus: (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 (data, headers) => {\n let transformedData = data;\n if (\n headers !== undefined &&\n typeof data === \"string\" &&\n headers[\"content-type\"] &&\n headers[\"content-type\"].startsWith(\"application/json\")\n ) {\n transformedData = JSON.parse(data);\n }\n return transformedData;\n },\n ],\n };\n\n if (skipConnectionTimeout !== true) {\n requestOptions.timeout = this.connectionTimeoutSeconds * 1000;\n }\n\n if (queryParameters && Object.keys(queryParameters).length !== 0) {\n requestOptions.params = queryParameters;\n }\n\n if (this.sendApiKeyAsQueryParam) {\n requestOptions.params = requestOptions.params || {};\n requestOptions.params[\"x-typesense-api-key\"] = this.apiKey;\n }\n\n if (this.configuration.httpAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpAgent`,\n );\n requestOptions.httpAgent = this.configuration.httpAgent;\n } else if (enableKeepAlive === true) {\n this.logger.debug(`Request #${requestNumber}: Enabling KeepAlive`);\n requestOptions.httpAgent = new HTTPAgent({ keepAlive: true });\n }\n\n if (this.configuration.httpsAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpsAgent`,\n );\n requestOptions.httpsAgent = this.configuration.httpsAgent;\n } else if (enableKeepAlive === true) {\n this.logger.debug(`Request #${requestNumber}: Enabling keepAlive`);\n requestOptions.httpsAgent = new HTTPSAgent({ keepAlive: true });\n }\n\n if (this.configuration.paramsSerializer) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom paramsSerializer`,\n );\n requestOptions.paramsSerializer = this.configuration.paramsSerializer;\n }\n\n if (\n bodyParameters &&\n ((typeof bodyParameters === \"string\" &&\n bodyParameters.length !== 0) ||\n (typeof bodyParameters === \"object\" &&\n Object.keys(bodyParameters).length !== 0))\n ) {\n requestOptions.data = bodyParameters;\n }\n\n // Translate from user-provided AbortController to the Axios request cancel mechanism.\n if (abortSignal) {\n const cancelToken = axios.CancelToken;\n const source = cancelToken.source();\n abortListener = () => source.cancel();\n abortSignal.addEventListener(\"abort\", abortListener);\n requestOptions.cancelToken = source.token;\n }\n\n const response = await axios(requestOptions);\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.setNodeHealthcheck(node, HEALTHY);\n }\n this.logger.debug(\n `Request #${requestNumber}: Request to Node ${node.index} was made. Response Code was ${response.status}.`,\n );\n\n if (response.status >= 200 && response.status < 300) {\n // If response is 2xx return a resolved promise\n return Promise.resolve(response.data);\n } else if (response.status < 500) {\n // Next, if response is anything but 5xx, don't retry, return a custom error\n return Promise.reject(\n this.customErrorForResponse(response, response.data?.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.customErrorForResponse(response, response.data?.message);\n }\n } catch (error: any) {\n // This block handles retries for HTTPStatus > 500 and network layer issues like connection timeouts\n this.setNodeHealthcheck(node, UNHEALTHY);\n lastException = error;\n this.logger.warn(\n `Request #${requestNumber}: Request to Node ${\n node.index\n } failed due to \"${error.code} ${error.message}${\n error.response == null\n ? \"\"\n : \" - \" + JSON.stringify(error.response?.data)\n }\"`,\n );\n // this.logger.debug(error.stack)\n this.logger.warn(\n `Request #${requestNumber}: Sleeping for ${this.retryIntervalSeconds}s and then retrying request...`,\n );\n await this.timer(this.retryIntervalSeconds);\n } finally {\n if (abortSignal && abortListener) {\n abortSignal.removeEventListener(\"abort\", abortListener);\n }\n }\n }\n this.logger.debug(\n `Request #${requestNumber}: No retries left. Raising last error`,\n );\n return Promise.reject(lastException);\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 getNextNode(requestNumber = 0): Node {\n // Check if nearestNode is set and is healthy, if so return it\n if (this.nearestNode != null) {\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: Node ${\n this.nearestNode.index\n } is ${this.nearestNode.isHealthy === true ? \"Healthy\" : \"Unhealthy\"}`,\n );\n if (\n this.nearestNode.isHealthy === true ||\n this.nodeDueForHealthcheck(this.nearestNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${this.nearestNode.index}`,\n );\n return this.nearestNode;\n }\n this.logger.debug(\n `Request #${requestNumber}: Falling back to individual nodes`,\n );\n }\n\n // Fallback to nodes as usual\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: ${this.nodes\n .map(\n (node) =>\n `Node ${node.index} is ${\n node.isHealthy === true ? \"Healthy\" : \"Unhealthy\"\n }`,\n )\n .join(\" || \")}`,\n );\n let candidateNode: Node = this.nodes[0];\n for (let i = 0; i <= this.nodes.length; i++) {\n this.currentNodeIndex = (this.currentNodeIndex + 1) % this.nodes.length;\n candidateNode = this.nodes[this.currentNodeIndex];\n if (\n candidateNode.isHealthy === true ||\n this.nodeDueForHealthcheck(candidateNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\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(\n `Request #${requestNumber}: No healthy nodes were found. Returning the next node, Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\n\n nodeDueForHealthcheck(node, requestNumber = 0): boolean {\n const isDueForHealthcheck =\n Date.now() - node.lastAccessTimestamp >\n this.healthcheckIntervalSeconds * 1000;\n if (isDueForHealthcheck) {\n this.logger.debug(\n `Request #${requestNumber}: Node ${node.index} has exceeded healtcheckIntervalSeconds of ${this.healthcheckIntervalSeconds}. Adding it back into rotation.`,\n );\n }\n return isDueForHealthcheck;\n }\n\n initializeMetadataForNodes(): void {\n if (this.nearestNode != null) {\n this.nearestNode.index = \"nearestNode\";\n this.setNodeHealthcheck(this.nearestNode, HEALTHY);\n }\n\n this.nodes.forEach((node, i) => {\n node.index = i;\n this.setNodeHealthcheck(node, HEALTHY);\n });\n }\n\n setNodeHealthcheck(node, isHealthy): void {\n node.isHealthy = isHealthy;\n node.lastAccessTimestamp = Date.now();\n }\n\n uriFor(endpoint: string, node): string {\n if (node.url != null) {\n return `${node.url}${endpoint}`;\n }\n return `${node.protocol}://${node.host}:${node.port}${node.path}${endpoint}`;\n }\n\n defaultHeaders(): any {\n const defaultHeaders = {};\n if (!this.sendApiKeyAsQueryParam) {\n defaultHeaders[APIKEYHEADERNAME] = this.apiKey;\n }\n defaultHeaders[\"Content-Type\"] = \"application/json\";\n return defaultHeaders;\n }\n\n async timer(seconds): Promise {\n return new Promise((resolve) => setTimeout(resolve, seconds * 1000));\n }\n\n customErrorForResponse(\n response: AxiosResponse,\n messageFromServer: string,\n ): TypesenseError {\n let errorMessage = `Request failed with HTTP code ${response.status}`;\n if (\n typeof messageFromServer === \"string\" &&\n messageFromServer.trim() !== \"\"\n ) {\n errorMessage += ` | Server said: ${messageFromServer}`;\n }\n\n let error = new TypesenseError(errorMessage);\n\n if (response.status === 400) {\n error = new RequestMalformed(errorMessage);\n } else if (response.status === 401) {\n error = new RequestUnauthorized(errorMessage);\n } else if (response.status === 404) {\n error = new ObjectNotFound(errorMessage);\n } else if (response.status === 409) {\n error = new ObjectAlreadyExists(errorMessage);\n } else if (response.status === 422) {\n error = new ObjectUnprocessable(errorMessage);\n } else if (response.status >= 500 && response.status <= 599) {\n error = new ServerError(errorMessage);\n } else {\n error = new HTTPError(errorMessage);\n }\n\n error.httpStatus = response.status;\n\n return error;\n }\n}\n","/* eslint-disable no-dupe-class-members */\n\nimport Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Collection from \"./Collection\";\nimport Aliases from \"./Aliases\";\nimport Alias from \"./Alias\";\nimport Keys from \"./Keys\";\nimport Key from \"./Key\";\nimport Debug from \"./Debug\";\nimport Metrics from \"./Metrics\";\nimport Stats from \"./Stats\";\nimport Health from \"./Health\";\nimport Operations from \"./Operations\";\nimport MultiSearch from \"./MultiSearch\";\nimport Presets from \"./Presets\";\nimport Preset from \"./Preset\";\nimport Analytics from \"./Analytics\";\nimport Stopwords from \"./Stopwords\";\nimport Stopword from \"./Stopword\";\nimport Conversations from \"./Conversations\";\nimport Conversation from \"./Conversation\";\n\nexport default class Client {\n configuration: Configuration;\n apiCall: ApiCall;\n debug: Debug;\n metrics: Metrics;\n stats: Stats;\n health: Health;\n operations: Operations;\n multiSearch: MultiSearch;\n analytics: Analytics;\n private readonly _collections: Collections;\n private readonly individualCollections: Record;\n private readonly _aliases: Aliases;\n private readonly individualAliases: Record;\n private readonly _keys: Keys;\n private readonly individualKeys: Record;\n private readonly _presets: Presets;\n private readonly individualPresets: Record;\n private readonly _stopwords: Stopwords;\n private readonly individualStopwords: Record;\n private readonly _conversations: Conversations;\n private readonly individualConversations: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? false;\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.debug = new Debug(this.apiCall);\n this.metrics = new Metrics(this.apiCall);\n this.stats = new Stats(this.apiCall);\n this.health = new Health(this.apiCall);\n this.operations = new Operations(this.apiCall);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration);\n this._collections = new Collections(this.apiCall);\n this.individualCollections = {};\n this._aliases = new Aliases(this.apiCall);\n this.individualAliases = {};\n this._keys = new Keys(this.apiCall);\n this.individualKeys = {};\n this._presets = new Presets(this.apiCall);\n this.individualPresets = {};\n this._stopwords = new Stopwords(this.apiCall);\n this.individualStopwords = {};\n this.analytics = new Analytics(this.apiCall);\n this._conversations = new Conversations(this.apiCall);\n this.individualConversations = {};\n }\n\n collections(): Collections;\n collections = object>(\n collectionName: string,\n ): Collection;\n collections(collectionName?: string): Collections | Collection {\n if (collectionName === undefined) {\n return this._collections;\n } else {\n if (this.individualCollections[collectionName] === undefined) {\n this.individualCollections[collectionName] = new Collection(\n collectionName,\n this.apiCall,\n this.configuration,\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n\n aliases(): Aliases;\n aliases(aliasName: string): Alias;\n aliases(aliasName?: string): Aliases | Alias {\n if (aliasName === undefined) {\n return this._aliases;\n } else {\n if (this.individualAliases[aliasName] === undefined) {\n this.individualAliases[aliasName] = new Alias(aliasName, this.apiCall);\n }\n return this.individualAliases[aliasName];\n }\n }\n\n keys(): Keys;\n keys(id: number): Key;\n keys(id?: number): Keys | Key {\n if (id === undefined) {\n return this._keys;\n } else {\n if (this.individualKeys[id] === undefined) {\n this.individualKeys[id] = new Key(id, this.apiCall);\n }\n return this.individualKeys[id];\n }\n }\n\n presets(): Presets;\n presets(id: string): Preset;\n presets(id?: string): Presets | Preset {\n if (id === undefined) {\n return this._presets;\n } else {\n if (this.individualPresets[id] === undefined) {\n this.individualPresets[id] = new Preset(id, this.apiCall);\n }\n return this.individualPresets[id];\n }\n }\n\n stopwords(): Stopwords;\n stopwords(id: string): Stopword;\n stopwords(id?: string): Stopwords | Stopword {\n if (id === undefined) {\n return this._stopwords;\n } else {\n if (this.individualStopwords[id] === undefined) {\n this.individualStopwords[id] = new Stopword(id, this.apiCall);\n }\n return this.individualStopwords[id];\n }\n }\n\n conversations(): Conversations;\n conversations(id: string): Conversation;\n conversations(id?: string): Conversations | Conversation {\n if (id === undefined) {\n return this._conversations;\n } else {\n if (this.individualConversations[id] === undefined) {\n this.individualConversations[id] = new Conversation(id, this.apiCall);\n }\n return this.individualConversations[id];\n }\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections, { CollectionCreateSchema } from \"./Collections\";\nimport Documents, { DocumentSchema } from \"./Documents\";\nimport { ObjectNotFound } from \"./Errors\";\nimport Overrides from \"./Overrides\";\nimport Override from \"./Override\";\nimport Synonyms from \"./Synonyms\";\nimport Synonym from \"./Synonym\";\nimport { Document } from \"./Document\";\n\nexport type FieldType =\n | \"string\"\n | \"int32\"\n | \"int64\"\n | \"float\"\n | \"bool\"\n | \"geopoint\"\n | \"geopoint[]\"\n | \"string[]\"\n | \"int32[]\"\n | \"int64[]\"\n | \"float[]\"\n | \"bool[]\"\n | \"object\"\n | \"object[]\"\n | \"auto\"\n | \"string*\"\n | \"image\";\n\nexport interface CollectionFieldSchema {\n name: string;\n type: FieldType;\n optional?: boolean;\n facet?: boolean;\n index?: boolean;\n sort?: boolean;\n locale?: string;\n infix?: boolean;\n stem?: boolean;\n num_dim?: number;\n store?: boolean;\n [t: string]: unknown;\n}\n\nexport interface CollectionSchema extends CollectionCreateSchema {\n created_at: number;\n num_documents: number;\n num_memory_shards: number;\n}\n\nexport interface CollectionDropFieldSchema {\n name: string;\n drop: true;\n}\n\nexport interface CollectionUpdateSchema\n extends Partial> {\n fields?: (CollectionFieldSchema | CollectionDropFieldSchema)[];\n}\n\nexport default class Collection {\n private readonly _documents: Documents;\n private individualDocuments: Record> = {};\n private readonly _overrides: Overrides;\n private individualOverrides: Record = {};\n private readonly _synonyms: Synonyms;\n private individualSynonyms: Record = {};\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any,\n ) {\n this.name = name;\n this.apiCall = apiCall;\n this.configuration = configuration;\n\n this._documents = new Documents(\n this.name,\n this.apiCall,\n this.configuration,\n );\n this._overrides = new Overrides(this.name, this.apiCall);\n this._synonyms = new Synonyms(this.name, this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(schema: CollectionUpdateSchema): Promise {\n return this.apiCall.patch(this.endpointPath(), schema);\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n async exists(): Promise {\n try {\n await this.retrieve();\n return true;\n } catch (e) {\n if (e instanceof ObjectNotFound) return false;\n throw e;\n }\n }\n\n documents(): Documents;\n documents(documentId: string): Document;\n documents(documentId?: string): Document | Documents {\n if (!documentId) {\n return this._documents;\n } else {\n if (this.individualDocuments[documentId] === undefined) {\n this.individualDocuments[documentId] = new Document(\n this.name,\n documentId,\n this.apiCall,\n );\n }\n return this.individualDocuments[documentId];\n }\n }\n\n overrides(): Overrides;\n overrides(overrideId: string): Override;\n overrides(overrideId?: string): Overrides | Override {\n if (overrideId === undefined) {\n return this._overrides;\n } else {\n if (this.individualOverrides[overrideId] === undefined) {\n this.individualOverrides[overrideId] = new Override(\n this.name,\n overrideId,\n this.apiCall,\n );\n }\n return this.individualOverrides[overrideId];\n }\n }\n\n synonyms(): Synonyms;\n synonyms(synonymId: string): Synonym;\n synonyms(synonymId?: string): Synonyms | Synonym {\n if (synonymId === undefined) {\n return this._synonyms;\n } else {\n if (this.individualSynonyms[synonymId] === undefined) {\n this.individualSynonyms[synonymId] = new Synonym(\n this.name,\n synonymId,\n this.apiCall,\n );\n }\n return this.individualSynonyms[synonymId];\n }\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { CollectionFieldSchema, CollectionSchema } from \"./Collection\";\n\nexport interface CollectionCreateSchema {\n name: string;\n default_sorting_field?: string;\n fields?: CollectionFieldSchema[];\n symbols_to_index?: string[];\n token_separators?: string[];\n enable_nested_fields?: boolean;\n metadata?: object;\n voice_query_model?: {\n model_name?: string;\n };\n}\n\nexport interface CollectionCreateOptions {\n src_name?: string;\n}\n\nconst RESOURCEPATH = \"/collections\";\n\nexport default class Collections {\n constructor(private apiCall: ApiCall) {}\n\n async create(\n schema: CollectionCreateSchema,\n options: CollectionCreateOptions = {},\n ): Promise {\n return this.apiCall.post(RESOURCEPATH, schema, options);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import * as logger from \"loglevel\";\nimport { Logger, LogLevelDesc } from \"loglevel\";\nimport { MissingConfigurationError } from \"./Errors\";\nimport type { Agent as HTTPAgent } from \"http\";\nimport type { Agent as HTTPSAgent } from \"https\";\n\nexport interface NodeConfiguration {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n url?: string;\n}\n\nexport interface NodeConfigurationWithHostname {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n}\n\nexport interface NodeConfigurationWithUrl {\n url: string;\n}\n\nexport interface ConfigurationOptions {\n apiKey: string;\n nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n randomizeNodes?: boolean;\n /**\n * @deprecated\n * masterNode is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n masterNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n /**\n * @deprecated\n * readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n readReplicaNodes?:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n connectionTimeoutSeconds?: number;\n timeoutSeconds?: number;\n healthcheckIntervalSeconds?: number;\n numRetries?: number;\n retryIntervalSeconds?: number;\n sendApiKeyAsQueryParam?: boolean | undefined;\n useServerSideSearchCache?: boolean;\n cacheSearchResultsForSeconds?: number;\n additionalHeaders?: Record;\n\n logLevel?: LogLevelDesc;\n logger?: Logger;\n\n /**\n * Set a custom HTTP Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPAgent } = require(\"http\");\n * ...\n * httpAgent: new HTTPAgent({ keepAlive: true }),\n * @type {HTTPAgent}\n */\n httpAgent?: HTTPAgent;\n\n /**\n * Set a custom HTTPS Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPSAgent } = require(\"https\");\n * ...\n * httpsAgent: new HTTPSAgent({ keepAlive: true }),\n * @type {HTTPSAgent}\n */\n httpsAgent?: HTTPSAgent;\n\n /**\n * Set a custom paramsSerializer\n *\n * See axios documentation for more information on how to use this parameter: https://axios-http.com/docs/req_config\n * This is helpful for handling React Native issues like this: https://github.com/axios/axios/issues/6102#issuecomment-2085301397\n * @type {any}\n */\n paramsSerializer?: any;\n}\n\nexport default class Configuration {\n readonly nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n readonly nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n readonly connectionTimeoutSeconds: number;\n readonly healthcheckIntervalSeconds: number;\n readonly numRetries: number;\n readonly retryIntervalSeconds: number;\n readonly apiKey: string;\n readonly sendApiKeyAsQueryParam?: boolean;\n readonly cacheSearchResultsForSeconds: number;\n readonly useServerSideSearchCache: boolean;\n readonly logger: Logger;\n readonly logLevel: LogLevelDesc;\n readonly additionalHeaders?: Record;\n readonly httpAgent?: HTTPAgent;\n readonly httpsAgent?: HTTPSAgent;\n readonly paramsSerializer?: any;\n\n constructor(options: ConfigurationOptions) {\n this.nodes = options.nodes || [];\n this.nodes = this.nodes\n .map((node) => this.setDefaultPathInNode(node))\n .map((node) => this.setDefaultPortInNode(node))\n .map((node) => ({ ...node })) as NodeConfiguration[]; // Make a deep copy\n\n if (options.randomizeNodes == null) {\n options.randomizeNodes = true;\n }\n\n if (options.randomizeNodes === true) {\n this.shuffleArray(this.nodes);\n }\n\n this.nearestNode = options.nearestNode;\n this.nearestNode = this.setDefaultPathInNode(this.nearestNode);\n this.nearestNode = this.setDefaultPortInNode(this.nearestNode);\n\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\n this.apiKey = options.apiKey;\n this.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam; // We will set a default for this in Client and SearchClient\n\n this.cacheSearchResultsForSeconds =\n options.cacheSearchResultsForSeconds || 0; // Disable client-side cache by default\n this.useServerSideSearchCache = options.useServerSideSearchCache || false;\n\n this.logger = options.logger || logger;\n this.logLevel = options.logLevel || \"warn\";\n this.logger.setLevel(this.logLevel);\n\n this.additionalHeaders = options.additionalHeaders;\n\n this.httpAgent = options.httpAgent;\n this.httpsAgent = options.httpsAgent;\n\n this.paramsSerializer = options.paramsSerializer;\n\n this.showDeprecationWarnings(options);\n this.validate();\n }\n\n validate(): boolean {\n if (this.nodes == null || this.nodes.length === 0 || this.validateNodes()) {\n throw new MissingConfigurationError(\n \"Ensure that nodes[].protocol, nodes[].host and nodes[].port are set\",\n );\n }\n\n if (\n this.nearestNode != null &&\n this.isNodeMissingAnyParameters(this.nearestNode)\n ) {\n throw new MissingConfigurationError(\n \"Ensure that nearestNodes.protocol, nearestNodes.host and nearestNodes.port are set\",\n );\n }\n\n if (this.apiKey == null) {\n throw new MissingConfigurationError(\"Ensure that apiKey is set\");\n }\n\n return true;\n }\n\n private validateNodes(): boolean {\n return this.nodes.some((node) => {\n return this.isNodeMissingAnyParameters(node);\n });\n }\n\n private isNodeMissingAnyParameters(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl,\n ): boolean {\n return (\n ![\"protocol\", \"host\", \"port\", \"path\"].every((key) => {\n return node.hasOwnProperty(key);\n }) && node[\"url\"] == null\n );\n }\n\n private setDefaultPathInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (node != null && !node.hasOwnProperty(\"path\")) {\n node[\"path\"] = \"\";\n }\n return node;\n }\n\n private setDefaultPortInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (\n node != null &&\n !node.hasOwnProperty(\"port\") &&\n node.hasOwnProperty(\"protocol\")\n ) {\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\n private showDeprecationWarnings(options: ConfigurationOptions): void {\n if (options.timeoutSeconds) {\n this.logger.warn(\n \"Deprecation warning: timeoutSeconds is now renamed to connectionTimeoutSeconds\",\n );\n }\n if (options.masterNode) {\n this.logger.warn(\n \"Deprecation warning: masterNode is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n if (options.readReplicaNodes) {\n this.logger.warn(\n \"Deprecation warning: readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n }\n\n private shuffleArray(array) {\n for (let i = array.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [array[i], array[j]] = [array[j], array[i]];\n }\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Conversations from \"./Conversations\";\n\nexport interface ConversationDeleteSchema {\n id: number;\n}\n\nexport interface ConversationUpdateSchema {\n ttl: number;\n}\n\nexport interface ConversationSchema {\n id: number;\n conversation: object[];\n last_updated: number;\n ttl: number;\n}\n\nexport default class Conversation {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(\n params: ConversationUpdateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Conversations.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\n\nexport interface ConversationModelCreateSchema {\n model_name: string;\n api_key: string;\n system_prompt?: string;\n max_bytes: number;\n}\n\nexport interface ConversationModelDeleteSchema {\n id: string;\n}\n\nexport interface ConversationModelSchema extends ConversationModelCreateSchema {\n id: string;\n}\n\nexport default class ConversationModel {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async update(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(\n this.endpointPath(),\n );\n }\n\n private endpointPath(): string {\n return `${ConversationModels.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n ConversationModelCreateSchema,\n ConversationModelSchema,\n} from \"./ConversationModel\";\n\nconst RESOURCEPATH = \"/conversations/models\";\n\nexport default class ConversationModels {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(\n this.endpointPath(),\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${ConversationModels.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\nimport ConversationModel from \"./ConversationModel\";\nimport { ConversationSchema } from \"./Conversation\";\n\nconst RESOURCEPATH = \"/conversations\";\n\nexport interface ConversationsRetrieveSchema {\n conversations: ConversationSchema[];\n}\n\nexport default class Conversations {\n private readonly _conversationsModels: ConversationModels;\n private readonly individualConversationModels: Record<\n string,\n ConversationModel\n > = {};\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._conversationsModels = new ConversationModels(this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n models(): ConversationModels;\n models(id: string): ConversationModel;\n models(id?: string): ConversationModels | ConversationModel {\n if (id === undefined) {\n return this._conversationsModels;\n } else {\n if (this.individualConversationModels[id] === undefined) {\n this.individualConversationModels[id] = new ConversationModel(\n id,\n this.apiCall,\n );\n }\n return this.individualConversationModels[id];\n }\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/debug\";\n\nexport interface DebugResponseSchema {\n state: number;\n version: string;\n}\n\nexport default class Debug {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Documents, {\n DocumentSchema,\n DocumentWriteParameters,\n} from \"./Documents\";\n\nexport class Document {\n constructor(\n private collectionName: string,\n private documentId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n async update(\n partialDocument: Partial,\n options: DocumentWriteParameters = {}\n ): Promise {\n return this.apiCall.patch(this.endpointPath(), partialDocument, options);\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Documents.RESOURCEPATH}/${encodeURIComponent(this.documentId)}`;\n }\n}\n","import type { ReadStream } from \"fs\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport { ImportError } from \"./Errors\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\n// Todo: use generic to extract filter_by values\nexport interface DeleteQuery {\n filter_by: string;\n batch_size?: number;\n ignore_not_found?: boolean;\n}\n\nexport interface DeleteResponse {\n num_deleted: number;\n}\n\ninterface ImportResponseSuccess {\n success: true;\n}\n\nexport interface ImportResponseFail {\n success: false;\n error: string;\n document: DocumentSchema;\n code: number;\n}\n\nexport type ImportResponse = ImportResponseSuccess | ImportResponseFail;\n\nexport type DocumentSchema = Record;\n\nexport interface SearchParamsWithPreset extends Partial {\n preset: string;\n}\n\ntype OperationMode = \"off\" | \"always\" | \"fallback\";\nexport interface SearchParams {\n // From https://typesense.org/docs/latest/api/documents.html#arguments\n q?: string;\n query_by?: string | string[];\n query_by_weights?: string | number[];\n prefix?: string | boolean | boolean[]; // default: true\n filter_by?: string;\n enable_lazy_filter?: boolean; // default: false\n sort_by?: string | string[]; // default: text match desc\n facet_by?: string | string[];\n max_facet_values?: number;\n facet_sample_threshold?: number;\n facet_sample_percent?: number;\n facet_query?: string;\n facet_query_num_typos?: number;\n facet_return_parent?: string;\n page?: number; // default: 1\n per_page?: number; // default: 10, max 250\n group_by?: string | string[];\n group_limit?: number; // default:\n group_missing_values?: boolean;\n include_fields?: string | string[];\n exclude_fields?: string | string[];\n highlight_fields?: string | string[]; // default: all queried fields\n highlight_full_fields?: string | string[]; // default: all fields\n highlight_affix_num_tokens?: number; // default: 4\n highlight_start_tag?: string; // default: \n highlight_end_tag?: string; // default: \n enable_highlight_v1?: boolean;\n snippet_threshold?: number; // default: 30\n num_typos?: string | number | number[]; // default: 2\n min_len_1typo?: number;\n min_len_2typo?: number;\n split_join_tokens?: OperationMode;\n exhaustive_search?: boolean;\n drop_tokens_threshold?: number; // default: 10\n typo_tokens_threshold?: number; // default: 100\n pinned_hits?: string | string[];\n hidden_hits?: string | string[];\n limit_hits?: number; // default: no limit\n pre_segmented_query?: boolean;\n enable_overrides?: boolean;\n prioritize_exact_match?: boolean; // default: true\n prioritize_token_position?: boolean;\n prioritize_num_matching_fields?: boolean;\n search_cutoff_ms?: number;\n use_cache?: boolean;\n max_candidates?: number;\n infix?: OperationMode | OperationMode[];\n preset?: string;\n text_match_type?: \"max_score\" | \"max_weight\";\n vector_query?: string;\n \"x-typesense-api-key\"?: string;\n \"x-typesense-user-id\"?: string;\n offset?: number;\n limit?: number;\n stopwords?: string;\n conversation?: boolean;\n conversation_model_id?: string;\n conversation_id?: string;\n voice_query?: string;\n}\n\ntype SearchResponseHighlightObject = {\n matched_tokens?: string[];\n snippet?: string;\n value?: string;\n};\n\nexport type SearchResponseHighlight = T extends string | number\n ? SearchResponseHighlightObject\n : {\n [TAttribute in keyof T]?: SearchResponseHighlight;\n };\n\nexport interface SearchResponseHit {\n curated?: true;\n highlights?: [\n {\n field: keyof T;\n snippet?: string;\n value?: string;\n snippets?: string[];\n indices?: number[];\n matched_tokens: string[][] | string[];\n },\n ];\n highlight: SearchResponseHighlight;\n document: T;\n text_match: number;\n text_match_info?: {\n best_field_score: string; // To prevent scores from being truncated by JSON spec\n best_field_weight: number;\n fields_matched: number;\n score: string; // To prevent scores from being truncated by JSON spec\n tokens_matched: number;\n };\n}\n\nexport interface SearchResponseFacetCountSchema {\n counts: {\n count: number;\n highlighted: string;\n value: string;\n }[];\n field_name: keyof T;\n stats: {\n avg?: number;\n max?: number;\n min?: number;\n sum?: number;\n };\n}\n\nexport interface SearchResponseRequestParams {\n collection_name?: string;\n q?: string;\n page?: number;\n per_page?: number;\n first_q?: string;\n voice_query?: {\n transcribed_query?: string;\n };\n}\n\n// Todo: we could infer whether this is a grouped response by adding the search params as a generic\nexport interface SearchResponse {\n facet_counts?: SearchResponseFacetCountSchema[];\n found: number;\n found_docs?: number;\n out_of: number;\n page: number;\n request_params: SearchResponseRequestParams;\n search_time_ms: number;\n search_cutoff?: boolean;\n hits?: SearchResponseHit[];\n grouped_hits?: {\n group_key: string[];\n hits: SearchResponseHit[];\n found?: number;\n }[];\n conversation?: {\n answer: string;\n conversation_history: {\n conversation: object[];\n id: string;\n last_updated: number;\n ttl: number;\n };\n conversation_id: string;\n query: string;\n };\n}\n\nexport interface DocumentWriteParameters {\n dirty_values?: \"coerce_or_reject\" | \"coerce_or_drop\" | \"drop\" | \"reject\";\n action?: \"create\" | \"update\" | \"upsert\" | \"emplace\";\n}\n\nexport interface UpdateByFilterParameters {\n filter_by?: string;\n}\n\nexport interface UpdateByFilterResponse {\n num_updated: number;\n}\n\nexport interface DocumentImportParameters extends DocumentWriteParameters {\n batch_size?: number;\n return_doc?: boolean;\n return_id?: boolean;\n}\n\nexport interface DocumentsExportParameters {\n filter_by?: string;\n include_fields?: string;\n exclude_fields?: string;\n}\n\nexport interface SearchableDocuments {\n search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n options: SearchOptions,\n ): Promise>;\n clearCache(): void;\n}\n\nexport interface WriteableDocuments {\n create(document: T, options: DocumentWriteParameters): Promise;\n upsert(document: T, options: DocumentWriteParameters): Promise;\n update(document: T, options: DocumentWriteParameters): Promise;\n delete(query: DeleteQuery): Promise;\n import(\n documents: T[] | string,\n options: DocumentWriteParameters,\n ): Promise;\n export(options: DocumentsExportParameters): Promise;\n}\n\nexport interface SearchOptions {\n cacheSearchResultsForSeconds?: number;\n abortSignal?: AbortSignal | null;\n}\n\nexport default class Documents\n extends SearchOnlyDocuments\n implements WriteableDocuments\n{\n constructor(\n collectionName: string,\n apiCall: ApiCall,\n configuration: Configuration,\n ) {\n super(collectionName, apiCall, configuration);\n }\n\n async create(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(this.endpointPath(), document, options);\n }\n\n async upsert(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"upsert\" }),\n );\n }\n\n async update(\n document: T,\n options: UpdateByFilterParameters,\n ): Promise;\n async update(document: T, options: DocumentWriteParameters): Promise;\n async update(\n document: T,\n options: DocumentWriteParameters | UpdateByFilterParameters = {},\n ): Promise {\n if (!document) throw new Error(\"No document provided\");\n\n if (options[\"filter_by\"] != null) {\n return this.apiCall.patch(\n this.endpointPath(),\n document,\n Object.assign({}, options),\n );\n } else {\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"update\" }),\n );\n }\n }\n\n async delete(\n query: DeleteQuery = {} as DeleteQuery,\n ): Promise {\n return this.apiCall.delete(this.endpointPath(), query);\n }\n\n async createMany(documents: T[], options: DocumentImportParameters = {}) {\n this.configuration.logger.warn(\n \"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 );\n return this.import(documents, options);\n }\n\n /**\n * Import a set of documents in a batch.\n * @param {string|Array} documents - Can be a JSONL string of documents or an array of document objects.\n * @param options\n * @return {string|Array} Returns a JSONL string if the input was a JSONL string, otherwise it returns an array of results.\n */\n async import(\n documents: string,\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[],\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[] | string,\n options: DocumentImportParameters = {},\n ): Promise {\n let documentsInJSONLFormat;\n if (Array.isArray(documents)) {\n try {\n documentsInJSONLFormat = documents\n .map((document) => JSON.stringify(document))\n .join(\"\\n\");\n } catch (error: any) {\n // if rangeerror, throw custom error message\n if (\n error instanceof RangeError &&\n error.message.includes(\"Too many properties to enumerate\")\n ) {\n throw new Error(`${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\n // else, throw the non-range error anyways\n throw new Error(error);\n }\n } else {\n documentsInJSONLFormat = documents;\n }\n\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\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 enableKeepAlive: true, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n if (Array.isArray(documents)) {\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter(\n (r) => r.success === false,\n );\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n } else {\n return resultsInJSONLFormat as string;\n }\n }\n\n /**\n * Returns a JSONL string for all the documents in this collection\n */\n async export(options: DocumentsExportParameters = {}): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options);\n }\n\n /**\n * Returns a NodeJS readable stream of JSONL for all the documents in this collection.\n */\n async exportStream(\n options: DocumentsExportParameters = {},\n ): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options, {\n responseType: \"stream\",\n });\n }\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class HTTPError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\nimport { ImportResponseFail } from \"../Documents\";\n\nexport default class ImportError extends TypesenseError {\n importResults: ImportResponseFail;\n constructor(message, importResults) {\n super(message);\n this.importResults = importResults;\n }\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class MissingConfigurationError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectAlreadyExists extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectNotFound extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectUnprocessable extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestMalformed extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestUnauthorized extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ServerError extends TypesenseError {}\n","export default class TypesenseError extends Error {\n httpStatus?: number;\n\n // Source: https://stackoverflow.com/a/58417721/123545\n constructor(message?: string) {\n super(message);\n this.name = new.target.name;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n","import HTTPError from \"./HTTPError\";\nimport MissingConfigurationError from \"./MissingConfigurationError\";\nimport ObjectAlreadyExists from \"./ObjectAlreadyExists\";\nimport ObjectNotFound from \"./ObjectNotFound\";\nimport ObjectUnprocessable from \"./ObjectUnprocessable\";\nimport RequestMalformed from \"./RequestMalformed\";\nimport RequestUnauthorized from \"./RequestUnauthorized\";\nimport ServerError from \"./ServerError\";\nimport ImportError from \"./ImportError\";\nimport TypesenseError from \"./TypesenseError\";\n\nexport {\n HTTPError,\n MissingConfigurationError,\n ObjectAlreadyExists,\n ObjectNotFound,\n ObjectUnprocessable,\n RequestMalformed,\n RequestUnauthorized,\n ServerError,\n TypesenseError,\n ImportError,\n};\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/health\";\n\nexport interface HealthResponse {\n ok: boolean;\n}\n\nexport default class Health {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Keys from \"./Keys\";\n\nexport interface KeyCreateSchema {\n actions: string[];\n collections: string[];\n description?: string;\n value?: string;\n value_prefix?: string;\n expires_at?: number;\n}\n\nexport interface KeyDeleteSchema {\n id: number;\n}\n\nexport interface KeySchema extends KeyCreateSchema {\n id: number;\n}\n\nexport default class Key {\n constructor(private id: number, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Keys.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import { createHmac } from \"crypto\";\nimport ApiCall from \"./ApiCall\";\nimport { KeyCreateSchema, KeySchema } from \"./Key\";\nimport { SearchParams } from \"./Documents\";\n\nconst RESOURCEPATH = \"/keys\";\n\nexport interface KeysRetrieveSchema {\n keys: KeySchema[];\n}\n\nexport interface GenerateScopedSearchKeyParams extends Partial {\n expires_at?: number;\n cache_ttl?: number;\n limit_multi_searches?: number;\n}\n\nexport default class Keys {\n constructor(private apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(params: KeyCreateSchema): Promise {\n return this.apiCall.post(Keys.RESOURCEPATH, params);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n generateScopedSearchKey(\n searchKey: string,\n parameters: GenerateScopedSearchKeyParams\n ): string {\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 const paramsJSON = JSON.stringify(parameters);\n const digest = Buffer.from(\n createHmac(\"sha256\", searchKey).update(paramsJSON).digest(\"base64\")\n );\n const keyPrefix = searchKey.substr(0, 4);\n const rawScopedKey = `${digest}${keyPrefix}${paramsJSON}`;\n\n return Buffer.from(rawScopedKey).toString(\"base64\");\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/metrics.json\";\n\nexport interface MetricsResponse {\n [key: `system_cpu${number}_active_percentage`]: string;\n system_cpu_active_percentage: string;\n system_disk_total_bytes: string;\n system_disk_used_bytes: string;\n system_memory_total_bytes: string;\n system_memory_total_swap_bytes?: string;\n system_memory_used_bytes: string;\n system_memory_used_swap_bytes?: string;\n system_network_received_bytes: string;\n system_network_sent_bytes: string;\n typesense_memory_active_bytes: string;\n typesense_memory_allocated_bytes: string;\n typesense_memory_fragmentation_ratio: string;\n typesense_memory_mapped_bytes: string;\n typesense_memory_metadata_bytes: string;\n typesense_memory_resident_bytes: string;\n typesense_memory_retained_bytes: string;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport RequestWithCache from \"./RequestWithCache\";\nimport {\n DocumentSchema,\n SearchParams,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\n\nconst RESOURCEPATH = \"/multi_search\";\n\nexport interface MultiSearchRequestSchema extends SearchParams {\n collection?: string;\n \"x-typesense-api-key\"?: string;\n}\n\nexport interface MultiSearchRequestWithPresetSchema\n extends SearchParamsWithPreset {\n collection?: string;\n \"x-typesense-api-key\"?: string;\n}\n\nexport interface MultiSearchRequestsSchema {\n searches: (MultiSearchRequestSchema | MultiSearchRequestWithPresetSchema)[];\n}\n\nexport interface MultiSearchResponse {\n results: { [Index in keyof T]: SearchResponse } & {\n length: T[\"length\"];\n };\n}\n\nexport default class MultiSearch {\n private requestWithCache: RequestWithCache;\n\n constructor(\n private apiCall: ApiCall,\n private configuration: Configuration,\n private useTextContentType: boolean = false\n ) {\n this.requestWithCache = new RequestWithCache();\n }\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async perform(\n searchRequests: MultiSearchRequestsSchema,\n commonParams: Partial = {},\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n }: { cacheSearchResultsForSeconds?: number } = {}\n ): Promise> {\n const additionalHeaders = {};\n if (this.useTextContentType) {\n additionalHeaders[\"content-type\"] = \"text/plain\";\n }\n\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n const queryParams = Object.assign({}, commonParams, additionalQueryParams);\n\n return this.requestWithCache.perform(\n this.apiCall,\n this.apiCall.post,\n [RESOURCEPATH, searchRequests, queryParams, additionalHeaders],\n { cacheResponseForSeconds: cacheSearchResultsForSeconds }\n ) as Promise>;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/operations\";\n\nexport default class Operations {\n constructor(private apiCall: ApiCall) {}\n\n async perform(\n operationName: \"vote\" | \"snapshot\" | \"cache/clear\" | string,\n queryParameters: Record = {}\n ): Promise {\n return this.apiCall.post(\n `${RESOURCEPATH}/${operationName}`,\n {},\n queryParameters\n );\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Overrides, { OverrideCreateSchema } from \"./Overrides\";\n\nexport interface OverrideSchema extends OverrideCreateSchema {\n id: string;\n}\n\nexport interface OverrideDeleteSchema {\n id: string;\n}\n\nexport default class Override {\n constructor(\n private collectionName: string,\n private overrideId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Overrides.RESOURCEPATH}/${encodeURIComponent(this.overrideId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { OverrideSchema } from \"./Override\";\n\nconst RESOURCEPATH = \"/overrides\";\n\nexport interface OverrideRuleQuerySchema {\n query?: string;\n match?: \"exact\" | \"contains\";\n}\n\nexport interface OverrideRuleFilterSchema {\n filter_by?: string;\n}\n\nexport interface OverrideRuleTagsSchema {\n tags?: string[];\n}\n\nexport interface OverrideCreateSchema {\n rule: OverrideRuleQuerySchema &\n OverrideRuleFilterSchema &\n OverrideRuleTagsSchema;\n filter_by?: string;\n sort_by?: string;\n remove_matched_tokens?: boolean;\n replace_query?: string;\n includes?: Array<{\n id: string;\n position: number;\n }>;\n excludes?: Array<{ id: string }>;\n filter_curated_hits?: boolean;\n effective_from_ts?: number;\n effective_to_ts?: number;\n stop_processing?: boolean;\n metadata?: object;\n}\n\nexport interface OverridesRetrieveSchema {\n overrides: OverrideSchema[];\n}\n\nexport default class Overrides {\n constructor(\n private collectionName: string,\n private apiCall: ApiCall,\n ) {}\n\n async upsert(\n overrideId: string,\n params: OverrideCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(overrideId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${\n Overrides.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Presets, { PresetCreateSchema } from \"./Presets\";\n\nexport interface PresetSchema extends PresetCreateSchema {\n name: string;\n}\n\nexport interface PresetDeleteSchema {\n name: string;\n}\n\nexport default class Preset {\n constructor(private presetId: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Presets.RESOURCEPATH}/${encodeURIComponent(this.presetId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { PresetSchema } from \"./Preset\";\nimport { SearchParams } from \"./Documents\";\nimport { MultiSearchRequestsSchema } from \"./MultiSearch\";\n\nconst RESOURCEPATH = \"/presets\";\n\nexport interface PresetCreateSchema {\n value: SearchParams | MultiSearchRequestsSchema;\n}\n\nexport interface PresetsRetrieveSchema {\n presets: PresetSchema[];\n}\n\nexport default class Presets {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n presetId: string,\n params: PresetCreateSchema\n ): Promise {\n return this.apiCall.put(this.endpointPath(presetId), params);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Presets.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","const defaultCacheResponseForSeconds = 2 * 60;\nconst defaultMaxSize = 100;\n\nexport default class RequestWithCache {\n private responseCache: Map = new Map();\n private responsePromiseCache: Map = new Map();\n\n clearCache() {\n this.responseCache = new Map();\n this.responsePromiseCache = new Map();\n }\n\n // Todo: should probably be passed a callback instead, or an apiCall instance. Types are messy this way\n async perform(\n requestContext: any,\n requestFunction: (...params: any) => unknown,\n requestFunctionArguments: any[],\n cacheOptions: CacheOptions\n ): Promise {\n const {\n cacheResponseForSeconds = defaultCacheResponseForSeconds,\n maxSize = defaultMaxSize,\n } = cacheOptions;\n const isCacheDisabled = cacheResponseForSeconds <= 0 || maxSize <= 0;\n\n if (isCacheDisabled) {\n return requestFunction.call(requestContext, ...requestFunctionArguments);\n }\n\n const requestFunctionArgumentsJSON = JSON.stringify(\n requestFunctionArguments\n );\n const cacheEntry = this.responseCache.get(requestFunctionArgumentsJSON);\n const now = Date.now();\n\n if (cacheEntry) {\n const isEntryValid =\n now - cacheEntry.requestTimestamp < cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n this.responseCache.set(requestFunctionArgumentsJSON, cacheEntry);\n return Promise.resolve(cacheEntry.response);\n } else {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n\n const cachePromiseEntry = this.responsePromiseCache.get(\n requestFunctionArgumentsJSON\n );\n\n if (cachePromiseEntry) {\n const isEntryValid =\n now - cachePromiseEntry.requestTimestamp <\n cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n this.responsePromiseCache.set(\n requestFunctionArgumentsJSON,\n cachePromiseEntry\n );\n return cachePromiseEntry.responsePromise;\n } else {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n\n const responsePromise = requestFunction.call(\n requestContext,\n ...requestFunctionArguments\n );\n this.responsePromiseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n responsePromise,\n });\n\n const response = await responsePromise;\n this.responseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n response,\n });\n\n const isCacheOverMaxSize = this.responseCache.size > maxSize;\n if (isCacheOverMaxSize) {\n const oldestEntry = this.responseCache.keys().next().value;\n this.responseCache.delete(oldestEntry);\n }\n const isResponsePromiseCacheOverMaxSize =\n this.responsePromiseCache.size > maxSize;\n if (isResponsePromiseCacheOverMaxSize) {\n const oldestEntry = this.responsePromiseCache.keys().next().value;\n this.responsePromiseCache.delete(oldestEntry);\n }\n return response as T;\n }\n}\n\ninterface CacheOptions {\n cacheResponseForSeconds?: number;\n maxSize?: number;\n}\n","import Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport MultiSearch from \"./MultiSearch\";\nimport { DocumentSchema } from \"./Documents\";\nimport { SearchOnlyCollection } from \"./SearchOnlyCollection\";\n\nexport default class SearchClient {\n public readonly multiSearch: MultiSearch;\n private readonly configuration: Configuration;\n private readonly apiCall: ApiCall;\n private readonly individualCollections: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? true;\n if (\n options.sendApiKeyAsQueryParam === true &&\n (options.apiKey || \"\").length > 2000\n ) {\n console.warn(\n \"[typesense] API Key is longer than 2000 characters which is over the allowed limit, so disabling sending it as a query parameter.\"\n );\n options.sendApiKeyAsQueryParam = false;\n }\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration, true);\n this.individualCollections = {};\n }\n\n clearCache() {\n this.multiSearch.clearCache();\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Object.entries(this.individualCollections).forEach(([_, collection]) => {\n collection.documents().clearCache();\n });\n }\n\n collections(\n collectionName: string\n ): SearchOnlyCollection | SearchOnlyCollection {\n if (!collectionName) {\n throw new Error(\n \"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(\n collectionName,\n this.apiCall,\n this.configuration\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n}\n","import { DocumentSchema, SearchableDocuments } from \"./Documents\";\nimport ApiCall from \"./ApiCall\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\nexport class SearchOnlyCollection {\n private readonly _documents: SearchableDocuments;\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any\n ) {\n this._documents = new SearchOnlyDocuments(\n this.name,\n this.apiCall,\n this.configuration\n );\n }\n\n documents(): SearchableDocuments {\n return this._documents;\n }\n}\n","import RequestWithCache from \"./RequestWithCache\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport Collections from \"./Collections\";\nimport type {\n DocumentSchema,\n SearchableDocuments,\n SearchOptions,\n SearchParams,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\n\nconst RESOURCEPATH = \"/documents\";\n\nexport class SearchOnlyDocuments\n implements SearchableDocuments\n{\n protected requestWithCache: RequestWithCache = new RequestWithCache();\n\n constructor(\n protected collectionName: string,\n protected apiCall: ApiCall,\n protected configuration: Configuration\n ) {}\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n abortSignal = null,\n }: SearchOptions = {}\n ): Promise> {\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n for (const key in searchParameters) {\n if (Array.isArray(searchParameters[key])) {\n additionalQueryParams[key] = searchParameters[key].join(\",\");\n }\n }\n const queryParams = Object.assign(\n {},\n searchParameters,\n additionalQueryParams\n );\n\n return this.requestWithCache.perform(\n this.apiCall,\n this.apiCall.get,\n [this.endpointPath(\"search\"), queryParams, { abortSignal }],\n {\n cacheResponseForSeconds: cacheSearchResultsForSeconds,\n }\n ) as Promise>;\n }\n\n protected endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + operation\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/stats.json\";\n\nexport interface EndpointStats {\n [endpoint: string]: number;\n}\n\nexport interface StatsResponse {\n delete_latency_ms?: number;\n delete_requests_per_second?: number;\n import_latency_ms?: number;\n import_requests_per_second?: number;\n latency_ms?: EndpointStats;\n overloaded_requests_per_second?: number;\n pending_write_batches?: number;\n requests_per_second?: EndpointStats;\n search_latency_ms?: number;\n search_requests_per_second?: number;\n total_requests_per_second?: number;\n write_latency_ms?: number;\n write_requests_per_second?: number;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Stopwords, { StopwordCreateSchema } from \"./Stopwords\";\n\nexport interface StopwordSchema extends StopwordCreateSchema {\n id: string;\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordDeleteSchema {\n id: string;\n}\n\nexport default class Stopword {\n constructor(\n private stopwordId: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Stopwords.RESOURCEPATH}/${encodeURIComponent(this.stopwordId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { StopwordSchema } from \"./Stopword\";\n\nconst RESOURCEPATH = \"/stopwords\";\n\nexport interface StopwordCreateSchema {\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordsRetrieveSchema {\n stopwords: StopwordSchema[];\n}\n\nexport default class Stopwords {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n stopwordId: string,\n params: StopwordCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(stopwordId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Stopwords.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Synonyms, { SynonymCreateSchema } from \"./Synonyms\";\n\nexport interface SynonymSchema extends SynonymCreateSchema {\n id: string;\n}\n\nexport interface SynonymDeleteSchema {\n id: string;\n}\n\nexport default class Synonym {\n constructor(\n private collectionName: string,\n private synonymId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Synonyms.RESOURCEPATH}/${encodeURIComponent(this.synonymId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { SynonymSchema } from \"./Synonym\";\n\nconst RESOURCEPATH = \"/synonyms\";\n\nexport interface SynonymCreateSchema {\n synonyms: string[];\n root?: string;\n locale?: string;\n symbols_to_index?: string[];\n}\n\nexport interface SynonymsRetrieveSchema {\n synonyms: SynonymSchema[];\n}\n\nexport default class Synonyms {\n constructor(private collectionName: string, private apiCall: ApiCall) {}\n\n async upsert(\n synonymId: string,\n params: SynonymCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(synonymId),\n params\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${\n Synonyms.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\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 var _loggersByName = {};\n var defaultLogger = null;\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() {\n /*jshint validthis:true */\n var level = this.getLevel();\n\n // Replace the actual methods.\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, this.name);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n\n // Return any important warnings.\n if (typeof console === undefinedType && level < this.levels.SILENT) {\n return \"No console available for logging\";\n }\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) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this);\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, factory) {\n // Private instance variables.\n var self = this;\n /**\n * The level inherited from a parent logger (or a global default). We\n * cache this here rather than delegating to the parent so that it stays\n * in sync with the actual logging methods that we have installed (the\n * parent could change levels but we might not have rebuilt the loggers\n * in this child yet).\n * @type {number}\n */\n var inheritedLevel;\n /**\n * The default level for this logger, if any. If set, this overrides\n * `inheritedLevel`.\n * @type {number|null}\n */\n var defaultLevel;\n /**\n * A user-specific level for this logger. If set, this overrides\n * `defaultLevel`.\n * @type {number|null}\n */\n var userLevel;\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 cookieName = encodeURIComponent(storageKey);\n var location = cookie.indexOf(cookieName + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(\n cookie.slice(location + cookieName.length + 1)\n )[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 } 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 function normalizeLevel(input) {\n var level = input;\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 return level;\n } else {\n throw new TypeError(\"log.setLevel() called with invalid level: \" + input);\n }\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 if (userLevel != null) {\n return userLevel;\n } else if (defaultLevel != null) {\n return defaultLevel;\n } else {\n return inheritedLevel;\n }\n };\n\n self.setLevel = function (level, persist) {\n userLevel = normalizeLevel(level);\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(userLevel);\n }\n\n // NOTE: in v2, this should call rebuild(), which updates children.\n return replaceLoggingMethods.call(self);\n };\n\n self.setDefaultLevel = function (level) {\n defaultLevel = normalizeLevel(level);\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.resetLevel = function () {\n userLevel = null;\n clearPersistedLevel();\n replaceLoggingMethods.call(self);\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 self.rebuild = function () {\n if (defaultLogger !== self) {\n inheritedLevel = normalizeLevel(defaultLogger.getLevel());\n }\n replaceLoggingMethods.call(self);\n\n if (defaultLogger === self) {\n for (var childName in _loggersByName) {\n _loggersByName[childName].rebuild();\n }\n }\n };\n\n // Initialize all the internal levels.\n inheritedLevel = normalizeLevel(\n defaultLogger ? defaultLogger.getLevel() : \"WARN\"\n );\n var initialLevel = getPersistedLevel();\n if (initialLevel != null) {\n userLevel = normalizeLevel(initialLevel);\n }\n replaceLoggingMethods.call(self);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n defaultLogger = new Logger();\n\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,\n defaultLogger.methodFactory\n );\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","/* (ignored) */","/* (ignored) */","/* (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 e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw new Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\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}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\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 setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\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 _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _isNativeFunction(fn) {\n try {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n } catch (e) {\n return typeof fn === \"function\";\n }\n}","export default function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\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(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\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 _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\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(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\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 getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n let {responseType, withXSRFToken} = config;\n let 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 let contentType;\n\n if (utils.isFormData(requestData)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n requestHeaders.setContentType(false); // Let the browser set it\n } else if ((contentType = requestHeaders.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n requestHeaders.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\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 const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n 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(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, 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(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\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(platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(config));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(fullPath))) {\n // Add xsrf header\n const xsrfValue = config.xsrfHeaderName && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\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', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : 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 const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\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\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(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, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n 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\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const 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 */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(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 {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n }\n\n throw err;\n }\n }\n\n _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 const {transitional, paramsSerializer, headers} = config;\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 if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let 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 const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\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,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport utils from '../utils.js';\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 {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n 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: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\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 */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n 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 *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\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 *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\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 *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\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 *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(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 config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\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 config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? thing.toJSON() : thing;\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 *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, 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(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const 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 withXSRFToken: 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 beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\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 *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\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\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (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 headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\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 env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\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 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","export const VERSION = \"1.6.7\";","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\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 * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\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 *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default 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\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\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 const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let 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 const 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","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\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} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\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 *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\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 *\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 (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\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 *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\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 *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = (\n (product) => {\n return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0\n })(typeof navigator !== 'undefined' && navigator.product);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\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 && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let 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 {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\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 *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\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 (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 const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\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 *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && 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 *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\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 *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\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))","// 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};","import Client from \"./Typesense/Client\";\nimport SearchClient from \"./Typesense/SearchClient\";\nimport * as Errors from \"./Typesense/Errors\";\n\nexport { Client, SearchClient, Errors };\nexport default { Client, SearchClient, Errors };\n"],"names":["Aliases","Alias","name","apiCall","_classCallCheck","_createClass","key","value","_retrieve","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","abrupt","get","endpointPath","stop","retrieve","apply","arguments","_delete2","_callee2","_callee2$","_context2","delete","_delete","concat","RESOURCEPATH","encodeURIComponent","default","_upsert","mapping","put","upsert","_x","_x2","aliasName","AnalyticsRules","AnalyticsRule","AnalyticsEvents","Analytics","_defineProperty","_analyticsRules","_analyticsEvents","rules","id","undefined","individualAnalyticsRules","events","_create","params","post","create","operation","axios","HTTPError","ObjectAlreadyExists","ObjectNotFound","ObjectUnprocessable","RequestMalformed","RequestUnauthorized","ServerError","TypesenseError","Agent","HTTPAgent","HTTPSAgent","APIKEYHEADERNAME","HEALTHY","UNHEALTHY","ApiCall","configuration","apiKey","nodes","JSON","parse","stringify","nearestNode","connectionTimeoutSeconds","healthcheckIntervalSeconds","numRetriesPerRequest","numRetries","retryIntervalSeconds","sendApiKeyAsQueryParam","additionalUserHeaders","additionalHeaders","logger","initializeMetadataForNodes","currentNodeIndex","_get","endpoint","queryParameters","_ref","_ref$abortSignal","abortSignal","_ref$responseType","responseType","_args","length","performRequest","_args2","_post","_callee3","bodyParameters","_args3","_callee3$","_context3","_x3","_put","_callee4","_args4","_callee4$","_context4","_x4","_patch","_callee5","_args5","_callee5$","_context5","patch","_x5","_performRequest","_callee6","requestType","_ref2","_this","_ref2$queryParameters","_ref2$bodyParameters","_ref2$additionalHeade","_ref2$abortSignal","_ref2$responseType","_ref2$skipConnectionT","skipConnectionTimeout","_ref2$enableKeepAlive","enableKeepAlive","requestNumber","lastException","_loop","_ret","numTries","_callee6$","_context7","validate","Date","now","debug","toUpperCase","node","abortListener","requestOptions","cancelToken","source","response","_response$data","_response$data2","_error$response","_loop$","_context6","getNextNode","index","aborted","v","Promise","reject","Error","method","url","uriFor","headers","Object","assign","defaultHeaders","maxContentLength","Infinity","maxBodyLength","validateStatus","status","transformResponse","data","transformedData","startsWith","timeout","keys","httpAgent","keepAlive","httpsAgent","paramsSerializer","_typeof","CancelToken","cancel","addEventListener","token","sent","setNodeHealthcheck","resolve","customErrorForResponse","message","t0","warn","code","timer","removeEventListener","finish","delegateYield","_x6","_x7","_x8","isHealthy","nodeDueForHealthcheck","map","join","candidateNode","i","isDueForHealthcheck","lastAccessTimestamp","_this2","forEach","protocol","host","port","path","_timer","_callee7","seconds","_callee7$","_context8","setTimeout","_x9","messageFromServer","errorMessage","trim","error","httpStatus","Configuration","Collections","Collection","Keys","Key","Debug","Metrics","Stats","Health","Operations","MultiSearch","Presets","Preset","Stopwords","Stopword","Conversations","Conversation","Client","options","_options$sendApiKeyAs","metrics","stats","health","operations","multiSearch","_collections","individualCollections","_aliases","individualAliases","_keys","individualKeys","_presets","individualPresets","_stopwords","individualStopwords","analytics","_conversations","individualConversations","collections","collectionName","aliases","presets","stopwords","conversations","Documents","Overrides","Override","Synonyms","Synonym","Document","_documents","_overrides","_synonyms","_update","schema","update","_exists","exists","documents","documentId","individualDocuments","overrides","overrideId","individualOverrides","synonyms","synonymId","individualSynonyms","MissingConfigurationError","setDefaultPathInNode","setDefaultPortInNode","_objectSpread","randomizeNodes","shuffleArray","timeoutSeconds","cacheSearchResultsForSeconds","useServerSideSearchCache","logLevel","setLevel","showDeprecationWarnings","validateNodes","isNodeMissingAnyParameters","some","every","hasOwnProperty","masterNode","readReplicaNodes","array","j","Math","floor","random","ConversationModels","ConversationModel","_conversationsModels","models","individualConversationModels","partialDocument","ImportError","SearchOnlyDocuments","_inherits","_callSuper","document","action","query","_createMany","import","createMany","_import2","documentsInJSONLFormat","resultsInJSONLFormat","resultsInJSONFormat","failedItems","_args6","Array","isArray","RangeError","includes","split","r","filter","success","_import","_export2","_args7","_export","_exportStream","_callee8","_args8","_callee8$","exportStream","_TypesenseError","importResults","_Error","constructor","setPrototypeOf","_assertThisInitialized","prototype","_wrapNativeSuper","createHmac","generateScopedSearchKey","searchKey","parameters","paramsJSON","digest","Buffer","from","keyPrefix","substr","rawScopedKey","toString","RequestWithCache","useTextContentType","requestWithCache","clearCache","_perform","searchRequests","commonParams","_ref$cacheSearchResul","additionalQueryParams","queryParams","perform","cacheResponseForSeconds","operationName","presetId","defaultCacheResponseForSeconds","defaultMaxSize","Map","responseCache","responsePromiseCache","requestContext","requestFunction","requestFunctionArguments","cacheOptions","_cacheOptions$cacheRe","_cacheOptions$maxSize","maxSize","isCacheDisabled","requestFunctionArgumentsJSON","cacheEntry","isEntryValid","cachePromiseEntry","_isEntryValid","responsePromise","isCacheOverMaxSize","oldestEntry","isResponsePromiseCacheOverMaxSize","_oldestEntry","call","_toConsumableArray","requestTimestamp","set","size","SearchOnlyCollection","SearchClient","console","entries","_slicedToArray","_","collection","_search","searchParameters","search","stopwordId","Errors"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"typesense.js","mappings":"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;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;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;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA,qDAAqD;AACrD,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,sBAAsB;AACtB;;AAEA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA,oCAAoC;AACpC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;;;;;;;;;;ACpWD;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA,cAAc,sGAAiC;AAC/C;AACA,gBAAgB;AAChB;AACA;AACA,GAAG,EAAE,yBAAyB,SAAS,yBAAyB;AAChE;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,KAAK;AACL,iDAAiD;AACjD;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;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;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;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,eAAe;AAClC;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,SAAS;AACtB;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;;;;;;;;;;;;;;;ACHe;AACf;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;ACLA;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;;;;;;;;;;;;;;;;;ACJiD;AACoB;AACtD;AACf,MAAM,wEAAwB;AAC9B;AACA;AACA;AACA,cAAc,8DAAc;AAC5B;;;;;;;;;;;;;;;;ACR+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;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACLiD;AAClC;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH,kBAAkB,8DAAc;AAChC;;;;;;;;;;;;;;;AChBe;AACf;AACA;AACA,IAAI;AACJ;AACA;AACA;;;;;;;;;;;;;;;ACNe;AACf;AACA,yFAAyF;AACzF,IAAI;AACJ;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;ACPe;AACf;AACA;;;;;;;;;;;;;;;ACFe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,YAAY,kEAAkE;AACtF,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;AC1Be;AACf;AACA;;;;;;;;;;;;;;;ACFe;AACf;AACA;;;;;;;;;;;;;;;;;ACFkC;AAC6B;AAChD;AACf,eAAe,sDAAO;AACtB;AACA,IAAI;AACJ;AACA;AACA,SAAS,qEAAqB;AAC9B;;;;;;;;;;;;;;;ACTe;AACf;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACNiD;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,kBAAkB,sDAAO;AACzB;AACA;AACA;AACA,oBAAoB,sDAAO;AAC3B;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACVkC;AACS;AAC5B;AACf,UAAU,2DAAW;AACrB,qBAAqB,sDAAO;AAC5B;;;;;;;;;;;;;;;ACLe;AACf;;AAEA;AACA;AACA,IAAI;AACJ;AACA,GAAG;AACH;;;;;;;;;;;;;;;;ACRqD;AACtC;AACf;AACA,oCAAoC,gEAAgB;AACpD;AACA;AACA;AACA,sFAAsF,gEAAgB;AACtG;;;;;;;;;;;;;;;;;;;ACRiD;AACA;AACI;AACd;AACxB;AACf;AACA;AACA,2BAA2B,gEAAgB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,yDAAS,mBAAmB,8DAAc;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,WAAW,8DAAc;AACzB;AACA;AACA;;;;;;;;;;;;;;;;;;;;AC7BgC;AACI;AACF;AACI;AACS;;AAE/C;AACA,QAAQ,gDAAW;AACnB,OAAO,+CAAU;AACjB,SAAS,iDAAY;AACrB;;AAEA,iDAAK;AACL;AACA;AACA,yCAAyC,MAAM;AAC/C,MAAM;AACN;AACA;AACA,8CAA8C,MAAM;AACpD;AACA,CAAC;;AAED,sCAAsC,OAAO;;AAE7C,sCAAsC,iDAAK;;AAE3C,iEAAe;AACf;AACA,eAAe,iDAAK;;AAEpB,WAAW,QAAQ;AACnB;AACA;;AAEA;;AAEA,oBAAoB,YAAY;AAChC;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,oBAAoB,2DAAU,qBAAqB,GAAG;AACtD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,yCAAyC,IAAI;AAC7C;AACA;;AAEA;AACA;AACA;;AAEA,gBAAgB,2DAAU;AAC1B;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;AC9E2C;AACZ;AACe;AACW;AACJ;AACH;AACmB;AACd;AACjB;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,qCAAqC,0DAAQ;AAC7C;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA,CAAC;;AAED;;AAEA;AACA;AACA,WAAW,iDAAK;AAChB,IAAI;AACJ;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA,2CAA2C,iDAAK;AAChD;AACA,kBAAkB,2DAAU,mBAAmB,KAAK,qBAAqB,2DAAU;AACnF,OAAO;AACP,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;;AAEA,KAAK,iDAAK;AACV;AACA;;AAEA,KAAK,iDAAK;AACV;AACA;;AAEA,KAAK,iDAAK;AACV;AACA;;AAEA,KAAK,iDAAK;AACV;AACA;;AAEA,KAAK,iDAAK;AACV;AACA;AACA;;AAEA;AACA,iBAAiB,iDAAK;;AAEtB;AACA;;AAEA,iEAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,EAAE,qEAAa;;AAEnB;;AAEA;AACA,IAAI,sEAAc;;AAElB;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;;AAEA,UAAU,iDAAK;AACf;AACA;;AAEA;AACA,eAAe,oEAAW;AAC1B;AACA,UAAU,4EAAoB;AAC9B;AACA;AACA;;AAEA,SAAS,iDAAK;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP,oCAAoC,iDAAK;;AAEzC;AACA,QAAQ,oEAAW;AACnB;AACA,UAAU,4EAAoB;AAC9B;AACA;AACA;AACA;;AAEA;;AAEA,uCAAuC,iDAAK;;AAE5C;;AAEA;;AAEA;AACA,MAAM,2DAAM;AACZ;AACA,iBAAiB,6DAAY;AAC7B;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,IAAI;AACJ;;AAEA;AACA;AACA,YAAY,2DAAU,kBAAkB,2DAAU;AAClD;AACA;AACA;AACA;AACA;;AAEA,UAAU,2DAAU;AACpB;AACA,CAAC,CAAC,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChO+B;AACO;AACsB;AAChB;AACQ;AACC;AACZ;AACO;AACmB;AACd;;AAExD;;AAEA,iEAAe;AACf;AACA,oBAAoB,qEAAa;AACjC;AACA,2BAA2B,6DAAY;AACvC,SAAS,cAAc;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,8BAA8B,6DAAY;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAM,2DAAM;AACZ;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,iBAAiB,2DAAU,oBAAoB,2DAAU;;AAEzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,2DAAU,kBAAkB,2DAAU;;AAEvD;AACA;AACA;;AAEA;AACA;AACA;AACA,mDAAmD,iEAAoB;AACvE;AACA;AACA;AACA,iBAAiB,2DAAU;AAC3B;AACA,2CAA2C,2DAAU,aAAa,2DAAU;AAC5E;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAM,iDAAK;AACX;AACA,OAAO;AACP;;AAEA;AACA,SAAS,iDAAK;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,2CAA2C,4EAAoB;AAC/D;;AAEA;AACA;AACA,kDAAkD,4EAAoB;AACtE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,gEAAa;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,qEAAa;;AAElC,oBAAoB,0DAAQ;AAC5B,iBAAiB,2DAAU,2CAA2C,2DAAU;AAChF;AACA;;;AAGA;AACA;AACA,GAAG;AACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7LY;;AAEkB;AACM;AACD;AACY;AACL;AACc;AACH;AACJ;AACN;AACN;AACW;AACH;AACL;AACY;AACH;AACJ;AACW;;AAEzD;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,OAAO;AACpB;AACA;AACA,sBAAsB,sDAAK;AAC3B,mBAAmB,4DAAI,CAAC,sDAAK;;AAE7B;AACA,EAAE,iDAAK,kBAAkB,sDAAK,sBAAsB,iBAAiB;;AAErE;AACA,EAAE,iDAAK,kCAAkC,iBAAiB;;AAE1D;AACA;AACA,0BAA0B,gEAAW;AACrC;;AAEA;AACA;;AAEA;AACA,6BAA6B,0DAAQ;;AAErC;AACA,cAAc,sDAAK;;AAEnB;AACA,sBAAsB,gEAAa;AACnC,oBAAoB,8DAAW;AAC/B,iBAAiB,2DAAQ;AACzB,gBAAgB,iDAAO;AACvB,mBAAmB,8DAAU;;AAE7B;AACA,mBAAmB,4DAAU;;AAE7B;AACA;;AAEA;AACA;AACA;AACA;;AAEA,eAAe,2DAAM;;AAErB;AACA,qBAAqB,iEAAY;;AAEjC;AACA,oBAAoB,4DAAW;;AAE/B,qBAAqB,8DAAY;;AAEjC,4BAA4B,uEAAc,CAAC,iDAAK;;AAEhD,mBAAmB,8DAAQ;;AAE3B,uBAAuB,mEAAc;;AAErC;;AAEA;AACA,iEAAe,KAAK;;;;;;;;;;;;;;;;;ACxFP;;AAEkC;;AAE/C;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,yDAAa;AACtC;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA,iEAAe,WAAW,EAAC;;;;;;;;;;;;;;;;;;ACxHd;;AAEkC;AACf;;AAEhC;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,aAAa,eAAe;AAC5B;AACA;AACA;AACA,EAAE,2DAAU,oDAAoD,2DAAU;AAC1E;AACA;;AAEA,iDAAK,yBAAyB,2DAAU;AACxC;AACA,CAAC;;AAED,iEAAe,aAAa,EAAC;;;;;;;;;;;;;;;;ACxBhB;;AAEE;AACf;AACA;;;;;;;;;;;;;;;;;;;;;;;;ACJa;;AAEqB;AACY;AACW;AACN;AACR;AACI;AACC;AACH;;AAE7C,mBAAmB,6DAAS;;AAE5B;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,mBAAmB,8DAAkB;AACrC,oBAAoB,8DAAkB;AACtC;AACA;;AAEA;AACA;AACA;AACA,aAAa,eAAe;AAC5B,aAAa,SAAS;AACtB;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA,oEAAoE;;AAEpE;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA,aAAa,2DAAW;;AAExB,WAAW,yCAAyC;;AAEpD;AACA,MAAM,6DAAS;AACf;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,UAAU,iDAAK;AACf;AACA;AACA;AACA,QAAQ;AACR,QAAQ,6DAAS;AACjB;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA,oCAAoC,iDAAK;AACzC;AACA;AACA;;AAEA,eAAe,iDAAK;AACpB;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,wDAAY;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA,qBAAqB,2DAAe;AACpC;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA,gBAAgB,2DAAe;AAC/B,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,aAAa,2DAAW;AACxB,qBAAqB,6DAAa;AAClC,WAAW,gEAAQ;AACnB;AACA;;AAEA;AACA,iDAAK;AACL;AACA;AACA,wBAAwB,2DAAW,aAAa;AAChD;AACA;AACA,yBAAyB;AACzB,KAAK;AACL;AACA,CAAC;;AAED,iDAAK;AACL;;AAEA;AACA;AACA,0BAA0B,2DAAW,aAAa;AAClD;AACA;AACA;AACA,UAAU,IAAI;AACd;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA,CAAC;;AAED,iEAAe,KAAK,EAAC;;;;;;;;;;;;;;;;;ACnOR;;AAEmB;;AAEhC;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,OAAO;AACpB;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iDAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,iDAAK;AACnB;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,CAAC;;AAED;AACA,kDAAkD,YAAY;;AAE9D;AACA;AACA;;AAEA,EAAE,iDAAK;AACP;AACA,GAAG;AACH;AACA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,iEAAe,UAAU,EAAC;;;;;;;;;;;;;;;;;;ACnGb;;AAEmB;AACsB;;AAEtD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS,iDAAK;AACd;;AAEA;AACA;AACA,2BAA2B,mBAAmB;AAC9C;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,MAAM,iDAAK;AACX;AACA;;AAEA;AACA;AACA;;AAEA,OAAO,iDAAK;;AAEZ,MAAM,iDAAK;AACX;AACA;;AAEA,MAAM,iDAAK;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,uBAAuB,iDAAK;;AAE5B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,iDAAK;;AAEvB;AACA;AACA;AACA;;AAEA;AACA,MAAM,iDAAK;;AAEX,QAAQ,iDAAK;AACb;AACA,MAAM,QAAQ,iDAAK;AACnB,iBAAiB,oEAAY;AAC7B,MAAM,SAAS,iDAAK;AACpB;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB,iDAAK;;AAEvB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,YAAY,iDAAK;AACjB;AACA;;AAEA,YAAY,iDAAK;AACjB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB,iDAAK;;AAEvB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,oBAAoB,iDAAK;;AAEzB;AACA;;AAEA;AACA;AACA;AACA;;AAEA,QAAQ,iDAAK;AACb;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,IAAI,iDAAK;AACT,kBAAkB,iDAAK;;AAEvB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,IAAI,iDAAK;AACT,sEAAsE,iDAAK;AAC3E,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,IAAI,iDAAK;;AAET;AACA;AACA;;AAEA;;AAEA;AACA,iDAAK,6CAA6C,MAAM;AACxD,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,iDAAK;;AAEL,iEAAe,YAAY,EAAC;;;;;;;;;;;;;;;;;AC7Sf;;AAEqB;;AAElC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB,aAAa,UAAU;AACvB;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,UAAU;AACvB;AACA,eAAe;AACf;AACA;AACA,IAAI,iDAAK;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,iEAAe,kBAAkB,EAAC;;;;;;;;;;;;;;;;;;ACtErB;;AAE2C;AACJ;;AAEpD;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf,kBAAkB,qEAAa;AAC/B,WAAW,mEAAW;AACtB;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;ACpBa;;AAEkC;AACF;AACD;AACW;AACJ;AACJ;;AAE/C;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,gEAAa;AAC3B;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACe;AACf;;AAEA,mBAAmB,6DAAY;;AAE/B;AACA,gBAAgB,yDAAa;AAC7B;AACA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,6DAAQ,8BAA8B,0DAAQ;;AAEhE;AACA;;AAEA;AACA,oBAAoB,yDAAa;AACjC;AACA;AACA;AACA;;AAEA,uBAAuB,6DAAY;;AAEnC;AACA,GAAG;AACH,SAAS,+DAAQ;AACjB;;AAEA;AACA;AACA,+BAA+B,yDAAa;AAC5C;AACA;AACA;AACA;AACA,kCAAkC,6DAAY;AAC9C;AACA;;AAEA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;AChFa;;AAEmB;AACa;;AAE7C,oDAAoD,wDAAY,KAAK,WAAW;;AAEhF;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;;AAEA;AACA,QAAQ,iDAAK,0BAA0B,iDAAK;AAC5C,aAAa,iDAAK,aAAa,SAAS;AACxC,MAAM,SAAS,iDAAK;AACpB,aAAa,iDAAK,SAAS;AAC3B,MAAM,SAAS,iDAAK;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS,iDAAK;AACd;AACA,MAAM,UAAU,iDAAK;AACrB;AACA;AACA;;AAEA;AACA;AACA,SAAS,iDAAK;AACd;AACA;AACA;;AAEA;AACA;AACA,SAAS,iDAAK;AACd;AACA,MAAM,UAAU,iDAAK;AACrB;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;AACA;AACA;AACA;;AAEA,EAAE,iDAAK,qCAAqC;AAC5C;AACA;AACA,KAAK,iDAAK;AACV,GAAG;;AAEH;AACA;;;;;;;;;;;;;;;;;ACzGa;;AAE4B;;AAEzC;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;AACA,IAAI;AACJ,eAAe,sDAAU;AACzB;AACA,OAAO,sDAAU,kBAAkB,sDAAU;AAC7C;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;AC1Ba;;AAEqB;AACU;AACO;;AAEnD;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB;AACA,aAAa,GAAG;AAChB;AACe;AACf,yBAAyB,0DAAQ;AACjC;AACA,kBAAkB,6DAAY;AAC9B;;AAEA,EAAE,iDAAK;AACP;AACA,GAAG;;AAEH;;AAEA;AACA;;;;;;;;;;;;;;;;;;;;;;;AC3Ba;;AAEmB;AACe;AACM;AACH;AACY;AAClB;AACc;;AAE1D;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA,MAAM,iDAAK;AACX;AACA;AACA,aAAa,iDAAK;AAClB,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,gBAAgB,wDAAoB;;AAEpC;;AAEA;AACA;AACA;AACA,4BAA4B,iDAAK;;AAEjC,2BAA2B,iDAAK;AAChC;AACA;;AAEA,uBAAuB,iDAAK;;AAE5B;AACA,iDAAiD,sEAAc;AAC/D;;AAEA,QAAQ,iDAAK;AACb,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX;AACA;AACA;AACA,QAAQ,iDAAK;AACb;AACA;AACA,QAAQ,iDAAK;AACb,gEAAgE;AAChE;AACA;;AAEA;;AAEA;AACA;AACA,eAAe,wEAAgB;AAC/B;;AAEA,wBAAwB,iDAAK;AAC7B;;AAEA,eAAe,kEAAU;AACzB,wBAAwB,iBAAiB;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA,QAAQ,iDAAK,qBAAqB,iDAAK;AACvC;AACA;;AAEA,gBAAgB,iDAAK;AACrB;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA,kBAAkB,2DAAU,SAAS,2DAAU;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,cAAc,0DAAQ;AACtB,UAAU,0DAAQ;AAClB,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iDAAK;AACL;AACA,CAAC;;AAED,iEAAe,QAAQ,EAAC;;;;;;;;;;;;;;;;AChKX;;AAEb,iEAAe;AACf;AACA;AACA;AACA,CAAC,EAAC;;;;;;;;;;;;;;;;ACNK;;;;;;;;;;;;;;;;ACAM;;AAE4B;;AAEzC;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,WAAW,qBAAqB;AAChC,WAAW,qBAAqB;AAChC;AACA,aAAa;AACb;AACA;AACA;;AAEA,YAAY,0DAAU;AACtB;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA,GAAG;AACH;;AAEA,iEAAe,oBAAoB,EAAC;;;;;;;;;;;;;;;;ACzDpC;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;;AAEA;AACA;AACA,CAAC;;AAED,iEAAe,cAAc,EAAC;;;;;;;;;;;;;;;;ACtEjB;;AAEE;AACf;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACNa;;AAEmB;AACsC;;AAEtE;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,IAAI;AACJ,uBAAuB,iDAAK;AAC5B;AACA,UAAU,wEAAoB;AAC9B;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;AC9Da;;AAEb;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACduD;AACR;;AAE/C;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,sCAAsC,2DAAU,aAAa,gEAAa;AAC1E;AACA;;AAEA;AACA,gBAAgB,2DAAU,YAAY,SAAS,iBAAiB,2DAAU;AAC1E,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;;AAEA,SAAS,QAAQ;;AAEjB;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA,iEAAe,cAAc,EAAC;;;;;;;;;;;;;;;;;;AC7CI;AACU;;AAE5C,iEAAe,0DAAQ;;AAEvB;AACA;AACA;AACA;;AAEA,MAAM,iDAAK;;AAEX,MAAM,iDAAK;;AAEX,MAAM,iDAAK;;AAEX;;AAEA,uCAAuC;AACvC,KAAK;;AAEL;AACA,0DAA0D,wBAAwB;AAClF;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA,KAAK;AACL;AACA,GAAG,EAAC;;;;;;;;;;;;;;;;;;ACxCS;;AAEmB;;AAEhC;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,iDAAK;AACd;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,4BAA4B;AACzC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,oBAAoB,iDAAK;;AAEzB;AACA,UAAU,iDAAK;AACf;AACA,QAAQ;AACR;AACA;;AAEA;AACA;;AAEA,0BAA0B,iDAAK;AAC/B;AACA;;AAEA;;AAEA,kBAAkB,iDAAK;AACvB;AACA;;AAEA;AACA;;AAEA,MAAM,iDAAK,yBAAyB,iDAAK;AACzC;;AAEA,IAAI,iDAAK;AACT;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA,iEAAe,cAAc,EAAC;;;;;;;;;;;;;;;;AC9FjB;;AAEb;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACe;AACf;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACda;;AAEqB;;AAElC;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACe;AACf,SAAS,iDAAK;AACd;;;;;;;;;;;;;;;;;;ACba;;AAEqB;AACU;;AAE5C,iEAAe,0DAAQ;;AAEvB;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,sBAAsB,iDAAK;AAC3B;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAG,GAAG,EAAC;;;;;;;;;;;;;;;;AClEP;AACA,iEAAe,IAAI,EAAC;;;;;;;;;;;;;;;;;ACDP;;AAEqB;;AAElC;AACA;AACA,0BAA0B,iDAAK;AAC/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA,iEAAe;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,MAAM;AACN;AACA;AACA,GAAG;;AAEH;AACA,CAAC,EAAC;;;;;;;;;;;;;;;;ACtDW;;AAEE;AACf,0BAA0B,KAAK;AAC/B;AACA;;;;;;;;;;;;;;;;;;ACL2C;AACN;;AAErC,iEAAe;AACf;AACA,uBAAuB,2DAAW;;AAElC,SAAS,wDAAQ;AACjB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,GAAG;AACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;AC/B2C;AACZ;AACmB;AAChB;AACk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CtB;AACA;;;AAGA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,UAAU;AACrB;AACA,WAAW,SAAS;AACpB,aAAa;AACb;AACA,2BAA2B,oBAAoB,IAAI;AACnD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS;AAC5C,4BAA4B;AAC5B;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA,SAAS,UAAU;AACnB;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,kCAAkC;AAClC,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;;AAEA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA,gCAAgC,WAAW,IAAI;AAC/C;AACA;AACA,eAAe,4DAAI;AACnB,MAAM;AACN;AACA;AACA,GAAG,GAAG,WAAW;AACjB;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,kBAAkB;AAC7B,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,WAAW,kBAAkB;AAC7B,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B,eAAe;;AAEzC;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS,QAAQ;AACjB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA,iEAAe;AACf;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,EAAC;;;;;;;UCvtBF;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;;;;;;;ACNwC;AACY;AACP;AAEL;AACxC,iEAAe;EAAE9B,MAAM,EAANA,yDAAM;EAAEuL,YAAY,EAAZA,+DAAY;EAAEU,MAAM,EAANA,8CAAMA;AAAC,CAAC,E","sources":["webpack://Typesense/./src/Typesense/Alias.ts","webpack://Typesense/./src/Typesense/Aliases.ts","webpack://Typesense/./src/Typesense/Analytics.ts","webpack://Typesense/./src/Typesense/AnalyticsEvents.ts","webpack://Typesense/./src/Typesense/AnalyticsRule.ts","webpack://Typesense/./src/Typesense/AnalyticsRules.ts","webpack://Typesense/./src/Typesense/ApiCall.ts","webpack://Typesense/./src/Typesense/Client.ts","webpack://Typesense/./src/Typesense/Collection.ts","webpack://Typesense/./src/Typesense/Collections.ts","webpack://Typesense/./src/Typesense/Configuration.ts","webpack://Typesense/./src/Typesense/Conversation.ts","webpack://Typesense/./src/Typesense/ConversationModel.ts","webpack://Typesense/./src/Typesense/ConversationModels.ts","webpack://Typesense/./src/Typesense/Conversations.ts","webpack://Typesense/./src/Typesense/Debug.ts","webpack://Typesense/./src/Typesense/Document.ts","webpack://Typesense/./src/Typesense/Documents.ts","webpack://Typesense/./src/Typesense/Errors/HTTPError.ts","webpack://Typesense/./src/Typesense/Errors/ImportError.ts","webpack://Typesense/./src/Typesense/Errors/MissingConfigurationError.ts","webpack://Typesense/./src/Typesense/Errors/ObjectAlreadyExists.ts","webpack://Typesense/./src/Typesense/Errors/ObjectNotFound.ts","webpack://Typesense/./src/Typesense/Errors/ObjectUnprocessable.ts","webpack://Typesense/./src/Typesense/Errors/RequestMalformed.ts","webpack://Typesense/./src/Typesense/Errors/RequestUnauthorized.ts","webpack://Typesense/./src/Typesense/Errors/ServerError.ts","webpack://Typesense/./src/Typesense/Errors/TypesenseError.ts","webpack://Typesense/./src/Typesense/Errors/index.ts","webpack://Typesense/./src/Typesense/Health.ts","webpack://Typesense/./src/Typesense/Key.ts","webpack://Typesense/./src/Typesense/Keys.ts","webpack://Typesense/./src/Typesense/Metrics.ts","webpack://Typesense/./src/Typesense/MultiSearch.ts","webpack://Typesense/./src/Typesense/Operations.ts","webpack://Typesense/./src/Typesense/Override.ts","webpack://Typesense/./src/Typesense/Overrides.ts","webpack://Typesense/./src/Typesense/Preset.ts","webpack://Typesense/./src/Typesense/Presets.ts","webpack://Typesense/./src/Typesense/RequestWithCache.ts","webpack://Typesense/./src/Typesense/SearchClient.ts","webpack://Typesense/./src/Typesense/SearchOnlyCollection.ts","webpack://Typesense/./src/Typesense/SearchOnlyDocuments.ts","webpack://Typesense/./src/Typesense/Stats.ts","webpack://Typesense/./src/Typesense/Stopword.ts","webpack://Typesense/./src/Typesense/Stopwords.ts","webpack://Typesense/./src/Typesense/Synonym.ts","webpack://Typesense/./src/Typesense/Synonyms.ts","webpack://Typesense/./node_modules/loglevel/lib/loglevel.js","webpack://Typesense/ignored|D:\\Typesense\\typesense-js\\src\\Typesense|crypto","webpack://Typesense/ignored|D:\\Typesense\\typesense-js\\src\\Typesense|http","webpack://Typesense/ignored|D:\\Typesense\\typesense-js\\src\\Typesense|https","webpack://Typesense/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/regenerator/index.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://Typesense/./node_modules/axios/lib/adapters/adapters.js","webpack://Typesense/./node_modules/axios/lib/adapters/fetch.js","webpack://Typesense/./node_modules/axios/lib/adapters/xhr.js","webpack://Typesense/./node_modules/axios/lib/axios.js","webpack://Typesense/./node_modules/axios/lib/cancel/CancelToken.js","webpack://Typesense/./node_modules/axios/lib/cancel/CanceledError.js","webpack://Typesense/./node_modules/axios/lib/cancel/isCancel.js","webpack://Typesense/./node_modules/axios/lib/core/Axios.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosError.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://Typesense/./node_modules/axios/lib/core/InterceptorManager.js","webpack://Typesense/./node_modules/axios/lib/core/buildFullPath.js","webpack://Typesense/./node_modules/axios/lib/core/dispatchRequest.js","webpack://Typesense/./node_modules/axios/lib/core/mergeConfig.js","webpack://Typesense/./node_modules/axios/lib/core/settle.js","webpack://Typesense/./node_modules/axios/lib/core/transformData.js","webpack://Typesense/./node_modules/axios/lib/defaults/index.js","webpack://Typesense/./node_modules/axios/lib/defaults/transitional.js","webpack://Typesense/./node_modules/axios/lib/env/data.js","webpack://Typesense/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://Typesense/./node_modules/axios/lib/helpers/bind.js","webpack://Typesense/./node_modules/axios/lib/helpers/buildURL.js","webpack://Typesense/./node_modules/axios/lib/helpers/combineURLs.js","webpack://Typesense/./node_modules/axios/lib/helpers/composeSignals.js","webpack://Typesense/./node_modules/axios/lib/helpers/cookies.js","webpack://Typesense/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://Typesense/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://Typesense/./node_modules/axios/lib/helpers/null.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://Typesense/./node_modules/axios/lib/helpers/progressEventReducer.js","webpack://Typesense/./node_modules/axios/lib/helpers/resolveConfig.js","webpack://Typesense/./node_modules/axios/lib/helpers/speedometer.js","webpack://Typesense/./node_modules/axios/lib/helpers/spread.js","webpack://Typesense/./node_modules/axios/lib/helpers/throttle.js","webpack://Typesense/./node_modules/axios/lib/helpers/toFormData.js","webpack://Typesense/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://Typesense/./node_modules/axios/lib/helpers/trackStream.js","webpack://Typesense/./node_modules/axios/lib/helpers/validator.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/index.js","webpack://Typesense/./node_modules/axios/lib/platform/common/utils.js","webpack://Typesense/./node_modules/axios/lib/platform/index.js","webpack://Typesense/./node_modules/axios/lib/utils.js","webpack://Typesense/webpack/bootstrap","webpack://Typesense/webpack/runtime/compat get default export","webpack://Typesense/webpack/runtime/define property getters","webpack://Typesense/webpack/runtime/hasOwnProperty shorthand","webpack://Typesense/webpack/runtime/make namespace object","webpack://Typesense/./src/Typesense.ts"],"sourcesContent":["import Aliases, { CollectionAliasSchema } from \"./Aliases\";\r\nimport ApiCall from \"./ApiCall\";\r\n\r\nexport default class Alias {\r\n constructor(private name: string, private apiCall: ApiCall) {}\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(this.endpointPath());\r\n }\r\n\r\n async delete(): Promise {\r\n return this.apiCall.delete(this.endpointPath());\r\n }\r\n\r\n private endpointPath(): string {\r\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\r\n }\r\n}\r\n","import ApiCall from \"./ApiCall\";\r\n\r\nconst RESOURCEPATH = \"/aliases\";\r\n\r\nexport interface CollectionAliasCreateSchema {\r\n collection_name: string;\r\n}\r\n\r\nexport interface CollectionAliasSchema extends CollectionAliasCreateSchema {\r\n name: string;\r\n}\r\n\r\nexport interface CollectionAliasesResponseSchema {\r\n aliases: CollectionAliasSchema[];\r\n}\r\n\r\nexport default class Aliases {\r\n constructor(private apiCall: ApiCall) {}\r\n\r\n async upsert(\r\n name: string,\r\n mapping: CollectionAliasCreateSchema\r\n ): Promise {\r\n return this.apiCall.put(\r\n this.endpointPath(name),\r\n mapping\r\n );\r\n }\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(RESOURCEPATH);\r\n }\r\n\r\n private endpointPath(aliasName): string {\r\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(aliasName)}`;\r\n }\r\n\r\n static get RESOURCEPATH(): string {\r\n return RESOURCEPATH;\r\n }\r\n}\r\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\nimport AnalyticsRule from \"./AnalyticsRule\";\nimport AnalyticsEvents from \"./AnalyticsEvents\";\n\nconst RESOURCEPATH = \"/analytics\";\n\nexport default class Analytics {\n private readonly _analyticsRules: AnalyticsRules;\n private readonly individualAnalyticsRules: Record = {};\n private readonly _analyticsEvents: AnalyticsEvents;\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._analyticsRules = new AnalyticsRules(this.apiCall);\n this._analyticsEvents = new AnalyticsEvents(this.apiCall);\n }\n\n rules(id?: string): AnalyticsRules | AnalyticsRule {\n if (id === undefined) {\n return this._analyticsRules;\n } else {\n if (this.individualAnalyticsRules[id] === undefined) {\n this.individualAnalyticsRules[id] = new AnalyticsRule(id, this.apiCall);\n }\n return this.individualAnalyticsRules[id];\n }\n }\n\n events(): AnalyticsEvents {\n return this._analyticsEvents;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { AnalyticsEventCreateSchema } from \"./AnalyticsEvent\";\n\nconst RESOURCEPATH = \"/analytics/events\";\n\nexport default class AnalyticsEvents {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: AnalyticsEventCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsEvents.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\n\nexport interface AnalyticsRuleCreateSchema {\n type: \"popular_queries\" | \"nohits_queries\" | \"counter\";\n params: {\n source: {\n collections: string[];\n events?: Array<{\n type: string;\n weight: number;\n name: string;\n }>;\n };\n expand_query?: boolean;\n destination: {\n collection: string;\n counter_field?: string;\n };\n limit?: number;\n };\n}\n\nexport interface AnalyticsRuleDeleteSchema {\n name: string;\n}\n\nexport interface AnalyticsRuleSchema extends AnalyticsRuleCreateSchema {\n name: string;\n}\n\nexport default class AnalyticsRule {\n constructor(\n private name: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${AnalyticsRules.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\r\nimport {\r\n AnalyticsRuleCreateSchema,\r\n AnalyticsRuleSchema,\r\n} from \"./AnalyticsRule\";\r\n\r\nexport interface AnalyticsRulesRetrieveSchema {\r\n rules: AnalyticsRuleSchema[];\r\n}\r\n\r\nconst RESOURCEPATH = \"/analytics/rules\";\r\n\r\nexport default class AnalyticsRules {\r\n constructor(private readonly apiCall: ApiCall) {\r\n this.apiCall = apiCall;\r\n }\r\n\r\n async upsert(\r\n name: string,\r\n params: AnalyticsRuleCreateSchema\r\n ): Promise {\r\n return this.apiCall.put(\r\n this.endpointPath(name),\r\n params\r\n );\r\n }\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(this.endpointPath());\r\n }\r\n\r\n private endpointPath(operation?: string): string {\r\n return `${AnalyticsRules.RESOURCEPATH}${\r\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\r\n }`;\r\n }\r\n\r\n static get RESOURCEPATH() {\r\n return RESOURCEPATH;\r\n }\r\n}\r\n","import axios, { AxiosRequestConfig, AxiosResponse, Method } from \"axios\";\nimport { Logger } from \"loglevel\";\nimport {\n HTTPError,\n ObjectAlreadyExists,\n ObjectNotFound,\n ObjectUnprocessable,\n RequestMalformed,\n RequestUnauthorized,\n ServerError,\n} from \"./Errors\";\nimport TypesenseError from \"./Errors/TypesenseError\";\nimport Configuration, { NodeConfiguration } from \"./Configuration\";\nimport { Agent as HTTPAgent } from \"http\";\nimport { Agent as HTTPSAgent } from \"https\";\n\nconst APIKEYHEADERNAME = \"X-TYPESENSE-API-KEY\";\nconst HEALTHY = true;\nconst UNHEALTHY = false;\n\ninterface Node extends NodeConfiguration {\n isHealthy: boolean;\n index: string | number;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class ApiCall {\n private readonly apiKey: string;\n private readonly nodes: Node[];\n private readonly nearestNode: Node;\n private readonly connectionTimeoutSeconds: number;\n private readonly healthcheckIntervalSeconds: number;\n private readonly retryIntervalSeconds: number;\n private readonly sendApiKeyAsQueryParam?: boolean;\n private readonly numRetriesPerRequest: number;\n private readonly additionalUserHeaders?: Record;\n\n private readonly logger: Logger;\n private currentNodeIndex: number;\n\n constructor(private 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\n this.logger = this.configuration.logger;\n\n this.initializeMetadataForNodes();\n this.currentNodeIndex = -1;\n }\n\n async get(\n endpoint: string,\n queryParameters: any = {},\n {\n abortSignal = null,\n responseType = undefined,\n }: {\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n } = {},\n ): Promise {\n return this.performRequest(\"get\", endpoint, {\n queryParameters,\n abortSignal,\n responseType,\n });\n }\n\n async delete(endpoint: string, queryParameters: any = {}): Promise {\n return this.performRequest(\"delete\", endpoint, { queryParameters });\n }\n\n async post(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n additionalHeaders: any = {},\n ): Promise {\n return this.performRequest(\"post\", endpoint, {\n queryParameters,\n bodyParameters,\n additionalHeaders,\n });\n }\n\n async put(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"put\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async patch(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"patch\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async performRequest(\n requestType: Method,\n endpoint: string,\n {\n queryParameters = null,\n bodyParameters = null,\n additionalHeaders = {},\n abortSignal = null,\n responseType = undefined,\n skipConnectionTimeout = false,\n enableKeepAlive = undefined,\n }: {\n queryParameters?: any;\n bodyParameters?: any;\n additionalHeaders?: any;\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n skipConnectionTimeout?: boolean;\n enableKeepAlive?: boolean | undefined;\n },\n ): Promise {\n this.configuration.validate();\n\n const requestNumber = Date.now();\n let lastException;\n this.logger.debug(\n `Request #${requestNumber}: Performing ${requestType.toUpperCase()} request: ${endpoint}`,\n );\n for (\n let numTries = 1;\n numTries <= this.numRetriesPerRequest + 1;\n numTries++\n ) {\n const node = this.getNextNode(requestNumber);\n this.logger.debug(\n `Request #${requestNumber}: Attempting ${requestType.toUpperCase()} request Try #${numTries} to Node ${\n node.index\n }`,\n );\n\n if (abortSignal && abortSignal.aborted) {\n return Promise.reject(new Error(\"Request aborted by caller.\"));\n }\n\n let abortListener;\n\n try {\n const requestOptions: AxiosRequestConfig = {\n method: requestType,\n url: this.uriFor(endpoint, node),\n headers: Object.assign(\n {},\n this.defaultHeaders(),\n additionalHeaders,\n this.additionalUserHeaders,\n ),\n maxContentLength: Infinity,\n maxBodyLength: Infinity,\n responseType,\n validateStatus: (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 (data, headers) => {\n let transformedData = data;\n if (\n headers !== undefined &&\n typeof data === \"string\" &&\n headers[\"content-type\"] &&\n headers[\"content-type\"].startsWith(\"application/json\")\n ) {\n transformedData = JSON.parse(data);\n }\n return transformedData;\n },\n ],\n };\n\n if (skipConnectionTimeout !== true) {\n requestOptions.timeout = this.connectionTimeoutSeconds * 1000;\n }\n\n if (queryParameters && Object.keys(queryParameters).length !== 0) {\n requestOptions.params = queryParameters;\n }\n\n if (this.sendApiKeyAsQueryParam) {\n requestOptions.params = requestOptions.params || {};\n requestOptions.params[\"x-typesense-api-key\"] = this.apiKey;\n }\n\n if (this.configuration.httpAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpAgent`,\n );\n requestOptions.httpAgent = this.configuration.httpAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling KeepAlive`);\n requestOptions.httpAgent = new HTTPAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.httpsAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpsAgent`,\n );\n requestOptions.httpsAgent = this.configuration.httpsAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling keepAlive`);\n requestOptions.httpsAgent = new HTTPSAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.paramsSerializer) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom paramsSerializer`,\n );\n requestOptions.paramsSerializer = this.configuration.paramsSerializer;\n }\n\n if (\n bodyParameters &&\n ((typeof bodyParameters === \"string\" &&\n bodyParameters.length !== 0) ||\n (typeof bodyParameters === \"object\" &&\n Object.keys(bodyParameters).length !== 0))\n ) {\n requestOptions.data = bodyParameters;\n }\n\n // Translate from user-provided AbortController to the Axios request cancel mechanism.\n if (abortSignal) {\n const cancelToken = axios.CancelToken;\n const source = cancelToken.source();\n abortListener = () => source.cancel();\n abortSignal.addEventListener(\"abort\", abortListener);\n requestOptions.cancelToken = source.token;\n }\n\n const response = await axios(requestOptions);\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.setNodeHealthcheck(node, HEALTHY);\n }\n this.logger.debug(\n `Request #${requestNumber}: Request to Node ${node.index} was made. Response Code was ${response.status}.`,\n );\n\n if (response.status >= 200 && response.status < 300) {\n // If response is 2xx return a resolved promise\n return Promise.resolve(response.data);\n } else if (response.status < 500) {\n // Next, if response is anything but 5xx, don't retry, return a custom error\n return Promise.reject(\n this.customErrorForResponse(response, response.data?.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.customErrorForResponse(response, response.data?.message);\n }\n } catch (error: any) {\n // This block handles retries for HTTPStatus > 500 and network layer issues like connection timeouts\n this.setNodeHealthcheck(node, UNHEALTHY);\n lastException = error;\n this.logger.warn(\n `Request #${requestNumber}: Request to Node ${\n node.index\n } failed due to \"${error.code} ${error.message}${\n error.response == null\n ? \"\"\n : \" - \" + JSON.stringify(error.response?.data)\n }\"`,\n );\n // this.logger.debug(error.stack)\n this.logger.warn(\n `Request #${requestNumber}: Sleeping for ${this.retryIntervalSeconds}s and then retrying request...`,\n );\n await this.timer(this.retryIntervalSeconds);\n } finally {\n if (abortSignal && abortListener) {\n abortSignal.removeEventListener(\"abort\", abortListener);\n }\n }\n }\n this.logger.debug(\n `Request #${requestNumber}: No retries left. Raising last error`,\n );\n return Promise.reject(lastException);\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 getNextNode(requestNumber = 0): Node {\n // Check if nearestNode is set and is healthy, if so return it\n if (this.nearestNode != null) {\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: Node ${\n this.nearestNode.index\n } is ${this.nearestNode.isHealthy === true ? \"Healthy\" : \"Unhealthy\"}`,\n );\n if (\n this.nearestNode.isHealthy === true ||\n this.nodeDueForHealthcheck(this.nearestNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${this.nearestNode.index}`,\n );\n return this.nearestNode;\n }\n this.logger.debug(\n `Request #${requestNumber}: Falling back to individual nodes`,\n );\n }\n\n // Fallback to nodes as usual\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: ${this.nodes\n .map(\n (node) =>\n `Node ${node.index} is ${\n node.isHealthy === true ? \"Healthy\" : \"Unhealthy\"\n }`,\n )\n .join(\" || \")}`,\n );\n let candidateNode: Node = this.nodes[0];\n for (let i = 0; i <= this.nodes.length; i++) {\n this.currentNodeIndex = (this.currentNodeIndex + 1) % this.nodes.length;\n candidateNode = this.nodes[this.currentNodeIndex];\n if (\n candidateNode.isHealthy === true ||\n this.nodeDueForHealthcheck(candidateNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\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(\n `Request #${requestNumber}: No healthy nodes were found. Returning the next node, Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\n\n nodeDueForHealthcheck(node, requestNumber = 0): boolean {\n const isDueForHealthcheck =\n Date.now() - node.lastAccessTimestamp >\n this.healthcheckIntervalSeconds * 1000;\n if (isDueForHealthcheck) {\n this.logger.debug(\n `Request #${requestNumber}: Node ${node.index} has exceeded healtcheckIntervalSeconds of ${this.healthcheckIntervalSeconds}. Adding it back into rotation.`,\n );\n }\n return isDueForHealthcheck;\n }\n\n initializeMetadataForNodes(): void {\n if (this.nearestNode != null) {\n this.nearestNode.index = \"nearestNode\";\n this.setNodeHealthcheck(this.nearestNode, HEALTHY);\n }\n\n this.nodes.forEach((node, i) => {\n node.index = i;\n this.setNodeHealthcheck(node, HEALTHY);\n });\n }\n\n setNodeHealthcheck(node, isHealthy): void {\n node.isHealthy = isHealthy;\n node.lastAccessTimestamp = Date.now();\n }\n\n uriFor(endpoint: string, node): string {\n if (node.url != null) {\n return `${node.url}${endpoint}`;\n }\n return `${node.protocol}://${node.host}:${node.port}${node.path}${endpoint}`;\n }\n\n defaultHeaders(): any {\n const defaultHeaders = {};\n if (!this.sendApiKeyAsQueryParam) {\n defaultHeaders[APIKEYHEADERNAME] = this.apiKey;\n }\n defaultHeaders[\"Content-Type\"] = \"application/json\";\n return defaultHeaders;\n }\n\n async timer(seconds): Promise {\n return new Promise((resolve) => setTimeout(resolve, seconds * 1000));\n }\n\n customErrorForResponse(\n response: AxiosResponse,\n messageFromServer: string,\n ): TypesenseError {\n let errorMessage = `Request failed with HTTP code ${response.status}`;\n if (\n typeof messageFromServer === \"string\" &&\n messageFromServer.trim() !== \"\"\n ) {\n errorMessage += ` | Server said: ${messageFromServer}`;\n }\n\n let error = new TypesenseError(errorMessage);\n\n if (response.status === 400) {\n error = new RequestMalformed(errorMessage);\n } else if (response.status === 401) {\n error = new RequestUnauthorized(errorMessage);\n } else if (response.status === 404) {\n error = new ObjectNotFound(errorMessage);\n } else if (response.status === 409) {\n error = new ObjectAlreadyExists(errorMessage);\n } else if (response.status === 422) {\n error = new ObjectUnprocessable(errorMessage);\n } else if (response.status >= 500 && response.status <= 599) {\n error = new ServerError(errorMessage);\n } else {\n error = new HTTPError(errorMessage);\n }\n\n error.httpStatus = response.status;\n\n return error;\n }\n}\n","/* eslint-disable no-dupe-class-members */\n\nimport Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Collection from \"./Collection\";\nimport Aliases from \"./Aliases\";\nimport Alias from \"./Alias\";\nimport Keys from \"./Keys\";\nimport Key from \"./Key\";\nimport Debug from \"./Debug\";\nimport Metrics from \"./Metrics\";\nimport Stats from \"./Stats\";\nimport Health from \"./Health\";\nimport Operations from \"./Operations\";\nimport MultiSearch from \"./MultiSearch\";\nimport Presets from \"./Presets\";\nimport Preset from \"./Preset\";\nimport Analytics from \"./Analytics\";\nimport Stopwords from \"./Stopwords\";\nimport Stopword from \"./Stopword\";\nimport Conversations from \"./Conversations\";\nimport Conversation from \"./Conversation\";\n\nexport default class Client {\n configuration: Configuration;\n apiCall: ApiCall;\n debug: Debug;\n metrics: Metrics;\n stats: Stats;\n health: Health;\n operations: Operations;\n multiSearch: MultiSearch;\n analytics: Analytics;\n private readonly _collections: Collections;\n private readonly individualCollections: Record;\n private readonly _aliases: Aliases;\n private readonly individualAliases: Record;\n private readonly _keys: Keys;\n private readonly individualKeys: Record;\n private readonly _presets: Presets;\n private readonly individualPresets: Record;\n private readonly _stopwords: Stopwords;\n private readonly individualStopwords: Record;\n private readonly _conversations: Conversations;\n private readonly individualConversations: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? false;\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.debug = new Debug(this.apiCall);\n this.metrics = new Metrics(this.apiCall);\n this.stats = new Stats(this.apiCall);\n this.health = new Health(this.apiCall);\n this.operations = new Operations(this.apiCall);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration);\n this._collections = new Collections(this.apiCall);\n this.individualCollections = {};\n this._aliases = new Aliases(this.apiCall);\n this.individualAliases = {};\n this._keys = new Keys(this.apiCall);\n this.individualKeys = {};\n this._presets = new Presets(this.apiCall);\n this.individualPresets = {};\n this._stopwords = new Stopwords(this.apiCall);\n this.individualStopwords = {};\n this.analytics = new Analytics(this.apiCall);\n this._conversations = new Conversations(this.apiCall);\n this.individualConversations = {};\n }\n\n collections(): Collections;\n collections = object>(\n collectionName: string,\n ): Collection;\n collections(collectionName?: string): Collections | Collection {\n if (collectionName === undefined) {\n return this._collections;\n } else {\n if (this.individualCollections[collectionName] === undefined) {\n this.individualCollections[collectionName] = new Collection(\n collectionName,\n this.apiCall,\n this.configuration,\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n\n aliases(): Aliases;\n aliases(aliasName: string): Alias;\n aliases(aliasName?: string): Aliases | Alias {\n if (aliasName === undefined) {\n return this._aliases;\n } else {\n if (this.individualAliases[aliasName] === undefined) {\n this.individualAliases[aliasName] = new Alias(aliasName, this.apiCall);\n }\n return this.individualAliases[aliasName];\n }\n }\n\n keys(): Keys;\n keys(id: number): Key;\n keys(id?: number): Keys | Key {\n if (id === undefined) {\n return this._keys;\n } else {\n if (this.individualKeys[id] === undefined) {\n this.individualKeys[id] = new Key(id, this.apiCall);\n }\n return this.individualKeys[id];\n }\n }\n\n presets(): Presets;\n presets(id: string): Preset;\n presets(id?: string): Presets | Preset {\n if (id === undefined) {\n return this._presets;\n } else {\n if (this.individualPresets[id] === undefined) {\n this.individualPresets[id] = new Preset(id, this.apiCall);\n }\n return this.individualPresets[id];\n }\n }\n\n stopwords(): Stopwords;\n stopwords(id: string): Stopword;\n stopwords(id?: string): Stopwords | Stopword {\n if (id === undefined) {\n return this._stopwords;\n } else {\n if (this.individualStopwords[id] === undefined) {\n this.individualStopwords[id] = new Stopword(id, this.apiCall);\n }\n return this.individualStopwords[id];\n }\n }\n\n conversations(): Conversations;\n conversations(id: string): Conversation;\n conversations(id?: string): Conversations | Conversation {\n if (id === undefined) {\n return this._conversations;\n } else {\n if (this.individualConversations[id] === undefined) {\n this.individualConversations[id] = new Conversation(id, this.apiCall);\n }\n return this.individualConversations[id];\n }\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections, { CollectionCreateSchema } from \"./Collections\";\nimport Documents, { DocumentSchema } from \"./Documents\";\nimport { ObjectNotFound } from \"./Errors\";\nimport Overrides from \"./Overrides\";\nimport Override from \"./Override\";\nimport Synonyms from \"./Synonyms\";\nimport Synonym from \"./Synonym\";\nimport { Document } from \"./Document\";\n\nexport type FieldType =\n | \"string\"\n | \"int32\"\n | \"int64\"\n | \"float\"\n | \"bool\"\n | \"geopoint\"\n | \"geopoint[]\"\n | \"string[]\"\n | \"int32[]\"\n | \"int64[]\"\n | \"float[]\"\n | \"bool[]\"\n | \"object\"\n | \"object[]\"\n | \"auto\"\n | \"string*\"\n | \"image\";\n\nexport interface CollectionFieldSchema {\n name: string;\n type: FieldType;\n optional?: boolean;\n facet?: boolean;\n index?: boolean;\n sort?: boolean;\n locale?: string;\n infix?: boolean;\n stem?: boolean;\n num_dim?: number;\n store?: boolean;\n [t: string]: unknown;\n}\n\nexport interface CollectionSchema extends CollectionCreateSchema {\n created_at: number;\n num_documents: number;\n num_memory_shards: number;\n}\n\nexport interface CollectionDropFieldSchema {\n name: string;\n drop: true;\n}\n\nexport interface CollectionUpdateSchema\n extends Partial> {\n fields?: (CollectionFieldSchema | CollectionDropFieldSchema)[];\n}\n\nexport default class Collection {\n private readonly _documents: Documents;\n private individualDocuments: Record> = {};\n private readonly _overrides: Overrides;\n private individualOverrides: Record = {};\n private readonly _synonyms: Synonyms;\n private individualSynonyms: Record = {};\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any,\n ) {\n this.name = name;\n this.apiCall = apiCall;\n this.configuration = configuration;\n\n this._documents = new Documents(\n this.name,\n this.apiCall,\n this.configuration,\n );\n this._overrides = new Overrides(this.name, this.apiCall);\n this._synonyms = new Synonyms(this.name, this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(schema: CollectionUpdateSchema): Promise {\n return this.apiCall.patch(this.endpointPath(), schema);\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n async exists(): Promise {\n try {\n await this.retrieve();\n return true;\n } catch (e) {\n if (e instanceof ObjectNotFound) return false;\n throw e;\n }\n }\n\n documents(): Documents;\n documents(documentId: string): Document;\n documents(documentId?: string): Document | Documents {\n if (!documentId) {\n return this._documents;\n } else {\n if (this.individualDocuments[documentId] === undefined) {\n this.individualDocuments[documentId] = new Document(\n this.name,\n documentId,\n this.apiCall,\n );\n }\n return this.individualDocuments[documentId];\n }\n }\n\n overrides(): Overrides;\n overrides(overrideId: string): Override;\n overrides(overrideId?: string): Overrides | Override {\n if (overrideId === undefined) {\n return this._overrides;\n } else {\n if (this.individualOverrides[overrideId] === undefined) {\n this.individualOverrides[overrideId] = new Override(\n this.name,\n overrideId,\n this.apiCall,\n );\n }\n return this.individualOverrides[overrideId];\n }\n }\n\n synonyms(): Synonyms;\n synonyms(synonymId: string): Synonym;\n synonyms(synonymId?: string): Synonyms | Synonym {\n if (synonymId === undefined) {\n return this._synonyms;\n } else {\n if (this.individualSynonyms[synonymId] === undefined) {\n this.individualSynonyms[synonymId] = new Synonym(\n this.name,\n synonymId,\n this.apiCall,\n );\n }\n return this.individualSynonyms[synonymId];\n }\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { CollectionFieldSchema, CollectionSchema } from \"./Collection\";\n\nexport interface CollectionCreateSchema {\n name: string;\n default_sorting_field?: string;\n fields?: CollectionFieldSchema[];\n symbols_to_index?: string[];\n token_separators?: string[];\n enable_nested_fields?: boolean;\n metadata?: object;\n voice_query_model?: {\n model_name?: string;\n };\n}\n\nexport interface CollectionCreateOptions {\n src_name?: string;\n}\n\nexport interface CollectionsRetrieveOptions {\n exclude_fields?: string;\n}\n\nconst RESOURCEPATH = \"/collections\";\n\nexport default class Collections {\n constructor(private apiCall: ApiCall) {}\n\n async create(\n schema: CollectionCreateSchema,\n options: CollectionCreateOptions = {},\n ): Promise {\n return this.apiCall.post(RESOURCEPATH, schema, options);\n }\n\n async retrieve(\n options: CollectionsRetrieveOptions = {},\n ): Promise {\n return this.apiCall.get(RESOURCEPATH, options);\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import * as logger from \"loglevel\";\nimport { Logger, LogLevelDesc } from \"loglevel\";\nimport { MissingConfigurationError } from \"./Errors\";\nimport type { Agent as HTTPAgent } from \"http\";\nimport type { Agent as HTTPSAgent } from \"https\";\n\nexport interface NodeConfiguration {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n url?: string;\n}\n\nexport interface NodeConfigurationWithHostname {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n}\n\nexport interface NodeConfigurationWithUrl {\n url: string;\n}\n\nexport interface ConfigurationOptions {\n apiKey: string;\n nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n randomizeNodes?: boolean;\n /**\n * @deprecated\n * masterNode is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n masterNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n /**\n * @deprecated\n * readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n readReplicaNodes?:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n connectionTimeoutSeconds?: number;\n timeoutSeconds?: number;\n healthcheckIntervalSeconds?: number;\n numRetries?: number;\n retryIntervalSeconds?: number;\n sendApiKeyAsQueryParam?: boolean | undefined;\n useServerSideSearchCache?: boolean;\n cacheSearchResultsForSeconds?: number;\n additionalHeaders?: Record;\n\n logLevel?: LogLevelDesc;\n logger?: Logger;\n\n /**\n * Set a custom HTTP Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPAgent } = require(\"http\");\n * ...\n * httpAgent: new HTTPAgent({ keepAlive: true }),\n * @type {HTTPAgent}\n */\n httpAgent?: HTTPAgent;\n\n /**\n * Set a custom HTTPS Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPSAgent } = require(\"https\");\n * ...\n * httpsAgent: new HTTPSAgent({ keepAlive: true }),\n * @type {HTTPSAgent}\n */\n httpsAgent?: HTTPSAgent;\n\n /**\n * Set a custom paramsSerializer\n *\n * See axios documentation for more information on how to use this parameter: https://axios-http.com/docs/req_config\n * This is helpful for handling React Native issues like this: https://github.com/axios/axios/issues/6102#issuecomment-2085301397\n * @type {any}\n */\n paramsSerializer?: any;\n}\n\nexport default class Configuration {\n readonly nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n readonly nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n readonly connectionTimeoutSeconds: number;\n readonly healthcheckIntervalSeconds: number;\n readonly numRetries: number;\n readonly retryIntervalSeconds: number;\n readonly apiKey: string;\n readonly sendApiKeyAsQueryParam?: boolean;\n readonly cacheSearchResultsForSeconds: number;\n readonly useServerSideSearchCache: boolean;\n readonly logger: Logger;\n readonly logLevel: LogLevelDesc;\n readonly additionalHeaders?: Record;\n readonly httpAgent?: HTTPAgent;\n readonly httpsAgent?: HTTPSAgent;\n readonly paramsSerializer?: any;\n\n constructor(options: ConfigurationOptions) {\n this.nodes = options.nodes || [];\n this.nodes = this.nodes\n .map((node) => this.setDefaultPathInNode(node))\n .map((node) => this.setDefaultPortInNode(node))\n .map((node) => ({ ...node })) as NodeConfiguration[]; // Make a deep copy\n\n if (options.randomizeNodes == null) {\n options.randomizeNodes = true;\n }\n\n if (options.randomizeNodes === true) {\n this.shuffleArray(this.nodes);\n }\n\n this.nearestNode = options.nearestNode;\n this.nearestNode = this.setDefaultPathInNode(this.nearestNode);\n this.nearestNode = this.setDefaultPortInNode(this.nearestNode);\n\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\n this.apiKey = options.apiKey;\n this.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam; // We will set a default for this in Client and SearchClient\n\n this.cacheSearchResultsForSeconds =\n options.cacheSearchResultsForSeconds || 0; // Disable client-side cache by default\n this.useServerSideSearchCache = options.useServerSideSearchCache || false;\n\n this.logger = options.logger || logger;\n this.logLevel = options.logLevel || \"warn\";\n this.logger.setLevel(this.logLevel);\n\n this.additionalHeaders = options.additionalHeaders;\n\n this.httpAgent = options.httpAgent;\n this.httpsAgent = options.httpsAgent;\n\n this.paramsSerializer = options.paramsSerializer;\n\n this.showDeprecationWarnings(options);\n this.validate();\n }\n\n validate(): boolean {\n if (this.nodes == null || this.nodes.length === 0 || this.validateNodes()) {\n throw new MissingConfigurationError(\n \"Ensure that nodes[].protocol, nodes[].host and nodes[].port are set\",\n );\n }\n\n if (\n this.nearestNode != null &&\n this.isNodeMissingAnyParameters(this.nearestNode)\n ) {\n throw new MissingConfigurationError(\n \"Ensure that nearestNodes.protocol, nearestNodes.host and nearestNodes.port are set\",\n );\n }\n\n if (this.apiKey == null) {\n throw new MissingConfigurationError(\"Ensure that apiKey is set\");\n }\n\n return true;\n }\n\n private validateNodes(): boolean {\n return this.nodes.some((node) => {\n return this.isNodeMissingAnyParameters(node);\n });\n }\n\n private isNodeMissingAnyParameters(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl,\n ): boolean {\n return (\n ![\"protocol\", \"host\", \"port\", \"path\"].every((key) => {\n return node.hasOwnProperty(key);\n }) && node[\"url\"] == null\n );\n }\n\n private setDefaultPathInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (node != null && !node.hasOwnProperty(\"path\")) {\n node[\"path\"] = \"\";\n }\n return node;\n }\n\n private setDefaultPortInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (\n node != null &&\n !node.hasOwnProperty(\"port\") &&\n node.hasOwnProperty(\"protocol\")\n ) {\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\n private showDeprecationWarnings(options: ConfigurationOptions): void {\n if (options.timeoutSeconds) {\n this.logger.warn(\n \"Deprecation warning: timeoutSeconds is now renamed to connectionTimeoutSeconds\",\n );\n }\n if (options.masterNode) {\n this.logger.warn(\n \"Deprecation warning: masterNode is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n if (options.readReplicaNodes) {\n this.logger.warn(\n \"Deprecation warning: readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n }\n\n private shuffleArray(array) {\n for (let i = array.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [array[i], array[j]] = [array[j], array[i]];\n }\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Conversations from \"./Conversations\";\n\nexport interface ConversationDeleteSchema {\n id: number;\n}\n\nexport interface ConversationUpdateSchema {\n ttl: number;\n}\n\nexport interface ConversationSchema {\n id: number;\n conversation: object[];\n last_updated: number;\n ttl: number;\n}\n\nexport default class Conversation {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(\n params: ConversationUpdateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Conversations.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\n\nexport interface ConversationModelCreateSchema {\n id?: string;\n model_name: string;\n api_key?: string;\n system_prompt?: string;\n max_bytes: number;\n history_collection?: string;\n}\n\nexport interface ConversationModelDeleteSchema {\n id: string;\n}\n\nexport interface ConversationModelSchema extends ConversationModelCreateSchema {\n id: string;\n}\n\nexport default class ConversationModel {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async update(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(\n this.endpointPath(),\n );\n }\n\n private endpointPath(): string {\n return `${ConversationModels.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\r\nimport {\r\n ConversationModelCreateSchema,\r\n ConversationModelSchema,\r\n} from \"./ConversationModel\";\r\n\r\nconst RESOURCEPATH = \"/conversations/models\";\r\n\r\nexport default class ConversationModels {\r\n constructor(private readonly apiCall: ApiCall) {\r\n this.apiCall = apiCall;\r\n }\r\n\r\n async create(\r\n params: ConversationModelCreateSchema,\r\n ): Promise {\r\n return this.apiCall.post(\r\n this.endpointPath(),\r\n params,\r\n );\r\n }\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(\r\n this.endpointPath(),\r\n );\r\n }\r\n\r\n private endpointPath(operation?: string): string {\r\n return `${ConversationModels.RESOURCEPATH}${\r\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\r\n }`;\r\n }\r\n\r\n static get RESOURCEPATH() {\r\n return RESOURCEPATH;\r\n }\r\n}\r\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\nimport ConversationModel from \"./ConversationModel\";\nimport { ConversationSchema } from \"./Conversation\";\n\nconst RESOURCEPATH = \"/conversations\";\n\nexport interface ConversationsRetrieveSchema {\n conversations: ConversationSchema[];\n}\n\nexport default class Conversations {\n private readonly _conversationsModels: ConversationModels;\n private readonly individualConversationModels: Record<\n string,\n ConversationModel\n > = {};\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._conversationsModels = new ConversationModels(this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n models(): ConversationModels;\n models(id: string): ConversationModel;\n models(id?: string): ConversationModels | ConversationModel {\n if (id === undefined) {\n return this._conversationsModels;\n } else {\n if (this.individualConversationModels[id] === undefined) {\n this.individualConversationModels[id] = new ConversationModel(\n id,\n this.apiCall,\n );\n }\n return this.individualConversationModels[id];\n }\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/debug\";\n\nexport interface DebugResponseSchema {\n state: number;\n version: string;\n}\n\nexport default class Debug {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\r\nimport Collections from \"./Collections\";\r\nimport Documents, {\r\n DeleteQuery,\r\n DocumentSchema,\r\n DocumentWriteParameters,\r\n} from \"./Documents\";\r\n\r\nexport class Document {\r\n constructor(\r\n private collectionName: string,\r\n private documentId: string,\r\n private apiCall: ApiCall\r\n ) {}\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(this.endpointPath());\r\n }\r\n\r\n async delete(options?: DeleteQuery): Promise {\r\n return this.apiCall.delete(this.endpointPath(), options);\r\n }\r\n\r\n async update(\r\n partialDocument: Partial,\r\n options: DocumentWriteParameters = {}\r\n ): Promise {\r\n return this.apiCall.patch(this.endpointPath(), partialDocument, options);\r\n }\r\n\r\n private endpointPath(): string {\r\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Documents.RESOURCEPATH}/${encodeURIComponent(this.documentId)}`;\r\n }\r\n}\r\n","import type { ReadStream } from \"fs\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport { ImportError } from \"./Errors\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\n// Todo: use generic to extract filter_by values\nexport interface DeleteQuery {\n filter_by?: string;\n batch_size?: number;\n ignore_not_found?: boolean;\n}\n\nexport interface DeleteResponse {\n num_deleted: number;\n}\n\ninterface ImportResponseSuccess {\n success: true;\n}\n\nexport interface ImportResponseFail {\n success: false;\n error: string;\n document: DocumentSchema;\n code: number;\n}\n\nexport type ImportResponse = ImportResponseSuccess | ImportResponseFail;\n\nexport type DocumentSchema = Record;\n\nexport interface SearchParamsWithPreset extends Partial {\n preset: string;\n}\n\ntype OperationMode = \"off\" | \"always\" | \"fallback\";\nexport interface SearchParams {\n // From https://typesense.org/docs/latest/api/documents.html#arguments\n q?: string;\n query_by?: string | string[];\n query_by_weights?: string | number[];\n prefix?: string | boolean | boolean[]; // default: true\n filter_by?: string;\n enable_lazy_filter?: boolean; // default: false\n sort_by?: string | string[]; // default: text match desc\n facet_by?: string | string[];\n max_facet_values?: number;\n facet_sample_threshold?: number;\n facet_sample_percent?: number;\n facet_query?: string;\n facet_query_num_typos?: number;\n facet_return_parent?: string;\n page?: number; // default: 1\n per_page?: number; // default: 10, max 250\n group_by?: string | string[];\n group_limit?: number; // default:\n group_missing_values?: boolean;\n include_fields?: string | string[];\n exclude_fields?: string | string[];\n highlight_fields?: string | string[]; // default: all queried fields\n highlight_full_fields?: string | string[]; // default: all fields\n highlight_affix_num_tokens?: number; // default: 4\n highlight_start_tag?: string; // default: \n highlight_end_tag?: string; // default: \n enable_highlight_v1?: boolean;\n snippet_threshold?: number; // default: 30\n num_typos?: string | number | number[]; // default: 2\n min_len_1typo?: number;\n min_len_2typo?: number;\n split_join_tokens?: OperationMode;\n exhaustive_search?: boolean;\n drop_tokens_threshold?: number; // default: 10\n typo_tokens_threshold?: number; // default: 100\n pinned_hits?: string | string[];\n hidden_hits?: string | string[];\n limit_hits?: number; // default: no limit\n pre_segmented_query?: boolean;\n enable_overrides?: boolean;\n prioritize_exact_match?: boolean; // default: true\n prioritize_token_position?: boolean;\n prioritize_num_matching_fields?: boolean;\n search_cutoff_ms?: number;\n use_cache?: boolean;\n max_candidates?: number;\n infix?: OperationMode | OperationMode[];\n preset?: string;\n text_match_type?: \"max_score\" | \"max_weight\";\n vector_query?: string;\n \"x-typesense-api-key\"?: string;\n \"x-typesense-user-id\"?: string;\n offset?: number;\n limit?: number;\n stopwords?: string;\n conversation?: boolean;\n conversation_model_id?: string;\n conversation_id?: string;\n voice_query?: string;\n}\n\ntype SearchResponseHighlightObject = {\n matched_tokens?: string[];\n snippet?: string;\n value?: string;\n};\n\nexport type SearchResponseHighlight = T extends string | number\n ? SearchResponseHighlightObject\n : {\n [TAttribute in keyof T]?: SearchResponseHighlight;\n };\n\nexport interface SearchResponseHit {\n curated?: true;\n highlights?: [\n {\n field: keyof T;\n snippet?: string;\n value?: string;\n snippets?: string[];\n indices?: number[];\n matched_tokens: string[][] | string[];\n },\n ];\n highlight: SearchResponseHighlight;\n document: T;\n text_match: number;\n text_match_info?: {\n best_field_score: string; // To prevent scores from being truncated by JSON spec\n best_field_weight: number;\n fields_matched: number;\n score: string; // To prevent scores from being truncated by JSON spec\n tokens_matched: number;\n };\n}\n\nexport interface SearchResponseFacetCountSchema {\n counts: {\n count: number;\n highlighted: string;\n value: string;\n }[];\n field_name: keyof T;\n stats: {\n avg?: number;\n max?: number;\n min?: number;\n sum?: number;\n };\n}\n\nexport interface SearchResponseRequestParams {\n collection_name?: string;\n q?: string;\n page?: number;\n per_page?: number;\n first_q?: string;\n voice_query?: {\n transcribed_query?: string;\n };\n}\n\n// Todo: we could infer whether this is a grouped response by adding the search params as a generic\nexport interface SearchResponse {\n facet_counts?: SearchResponseFacetCountSchema[];\n found: number;\n found_docs?: number;\n out_of: number;\n page: number;\n request_params: SearchResponseRequestParams;\n search_time_ms: number;\n search_cutoff?: boolean;\n hits?: SearchResponseHit[];\n grouped_hits?: {\n group_key: string[];\n hits: SearchResponseHit[];\n found?: number;\n }[];\n conversation?: {\n answer: string;\n conversation_history: {\n conversation: object[];\n id: string;\n last_updated: number;\n ttl: number;\n };\n conversation_id: string;\n query: string;\n };\n error?: string;\n code?: number;\n}\n\nexport interface DocumentWriteParameters {\n dirty_values?: \"coerce_or_reject\" | \"coerce_or_drop\" | \"drop\" | \"reject\";\n action?: \"create\" | \"update\" | \"upsert\" | \"emplace\";\n}\n\nexport interface UpdateByFilterParameters {\n filter_by?: string;\n}\n\nexport interface UpdateByFilterResponse {\n num_updated: number;\n}\n\nexport interface DocumentImportParameters extends DocumentWriteParameters {\n batch_size?: number;\n return_doc?: boolean;\n return_id?: boolean;\n}\n\nexport interface DocumentsExportParameters {\n filter_by?: string;\n include_fields?: string;\n exclude_fields?: string;\n}\n\nexport interface SearchableDocuments {\n search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n options: SearchOptions,\n ): Promise>;\n clearCache(): void;\n}\n\nexport interface WriteableDocuments {\n create(document: T, options: DocumentWriteParameters): Promise;\n upsert(document: T, options: DocumentWriteParameters): Promise;\n update(document: T, options: DocumentWriteParameters): Promise;\n delete(query: DeleteQuery): Promise;\n import(\n documents: T[] | string,\n options: DocumentWriteParameters,\n ): Promise;\n export(options: DocumentsExportParameters): Promise;\n}\n\nexport interface SearchOptions {\n cacheSearchResultsForSeconds?: number;\n abortSignal?: AbortSignal | null;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class Documents\n extends SearchOnlyDocuments\n implements WriteableDocuments\n{\n constructor(\n collectionName: string,\n apiCall: ApiCall,\n configuration: Configuration,\n ) {\n super(collectionName, apiCall, configuration);\n }\n\n async create(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(this.endpointPath(), document, options);\n }\n\n async upsert(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"upsert\" }),\n );\n }\n\n async update(\n document: T,\n options: UpdateByFilterParameters,\n ): Promise;\n async update(document: T, options: DocumentWriteParameters): Promise;\n async update(\n document: T,\n options: DocumentWriteParameters | UpdateByFilterParameters = {},\n ): Promise {\n if (!document) throw new Error(\"No document provided\");\n\n if (options[\"filter_by\"] != null) {\n return this.apiCall.patch(\n this.endpointPath(),\n document,\n Object.assign({}, options),\n );\n } else {\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"update\" }),\n );\n }\n }\n\n async delete(\n query: DeleteQuery = {} as DeleteQuery,\n ): Promise {\n return this.apiCall.delete(this.endpointPath(), query);\n }\n\n async createMany(documents: T[], options: DocumentImportParameters = {}) {\n this.configuration.logger.warn(\n \"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 );\n return this.import(documents, options);\n }\n\n /**\n * Import a set of documents in a batch.\n * @param {string|Array} documents - Can be a JSONL string of documents or an array of document objects.\n * @param options\n * @return {string|Array} Returns a JSONL string if the input was a JSONL string, otherwise it returns an array of results.\n */\n async import(\n documents: string,\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[],\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[] | string,\n options: DocumentImportParameters = {},\n ): Promise {\n let documentsInJSONLFormat;\n if (Array.isArray(documents)) {\n try {\n documentsInJSONLFormat = documents\n .map((document) => JSON.stringify(document))\n .join(\"\\n\");\n } catch (error: any) {\n // if rangeerror, throw custom error message\n if (\n error instanceof RangeError &&\n error.message.includes(\"Too many properties to enumerate\")\n ) {\n throw new Error(`${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\n // else, throw the non-range error anyways\n throw new Error(error);\n }\n } else {\n documentsInJSONLFormat = documents;\n }\n\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n if (Array.isArray(documents)) {\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter(\n (r) => r.success === false,\n );\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n } else {\n return resultsInJSONLFormat as string;\n }\n }\n /**\n * Imports documents from a NodeJS readable stream of JSONL.\n */\n async importStream(\n readableStream: ReadStream,\n options: DocumentImportParameters = {},\n ): Promise {\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\n queryParameters: options,\n bodyParameters: readableStream,\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter((r) => r.success === false);\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n }\n\n /**\n * Returns a JSONL string for all the documents in this collection\n */\n async export(options: DocumentsExportParameters = {}): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options);\n }\n\n /**\n * Returns a NodeJS readable stream of JSONL for all the documents in this collection.\n */\n async exportStream(\n options: DocumentsExportParameters = {},\n ): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options, {\n responseType: \"stream\",\n });\n }\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class HTTPError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\nimport { ImportResponse } from \"../Documents\";\n\nexport default class ImportError extends TypesenseError {\n importResults: ImportResponse[];\n constructor(message: string, importResults: ImportResponse[]) {\n super(message);\n this.importResults = importResults;\n }\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class MissingConfigurationError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectAlreadyExists extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectNotFound extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectUnprocessable extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestMalformed extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestUnauthorized extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ServerError extends TypesenseError {}\n","export default class TypesenseError extends Error {\n httpStatus?: number;\n\n // Source: https://stackoverflow.com/a/58417721/123545\n constructor(message?: string) {\n super(message);\n this.name = new.target.name;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n","import HTTPError from \"./HTTPError\";\nimport MissingConfigurationError from \"./MissingConfigurationError\";\nimport ObjectAlreadyExists from \"./ObjectAlreadyExists\";\nimport ObjectNotFound from \"./ObjectNotFound\";\nimport ObjectUnprocessable from \"./ObjectUnprocessable\";\nimport RequestMalformed from \"./RequestMalformed\";\nimport RequestUnauthorized from \"./RequestUnauthorized\";\nimport ServerError from \"./ServerError\";\nimport ImportError from \"./ImportError\";\nimport TypesenseError from \"./TypesenseError\";\n\nexport {\n HTTPError,\n MissingConfigurationError,\n ObjectAlreadyExists,\n ObjectNotFound,\n ObjectUnprocessable,\n RequestMalformed,\n RequestUnauthorized,\n ServerError,\n TypesenseError,\n ImportError,\n};\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/health\";\n\nexport interface HealthResponse {\n ok: boolean;\n}\n\nexport default class Health {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\r\nimport Keys from \"./Keys\";\r\n\r\nexport interface KeyCreateSchema {\r\n actions: string[];\r\n collections: string[];\r\n description?: string;\r\n value?: string;\r\n value_prefix?: string;\r\n expires_at?: number;\r\n}\r\n\r\nexport interface KeyDeleteSchema {\r\n id: number;\r\n}\r\n\r\nexport interface KeySchema extends KeyCreateSchema {\r\n id: number;\r\n}\r\n\r\nexport default class Key {\r\n constructor(private id: number, private apiCall: ApiCall) {}\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(this.endpointPath());\r\n }\r\n\r\n async delete(): Promise {\r\n return this.apiCall.delete(this.endpointPath());\r\n }\r\n\r\n private endpointPath(): string {\r\n return `${Keys.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\r\n }\r\n}\r\n","import { createHmac } from \"crypto\";\r\nimport ApiCall from \"./ApiCall\";\r\nimport { KeyCreateSchema, KeySchema } from \"./Key\";\r\nimport { SearchParams } from \"./Documents\";\r\n\r\nconst RESOURCEPATH = \"/keys\";\r\n\r\nexport interface KeysRetrieveSchema {\r\n keys: KeySchema[];\r\n}\r\n\r\nexport interface GenerateScopedSearchKeyParams extends Partial {\r\n expires_at?: number;\r\n cache_ttl?: number;\r\n limit_multi_searches?: number;\r\n}\r\n\r\nexport default class Keys {\r\n constructor(private apiCall: ApiCall) {\r\n this.apiCall = apiCall;\r\n }\r\n\r\n async create(params: KeyCreateSchema): Promise {\r\n return this.apiCall.post(Keys.RESOURCEPATH, params);\r\n }\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(RESOURCEPATH);\r\n }\r\n\r\n generateScopedSearchKey(\r\n searchKey: string,\r\n parameters: GenerateScopedSearchKeyParams\r\n ): string {\r\n // Note: only a key generated with the `documents:search` action will be\r\n // accepted by the server, when usined with the search endpoint.\r\n const paramsJSON = JSON.stringify(parameters);\r\n const digest = Buffer.from(\r\n createHmac(\"sha256\", searchKey).update(paramsJSON).digest(\"base64\")\r\n );\r\n const keyPrefix = searchKey.substr(0, 4);\r\n const rawScopedKey = `${digest}${keyPrefix}${paramsJSON}`;\r\n\r\n return Buffer.from(rawScopedKey).toString(\"base64\");\r\n }\r\n\r\n static get RESOURCEPATH() {\r\n return RESOURCEPATH;\r\n }\r\n}\r\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/metrics.json\";\n\nexport interface MetricsResponse {\n [key: `system_cpu${number}_active_percentage`]: string;\n system_cpu_active_percentage: string;\n system_disk_total_bytes: string;\n system_disk_used_bytes: string;\n system_memory_total_bytes: string;\n system_memory_total_swap_bytes?: string;\n system_memory_used_bytes: string;\n system_memory_used_swap_bytes?: string;\n system_network_received_bytes: string;\n system_network_sent_bytes: string;\n typesense_memory_active_bytes: string;\n typesense_memory_allocated_bytes: string;\n typesense_memory_fragmentation_ratio: string;\n typesense_memory_mapped_bytes: string;\n typesense_memory_metadata_bytes: string;\n typesense_memory_resident_bytes: string;\n typesense_memory_retained_bytes: string;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\r\nimport Configuration from \"./Configuration\";\r\nimport RequestWithCache from \"./RequestWithCache\";\r\nimport {\r\n DocumentSchema,\r\n SearchParams,\r\n SearchParamsWithPreset,\r\n SearchResponse,\r\n} from \"./Documents\";\r\n\r\nconst RESOURCEPATH = \"/multi_search\";\r\n\r\nexport interface MultiSearchRequestSchema extends SearchParams {\r\n collection?: string;\r\n \"x-typesense-api-key\"?: string;\r\n}\r\n\r\nexport interface MultiSearchRequestWithPresetSchema\r\n extends SearchParamsWithPreset {\r\n collection?: string;\r\n \"x-typesense-api-key\"?: string;\r\n}\r\n\r\nexport interface MultiSearchRequestsSchema {\r\n searches: (MultiSearchRequestSchema | MultiSearchRequestWithPresetSchema)[];\r\n}\r\n\r\nexport interface MultiSearchResponse {\r\n results: { [Index in keyof T]: SearchResponse } & {\r\n length: T[\"length\"];\r\n };\r\n}\r\n\r\nexport default class MultiSearch {\r\n private requestWithCache: RequestWithCache;\r\n\r\n constructor(\r\n private apiCall: ApiCall,\r\n private configuration: Configuration,\r\n private useTextContentType: boolean = false\r\n ) {\r\n this.requestWithCache = new RequestWithCache();\r\n }\r\n\r\n clearCache() {\r\n this.requestWithCache.clearCache();\r\n }\r\n\r\n async perform(\r\n searchRequests: MultiSearchRequestsSchema,\r\n commonParams: Partial = {},\r\n {\r\n cacheSearchResultsForSeconds = this.configuration\r\n .cacheSearchResultsForSeconds,\r\n }: { cacheSearchResultsForSeconds?: number } = {}\r\n ): Promise> {\r\n const additionalHeaders = {};\r\n if (this.useTextContentType) {\r\n additionalHeaders[\"content-type\"] = \"text/plain\";\r\n }\r\n\r\n const additionalQueryParams = {};\r\n if (this.configuration.useServerSideSearchCache === true) {\r\n additionalQueryParams[\"use_cache\"] = true;\r\n }\r\n const queryParams = Object.assign({}, commonParams, additionalQueryParams);\r\n\r\n return this.requestWithCache.perform(\r\n this.apiCall,\r\n this.apiCall.post,\r\n [RESOURCEPATH, searchRequests, queryParams, additionalHeaders],\r\n { cacheResponseForSeconds: cacheSearchResultsForSeconds }\r\n ) as Promise>;\r\n }\r\n}\r\n","import ApiCall from \"./ApiCall\";\r\n\r\nconst RESOURCEPATH = \"/operations\";\r\n\r\nexport default class Operations {\r\n constructor(private apiCall: ApiCall) {}\r\n\r\n async perform(\r\n operationName: \"vote\" | \"snapshot\" | \"cache/clear\" | string,\r\n queryParameters: Record = {}\r\n ): Promise {\r\n return this.apiCall.post(\r\n `${RESOURCEPATH}/${operationName}`,\r\n {},\r\n queryParameters\r\n );\r\n }\r\n}\r\n","import ApiCall from \"./ApiCall\";\r\nimport Collections from \"./Collections\";\r\nimport Overrides, { OverrideCreateSchema } from \"./Overrides\";\r\n\r\nexport interface OverrideSchema extends OverrideCreateSchema {\r\n id: string;\r\n}\r\n\r\nexport interface OverrideDeleteSchema {\r\n id: string;\r\n}\r\n\r\nexport default class Override {\r\n constructor(\r\n private collectionName: string,\r\n private overrideId: string,\r\n private apiCall: ApiCall\r\n ) {}\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(this.endpointPath());\r\n }\r\n\r\n async delete(): Promise {\r\n return this.apiCall.delete(this.endpointPath());\r\n }\r\n\r\n private endpointPath(): string {\r\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Overrides.RESOURCEPATH}/${encodeURIComponent(this.overrideId)}`;\r\n }\r\n}\r\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { OverrideSchema } from \"./Override\";\n\nconst RESOURCEPATH = \"/overrides\";\n\nexport interface OverrideRuleQuerySchema {\n query?: string;\n match?: \"exact\" | \"contains\";\n}\n\nexport interface OverrideRuleFilterSchema {\n filter_by?: string;\n}\n\nexport interface OverrideRuleTagsSchema {\n tags?: string[];\n}\n\nexport interface OverrideCreateSchema {\n rule: OverrideRuleQuerySchema &\n OverrideRuleFilterSchema &\n OverrideRuleTagsSchema;\n filter_by?: string;\n sort_by?: string;\n remove_matched_tokens?: boolean;\n replace_query?: string;\n includes?: Array<{\n id: string;\n position: number;\n }>;\n excludes?: Array<{ id: string }>;\n filter_curated_hits?: boolean;\n effective_from_ts?: number;\n effective_to_ts?: number;\n stop_processing?: boolean;\n metadata?: object;\n}\n\nexport interface OverridesRetrieveSchema {\n overrides: OverrideSchema[];\n}\n\nexport default class Overrides {\n constructor(\n private collectionName: string,\n private apiCall: ApiCall,\n ) {}\n\n async upsert(\n overrideId: string,\n params: OverrideCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(overrideId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${\n Overrides.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\r\nimport Presets, { PresetCreateSchema } from \"./Presets\";\r\n\r\nexport interface PresetSchema extends PresetCreateSchema {\r\n name: string;\r\n}\r\n\r\nexport interface PresetDeleteSchema {\r\n name: string;\r\n}\r\n\r\nexport default class Preset {\r\n constructor(private presetId: string, private apiCall: ApiCall) {}\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(this.endpointPath());\r\n }\r\n\r\n async delete(): Promise {\r\n return this.apiCall.delete(this.endpointPath());\r\n }\r\n\r\n private endpointPath(): string {\r\n return `${Presets.RESOURCEPATH}/${encodeURIComponent(this.presetId)}`;\r\n }\r\n}\r\n","import ApiCall from \"./ApiCall\";\r\nimport { PresetSchema } from \"./Preset\";\r\nimport { SearchParams } from \"./Documents\";\r\nimport { MultiSearchRequestsSchema } from \"./MultiSearch\";\r\n\r\nconst RESOURCEPATH = \"/presets\";\r\n\r\nexport interface PresetCreateSchema {\r\n value: SearchParams | MultiSearchRequestsSchema;\r\n}\r\n\r\nexport interface PresetsRetrieveSchema {\r\n presets: PresetSchema[];\r\n}\r\n\r\nexport default class Presets {\r\n constructor(private apiCall: ApiCall) {}\r\n\r\n async upsert(\r\n presetId: string,\r\n params: PresetCreateSchema\r\n ): Promise {\r\n return this.apiCall.put(this.endpointPath(presetId), params);\r\n }\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(this.endpointPath());\r\n }\r\n\r\n private endpointPath(operation?: string): string {\r\n return `${Presets.RESOURCEPATH}${\r\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\r\n }`;\r\n }\r\n\r\n static get RESOURCEPATH(): string {\r\n return RESOURCEPATH;\r\n }\r\n}\r\n","const defaultCacheResponseForSeconds = 2 * 60;\r\nconst defaultMaxSize = 100;\r\n\r\nexport default class RequestWithCache {\r\n private responseCache: Map = new Map();\r\n private responsePromiseCache: Map = new Map();\r\n\r\n clearCache() {\r\n this.responseCache = new Map();\r\n this.responsePromiseCache = new Map();\r\n }\r\n\r\n // Todo: should probably be passed a callback instead, or an apiCall instance. Types are messy this way\r\n async perform(\r\n requestContext: any,\r\n requestFunction: (...params: any) => unknown,\r\n requestFunctionArguments: any[],\r\n cacheOptions: CacheOptions\r\n ): Promise {\r\n const {\r\n cacheResponseForSeconds = defaultCacheResponseForSeconds,\r\n maxSize = defaultMaxSize,\r\n } = cacheOptions;\r\n const isCacheDisabled = cacheResponseForSeconds <= 0 || maxSize <= 0;\r\n\r\n if (isCacheDisabled) {\r\n return requestFunction.call(requestContext, ...requestFunctionArguments);\r\n }\r\n\r\n const requestFunctionArgumentsJSON = JSON.stringify(\r\n requestFunctionArguments\r\n );\r\n const cacheEntry = this.responseCache.get(requestFunctionArgumentsJSON);\r\n const now = Date.now();\r\n\r\n if (cacheEntry) {\r\n const isEntryValid =\r\n now - cacheEntry.requestTimestamp < cacheResponseForSeconds * 1000;\r\n if (isEntryValid) {\r\n this.responseCache.delete(requestFunctionArgumentsJSON);\r\n this.responseCache.set(requestFunctionArgumentsJSON, cacheEntry);\r\n return Promise.resolve(cacheEntry.response);\r\n } else {\r\n this.responseCache.delete(requestFunctionArgumentsJSON);\r\n }\r\n }\r\n\r\n const cachePromiseEntry = this.responsePromiseCache.get(\r\n requestFunctionArgumentsJSON\r\n );\r\n\r\n if (cachePromiseEntry) {\r\n const isEntryValid =\r\n now - cachePromiseEntry.requestTimestamp <\r\n cacheResponseForSeconds * 1000;\r\n if (isEntryValid) {\r\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\r\n this.responsePromiseCache.set(\r\n requestFunctionArgumentsJSON,\r\n cachePromiseEntry\r\n );\r\n return cachePromiseEntry.responsePromise;\r\n } else {\r\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\r\n }\r\n }\r\n\r\n const responsePromise = requestFunction.call(\r\n requestContext,\r\n ...requestFunctionArguments\r\n );\r\n this.responsePromiseCache.set(requestFunctionArgumentsJSON, {\r\n requestTimestamp: now,\r\n responsePromise,\r\n });\r\n\r\n const response = await responsePromise;\r\n this.responseCache.set(requestFunctionArgumentsJSON, {\r\n requestTimestamp: now,\r\n response,\r\n });\r\n\r\n const isCacheOverMaxSize = this.responseCache.size > maxSize;\r\n if (isCacheOverMaxSize) {\r\n const oldestEntry = this.responseCache.keys().next().value;\r\n this.responseCache.delete(oldestEntry);\r\n }\r\n const isResponsePromiseCacheOverMaxSize =\r\n this.responsePromiseCache.size > maxSize;\r\n if (isResponsePromiseCacheOverMaxSize) {\r\n const oldestEntry = this.responsePromiseCache.keys().next().value;\r\n this.responsePromiseCache.delete(oldestEntry);\r\n }\r\n return response as T;\r\n }\r\n}\r\n\r\ninterface CacheOptions {\r\n cacheResponseForSeconds?: number;\r\n maxSize?: number;\r\n}\r\n","import Configuration, { ConfigurationOptions } from \"./Configuration\";\r\nimport ApiCall from \"./ApiCall\";\r\nimport MultiSearch from \"./MultiSearch\";\r\nimport { DocumentSchema } from \"./Documents\";\r\nimport { SearchOnlyCollection } from \"./SearchOnlyCollection\";\r\n\r\nexport default class SearchClient {\r\n public readonly multiSearch: MultiSearch;\r\n private readonly configuration: Configuration;\r\n private readonly apiCall: ApiCall;\r\n private readonly individualCollections: Record;\r\n\r\n constructor(options: ConfigurationOptions) {\r\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? true;\r\n if (\r\n options.sendApiKeyAsQueryParam === true &&\r\n (options.apiKey || \"\").length > 2000\r\n ) {\r\n console.warn(\r\n \"[typesense] API Key is longer than 2000 characters which is over the allowed limit, so disabling sending it as a query parameter.\"\r\n );\r\n options.sendApiKeyAsQueryParam = false;\r\n }\r\n\r\n this.configuration = new Configuration(options);\r\n this.apiCall = new ApiCall(this.configuration);\r\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration, true);\r\n this.individualCollections = {};\r\n }\r\n\r\n clearCache() {\r\n this.multiSearch.clearCache();\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n Object.entries(this.individualCollections).forEach(([_, collection]) => {\r\n collection.documents().clearCache();\r\n });\r\n }\r\n\r\n collections(\r\n collectionName: string\r\n ): SearchOnlyCollection | SearchOnlyCollection {\r\n if (!collectionName) {\r\n throw new Error(\r\n \"Typesense.SearchClient only supports search operations, so the collectionName that needs to \" +\r\n \"be searched must be specified. Use Typesense.Client if you need to access the collection object.\"\r\n );\r\n } else {\r\n if (this.individualCollections[collectionName] === undefined) {\r\n this.individualCollections[collectionName] = new SearchOnlyCollection(\r\n collectionName,\r\n this.apiCall,\r\n this.configuration\r\n );\r\n }\r\n return this.individualCollections[collectionName];\r\n }\r\n }\r\n}\r\n","import { DocumentSchema, SearchableDocuments } from \"./Documents\";\r\nimport ApiCall from \"./ApiCall\";\r\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\r\n\r\nexport class SearchOnlyCollection {\r\n private readonly _documents: SearchableDocuments;\r\n\r\n constructor(\r\n private readonly name: string,\r\n private readonly apiCall: ApiCall,\r\n private readonly configuration: any\r\n ) {\r\n this._documents = new SearchOnlyDocuments(\r\n this.name,\r\n this.apiCall,\r\n this.configuration\r\n );\r\n }\r\n\r\n documents(): SearchableDocuments {\r\n return this._documents;\r\n }\r\n}\r\n","import RequestWithCache from \"./RequestWithCache\";\r\nimport ApiCall from \"./ApiCall\";\r\nimport Configuration from \"./Configuration\";\r\nimport Collections from \"./Collections\";\r\nimport type {\r\n DocumentSchema,\r\n SearchableDocuments,\r\n SearchOptions,\r\n SearchParams,\r\n SearchParamsWithPreset,\r\n SearchResponse,\r\n} from \"./Documents\";\r\n\r\nconst RESOURCEPATH = \"/documents\";\r\n\r\nexport class SearchOnlyDocuments\r\n implements SearchableDocuments\r\n{\r\n protected requestWithCache: RequestWithCache = new RequestWithCache();\r\n\r\n constructor(\r\n protected collectionName: string,\r\n protected apiCall: ApiCall,\r\n protected configuration: Configuration\r\n ) {}\r\n\r\n clearCache() {\r\n this.requestWithCache.clearCache();\r\n }\r\n\r\n async search(\r\n searchParameters: SearchParams | SearchParamsWithPreset,\r\n {\r\n cacheSearchResultsForSeconds = this.configuration\r\n .cacheSearchResultsForSeconds,\r\n abortSignal = null,\r\n }: SearchOptions = {}\r\n ): Promise> {\r\n const additionalQueryParams = {};\r\n if (this.configuration.useServerSideSearchCache === true) {\r\n additionalQueryParams[\"use_cache\"] = true;\r\n }\r\n for (const key in searchParameters) {\r\n if (Array.isArray(searchParameters[key])) {\r\n additionalQueryParams[key] = searchParameters[key].join(\",\");\r\n }\r\n }\r\n const queryParams = Object.assign(\r\n {},\r\n searchParameters,\r\n additionalQueryParams\r\n );\r\n\r\n return this.requestWithCache.perform(\r\n this.apiCall,\r\n this.apiCall.get,\r\n [this.endpointPath(\"search\"), queryParams, { abortSignal }],\r\n {\r\n cacheResponseForSeconds: cacheSearchResultsForSeconds,\r\n }\r\n ) as Promise>;\r\n }\r\n\r\n protected endpointPath(operation?: string) {\r\n return `${Collections.RESOURCEPATH}/${this.collectionName}${RESOURCEPATH}${\r\n operation === undefined ? \"\" : \"/\" + operation\r\n }`;\r\n }\r\n\r\n static get RESOURCEPATH() {\r\n return RESOURCEPATH;\r\n }\r\n}\r\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/stats.json\";\n\nexport interface EndpointStats {\n [endpoint: string]: number;\n}\n\nexport interface StatsResponse {\n delete_latency_ms?: number;\n delete_requests_per_second?: number;\n import_latency_ms?: number;\n import_requests_per_second?: number;\n latency_ms?: EndpointStats;\n overloaded_requests_per_second?: number;\n pending_write_batches?: number;\n requests_per_second?: EndpointStats;\n search_latency_ms?: number;\n search_requests_per_second?: number;\n total_requests_per_second?: number;\n write_latency_ms?: number;\n write_requests_per_second?: number;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Stopwords, { StopwordCreateSchema } from \"./Stopwords\";\n\nexport interface StopwordSchema extends StopwordCreateSchema {\n id: string;\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordDeleteSchema {\n id: string;\n}\n\nexport default class Stopword {\n constructor(\n private stopwordId: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Stopwords.RESOURCEPATH}/${encodeURIComponent(this.stopwordId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { StopwordSchema } from \"./Stopword\";\n\nconst RESOURCEPATH = \"/stopwords\";\n\nexport interface StopwordCreateSchema {\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordsRetrieveSchema {\n stopwords: StopwordSchema[];\n}\n\nexport default class Stopwords {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n stopwordId: string,\n params: StopwordCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(stopwordId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Stopwords.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\r\nimport Collections from \"./Collections\";\r\nimport Synonyms, { SynonymCreateSchema } from \"./Synonyms\";\r\n\r\nexport interface SynonymSchema extends SynonymCreateSchema {\r\n id: string;\r\n}\r\n\r\nexport interface SynonymDeleteSchema {\r\n id: string;\r\n}\r\n\r\nexport default class Synonym {\r\n constructor(\r\n private collectionName: string,\r\n private synonymId: string,\r\n private apiCall: ApiCall\r\n ) {}\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(this.endpointPath());\r\n }\r\n\r\n async delete(): Promise {\r\n return this.apiCall.delete(this.endpointPath());\r\n }\r\n\r\n private endpointPath(): string {\r\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Synonyms.RESOURCEPATH}/${encodeURIComponent(this.synonymId)}`;\r\n }\r\n}\r\n","import ApiCall from \"./ApiCall\";\r\nimport Collections from \"./Collections\";\r\nimport { SynonymSchema } from \"./Synonym\";\r\n\r\nconst RESOURCEPATH = \"/synonyms\";\r\n\r\nexport interface SynonymCreateSchema {\r\n synonyms: string[];\r\n root?: string;\r\n locale?: string;\r\n symbols_to_index?: string[];\r\n}\r\n\r\nexport interface SynonymsRetrieveSchema {\r\n synonyms: SynonymSchema[];\r\n}\r\n\r\nexport default class Synonyms {\r\n constructor(private collectionName: string, private apiCall: ApiCall) {}\r\n\r\n async upsert(\r\n synonymId: string,\r\n params: SynonymCreateSchema\r\n ): Promise {\r\n return this.apiCall.put(\r\n this.endpointPath(synonymId),\r\n params\r\n );\r\n }\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(this.endpointPath());\r\n }\r\n\r\n private endpointPath(operation?: string) {\r\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${\r\n Synonyms.RESOURCEPATH\r\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\r\n }\r\n\r\n static get RESOURCEPATH(): string {\r\n return RESOURCEPATH;\r\n }\r\n}\r\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 var _loggersByName = {};\n var defaultLogger = null;\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() {\n /*jshint validthis:true */\n var level = this.getLevel();\n\n // Replace the actual methods.\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, this.name);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n\n // Return any important warnings.\n if (typeof console === undefinedType && level < this.levels.SILENT) {\n return \"No console available for logging\";\n }\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) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this);\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, factory) {\n // Private instance variables.\n var self = this;\n /**\n * The level inherited from a parent logger (or a global default). We\n * cache this here rather than delegating to the parent so that it stays\n * in sync with the actual logging methods that we have installed (the\n * parent could change levels but we might not have rebuilt the loggers\n * in this child yet).\n * @type {number}\n */\n var inheritedLevel;\n /**\n * The default level for this logger, if any. If set, this overrides\n * `inheritedLevel`.\n * @type {number|null}\n */\n var defaultLevel;\n /**\n * A user-specific level for this logger. If set, this overrides\n * `defaultLevel`.\n * @type {number|null}\n */\n var userLevel;\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 cookieName = encodeURIComponent(storageKey);\n var location = cookie.indexOf(cookieName + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(\n cookie.slice(location + cookieName.length + 1)\n )[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 } 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 function normalizeLevel(input) {\n var level = input;\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 return level;\n } else {\n throw new TypeError(\"log.setLevel() called with invalid level: \" + input);\n }\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 if (userLevel != null) {\n return userLevel;\n } else if (defaultLevel != null) {\n return defaultLevel;\n } else {\n return inheritedLevel;\n }\n };\n\n self.setLevel = function (level, persist) {\n userLevel = normalizeLevel(level);\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(userLevel);\n }\n\n // NOTE: in v2, this should call rebuild(), which updates children.\n return replaceLoggingMethods.call(self);\n };\n\n self.setDefaultLevel = function (level) {\n defaultLevel = normalizeLevel(level);\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.resetLevel = function () {\n userLevel = null;\n clearPersistedLevel();\n replaceLoggingMethods.call(self);\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 self.rebuild = function () {\n if (defaultLogger !== self) {\n inheritedLevel = normalizeLevel(defaultLogger.getLevel());\n }\n replaceLoggingMethods.call(self);\n\n if (defaultLogger === self) {\n for (var childName in _loggersByName) {\n _loggersByName[childName].rebuild();\n }\n }\n };\n\n // Initialize all the internal levels.\n inheritedLevel = normalizeLevel(\n defaultLogger ? defaultLogger.getLevel() : \"WARN\"\n );\n var initialLevel = getPersistedLevel();\n if (initialLevel != null) {\n userLevel = normalizeLevel(initialLevel);\n }\n replaceLoggingMethods.call(self);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n defaultLogger = new Logger();\n\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,\n defaultLogger.methodFactory\n );\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","/* (ignored) */","/* (ignored) */","/* (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 e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw new Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\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}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\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 setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\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 _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _isNativeFunction(fn) {\n try {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n } catch (e) {\n return typeof fn === \"function\";\n }\n}","export default function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\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(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\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 _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\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(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\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 getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport progressEventReducer from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst fetchProgressDecorator = (total, fn) => {\n const lengthComputable = total != null;\n return (loaded) => setTimeout(() => fn({\n lengthComputable,\n total,\n loaded\n }));\n}\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst supportsRequestStream = isReadableStreamSupported && (() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n})();\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported && !!(()=> {\n try {\n return utils.isReadableStream(new Response('').body);\n } catch(err) {\n // return undefined\n }\n})();\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n return (await new Request(body).arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ?\n composeSignals([signal, cancelToken], timeout) : [];\n\n let finished, request;\n\n const onFinish = () => {\n !finished && setTimeout(() => {\n composedSignal && composedSignal.unsubscribe();\n });\n\n finished = true;\n }\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, fetchProgressDecorator(\n requestContentLength,\n progressEventReducer(onUploadProgress)\n ), null, encodeText);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'cors' : 'omit';\n }\n\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n withCredentials\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onDownloadProgress && fetchProgressDecorator(\n responseContentLength,\n progressEventReducer(onDownloadProgress, true)\n ), isStreamResponse && onFinish, encodeText),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && onFinish();\n\n stopTimeout && stopTimeout();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n onFinish();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport progressEventReducer from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType} = _config;\n let 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 let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, 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 const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n 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(new AxiosError('Request aborted', AxiosError.ECONNABORTED, _config, 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(new AxiosError('Network Error', AxiosError.ERR_NETWORK, _config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n _config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\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', progressEventReducer(_config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof _config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(_config.onUploadProgress));\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : 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 const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\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\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(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, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n 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\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const 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 */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(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 {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _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 const {transitional, paramsSerializer, headers} = config;\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 if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let 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 const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\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,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport utils from '../utils.js';\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 {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n 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: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\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 */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n 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 *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\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 *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\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 *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\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 *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(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 config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\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 config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\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 *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, 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(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const 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 withXSRFToken: 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 beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\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 *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\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\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\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 env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\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 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","export const VERSION = \"1.7.2\";","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\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 * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\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 *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst composeSignals = (signals, timeout) => {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (cancel) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = cancel instanceof Error ? cancel : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal &&\n (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort));\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = unsubscribe;\n\n return [signal, () => {\n timer && clearTimeout(timer);\n timer = null;\n }];\n}\n\nexport default composeSignals;\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default 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\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\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 const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let 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 const 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","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\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} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\n\nexport default (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n }, freq);\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\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\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\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 *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\n/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n const threshold = 1000 / freq;\n let timer = null;\n return function throttled() {\n const force = this === true;\n\n const now = Date.now();\n if (force || now - timestamp > threshold) {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n timestamp = now;\n return fn.apply(null, arguments);\n }\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n timestamp = Date.now();\n return fn.apply(null, arguments);\n }, threshold - (now - timestamp));\n }\n };\n}\n\nexport default throttle;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","\n\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize, encode) {\n for await (const chunk of iterable) {\n yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize);\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => {\n const iterator = readBytes(stream, chunkSize, encode);\n\n let bytes = 0;\n\n return new ReadableStream({\n type: 'bytes',\n\n async pull(controller) {\n const {done, value} = await iterator.next();\n\n if (done) {\n controller.close();\n onFinish();\n return;\n }\n\n let len = value.byteLength;\n onProgress && onProgress(bytes += len);\n controller.enqueue(new Uint8Array(value));\n },\n cancel(reason) {\n onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\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 *\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 (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\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 *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\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 *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = (\n (product) => {\n return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0\n })(typeof navigator !== 'undefined' && navigator.product);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\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 && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let 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 {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\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 *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\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 (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 const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\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 *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && 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 *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\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 *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\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))","// 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};","import Client from \"./Typesense/Client\";\nimport SearchClient from \"./Typesense/SearchClient\";\nimport * as Errors from \"./Typesense/Errors\";\n\nexport { Client, SearchClient, Errors };\nexport default { Client, SearchClient, Errors };\n"],"names":["Aliases","Alias","name","apiCall","_classCallCheck","_createClass","key","value","_retrieve","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","abrupt","get","endpointPath","stop","retrieve","apply","arguments","_delete2","_callee2","_callee2$","_context2","delete","_delete","concat","RESOURCEPATH","encodeURIComponent","default","_upsert","mapping","put","upsert","_x","_x2","aliasName","AnalyticsRules","AnalyticsRule","AnalyticsEvents","Analytics","_defineProperty","_analyticsRules","_analyticsEvents","rules","id","undefined","individualAnalyticsRules","events","_create","params","post","create","operation","axios","HTTPError","ObjectAlreadyExists","ObjectNotFound","ObjectUnprocessable","RequestMalformed","RequestUnauthorized","ServerError","TypesenseError","Agent","HTTPAgent","HTTPSAgent","APIKEYHEADERNAME","HEALTHY","UNHEALTHY","isNodeJSEnvironment","process","versions","node","ApiCall","configuration","apiKey","nodes","JSON","parse","stringify","nearestNode","connectionTimeoutSeconds","healthcheckIntervalSeconds","numRetriesPerRequest","numRetries","retryIntervalSeconds","sendApiKeyAsQueryParam","additionalUserHeaders","additionalHeaders","logger","initializeMetadataForNodes","currentNodeIndex","_get","endpoint","queryParameters","_ref","_ref$abortSignal","abortSignal","_ref$responseType","responseType","_args","length","performRequest","_args2","_post","_callee3","bodyParameters","_args3","_callee3$","_context3","_x3","_put","_callee4","_args4","_callee4$","_context4","_x4","_patch","_callee5","_args5","_callee5$","_context5","patch","_x5","_performRequest","_callee6","requestType","_ref2","_this","_ref2$queryParameters","_ref2$bodyParameters","_ref2$additionalHeade","_ref2$abortSignal","_ref2$responseType","_ref2$skipConnectionT","skipConnectionTimeout","_ref2$enableKeepAlive","enableKeepAlive","requestNumber","lastException","_loop","_ret","numTries","_callee6$","_context7","validate","Date","now","debug","toUpperCase","abortListener","requestOptions","cancelToken","source","response","_response$data","_response$data2","_error$response","_loop$","_context6","getNextNode","index","aborted","v","Promise","reject","Error","method","url","uriFor","headers","Object","assign","defaultHeaders","maxContentLength","Infinity","maxBodyLength","validateStatus","status","transformResponse","data","transformedData","startsWith","timeout","keys","httpAgent","warn","keepAlive","httpsAgent","paramsSerializer","_typeof","CancelToken","cancel","addEventListener","token","sent","setNodeHealthcheck","resolve","customErrorForResponse","message","t0","code","timer","removeEventListener","finish","delegateYield","_x6","_x7","_x8","isHealthy","nodeDueForHealthcheck","map","join","candidateNode","i","isDueForHealthcheck","lastAccessTimestamp","_this2","forEach","protocol","host","port","path","_timer","_callee7","seconds","_callee7$","_context8","setTimeout","_x9","messageFromServer","errorMessage","trim","error","httpStatus","Configuration","Collections","Collection","Keys","Key","Debug","Metrics","Stats","Health","Operations","MultiSearch","Presets","Preset","Stopwords","Stopword","Conversations","Conversation","Client","options","_options$sendApiKeyAs","metrics","stats","health","operations","multiSearch","_collections","individualCollections","_aliases","individualAliases","_keys","individualKeys","_presets","individualPresets","_stopwords","individualStopwords","analytics","_conversations","individualConversations","collections","collectionName","aliases","presets","stopwords","conversations","Documents","Overrides","Override","Synonyms","Synonym","Document","_documents","_overrides","_synonyms","_update","schema","update","_exists","exists","documents","documentId","individualDocuments","overrides","overrideId","individualOverrides","synonyms","synonymId","individualSynonyms","MissingConfigurationError","setDefaultPathInNode","setDefaultPortInNode","_objectSpread","randomizeNodes","shuffleArray","timeoutSeconds","cacheSearchResultsForSeconds","useServerSideSearchCache","logLevel","setLevel","showDeprecationWarnings","validateNodes","isNodeMissingAnyParameters","some","every","hasOwnProperty","masterNode","readReplicaNodes","array","j","Math","floor","random","ConversationModels","ConversationModel","_conversationsModels","models","individualConversationModels","partialDocument","ImportError","SearchOnlyDocuments","_inherits","_callSuper","document","action","query","_createMany","import","createMany","_import2","documentsInJSONLFormat","resultsInJSONLFormat","resultsInJSONFormat","failedItems","_args6","Array","isArray","RangeError","includes","split","r","filter","success","_import","_importStream","readableStream","_args7","importStream","_export2","_callee8","_args8","_callee8$","_export","_exportStream","_callee9","_args9","_callee9$","_context9","exportStream","_TypesenseError","importResults","_Error","constructor","setPrototypeOf","_assertThisInitialized","prototype","_wrapNativeSuper","createHmac","generateScopedSearchKey","searchKey","parameters","paramsJSON","digest","Buffer","from","keyPrefix","substr","rawScopedKey","toString","RequestWithCache","useTextContentType","requestWithCache","clearCache","_perform","searchRequests","commonParams","_ref$cacheSearchResul","additionalQueryParams","queryParams","perform","cacheResponseForSeconds","operationName","presetId","defaultCacheResponseForSeconds","defaultMaxSize","Map","responseCache","responsePromiseCache","requestContext","requestFunction","requestFunctionArguments","cacheOptions","_cacheOptions$cacheRe","_cacheOptions$maxSize","maxSize","isCacheDisabled","requestFunctionArgumentsJSON","cacheEntry","isEntryValid","cachePromiseEntry","_isEntryValid","responsePromise","isCacheOverMaxSize","oldestEntry","isResponsePromiseCacheOverMaxSize","_oldestEntry","call","_toConsumableArray","requestTimestamp","set","size","SearchOnlyCollection","SearchClient","console","entries","_slicedToArray","_","collection","_search","searchParameters","search","stopwordId","Errors"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/typesense.min.js b/dist/typesense.min.js index 89414525..a5aa6ded 100644 --- a/dist/typesense.min.js +++ b/dist/typesense.min.js @@ -1,3 +1,3 @@ /*! For license information please see typesense.min.js.LICENSE.txt */ -var Typesense;(()=>{var t={43:function(t,e,n){var r,o;!function(i,a){"use strict";r=function(){var t=function(){},e="undefined",n=typeof window!==e&&typeof window.navigator!==e&&/Trident\/|MSIE /.test(window.navigator.userAgent),r=["trace","debug","info","warn","error"],o={},i=null;function a(t,e){var n=t[e];if("function"==typeof n.bind)return n.bind(t);try{return Function.prototype.bind.call(n,t)}catch(e){return function(){return Function.prototype.apply.apply(n,[t,arguments])}}}function s(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function c(){for(var n=this.getLevel(),o=0;o=0&&e<=h.levels.SILENT)return e;throw new TypeError("log.setLevel() called with invalid level: "+t)}"string"==typeof t?p+=":"+t:"symbol"==typeof t&&(p=void 0),h.name=t,h.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},h.methodFactory=n||l,h.getLevel=function(){return null!=u?u:null!=s?s:a},h.setLevel=function(t,n){return u=d(t),!1!==n&&function(t){var n=(r[t]||"silent").toUpperCase();if(typeof window!==e&&p){try{return void(window.localStorage[p]=n)}catch(t){}try{window.document.cookie=encodeURIComponent(p)+"="+n+";"}catch(t){}}}(u),c.call(h)},h.setDefaultLevel=function(t){s=d(t),f()||h.setLevel(t,!1)},h.resetLevel=function(){u=null,function(){if(typeof window!==e&&p){try{window.localStorage.removeItem(p)}catch(t){}try{window.document.cookie=encodeURIComponent(p)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch(t){}}}(),c.call(h)},h.enableAll=function(t){h.setLevel(h.levels.TRACE,t)},h.disableAll=function(t){h.setLevel(h.levels.SILENT,t)},h.rebuild=function(){if(i!==h&&(a=d(i.getLevel())),c.call(h),i===h)for(var t in o)o[t].rebuild()},a=d(i?i.getLevel():"WARN");var y=f();null!=y&&(u=d(y)),c.call(h)}(i=new h).getLogger=function(t){if("symbol"!=typeof t&&"string"!=typeof t||""===t)throw new TypeError("You must supply a name when creating a logger.");var e=o[t];return e||(e=o[t]=new h(t,i.methodFactory)),e};var p=typeof window!==e?window.log:void 0;return i.noConflict=function(){return typeof window!==e&&window.log===i&&(window.log=p),i},i.getLoggers=function(){return o},i.default=i,i},void 0===(o=r.call(e,n,e,t))||(t.exports=o)}()},565:()=>{},337:()=>{},877:()=>{},61:(t,e,n)=>{var r=n(698).default;function o(){"use strict";t.exports=o=function(){return n},t.exports.__esModule=!0,t.exports.default=t.exports;var e,n={},i=Object.prototype,a=i.hasOwnProperty,s=Object.defineProperty||function(t,e,n){t[e]=n.value},c="function"==typeof Symbol?Symbol:{},u=c.iterator||"@@iterator",l=c.asyncIterator||"@@asyncIterator",h=c.toStringTag||"@@toStringTag";function p(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{p({},"")}catch(e){p=function(t,e,n){return t[e]=n}}function f(t,e,n,r){var o=e&&e.prototype instanceof b?e:b,i=Object.create(o.prototype),a=new U(r||[]);return s(i,"_invoke",{value:A(t,n,a)}),i}function d(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}n.wrap=f;var y="suspendedStart",v="suspendedYield",m="executing",g="completed",w={};function b(){}function C(){}function k(){}var R={};p(R,u,(function(){return this}));var E=Object.getPrototypeOf,S=E&&E(E(_([])));S&&S!==i&&a.call(S,u)&&(R=S);var O=k.prototype=b.prototype=Object.create(R);function P(t){["next","throw","return"].forEach((function(e){p(t,e,(function(t){return this._invoke(e,t)}))}))}function x(t,e){function n(o,i,s,c){var u=d(t[o],t,i);if("throw"!==u.type){var l=u.arg,h=l.value;return h&&"object"==r(h)&&a.call(h,"__await")?e.resolve(h.__await).then((function(t){n("next",t,s,c)}),(function(t){n("throw",t,s,c)})):e.resolve(h).then((function(t){l.value=t,s(l)}),(function(t){return n("throw",t,s,c)}))}c(u.arg)}var o;s(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 A(t,n,r){var o=y;return function(i,a){if(o===m)throw new Error("Generator is already running");if(o===g){if("throw"===i)throw a;return{value:e,done:!0}}for(r.method=i,r.arg=a;;){var s=r.delegate;if(s){var c=T(s,r);if(c){if(c===w)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(o===y)throw o=g,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);o=m;var u=d(t,n,r);if("normal"===u.type){if(o=r.done?g:v,u.arg===w)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(o=g,r.method="throw",r.arg=u.arg)}}}function T(t,n){var r=n.method,o=t.iterator[r];if(o===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,T(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),w;var i=d(o,t.iterator,n.arg);if("throw"===i.type)return n.method="throw",n.arg=i.arg,n.delegate=null,w;var a=i.arg;return a?a.done?(n[t.resultName]=a.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,w):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,w)}function N(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 j(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function U(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(N,this),this.reset(!0)}function _(t){if(t||""===t){var n=t[u];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,i=function n(){for(;++o=0;--o){var i=this.tryEntries[o],s=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var c=a.call(i,"catchLoc"),u=a.call(i,"finallyLoc");if(c&&u){if(this.prev=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&a.call(r,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),j(n),w}},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;j(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:_(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),w}},n}t.exports=o,t.exports.__esModule=!0,t.exports.default=t.exports},698: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},687:(t,e,n)=>{var r=n(61)();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),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var r={};(()=>{"use strict";n.r(r),n.d(r,{Client:()=>In,Errors:()=>e,SearchClient:()=>Hn,default:()=>Bn});var t={};n.r(t),n.d(t,{hasBrowserEnv:()=>At,hasStandardBrowserEnv:()=>Tt,hasStandardBrowserWebWorkerEnv:()=>jt});var e={};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)||!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;nHe,ImportError:()=>Ge,MissingConfigurationError:()=>R,ObjectAlreadyExists:()=>Ae,ObjectNotFound:()=>Oe,ObjectUnprocessable:()=>je,RequestMalformed:()=>be,RequestUnauthorized:()=>Re,ServerError:()=>Le,TypesenseError:()=>b});var l=n(43);function h(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function p(t,e){if(e&&("object"===i(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return h(t)}function f(t){return f=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},f(t)}function d(t,e){return d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},d(t,e)}function y(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&d(t,e)}function v(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(v=function(){return!!t})()}function m(t){var e="function"==typeof Map?new Map:void 0;return m=function(t){if(null===t||!function(t){try{return-1!==Function.toString.call(t).indexOf("[native code]")}catch(e){return"function"==typeof t}}(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return function(t,e,n){if(v())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,e);var o=new(t.bind.apply(t,r));return n&&d(o,n.prototype),o}(t,arguments,f(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),d(n,t)},m(t)}function g(t,e,n){return e=f(e),p(t,w()?Reflect.construct(e,n||[],f(t).constructor):e.apply(t,n))}function w(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(w=function(){return!!t})()}var b=function(t){function e(t){var n;return o(this,e),(n=g(this,e,[t])).name=(this instanceof e?this.constructor:void 0).name,Object.setPrototypeOf(h(n),(this instanceof e?this.constructor:void 0).prototype),n}return y(e,t),c(e)}(m(Error));function C(t,e,n){return e=f(e),p(t,k()?Reflect.construct(e,n||[],f(t).constructor):e.apply(t,n))}function k(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(k=function(){return!!t})()}var R=function(t){function e(){return o(this,e),C(this,e,arguments)}return y(e,t),c(e)}(b);function E(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}var S=function(){function t(e){var n=this;o(this,t),this.nodes=e.nodes||[],this.nodes=this.nodes.map((function(t){return n.setDefaultPathInNode(t)})).map((function(t){return n.setDefaultPortInNode(t)})).map((function(t){return function(t){for(var e=1;e0;e--){var n=Math.floor(Math.random()*(e+1)),r=[t[n],t[e]];t[e]=r[0],t[n]=r[1]}}}]),t}();function O(t,e,n,r,o,i,a){try{var s=t[i](a),c=s.value}catch(t){return void n(t)}s.done?e(c):Promise.resolve(c).then(r,o)}function P(t){return function(){var e=this,n=arguments;return new Promise((function(r,o){var i=t.apply(e,n);function a(t){O(i,r,o,a,s,"next",t)}function s(t){O(i,r,o,a,s,"throw",t)}a(void 0)}))}}var x=n(687),A=n.n(x);function T(t,e){return function(){return t.apply(e,arguments)}}const{toString:N}=Object.prototype,{getPrototypeOf:j}=Object,U=(_=Object.create(null),t=>{const e=N.call(t);return _[e]||(_[e]=e.slice(8,-1).toLowerCase())});var _;const L=t=>(t=t.toLowerCase(),e=>U(e)===t),I=t=>e=>typeof e===t,{isArray:F}=Array,H=I("undefined"),B=L("ArrayBuffer"),q=I("string"),D=I("function"),M=I("number"),K=t=>null!==t&&"object"==typeof t,z=t=>{if("object"!==U(t))return!1;const e=j(t);return!(null!==e&&e!==Object.prototype&&null!==Object.getPrototypeOf(e)||Symbol.toStringTag in t||Symbol.iterator in t)},J=L("Date"),W=L("File"),G=L("Blob"),Q=L("FileList"),V=L("URLSearchParams");function $(t,e,{allOwnKeys:n=!1}={}){if(null==t)return;let r,o;if("object"!=typeof t&&(t=[t]),F(t))for(r=0,o=t.length;r0;)if(r=n[o],e===r.toLowerCase())return r;return null}const Y="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,Z=t=>!H(t)&&t!==Y,tt=(et="undefined"!=typeof Uint8Array&&j(Uint8Array),t=>et&&t instanceof et);var et;const nt=L("HTMLFormElement"),rt=(({hasOwnProperty:t})=>(e,n)=>t.call(e,n))(Object.prototype),ot=L("RegExp"),it=(t,e)=>{const n=Object.getOwnPropertyDescriptors(t),r={};$(n,((n,o)=>{let i;!1!==(i=e(n,o,t))&&(r[o]=i||n)})),Object.defineProperties(t,r)},at="abcdefghijklmnopqrstuvwxyz",st="0123456789",ct={DIGIT:st,ALPHA:at,ALPHA_DIGIT:at+at.toUpperCase()+st},ut=L("AsyncFunction"),lt={isArray:F,isArrayBuffer:B,isBuffer:function(t){return null!==t&&!H(t)&&null!==t.constructor&&!H(t.constructor)&&D(t.constructor.isBuffer)&&t.constructor.isBuffer(t)},isFormData:t=>{let e;return t&&("function"==typeof FormData&&t instanceof FormData||D(t.append)&&("formdata"===(e=U(t))||"object"===e&&D(t.toString)&&"[object FormData]"===t.toString()))},isArrayBufferView:function(t){let e;return e="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&B(t.buffer),e},isString:q,isNumber:M,isBoolean:t=>!0===t||!1===t,isObject:K,isPlainObject:z,isUndefined:H,isDate:J,isFile:W,isBlob:G,isRegExp:ot,isFunction:D,isStream:t=>K(t)&&D(t.pipe),isURLSearchParams:V,isTypedArray:tt,isFileList:Q,forEach:$,merge:function t(){const{caseless:e}=Z(this)&&this||{},n={},r=(r,o)=>{const i=e&&X(n,o)||o;z(n[i])&&z(r)?n[i]=t(n[i],r):z(r)?n[i]=t({},r):F(r)?n[i]=r.slice():n[i]=r};for(let t=0,e=arguments.length;t($(e,((e,r)=>{n&&D(e)?t[r]=T(e,n):t[r]=e}),{allOwnKeys:r}),t),trim:t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:t=>(65279===t.charCodeAt(0)&&(t=t.slice(1)),t),inherits:(t,e,n,r)=>{t.prototype=Object.create(e.prototype,r),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),n&&Object.assign(t.prototype,n)},toFlatObject:(t,e,n,r)=>{let o,i,a;const s={};if(e=e||{},null==t)return e;do{for(o=Object.getOwnPropertyNames(t),i=o.length;i-- >0;)a=o[i],r&&!r(a,t,e)||s[a]||(e[a]=t[a],s[a]=!0);t=!1!==n&&j(t)}while(t&&(!n||n(t,e))&&t!==Object.prototype);return e},kindOf:U,kindOfTest:L,endsWith:(t,e,n)=>{t=String(t),(void 0===n||n>t.length)&&(n=t.length),n-=e.length;const r=t.indexOf(e,n);return-1!==r&&r===n},toArray:t=>{if(!t)return null;if(F(t))return t;let e=t.length;if(!M(e))return null;const n=new Array(e);for(;e-- >0;)n[e]=t[e];return n},forEachEntry:(t,e)=>{const n=(t&&t[Symbol.iterator]).call(t);let r;for(;(r=n.next())&&!r.done;){const n=r.value;e.call(t,n[0],n[1])}},matchAll:(t,e)=>{let n;const r=[];for(;null!==(n=t.exec(e));)r.push(n);return r},isHTMLForm:nt,hasOwnProperty:rt,hasOwnProp:rt,reduceDescriptors:it,freezeMethods:t=>{it(t,((e,n)=>{if(D(t)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;const r=t[n];D(r)&&(e.enumerable=!1,"writable"in e?e.writable=!1:e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}))}))},toObjectSet:(t,e)=>{const n={},r=t=>{t.forEach((t=>{n[t]=!0}))};return F(t)?r(t):r(String(t).split(e)),n},toCamelCase:t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(t,e,n){return e.toUpperCase()+n})),noop:()=>{},toFiniteNumber:(t,e)=>(t=+t,Number.isFinite(t)?t:e),findKey:X,global:Y,isContextDefined:Z,ALPHABET:ct,generateString:(t=16,e=ct.ALPHA_DIGIT)=>{let n="";const{length:r}=e;for(;t--;)n+=e[Math.random()*r|0];return n},isSpecCompliantForm:function(t){return!!(t&&D(t.append)&&"FormData"===t[Symbol.toStringTag]&&t[Symbol.iterator])},toJSONObject:t=>{const e=new Array(10),n=(t,r)=>{if(K(t)){if(e.indexOf(t)>=0)return;if(!("toJSON"in t)){e[r]=t;const o=F(t)?[]:{};return $(t,((t,e)=>{const i=n(t,r+1);!H(i)&&(o[e]=i)})),e[r]=void 0,o}}return t};return n(t,0)},isAsyncFn:ut,isThenable:t=>t&&(K(t)||D(t))&&D(t.then)&&D(t.catch)};function ht(t,e,n,r,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=t,this.name="AxiosError",e&&(this.code=e),n&&(this.config=n),r&&(this.request=r),o&&(this.response=o)}lt.inherits(ht,Error,{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:lt.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const pt=ht.prototype,ft={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((t=>{ft[t]={value:t}})),Object.defineProperties(ht,ft),Object.defineProperty(pt,"isAxiosError",{value:!0}),ht.from=(t,e,n,r,o,i)=>{const a=Object.create(pt);return lt.toFlatObject(t,a,(function(t){return t!==Error.prototype}),(t=>"isAxiosError"!==t)),ht.call(a,t.message,e,n,r,o),a.cause=t,a.name=t.name,i&&Object.assign(a,i),a};const dt=ht;function yt(t){return lt.isPlainObject(t)||lt.isArray(t)}function vt(t){return lt.endsWith(t,"[]")?t.slice(0,-2):t}function mt(t,e,n){return t?t.concat(e).map((function(t,e){return t=vt(t),!n&&e?"["+t+"]":t})).join(n?".":""):e}const gt=lt.toFlatObject(lt,{},null,(function(t){return/^is[A-Z]/.test(t)})),wt=function(t,e,n){if(!lt.isObject(t))throw new TypeError("target must be an object");e=e||new FormData;const r=(n=lt.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(t,e){return!lt.isUndefined(e[t])}))).metaTokens,o=n.visitor||u,i=n.dots,a=n.indexes,s=(n.Blob||"undefined"!=typeof Blob&&Blob)&<.isSpecCompliantForm(e);if(!lt.isFunction(o))throw new TypeError("visitor must be a function");function c(t){if(null===t)return"";if(lt.isDate(t))return t.toISOString();if(!s&<.isBlob(t))throw new dt("Blob is not supported. Use a Buffer instead.");return lt.isArrayBuffer(t)||lt.isTypedArray(t)?s&&"function"==typeof Blob?new Blob([t]):Buffer.from(t):t}function u(t,n,o){let s=t;if(t&&!o&&"object"==typeof t)if(lt.endsWith(n,"{}"))n=r?n:n.slice(0,-2),t=JSON.stringify(t);else if(lt.isArray(t)&&function(t){return lt.isArray(t)&&!t.some(yt)}(t)||(lt.isFileList(t)||lt.endsWith(n,"[]"))&&(s=lt.toArray(t)))return n=vt(n),s.forEach((function(t,r){!lt.isUndefined(t)&&null!==t&&e.append(!0===a?mt([n],r,i):null===a?n:n+"[]",c(t))})),!1;return!!yt(t)||(e.append(mt(o,n,i),c(t)),!1)}const l=[],h=Object.assign(gt,{defaultVisitor:u,convertValue:c,isVisitable:yt});if(!lt.isObject(t))throw new TypeError("data must be an object");return function t(n,r){if(!lt.isUndefined(n)){if(-1!==l.indexOf(n))throw Error("Circular reference detected in "+r.join("."));l.push(n),lt.forEach(n,(function(n,i){!0===(!(lt.isUndefined(n)||null===n)&&o.call(e,n,lt.isString(i)?i.trim():i,r,h))&&t(n,r?r.concat(i):[i])})),l.pop()}}(t),e};function bt(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,(function(t){return e[t]}))}function Ct(t,e){this._pairs=[],t&&wt(t,this,e)}const kt=Ct.prototype;kt.append=function(t,e){this._pairs.push([t,e])},kt.toString=function(t){const e=t?function(e){return t.call(this,e,bt)}:bt;return this._pairs.map((function(t){return e(t[0])+"="+e(t[1])}),"").join("&")};const Rt=Ct;function Et(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function St(t,e,n){if(!e)return t;const r=n&&n.encode||Et,o=n&&n.serialize;let i;if(i=o?o(e,n):lt.isURLSearchParams(e)?e.toString():new Rt(e,n).toString(r),i){const e=t.indexOf("#");-1!==e&&(t=t.slice(0,e)),t+=(-1===t.indexOf("?")?"?":"&")+i}return t}const Ot=class{constructor(){this.handlers=[]}use(t,e,n){return this.handlers.push({fulfilled:t,rejected:e,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){lt.forEach(this.handlers,(function(e){null!==e&&t(e)}))}},Pt={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},xt={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:Rt,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]},At="undefined"!=typeof window&&"undefined"!=typeof document,Tt=(Nt="undefined"!=typeof navigator&&navigator.product,At&&["ReactNative","NativeScript","NS"].indexOf(Nt)<0);var Nt;const jt="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,Ut={...t,...xt},_t=function(t){function e(t,n,r,o){let i=t[o++];if("__proto__"===i)return!0;const a=Number.isFinite(+i),s=o>=t.length;return i=!i&<.isArray(r)?r.length:i,s?(lt.hasOwnProp(r,i)?r[i]=[r[i],n]:r[i]=n,!a):(r[i]&<.isObject(r[i])||(r[i]=[]),e(t,n,r[i],o)&<.isArray(r[i])&&(r[i]=function(t){const e={},n=Object.keys(t);let r;const o=n.length;let i;for(r=0;r{e(function(t){return lt.matchAll(/\w+|\[(\w*)]/g,t).map((t=>"[]"===t[0]?"":t[1]||t[0]))}(t),r,n,0)})),n}return null},Lt={transitional:Pt,adapter:["xhr","http"],transformRequest:[function(t,e){const n=e.getContentType()||"",r=n.indexOf("application/json")>-1,o=lt.isObject(t);if(o&<.isHTMLForm(t)&&(t=new FormData(t)),lt.isFormData(t))return r?JSON.stringify(_t(t)):t;if(lt.isArrayBuffer(t)||lt.isBuffer(t)||lt.isStream(t)||lt.isFile(t)||lt.isBlob(t))return t;if(lt.isArrayBufferView(t))return t.buffer;if(lt.isURLSearchParams(t))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let i;if(o){if(n.indexOf("application/x-www-form-urlencoded")>-1)return function(t,e){return wt(t,new Ut.classes.URLSearchParams,Object.assign({visitor:function(t,e,n,r){return Ut.isNode&<.isBuffer(t)?(this.append(e,t.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)}},e))}(t,this.formSerializer).toString();if((i=lt.isFileList(t))||n.indexOf("multipart/form-data")>-1){const e=this.env&&this.env.FormData;return wt(i?{"files[]":t}:t,e&&new e,this.formSerializer)}}return o||r?(e.setContentType("application/json",!1),function(t,e,n){if(lt.isString(t))try{return(0,JSON.parse)(t),lt.trim(t)}catch(t){if("SyntaxError"!==t.name)throw t}return(0,JSON.stringify)(t)}(t)):t}],transformResponse:[function(t){const e=this.transitional||Lt.transitional,n=e&&e.forcedJSONParsing,r="json"===this.responseType;if(t&<.isString(t)&&(n&&!this.responseType||r)){const n=!(e&&e.silentJSONParsing)&&r;try{return JSON.parse(t)}catch(t){if(n){if("SyntaxError"===t.name)throw dt.from(t,dt.ERR_BAD_RESPONSE,this,null,this.response);throw t}}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Ut.classes.FormData,Blob:Ut.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};lt.forEach(["delete","get","head","post","put","patch"],(t=>{Lt.headers[t]={}}));const It=Lt,Ft=lt.toObjectSet(["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"]),Ht=Symbol("internals");function Bt(t){return t&&String(t).trim().toLowerCase()}function qt(t){return!1===t||null==t?t:lt.isArray(t)?t.map(qt):String(t)}function Dt(t,e,n,r,o){return lt.isFunction(r)?r.call(this,e,n):(o&&(e=n),lt.isString(e)?lt.isString(r)?-1!==e.indexOf(r):lt.isRegExp(r)?r.test(e):void 0:void 0)}class Mt{constructor(t){t&&this.set(t)}set(t,e,n){const r=this;function o(t,e,n){const o=Bt(e);if(!o)throw new Error("header name must be a non-empty string");const i=lt.findKey(r,o);(!i||void 0===r[i]||!0===n||void 0===n&&!1!==r[i])&&(r[i||e]=qt(t))}const i=(t,e)=>lt.forEach(t,((t,n)=>o(t,n,e)));return lt.isPlainObject(t)||t instanceof this.constructor?i(t,e):lt.isString(t)&&(t=t.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim())?i((t=>{const e={};let n,r,o;return t&&t.split("\n").forEach((function(t){o=t.indexOf(":"),n=t.substring(0,o).trim().toLowerCase(),r=t.substring(o+1).trim(),!n||e[n]&&Ft[n]||("set-cookie"===n?e[n]?e[n].push(r):e[n]=[r]:e[n]=e[n]?e[n]+", "+r:r)})),e})(t),e):null!=t&&o(e,t,n),this}get(t,e){if(t=Bt(t)){const n=lt.findKey(this,t);if(n){const t=this[n];if(!e)return t;if(!0===e)return function(t){const e=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(t);)e[r[1]]=r[2];return e}(t);if(lt.isFunction(e))return e.call(this,t,n);if(lt.isRegExp(e))return e.exec(t);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,e){if(t=Bt(t)){const n=lt.findKey(this,t);return!(!n||void 0===this[n]||e&&!Dt(0,this[n],n,e))}return!1}delete(t,e){const n=this;let r=!1;function o(t){if(t=Bt(t)){const o=lt.findKey(n,t);!o||e&&!Dt(0,n[o],o,e)||(delete n[o],r=!0)}}return lt.isArray(t)?t.forEach(o):o(t),r}clear(t){const e=Object.keys(this);let n=e.length,r=!1;for(;n--;){const o=e[n];t&&!Dt(0,this[o],o,t,!0)||(delete this[o],r=!0)}return r}normalize(t){const e=this,n={};return lt.forEach(this,((r,o)=>{const i=lt.findKey(n,o);if(i)return e[i]=qt(r),void delete e[o];const a=t?function(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((t,e,n)=>e.toUpperCase()+n))}(o):String(o).trim();a!==o&&delete e[o],e[a]=qt(r),n[a]=!0})),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const e=Object.create(null);return lt.forEach(this,((n,r)=>{null!=n&&!1!==n&&(e[r]=t&<.isArray(n)?n.join(", "):n)})),e}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([t,e])=>t+": "+e)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...e){const n=new this(t);return e.forEach((t=>n.set(t))),n}static accessor(t){const e=(this[Ht]=this[Ht]={accessors:{}}).accessors,n=this.prototype;function r(t){const r=Bt(t);e[r]||(function(t,e){const n=lt.toCamelCase(" "+e);["get","set","has"].forEach((r=>{Object.defineProperty(t,r+n,{value:function(t,n,o){return this[r].call(this,e,t,n,o)},configurable:!0})}))}(n,t),e[r]=!0)}return lt.isArray(t)?t.forEach(r):r(t),this}}Mt.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),lt.reduceDescriptors(Mt.prototype,(({value:t},e)=>{let n=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(t){this[n]=t}}})),lt.freezeMethods(Mt);const Kt=Mt;function zt(t,e){const n=this||It,r=e||n,o=Kt.from(r.headers);let i=r.data;return lt.forEach(t,(function(t){i=t.call(n,i,o.normalize(),e?e.status:void 0)})),o.normalize(),i}function Jt(t){return!(!t||!t.__CANCEL__)}function Wt(t,e,n){dt.call(this,null==t?"canceled":t,dt.ERR_CANCELED,e,n),this.name="CanceledError"}lt.inherits(Wt,dt,{__CANCEL__:!0});const Gt=Wt,Qt=Ut.hasStandardBrowserEnv?{write(t,e,n,r,o,i){const a=[t+"="+encodeURIComponent(e)];lt.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),lt.isString(r)&&a.push("path="+r),lt.isString(o)&&a.push("domain="+o),!0===i&&a.push("secure"),document.cookie=a.join("; ")},read(t){const e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove(t){this.write(t,"",Date.now()-864e5)}}:{write(){},read:()=>null,remove(){}};function Vt(t,e){return t&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)?function(t,e){return e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}(t,e):e}const $t=Ut.hasStandardBrowserEnv?function(){const t=/(msie|trident)/i.test(navigator.userAgent),e=document.createElement("a");let n;function r(n){let r=n;return t&&(e.setAttribute("href",r),r=e.href),e.setAttribute("href",r),{href:e.href,protocol:e.protocol?e.protocol.replace(/:$/,""):"",host:e.host,search:e.search?e.search.replace(/^\?/,""):"",hash:e.hash?e.hash.replace(/^#/,""):"",hostname:e.hostname,port:e.port,pathname:"/"===e.pathname.charAt(0)?e.pathname:"/"+e.pathname}}return n=r(window.location.href),function(t){const e=lt.isString(t)?r(t):t;return e.protocol===n.protocol&&e.host===n.host}}():function(){return!0};function Xt(t,e){let n=0;const r=function(t,e){t=t||10;const n=new Array(t),r=new Array(t);let o,i=0,a=0;return e=void 0!==e?e:1e3,function(s){const c=Date.now(),u=r[a];o||(o=c),n[i]=s,r[i]=c;let l=a,h=0;for(;l!==i;)h+=n[l++],l%=t;if(i=(i+1)%t,i===a&&(a=(a+1)%t),c-o{const i=o.loaded,a=o.lengthComputable?o.total:void 0,s=i-n,c=r(s);n=i;const u={loaded:i,total:a,progress:a?i/a:void 0,bytes:s,rate:c||void 0,estimated:c&&a&&i<=a?(a-i)/c:void 0,event:o};u[e?"download":"upload"]=!0,t(u)}}const Yt={http:null,xhr:"undefined"!=typeof XMLHttpRequest&&function(t){return new Promise((function(e,n){let r=t.data;const o=Kt.from(t.headers).normalize();let i,a,{responseType:s,withXSRFToken:c}=t;function u(){t.cancelToken&&t.cancelToken.unsubscribe(i),t.signal&&t.signal.removeEventListener("abort",i)}if(lt.isFormData(r))if(Ut.hasStandardBrowserEnv||Ut.hasStandardBrowserWebWorkerEnv)o.setContentType(!1);else if(!1!==(a=o.getContentType())){const[t,...e]=a?a.split(";").map((t=>t.trim())).filter(Boolean):[];o.setContentType([t||"multipart/form-data",...e].join("; "))}let l=new XMLHttpRequest;if(t.auth){const e=t.auth.username||"",n=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";o.set("Authorization","Basic "+btoa(e+":"+n))}const h=Vt(t.baseURL,t.url);function p(){if(!l)return;const r=Kt.from("getAllResponseHeaders"in l&&l.getAllResponseHeaders());!function(t,e,n){const r=n.config.validateStatus;n.status&&r&&!r(n.status)?e(new dt("Request failed with status code "+n.status,[dt.ERR_BAD_REQUEST,dt.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):t(n)}((function(t){e(t),u()}),(function(t){n(t),u()}),{data:s&&"text"!==s&&"json"!==s?l.response:l.responseText,status:l.status,statusText:l.statusText,headers:r,config:t,request:l}),l=null}if(l.open(t.method.toUpperCase(),St(h,t.params,t.paramsSerializer),!0),l.timeout=t.timeout,"onloadend"in l?l.onloadend=p:l.onreadystatechange=function(){l&&4===l.readyState&&(0!==l.status||l.responseURL&&0===l.responseURL.indexOf("file:"))&&setTimeout(p)},l.onabort=function(){l&&(n(new dt("Request aborted",dt.ECONNABORTED,t,l)),l=null)},l.onerror=function(){n(new dt("Network Error",dt.ERR_NETWORK,t,l)),l=null},l.ontimeout=function(){let e=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded";const r=t.transitional||Pt;t.timeoutErrorMessage&&(e=t.timeoutErrorMessage),n(new dt(e,r.clarifyTimeoutError?dt.ETIMEDOUT:dt.ECONNABORTED,t,l)),l=null},Ut.hasStandardBrowserEnv&&(c&<.isFunction(c)&&(c=c(t)),c||!1!==c&&$t(h))){const e=t.xsrfHeaderName&&t.xsrfCookieName&&Qt.read(t.xsrfCookieName);e&&o.set(t.xsrfHeaderName,e)}void 0===r&&o.setContentType(null),"setRequestHeader"in l&<.forEach(o.toJSON(),(function(t,e){l.setRequestHeader(e,t)})),lt.isUndefined(t.withCredentials)||(l.withCredentials=!!t.withCredentials),s&&"json"!==s&&(l.responseType=t.responseType),"function"==typeof t.onDownloadProgress&&l.addEventListener("progress",Xt(t.onDownloadProgress,!0)),"function"==typeof t.onUploadProgress&&l.upload&&l.upload.addEventListener("progress",Xt(t.onUploadProgress)),(t.cancelToken||t.signal)&&(i=e=>{l&&(n(!e||e.type?new Gt(null,t,l):e),l.abort(),l=null)},t.cancelToken&&t.cancelToken.subscribe(i),t.signal&&(t.signal.aborted?i():t.signal.addEventListener("abort",i)));const f=function(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}(h);f&&-1===Ut.protocols.indexOf(f)?n(new dt("Unsupported protocol "+f+":",dt.ERR_BAD_REQUEST,t)):l.send(r||null)}))}};lt.forEach(Yt,((t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch(t){}Object.defineProperty(t,"adapterName",{value:e})}}));const Zt=t=>`- ${t}`,te=t=>lt.isFunction(t)||null===t||!1===t,ee=t=>{t=lt.isArray(t)?t:[t];const{length:e}=t;let n,r;const o={};for(let i=0;i`adapter ${t} `+(!1===e?"is not supported by the environment":"is not available in the build")));let n=e?t.length>1?"since :\n"+t.map(Zt).join("\n"):" "+Zt(t[0]):"as no adapter specified";throw new dt("There is no suitable adapter to dispatch the request "+n,"ERR_NOT_SUPPORT")}return r};function ne(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new Gt(null,t)}function re(t){return ne(t),t.headers=Kt.from(t.headers),t.data=zt.call(t,t.transformRequest),-1!==["post","put","patch"].indexOf(t.method)&&t.headers.setContentType("application/x-www-form-urlencoded",!1),ee(t.adapter||It.adapter)(t).then((function(e){return ne(t),e.data=zt.call(t,t.transformResponse,e),e.headers=Kt.from(e.headers),e}),(function(e){return Jt(e)||(ne(t),e&&e.response&&(e.response.data=zt.call(t,t.transformResponse,e.response),e.response.headers=Kt.from(e.response.headers))),Promise.reject(e)}))}const oe=t=>t instanceof Kt?t.toJSON():t;function ie(t,e){e=e||{};const n={};function r(t,e,n){return lt.isPlainObject(t)&<.isPlainObject(e)?lt.merge.call({caseless:n},t,e):lt.isPlainObject(e)?lt.merge({},e):lt.isArray(e)?e.slice():e}function o(t,e,n){return lt.isUndefined(e)?lt.isUndefined(t)?void 0:r(void 0,t,n):r(t,e,n)}function i(t,e){if(!lt.isUndefined(e))return r(void 0,e)}function a(t,e){return lt.isUndefined(e)?lt.isUndefined(t)?void 0:r(void 0,t):r(void 0,e)}function s(n,o,i){return i in e?r(n,o):i in t?r(void 0,n):void 0}const c={url:i,method:i,data:i,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:s,headers:(t,e)=>o(oe(t),oe(e),!0)};return lt.forEach(Object.keys(Object.assign({},t,e)),(function(r){const i=c[r]||o,a=i(t[r],e[r],r);lt.isUndefined(a)&&i!==s||(n[r]=a)})),n}const ae={};["object","boolean","number","function","string","symbol"].forEach(((t,e)=>{ae[t]=function(n){return typeof n===t||"a"+(e<1?"n ":" ")+t}}));const se={};ae.transitional=function(t,e,n){function r(t,e){return"[Axios v1.6.7] Transitional option '"+t+"'"+e+(n?". "+n:"")}return(n,o,i)=>{if(!1===t)throw new dt(r(o," has been removed"+(e?" in "+e:"")),dt.ERR_DEPRECATED);return e&&!se[o]&&(se[o]=!0,console.warn(r(o," has been deprecated since v"+e+" and will be removed in the near future"))),!t||t(n,o,i)}};const ce={assertOptions:function(t,e,n){if("object"!=typeof t)throw new dt("options must be an object",dt.ERR_BAD_OPTION_VALUE);const r=Object.keys(t);let o=r.length;for(;o-- >0;){const i=r[o],a=e[i];if(a){const e=t[i],n=void 0===e||a(e,i,t);if(!0!==n)throw new dt("option "+i+" must be "+n,dt.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new dt("Unknown option "+i,dt.ERR_BAD_OPTION)}},validators:ae},ue=ce.validators;class le{constructor(t){this.defaults=t,this.interceptors={request:new Ot,response:new Ot}}async request(t,e){try{return await this._request(t,e)}catch(t){if(t instanceof Error){let e;Error.captureStackTrace?Error.captureStackTrace(e={}):e=new Error;const n=e.stack?e.stack.replace(/^.+\n/,""):"";t.stack?n&&!String(t.stack).endsWith(n.replace(/^.+\n.+\n/,""))&&(t.stack+="\n"+n):t.stack=n}throw t}}_request(t,e){"string"==typeof t?(e=e||{}).url=t:e=t||{},e=ie(this.defaults,e);const{transitional:n,paramsSerializer:r,headers:o}=e;void 0!==n&&ce.assertOptions(n,{silentJSONParsing:ue.transitional(ue.boolean),forcedJSONParsing:ue.transitional(ue.boolean),clarifyTimeoutError:ue.transitional(ue.boolean)},!1),null!=r&&(lt.isFunction(r)?e.paramsSerializer={serialize:r}:ce.assertOptions(r,{encode:ue.function,serialize:ue.function},!0)),e.method=(e.method||this.defaults.method||"get").toLowerCase();let i=o&<.merge(o.common,o[e.method]);o&<.forEach(["delete","get","head","post","put","patch","common"],(t=>{delete o[t]})),e.headers=Kt.concat(i,o);const a=[];let s=!0;this.interceptors.request.forEach((function(t){"function"==typeof t.runWhen&&!1===t.runWhen(e)||(s=s&&t.synchronous,a.unshift(t.fulfilled,t.rejected))}));const c=[];let u;this.interceptors.response.forEach((function(t){c.push(t.fulfilled,t.rejected)}));let l,h=0;if(!s){const t=[re.bind(this),void 0];for(t.unshift.apply(t,a),t.push.apply(t,c),l=t.length,u=Promise.resolve(e);h{if(!n._listeners)return;let e=n._listeners.length;for(;e-- >0;)n._listeners[e](t);n._listeners=null})),this.promise.then=t=>{let e;const r=new Promise((t=>{n.subscribe(t),e=t})).then(t);return r.cancel=function(){n.unsubscribe(e)},r},t((function(t,r,o){n.reason||(n.reason=new Gt(t,r,o),e(n.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){this.reason?t(this.reason):this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const e=this._listeners.indexOf(t);-1!==e&&this._listeners.splice(e,1)}static source(){let t;return{token:new pe((function(e){t=e})),cancel:t}}}const fe=pe,de={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(de).forEach((([t,e])=>{de[e]=t}));const ye=de,ve=function t(e){const n=new he(e),r=T(he.prototype.request,n);return lt.extend(r,he.prototype,n,{allOwnKeys:!0}),lt.extend(r,n,null,{allOwnKeys:!0}),r.create=function(n){return t(ie(e,n))},r}(It);ve.Axios=he,ve.CanceledError=Gt,ve.CancelToken=fe,ve.isCancel=Jt,ve.VERSION="1.6.7",ve.toFormData=wt,ve.AxiosError=dt,ve.Cancel=ve.CanceledError,ve.all=function(t){return Promise.all(t)},ve.spread=function(t){return function(e){return t.apply(null,e)}},ve.isAxiosError=function(t){return lt.isObject(t)&&!0===t.isAxiosError},ve.mergeConfig=ie,ve.AxiosHeaders=Kt,ve.formToJSON=t=>_t(lt.isHTMLForm(t)?new FormData(t):t),ve.getAdapter=ee,ve.HttpStatusCode=ye,ve.default=ve;const me=ve;function ge(t,e,n){return e=f(e),p(t,we()?Reflect.construct(e,n||[],f(t).constructor):e.apply(t,n))}function we(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(we=function(){return!!t})()}var be=function(t){function e(){return o(this,e),ge(this,e,arguments)}return y(e,t),c(e)}(b);function Ce(t,e,n){return e=f(e),p(t,ke()?Reflect.construct(e,n||[],f(t).constructor):e.apply(t,n))}function ke(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(ke=function(){return!!t})()}var Re=function(t){function e(){return o(this,e),Ce(this,e,arguments)}return y(e,t),c(e)}(b);function Ee(t,e,n){return e=f(e),p(t,Se()?Reflect.construct(e,n||[],f(t).constructor):e.apply(t,n))}function Se(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(Se=function(){return!!t})()}var Oe=function(t){function e(){return o(this,e),Ee(this,e,arguments)}return y(e,t),c(e)}(b);function Pe(t,e,n){return e=f(e),p(t,xe()?Reflect.construct(e,n||[],f(t).constructor):e.apply(t,n))}function xe(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(xe=function(){return!!t})()}var Ae=function(t){function e(){return o(this,e),Pe(this,e,arguments)}return y(e,t),c(e)}(b);function Te(t,e,n){return e=f(e),p(t,Ne()?Reflect.construct(e,n||[],f(t).constructor):e.apply(t,n))}function Ne(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(Ne=function(){return!!t})()}var je=function(t){function e(){return o(this,e),Te(this,e,arguments)}return y(e,t),c(e)}(b);function Ue(t,e,n){return e=f(e),p(t,_e()?Reflect.construct(e,n||[],f(t).constructor):e.apply(t,n))}function _e(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(_e=function(){return!!t})()}var Le=function(t){function e(){return o(this,e),Ue(this,e,arguments)}return y(e,t),c(e)}(b);function Ie(t,e,n){return e=f(e),p(t,Fe()?Reflect.construct(e,n||[],f(t).constructor):e.apply(t,n))}function Fe(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(Fe=function(){return!!t})()}var He=function(t){function e(){return o(this,e),Ie(this,e,arguments)}return y(e,t),c(e)}(b),Be=n(337),qe=n(877),De=!0,Me=function(){function t(e){o(this,t),this.configuration=e,this.apiKey=this.configuration.apiKey,this.nodes=null==this.configuration.nodes?this.configuration.nodes:JSON.parse(JSON.stringify(this.configuration.nodes)),this.nearestNode=null==this.configuration.nearestNode?this.configuration.nearestNode:JSON.parse(JSON.stringify(this.configuration.nearestNode)),this.connectionTimeoutSeconds=this.configuration.connectionTimeoutSeconds,this.healthcheckIntervalSeconds=this.configuration.healthcheckIntervalSeconds,this.numRetriesPerRequest=this.configuration.numRetries,this.retryIntervalSeconds=this.configuration.retryIntervalSeconds,this.sendApiKeyAsQueryParam=this.configuration.sendApiKeyAsQueryParam,this.additionalUserHeaders=this.configuration.additionalHeaders,this.logger=this.configuration.logger,this.initializeMetadataForNodes(),this.currentNodeIndex=-1}var e,n,r,a,s,u,l;return c(t,[{key:"get",value:(l=P(A().mark((function t(e){var n,r,o,i,a,s,c=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=c.length>1&&void 0!==c[1]?c[1]:{},o=(r=c.length>2&&void 0!==c[2]?c[2]:{}).abortSignal,i=void 0===o?null:o,a=r.responseType,s=void 0===a?void 0:a,t.abrupt("return",this.performRequest("get",e,{queryParameters:n,abortSignal:i,responseType:s}));case 3:case"end":return t.stop()}}),t,this)}))),function(t){return l.apply(this,arguments)})},{key:"delete",value:(u=P(A().mark((function t(e){var n,r=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},t.abrupt("return",this.performRequest("delete",e,{queryParameters:n}));case 2:case"end":return t.stop()}}),t,this)}))),function(t){return u.apply(this,arguments)})},{key:"post",value:(s=P(A().mark((function t(e){var n,r,o,i=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=i.length>1&&void 0!==i[1]?i[1]:{},r=i.length>2&&void 0!==i[2]?i[2]:{},o=i.length>3&&void 0!==i[3]?i[3]:{},t.abrupt("return",this.performRequest("post",e,{queryParameters:r,bodyParameters:n,additionalHeaders:o}));case 4:case"end":return t.stop()}}),t,this)}))),function(t){return s.apply(this,arguments)})},{key:"put",value:(a=P(A().mark((function t(e){var n,r,o=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=o.length>1&&void 0!==o[1]?o[1]:{},r=o.length>2&&void 0!==o[2]?o[2]:{},t.abrupt("return",this.performRequest("put",e,{queryParameters:r,bodyParameters:n}));case 3:case"end":return t.stop()}}),t,this)}))),function(t){return a.apply(this,arguments)})},{key:"patch",value:(r=P(A().mark((function t(e){var n,r,o=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=o.length>1&&void 0!==o[1]?o[1]:{},r=o.length>2&&void 0!==o[2]?o[2]:{},t.abrupt("return",this.performRequest("patch",e,{queryParameters:r,bodyParameters:n}));case 3:case"end":return t.stop()}}),t,this)}))),function(t){return r.apply(this,arguments)})},{key:"performRequest",value:(n=P(A().mark((function t(e,n,r){var o,a,s,c,u,l,h,p,f,d,y,v,m,g,w,b,C,k,R,E=this;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:o=r.queryParameters,a=void 0===o?null:o,s=r.bodyParameters,c=void 0===s?null:s,u=r.additionalHeaders,l=void 0===u?{}:u,h=r.abortSignal,p=void 0===h?null:h,f=r.responseType,d=void 0===f?void 0:f,y=r.skipConnectionTimeout,v=void 0!==y&&y,m=r.enableKeepAlive,g=void 0===m?void 0:m,this.configuration.validate(),w=Date.now(),this.logger.debug("Request #".concat(w,": Performing ").concat(e.toUpperCase()," request: ").concat(n)),C=A().mark((function t(){var r,o,s,u,h,f,y,m,C;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=E.getNextNode(w),E.logger.debug("Request #".concat(w,": Attempting ").concat(e.toUpperCase()," request Try #").concat(R," to Node ").concat(r.index)),!p||!p.aborted){t.next=4;break}return t.abrupt("return",{v:Promise.reject(new Error("Request aborted by caller."))});case 4:return t.prev=4,s={method:e,url:E.uriFor(n,r),headers:Object.assign({},E.defaultHeaders(),l,E.additionalUserHeaders),maxContentLength:1/0,maxBodyLength:1/0,responseType:d,validateStatus:function(t){return t>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!==v&&(s.timeout=1e3*E.connectionTimeoutSeconds),a&&0!==Object.keys(a).length&&(s.params=a),E.sendApiKeyAsQueryParam&&(s.params=s.params||{},s.params["x-typesense-api-key"]=E.apiKey),E.configuration.httpAgent?(E.logger.debug("Request #".concat(w,": Using custom httpAgent")),s.httpAgent=E.configuration.httpAgent):!0===g&&(E.logger.debug("Request #".concat(w,": Enabling KeepAlive")),s.httpAgent=new Be.Agent({keepAlive:!0})),E.configuration.httpsAgent?(E.logger.debug("Request #".concat(w,": Using custom httpsAgent")),s.httpsAgent=E.configuration.httpsAgent):!0===g&&(E.logger.debug("Request #".concat(w,": Enabling keepAlive")),s.httpsAgent=new qe.Agent({keepAlive:!0})),E.configuration.paramsSerializer&&(E.logger.debug("Request #".concat(w,": Using custom paramsSerializer")),s.paramsSerializer=E.configuration.paramsSerializer),c&&("string"==typeof c&&0!==c.length||"object"===i(c)&&0!==Object.keys(c).length)&&(s.data=c),p&&(u=me.CancelToken,h=u.source(),o=function(){return h.cancel()},p.addEventListener("abort",o),s.cancelToken=h.token),t.next=16,me(s);case 16:if((f=t.sent).status>=1&&f.status<=499&&E.setNodeHealthcheck(r,De),E.logger.debug("Request #".concat(w,": Request to Node ").concat(r.index," was made. Response Code was ").concat(f.status,".")),!(f.status>=200&&f.status<300)){t.next=23;break}return t.abrupt("return",{v:Promise.resolve(f.data)});case 23:if(!(f.status<500)){t.next=27;break}return t.abrupt("return",{v:Promise.reject(E.customErrorForResponse(f,null===(y=f.data)||void 0===y?void 0:y.message))});case 27:throw E.customErrorForResponse(f,null===(m=f.data)||void 0===m?void 0:m.message);case 28:t.next=38;break;case 30:return t.prev=30,t.t0=t.catch(4),E.setNodeHealthcheck(r,!1),b=t.t0,E.logger.warn("Request #".concat(w,": Request to Node ").concat(r.index,' failed due to "').concat(t.t0.code," ").concat(t.t0.message).concat(null==t.t0.response?"":" - "+JSON.stringify(null===(C=t.t0.response)||void 0===C?void 0:C.data),'"')),E.logger.warn("Request #".concat(w,": Sleeping for ").concat(E.retryIntervalSeconds,"s and then retrying request...")),t.next=38,E.timer(E.retryIntervalSeconds);case 38:return t.prev=38,p&&o&&p.removeEventListener("abort",o),t.finish(38);case 41:case"end":return t.stop()}}),t,null,[[4,30,38,41]])})),R=1;case 6:if(!(R<=this.numRetriesPerRequest+1)){t.next=14;break}return t.delegateYield(C(),"t0",8);case 8:if(!(k=t.t0)){t.next=11;break}return t.abrupt("return",k.v);case 11:R++,t.next=6;break;case 14:return this.logger.debug("Request #".concat(w,": No retries left. Raising last error")),t.abrupt("return",Promise.reject(b));case 16:case"end":return t.stop()}}),t,this)}))),function(t,e,r){return n.apply(this,arguments)})},{key:"getNextNode",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(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}},{key:"nodeDueForHealthcheck",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,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}},{key:"initializeMetadataForNodes",value:function(){var t=this;null!=this.nearestNode&&(this.nearestNode.index="nearestNode",this.setNodeHealthcheck(this.nearestNode,De)),this.nodes.forEach((function(e,n){e.index=n,t.setNodeHealthcheck(e,De)}))}},{key:"setNodeHealthcheck",value:function(t,e){t.isHealthy=e,t.lastAccessTimestamp=Date.now()}},{key:"uriFor",value: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)}},{key:"defaultHeaders",value:function(){var t={};return this.sendApiKeyAsQueryParam||(t["X-TYPESENSE-API-KEY"]=this.apiKey),t["Content-Type"]="application/json",t}},{key:"timer",value:(e=P(A().mark((function t(e){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",new Promise((function(t){return setTimeout(t,1e3*e)})));case 1:case"end":return t.stop()}}),t)}))),function(t){return e.apply(this,arguments)})},{key:"customErrorForResponse",value: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 b(n);return(r=400===t.status?new be(n):401===t.status?new Re(n):404===t.status?new Oe(n):409===t.status?new Ae(n):422===t.status?new je(n):t.status>=500&&t.status<=599?new Le(n):new He(n)).httpStatus=t.status,r}}]),t}(),Ke="/collections",ze=function(){function t(e){o(this,t),this.apiCall=e}var e,n;return c(t,[{key:"create",value:(n=P(A().mark((function t(e){var n,r=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},t.abrupt("return",this.apiCall.post(Ke,e,n));case 2:case"end":return t.stop()}}),t,this)}))),function(t){return n.apply(this,arguments)})},{key:"retrieve",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(Ke));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})}],[{key:"RESOURCEPATH",get:function(){return Ke}}]),t}();function Je(t,e,n){return e=f(e),p(t,We()?Reflect.construct(e,n||[],f(t).constructor):e.apply(t,n))}function We(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(We=function(){return!!t})()}var Ge=function(t){function e(t,n){var r;return o(this,e),(r=Je(this,e,[t])).importResults=n,r}return y(e,t),c(e)}(b);function Qe(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);nc&&(y=this.responseCache.keys().next().value,this.responseCache.delete(y)),this.responsePromiseCache.size>c&&(v=this.responsePromiseCache.keys().next().value,this.responsePromiseCache.delete(v)),t.abrupt("return",d);case 37:case"end":return t.stop()}}),t,this)}))),function(t,n,r,o){return e.apply(this,arguments)})}]),t}(),Ye="/documents",Ze=function(){function t(e,n,r){o(this,t),u(this,"requestWithCache",new Xe),this.collectionName=e,this.apiCall=n,this.configuration=r}var e;return c(t,[{key:"clearCache",value:function(){this.requestWithCache.clearCache()}},{key:"search",value:(e=P(A().mark((function t(e){var n,r,o,i,a,s,c,u,l=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:for(c in r=(n=l.length>1&&void 0!==l[1]?l[1]:{}).cacheSearchResultsForSeconds,o=void 0===r?this.configuration.cacheSearchResultsForSeconds:r,i=n.abortSignal,a=void 0===i?null:i,s={},!0===this.configuration.useServerSideSearchCache&&(s.use_cache=!0),e)Array.isArray(e[c])&&(s[c]=e[c].join(","));return u=Object.assign({},e,s),t.abrupt("return",this.requestWithCache.perform(this.apiCall,this.apiCall.get,[this.endpointPath("search"),u,{abortSignal:a}],{cacheResponseForSeconds:o}));case 6:case"end":return t.stop()}}),t,this)}))),function(t){return e.apply(this,arguments)})},{key:"endpointPath",value:function(t){return"".concat(ze.RESOURCEPATH,"/").concat(this.collectionName).concat(Ye).concat(void 0===t?"":"/"+t)}}],[{key:"RESOURCEPATH",get:function(){return Ye}}]),t}();function tn(t,e,n){return e=f(e),p(t,en()?Reflect.construct(e,n||[],f(t).constructor):e.apply(t,n))}function en(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(en=function(){return!!t})()}var nn=function(t){function e(t,n,r){return o(this,e),tn(this,e,[t,n,r])}var n,r,i,a,s,u,l,h;return y(e,t),c(e,[{key:"create",value:(h=P(A().mark((function t(e){var n,r=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=r.length>1&&void 0!==r[1]?r[1]:{},e){t.next=3;break}throw new Error("No document provided");case 3:return t.abrupt("return",this.apiCall.post(this.endpointPath(),e,n));case 4:case"end":return t.stop()}}),t,this)}))),function(t){return h.apply(this,arguments)})},{key:"upsert",value:(l=P(A().mark((function t(e){var n,r=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=r.length>1&&void 0!==r[1]?r[1]:{},e){t.next=3;break}throw new Error("No document provided");case 3:return t.abrupt("return",this.apiCall.post(this.endpointPath(),e,Object.assign({},n,{action:"upsert"})));case 4:case"end":return t.stop()}}),t,this)}))),function(t){return l.apply(this,arguments)})},{key:"update",value:(u=P(A().mark((function t(e){var n,r=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=r.length>1&&void 0!==r[1]?r[1]:{},e){t.next=3;break}throw new Error("No document provided");case 3:if(null==n.filter_by){t.next=7;break}return t.abrupt("return",this.apiCall.patch(this.endpointPath(),e,Object.assign({},n)));case 7:return t.abrupt("return",this.apiCall.post(this.endpointPath(),e,Object.assign({},n,{action:"update"})));case 8:case"end":return t.stop()}}),t,this)}))),function(t){return u.apply(this,arguments)})},{key:"delete",value:(s=P(A().mark((function t(){var e,n=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=n.length>0&&void 0!==n[0]?n[0]:{},t.abrupt("return",this.apiCall.delete(this.endpointPath(),e));case 2:case"end":return t.stop()}}),t,this)}))),function(){return s.apply(this,arguments)})},{key:"createMany",value:(a=P(A().mark((function t(e){var n,r=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},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"),t.abrupt("return",this.import(e,n));case 3:case"end":return t.stop()}}),t,this)}))),function(t){return a.apply(this,arguments)})},{key:"import",value:(i=P(A().mark((function t(e){var n,r,o,i,a,s=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=s.length>1&&void 0!==s[1]?s[1]:{},!Array.isArray(e)){t.next=13;break}t.prev=2,r=e.map((function(t){return JSON.stringify(t)})).join("\n"),t.next=11;break;case 6:if(t.prev=6,t.t0=t.catch(2),!(t.t0 instanceof RangeError&&t.t0.message.includes("Too many properties to enumerate"))){t.next=10;break}throw new Error("".concat(t.t0,"\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 "));case 10:throw new Error(t.t0);case 11:t.next=14;break;case 13:r=e;case 14:return t.next=16,this.apiCall.performRequest("post",this.endpointPath("import"),{queryParameters:n,bodyParameters:r,additionalHeaders:{"Content-Type":"text/plain"},skipConnectionTimeout:!0,enableKeepAlive:!0});case 16:if(o=t.sent,!Array.isArray(e)){t.next=27;break}if(i=o.split("\n").map((function(t){return JSON.parse(t)})),!((a=i.filter((function(t){return!1===t.success}))).length>0)){t.next=24;break}throw new Ge("".concat(i.length-a.length," documents imported successfully, ").concat(a.length," documents failed during import. Use `error.importResults` from the raised exception to get a detailed error reason for each document."),i);case 24:return t.abrupt("return",i);case 25:t.next=28;break;case 27:return t.abrupt("return",o);case 28:case"end":return t.stop()}}),t,this,[[2,6]])}))),function(t){return i.apply(this,arguments)})},{key:"export",value:(r=P(A().mark((function t(){var e,n=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=n.length>0&&void 0!==n[0]?n[0]:{},t.abrupt("return",this.apiCall.get(this.endpointPath("export"),e));case 2:case"end":return t.stop()}}),t,this)}))),function(){return r.apply(this,arguments)})},{key:"exportStream",value:(n=P(A().mark((function t(){var e,n=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=n.length>0&&void 0!==n[0]?n[0]:{},t.abrupt("return",this.apiCall.get(this.endpointPath("export"),e,{responseType:"stream"}));case 2:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})}]),e}(Ze),rn=function(){function t(e,n){o(this,t),this.collectionName=e,this.apiCall=n}var e,n;return c(t,[{key:"upsert",value:(n=P(A().mark((function t(e,n){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.put(this.endpointPath(e),n));case 1:case"end":return t.stop()}}),t,this)}))),function(t,e){return n.apply(this,arguments)})},{key:"retrieve",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(e){return"".concat(ze.RESOURCEPATH,"/").concat(this.collectionName).concat(t.RESOURCEPATH).concat(void 0===e?"":"/"+encodeURIComponent(e))}}],[{key:"RESOURCEPATH",get:function(){return"/overrides"}}]),t}(),on=function(){function t(e,n,r){o(this,t),this.collectionName=e,this.overrideId=n,this.apiCall=r}var e,n;return c(t,[{key:"retrieve",value:(n=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(ze.RESOURCEPATH,"/").concat(encodeURIComponent(this.collectionName)).concat(rn.RESOURCEPATH,"/").concat(encodeURIComponent(this.overrideId))}}]),t}(),an=function(){function t(e,n){o(this,t),this.collectionName=e,this.apiCall=n}var e,n;return c(t,[{key:"upsert",value:(n=P(A().mark((function t(e,n){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.put(this.endpointPath(e),n));case 1:case"end":return t.stop()}}),t,this)}))),function(t,e){return n.apply(this,arguments)})},{key:"retrieve",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(e){return"".concat(ze.RESOURCEPATH,"/").concat(encodeURIComponent(this.collectionName)).concat(t.RESOURCEPATH).concat(void 0===e?"":"/"+encodeURIComponent(e))}}],[{key:"RESOURCEPATH",get:function(){return"/synonyms"}}]),t}(),sn=function(){function t(e,n,r){o(this,t),this.collectionName=e,this.synonymId=n,this.apiCall=r}var e,n;return c(t,[{key:"retrieve",value:(n=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(ze.RESOURCEPATH,"/").concat(encodeURIComponent(this.collectionName)).concat(an.RESOURCEPATH,"/").concat(encodeURIComponent(this.synonymId))}}]),t}(),cn=function(){function t(e,n,r){o(this,t),this.collectionName=e,this.documentId=n,this.apiCall=r}var e,n,r;return c(t,[{key:"retrieve",value:(r=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return r.apply(this,arguments)})},{key:"delete",value:(n=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},{key:"update",value:(e=P(A().mark((function t(e){var n,r=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},t.abrupt("return",this.apiCall.patch(this.endpointPath(),e,n));case 2:case"end":return t.stop()}}),t,this)}))),function(t){return e.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(ze.RESOURCEPATH,"/").concat(encodeURIComponent(this.collectionName)).concat(nn.RESOURCEPATH,"/").concat(encodeURIComponent(this.documentId))}}]),t}(),un=function(){function t(e,n,r){o(this,t),u(this,"individualDocuments",{}),u(this,"individualOverrides",{}),u(this,"individualSynonyms",{}),this.name=e,this.apiCall=n,this.configuration=r,this.name=e,this.apiCall=n,this.configuration=r,this._documents=new nn(this.name,this.apiCall,this.configuration),this._overrides=new rn(this.name,this.apiCall),this._synonyms=new an(this.name,this.apiCall)}var e,n,r,i;return c(t,[{key:"retrieve",value:(i=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return i.apply(this,arguments)})},{key:"update",value:(r=P(A().mark((function t(e){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.patch(this.endpointPath(),e));case 1:case"end":return t.stop()}}),t,this)}))),function(t){return r.apply(this,arguments)})},{key:"delete",value:(n=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},{key:"exists",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,this.retrieve();case 3:return t.abrupt("return",!0);case 6:if(t.prev=6,t.t0=t.catch(0),!(t.t0 instanceof Oe)){t.next=10;break}return t.abrupt("return",!1);case 10:throw t.t0;case 11:case"end":return t.stop()}}),t,this,[[0,6]])}))),function(){return e.apply(this,arguments)})},{key:"documents",value:function(t){return t?(void 0===this.individualDocuments[t]&&(this.individualDocuments[t]=new cn(this.name,t,this.apiCall)),this.individualDocuments[t]):this._documents}},{key:"overrides",value:function(t){return void 0===t?this._overrides:(void 0===this.individualOverrides[t]&&(this.individualOverrides[t]=new on(this.name,t,this.apiCall)),this.individualOverrides[t])}},{key:"synonyms",value:function(t){return void 0===t?this._synonyms:(void 0===this.individualSynonyms[t]&&(this.individualSynonyms[t]=new sn(this.name,t,this.apiCall)),this.individualSynonyms[t])}},{key:"endpointPath",value:function(){return"".concat(ze.RESOURCEPATH,"/").concat(encodeURIComponent(this.name))}}]),t}(),ln="/aliases",hn=function(){function t(e){o(this,t),this.apiCall=e}var e,n;return c(t,[{key:"upsert",value:(n=P(A().mark((function t(e,n){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.put(this.endpointPath(e),n));case 1:case"end":return t.stop()}}),t,this)}))),function(t,e){return n.apply(this,arguments)})},{key:"retrieve",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(ln));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(e){return"".concat(t.RESOURCEPATH,"/").concat(encodeURIComponent(e))}}],[{key:"RESOURCEPATH",get:function(){return ln}}]),t}(),pn=function(){function t(e,n){o(this,t),this.name=e,this.apiCall=n}var e,n;return c(t,[{key:"retrieve",value:(n=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(hn.RESOURCEPATH,"/").concat(encodeURIComponent(this.name))}}]),t}(),fn=n(565),dn="/keys",yn=function(){function t(e){o(this,t),this.apiCall=e,this.apiCall=e}var e,n;return c(t,[{key:"create",value:(n=P(A().mark((function e(n){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.post(t.RESOURCEPATH,n));case 1:case"end":return e.stop()}}),e,this)}))),function(t){return n.apply(this,arguments)})},{key:"retrieve",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(dn));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"generateScopedSearchKey",value:function(t,e){var n=JSON.stringify(e),r=Buffer.from((0,fn.createHmac)("sha256",t).update(n).digest("base64")),o=t.substr(0,4),i="".concat(r).concat(o).concat(n);return Buffer.from(i).toString("base64")}}],[{key:"RESOURCEPATH",get:function(){return dn}}]),t}(),vn=function(){function t(e,n){o(this,t),this.id=e,this.apiCall=n}var e,n;return c(t,[{key:"retrieve",value:(n=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(yn.RESOURCEPATH,"/").concat(encodeURIComponent(this.id))}}]),t}(),mn=function(){function t(e){o(this,t),this.apiCall=e}var e;return c(t,[{key:"retrieve",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get("/debug"));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})}]),t}(),gn=function(){function t(e){o(this,t),this.apiCall=e}var e;return c(t,[{key:"retrieve",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get("/metrics.json"));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})}]),t}(),wn=function(){function t(e){o(this,t),this.apiCall=e}var e;return c(t,[{key:"retrieve",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get("/stats.json"));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})}]),t}(),bn=function(){function t(e){o(this,t),this.apiCall=e}var e;return c(t,[{key:"retrieve",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get("/health"));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})}]),t}(),Cn=function(){function t(e){o(this,t),this.apiCall=e}var e;return c(t,[{key:"perform",value:(e=P(A().mark((function t(e){var n,r=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},t.abrupt("return",this.apiCall.post("".concat("/operations","/").concat(e),{},n));case 2:case"end":return t.stop()}}),t,this)}))),function(t){return e.apply(this,arguments)})}]),t}(),kn=function(){function t(e,n){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];o(this,t),this.apiCall=e,this.configuration=n,this.useTextContentType=r,this.requestWithCache=new Xe}var e;return c(t,[{key:"clearCache",value:function(){this.requestWithCache.clearCache()}},{key:"perform",value:(e=P(A().mark((function t(e){var n,r,o,i,a,s,c=arguments;return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=c.length>1&&void 0!==c[1]?c[1]:{},r=(c.length>2&&void 0!==c[2]?c[2]:{}).cacheSearchResultsForSeconds,o=void 0===r?this.configuration.cacheSearchResultsForSeconds:r,i={},this.useTextContentType&&(i["content-type"]="text/plain"),a={},!0===this.configuration.useServerSideSearchCache&&(a.use_cache=!0),s=Object.assign({},n,a),t.abrupt("return",this.requestWithCache.perform(this.apiCall,this.apiCall.post,["/multi_search",e,s,i],{cacheResponseForSeconds:o}));case 8:case"end":return t.stop()}}),t,this)}))),function(t){return e.apply(this,arguments)})}]),t}(),Rn=function(){function t(e){o(this,t),this.apiCall=e}var e,n;return c(t,[{key:"upsert",value:(n=P(A().mark((function t(e,n){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.put(this.endpointPath(e),n));case 1:case"end":return t.stop()}}),t,this)}))),function(t,e){return n.apply(this,arguments)})},{key:"retrieve",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(e){return"".concat(t.RESOURCEPATH).concat(void 0===e?"":"/"+encodeURIComponent(e))}}],[{key:"RESOURCEPATH",get:function(){return"/presets"}}]),t}(),En=function(){function t(e,n){o(this,t),this.presetId=e,this.apiCall=n}var e,n;return c(t,[{key:"retrieve",value:(n=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(Rn.RESOURCEPATH,"/").concat(encodeURIComponent(this.presetId))}}]),t}(),Sn=function(){function t(e){o(this,t),this.apiCall=e,this.apiCall=e}var e,n;return c(t,[{key:"upsert",value:(n=P(A().mark((function t(e,n){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.put(this.endpointPath(e),n));case 1:case"end":return t.stop()}}),t,this)}))),function(t,e){return n.apply(this,arguments)})},{key:"retrieve",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(e){return"".concat(t.RESOURCEPATH).concat(void 0===e?"":"/"+encodeURIComponent(e))}}],[{key:"RESOURCEPATH",get:function(){return"/analytics/rules"}}]),t}(),On=function(){function t(e,n){o(this,t),this.name=e,this.apiCall=n}var e,n;return c(t,[{key:"retrieve",value:(n=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(Sn.RESOURCEPATH,"/").concat(encodeURIComponent(this.name))}}]),t}(),Pn=function(){function t(e){o(this,t),this.apiCall=e,this.apiCall=e}var e;return c(t,[{key:"create",value:(e=P(A().mark((function t(e){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.post(this.endpointPath(),e));case 1:case"end":return t.stop()}}),t,this)}))),function(t){return e.apply(this,arguments)})},{key:"endpointPath",value:function(e){return"".concat(t.RESOURCEPATH).concat(void 0===e?"":"/"+encodeURIComponent(e))}}],[{key:"RESOURCEPATH",get:function(){return"/analytics/events"}}]),t}(),xn=function(){function t(e){o(this,t),u(this,"individualAnalyticsRules",{}),this.apiCall=e,this.apiCall=e,this._analyticsRules=new Sn(this.apiCall),this._analyticsEvents=new Pn(this.apiCall)}return c(t,[{key:"rules",value:function(t){return void 0===t?this._analyticsRules:(void 0===this.individualAnalyticsRules[t]&&(this.individualAnalyticsRules[t]=new On(t,this.apiCall)),this.individualAnalyticsRules[t])}},{key:"events",value:function(){return this._analyticsEvents}}],[{key:"RESOURCEPATH",get:function(){return"/analytics"}}]),t}(),An=function(){function t(e){o(this,t),this.apiCall=e}var e,n;return c(t,[{key:"upsert",value:(n=P(A().mark((function t(e,n){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.put(this.endpointPath(e),n));case 1:case"end":return t.stop()}}),t,this)}))),function(t,e){return n.apply(this,arguments)})},{key:"retrieve",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(e){return"".concat(t.RESOURCEPATH).concat(void 0===e?"":"/"+encodeURIComponent(e))}}],[{key:"RESOURCEPATH",get:function(){return"/stopwords"}}]),t}(),Tn=function(){function t(e,n){o(this,t),this.stopwordId=e,this.apiCall=n}var e,n;return c(t,[{key:"retrieve",value:(n=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(An.RESOURCEPATH,"/").concat(encodeURIComponent(this.stopwordId))}}]),t}(),Nn=function(){function t(e){o(this,t),this.apiCall=e,this.apiCall=e}var e,n;return c(t,[{key:"create",value:(n=P(A().mark((function t(e){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.post(this.endpointPath(),e));case 1:case"end":return t.stop()}}),t,this)}))),function(t){return n.apply(this,arguments)})},{key:"retrieve",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(e){return"".concat(t.RESOURCEPATH).concat(void 0===e?"":"/"+encodeURIComponent(e))}}],[{key:"RESOURCEPATH",get:function(){return"/conversations/models"}}]),t}(),jn=function(){function t(e,n){o(this,t),this.id=e,this.apiCall=n}var e,n,r;return c(t,[{key:"update",value:(r=P(A().mark((function t(e){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.put(this.endpointPath(),e));case 1:case"end":return t.stop()}}),t,this)}))),function(t){return r.apply(this,arguments)})},{key:"retrieve",value:(n=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(Nn.RESOURCEPATH,"/").concat(encodeURIComponent(this.id))}}]),t}(),Un="/conversations",_n=function(){function t(e){o(this,t),u(this,"individualConversationModels",{}),this.apiCall=e,this.apiCall=e,this._conversationsModels=new Nn(this.apiCall)}var e;return c(t,[{key:"retrieve",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(Un));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"models",value:function(t){return void 0===t?this._conversationsModels:(void 0===this.individualConversationModels[t]&&(this.individualConversationModels[t]=new jn(t,this.apiCall)),this.individualConversationModels[t])}}],[{key:"RESOURCEPATH",get:function(){return Un}}]),t}(),Ln=function(){function t(e,n){o(this,t),this.id=e,this.apiCall=n}var e,n,r;return c(t,[{key:"retrieve",value:(r=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return r.apply(this,arguments)})},{key:"update",value:(n=P(A().mark((function t(e){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.put(this.endpointPath(),e));case 1:case"end":return t.stop()}}),t,this)}))),function(t){return n.apply(this,arguments)})},{key:"delete",value:(e=P(A().mark((function t(){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(_n.RESOURCEPATH,"/").concat(encodeURIComponent(this.id))}}]),t}(),In=function(){function t(e){var n;o(this,t),e.sendApiKeyAsQueryParam=null!==(n=e.sendApiKeyAsQueryParam)&&void 0!==n&&n,this.configuration=new S(e),this.apiCall=new Me(this.configuration),this.debug=new mn(this.apiCall),this.metrics=new gn(this.apiCall),this.stats=new wn(this.apiCall),this.health=new bn(this.apiCall),this.operations=new Cn(this.apiCall),this.multiSearch=new kn(this.apiCall,this.configuration),this._collections=new ze(this.apiCall),this.individualCollections={},this._aliases=new hn(this.apiCall),this.individualAliases={},this._keys=new yn(this.apiCall),this.individualKeys={},this._presets=new Rn(this.apiCall),this.individualPresets={},this._stopwords=new An(this.apiCall),this.individualStopwords={},this.analytics=new xn(this.apiCall),this._conversations=new _n(this.apiCall),this.individualConversations={}}return c(t,[{key:"collections",value:function(t){return void 0===t?this._collections:(void 0===this.individualCollections[t]&&(this.individualCollections[t]=new un(t,this.apiCall,this.configuration)),this.individualCollections[t])}},{key:"aliases",value:function(t){return void 0===t?this._aliases:(void 0===this.individualAliases[t]&&(this.individualAliases[t]=new pn(t,this.apiCall)),this.individualAliases[t])}},{key:"keys",value:function(t){return void 0===t?this._keys:(void 0===this.individualKeys[t]&&(this.individualKeys[t]=new vn(t,this.apiCall)),this.individualKeys[t])}},{key:"presets",value:function(t){return void 0===t?this._presets:(void 0===this.individualPresets[t]&&(this.individualPresets[t]=new En(t,this.apiCall)),this.individualPresets[t])}},{key:"stopwords",value:function(t){return void 0===t?this._stopwords:(void 0===this.individualStopwords[t]&&(this.individualStopwords[t]=new Tn(t,this.apiCall)),this.individualStopwords[t])}},{key:"conversations",value:function(t){return void 0===t?this._conversations:(void 0===this.individualConversations[t]&&(this.individualConversations[t]=new Ln(t,this.apiCall)),this.individualConversations[t])}}]),t}();var Fn=function(){function t(e,n,r){o(this,t),this.name=e,this.apiCall=n,this.configuration=r,this._documents=new Ze(this.name,this.apiCall,this.configuration)}return c(t,[{key:"documents",value:function(){return this._documents}}]),t}(),Hn=function(){function t(e){var n;o(this,t),e.sendApiKeyAsQueryParam=null===(n=e.sendApiKeyAsQueryParam)||void 0===n||n,!0===e.sendApiKeyAsQueryParam&&(e.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."),e.sendApiKeyAsQueryParam=!1),this.configuration=new S(e),this.apiCall=new Me(this.configuration),this.multiSearch=new kn(this.apiCall,this.configuration,!0),this.individualCollections={}}return c(t,[{key:"clearCache",value:function(){this.multiSearch.clearCache(),Object.entries(this.individualCollections).forEach((function(t){var e,n,r=(n=2,function(t){if(Array.isArray(t))return t}(e=t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,o,i,a,s=[],c=!0,u=!1;try{if(i=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(s.push(r.value),s.length!==e);c=!0);}catch(t){u=!0,o=t}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}(e,n)||Ve(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}());r[0],r[1].documents().clearCache()}))}},{key:"collections",value:function(t){if(t)return void 0===this.individualCollections[t]&&(this.individualCollections[t]=new Fn(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}();const Bn={Client:In,SearchClient:Hn,Errors:e}})(),Typesense=r})(); +var Typesense;(()=>{var e={43:function(e,t,n){var r,o;!function(i,a){"use strict";r=function(){var e=function(){},t="undefined",n=typeof window!==t&&typeof window.navigator!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),r=["trace","debug","info","warn","error"],o={},i=null;function a(e,t){var n=e[t];if("function"==typeof n.bind)return n.bind(e);try{return Function.prototype.bind.call(n,e)}catch(t){return function(){return Function.prototype.apply.apply(n,[e,arguments])}}}function s(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function c(){for(var n=this.getLevel(),o=0;o=0&&t<=h.levels.SILENT)return t;throw new TypeError("log.setLevel() called with invalid level: "+e)}"string"==typeof e?p+=":"+e:"symbol"==typeof e&&(p=void 0),h.name=e,h.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},h.methodFactory=n||l,h.getLevel=function(){return null!=u?u:null!=s?s:a},h.setLevel=function(e,n){return u=d(e),!1!==n&&function(e){var n=(r[e]||"silent").toUpperCase();if(typeof window!==t&&p){try{return void(window.localStorage[p]=n)}catch(e){}try{window.document.cookie=encodeURIComponent(p)+"="+n+";"}catch(e){}}}(u),c.call(h)},h.setDefaultLevel=function(e){s=d(e),f()||h.setLevel(e,!1)},h.resetLevel=function(){u=null,function(){if(typeof window!==t&&p){try{window.localStorage.removeItem(p)}catch(e){}try{window.document.cookie=encodeURIComponent(p)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch(e){}}}(),c.call(h)},h.enableAll=function(e){h.setLevel(h.levels.TRACE,e)},h.disableAll=function(e){h.setLevel(h.levels.SILENT,e)},h.rebuild=function(){if(i!==h&&(a=d(i.getLevel())),c.call(h),i===h)for(var e in o)o[e].rebuild()},a=d(i?i.getLevel():"WARN");var y=f();null!=y&&(u=d(y)),c.call(h)}(i=new h).getLogger=function(e){if("symbol"!=typeof e&&"string"!=typeof e||""===e)throw new TypeError("You must supply a name when creating a logger.");var t=o[e];return t||(t=o[e]=new h(e,i.methodFactory)),t};var p=typeof window!==t?window.log:void 0;return i.noConflict=function(){return typeof window!==t&&window.log===i&&(window.log=p),i},i.getLoggers=function(){return o},i.default=i,i},void 0===(o=r.call(t,n,t,e))||(e.exports=o)}()},565:()=>{},337:()=>{},877:()=>{},61:(e,t,n)=>{var r=n(698).default;function o(){"use strict";e.exports=o=function(){return n},e.exports.__esModule=!0,e.exports.default=e.exports;var t,n={},i=Object.prototype,a=i.hasOwnProperty,s=Object.defineProperty||function(e,t,n){e[t]=n.value},c="function"==typeof Symbol?Symbol:{},u=c.iterator||"@@iterator",l=c.asyncIterator||"@@asyncIterator",h=c.toStringTag||"@@toStringTag";function p(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{p({},"")}catch(t){p=function(e,t,n){return e[t]=n}}function f(e,t,n,r){var o=t&&t.prototype instanceof b?t:b,i=Object.create(o.prototype),a=new U(r||[]);return s(i,"_invoke",{value:A(e,n,a)}),i}function d(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}n.wrap=f;var y="suspendedStart",v="suspendedYield",m="executing",g="completed",w={};function b(){}function C(){}function R(){}var k={};p(k,u,(function(){return this}));var E=Object.getPrototypeOf,S=E&&E(E(_([])));S&&S!==i&&a.call(S,u)&&(k=S);var O=R.prototype=b.prototype=Object.create(k);function P(e){["next","throw","return"].forEach((function(t){p(e,t,(function(e){return this._invoke(t,e)}))}))}function x(e,t){function n(o,i,s,c){var u=d(e[o],e,i);if("throw"!==u.type){var l=u.arg,h=l.value;return h&&"object"==r(h)&&a.call(h,"__await")?t.resolve(h.__await).then((function(e){n("next",e,s,c)}),(function(e){n("throw",e,s,c)})):t.resolve(h).then((function(e){l.value=e,s(l)}),(function(e){return n("throw",e,s,c)}))}c(u.arg)}var o;s(this,"_invoke",{value:function(e,r){function i(){return new t((function(t,o){n(e,r,t,o)}))}return o=o?o.then(i,i):i()}})}function A(e,n,r){var o=y;return function(i,a){if(o===m)throw new Error("Generator is already running");if(o===g){if("throw"===i)throw a;return{value:t,done:!0}}for(r.method=i,r.arg=a;;){var s=r.delegate;if(s){var c=T(s,r);if(c){if(c===w)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(o===y)throw o=g,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);o=m;var u=d(e,n,r);if("normal"===u.type){if(o=r.done?g:v,u.arg===w)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(o=g,r.method="throw",r.arg=u.arg)}}}function T(e,n){var r=n.method,o=e.iterator[r];if(o===t)return n.delegate=null,"throw"===r&&e.iterator.return&&(n.method="return",n.arg=t,T(e,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),w;var i=d(o,e.iterator,n.arg);if("throw"===i.type)return n.method="throw",n.arg=i.arg,n.delegate=null,w;var a=i.arg;return a?a.done?(n[e.resultName]=a.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,w):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,w)}function N(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function j(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function U(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(N,this),this.reset(!0)}function _(e){if(e||""===e){var n=e[u];if(n)return n.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function n(){for(;++o=0;--o){var i=this.tryEntries[o],s=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var c=a.call(i,"catchLoc"),u=a.call(i,"finallyLoc");if(c&&u){if(this.prev=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&a.call(r,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),j(n),w}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;j(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:_(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),w}},n}e.exports=o,e.exports.__esModule=!0,e.exports.default=e.exports},698:e=>{function t(n){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(n)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},687:(e,t,n)=>{var r=n(61)();e.exports=r;try{regeneratorRuntime=r}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=r:Function("r","regeneratorRuntime = r")(r)}}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r].call(i.exports,i,i.exports,n),i.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};(()=>{"use strict";n.r(r),n.d(r,{Client:()=>or,Errors:()=>t,SearchClient:()=>ar,default:()=>sr});var e={};n.r(e),n.d(e,{hasBrowserEnv:()=>Ue,hasStandardBrowserEnv:()=>_e,hasStandardBrowserWebWorkerEnv:()=>Ie,origin:()=>Fe});var t={};function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function a(e){var t=function(e,t){if("object"!=i(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=i(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==i(t)?t:String(t)}function s(e,t){for(var n=0;non,ImportError:()=>yn,MissingConfigurationError:()=>k,ObjectAlreadyExists:()=>Qt,ObjectNotFound:()=>Wt,ObjectUnprocessable:()=>Yt,RequestMalformed:()=>Dt,RequestUnauthorized:()=>Kt,ServerError:()=>tn,TypesenseError:()=>b});var l=n(43);function h(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function p(e,t){if(t&&("object"===i(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return h(e)}function f(e){return f=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},f(e)}function d(e,t){return d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},d(e,t)}function y(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&d(e,t)}function v(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(v=function(){return!!e})()}function m(e){var t="function"==typeof Map?new Map:void 0;return m=function(e){if(null===e||!function(e){try{return-1!==Function.toString.call(e).indexOf("[native code]")}catch(t){return"function"==typeof e}}(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return function(e,t,n){if(v())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,t);var o=new(e.bind.apply(e,r));return n&&d(o,n.prototype),o}(e,arguments,f(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),d(n,e)},m(e)}function g(e,t,n){return t=f(t),p(e,w()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function w(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(w=function(){return!!e})()}var b=function(e){function t(e){var n;return o(this,t),(n=g(this,t,[e])).name=(this instanceof t?this.constructor:void 0).name,Object.setPrototypeOf(h(n),(this instanceof t?this.constructor:void 0).prototype),n}return y(t,e),c(t)}(m(Error));function C(e,t,n){return t=f(t),p(e,R()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function R(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(R=function(){return!!e})()}var k=function(e){function t(){return o(this,t),C(this,t,arguments)}return y(t,e),c(t)}(b);function E(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var S=function(){function e(t){var n=this;o(this,e),this.nodes=t.nodes||[],this.nodes=this.nodes.map((function(e){return n.setDefaultPathInNode(e)})).map((function(e){return n.setDefaultPortInNode(e)})).map((function(e){return function(e){for(var t=1;t0;t--){var n=Math.floor(Math.random()*(t+1)),r=[e[n],e[t]];e[t]=r[0],e[n]=r[1]}}}]),e}();function O(e,t,n,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,o)}function P(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){O(i,r,o,a,s,"next",e)}function s(e){O(i,r,o,a,s,"throw",e)}a(void 0)}))}}var x=n(687),A=n.n(x);function T(e,t){return function(){return e.apply(t,arguments)}}const{toString:N}=Object.prototype,{getPrototypeOf:j}=Object,U=(_=Object.create(null),e=>{const t=N.call(e);return _[t]||(_[t]=t.slice(8,-1).toLowerCase())});var _;const L=e=>(e=e.toLowerCase(),t=>U(t)===e),I=e=>t=>typeof t===e,{isArray:F}=Array,q=I("undefined"),B=L("ArrayBuffer"),D=I("string"),H=I("function"),M=I("number"),K=e=>null!==e&&"object"==typeof e,z=e=>{if("object"!==U(e))return!1;const t=j(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||Symbol.toStringTag in e||Symbol.iterator in e)},J=L("Date"),W=L("File"),G=L("Blob"),V=L("FileList"),Q=L("URLSearchParams"),[$,X,Y,Z]=["ReadableStream","Request","Response","Headers"].map(L);function ee(e,t,{allOwnKeys:n=!1}={}){if(null==e)return;let r,o;if("object"!=typeof e&&(e=[e]),F(e))for(r=0,o=e.length;r0;)if(r=n[o],t===r.toLowerCase())return r;return null}const ne="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,re=e=>!q(e)&&e!==ne,oe=(ie="undefined"!=typeof Uint8Array&&j(Uint8Array),e=>ie&&e instanceof ie);var ie;const ae=L("HTMLFormElement"),se=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),ce=L("RegExp"),ue=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};ee(n,((n,o)=>{let i;!1!==(i=t(n,o,e))&&(r[o]=i||n)})),Object.defineProperties(e,r)},le="abcdefghijklmnopqrstuvwxyz",he="0123456789",pe={DIGIT:he,ALPHA:le,ALPHA_DIGIT:le+le.toUpperCase()+he},fe=L("AsyncFunction"),de={isArray:F,isArrayBuffer:B,isBuffer:function(e){return null!==e&&!q(e)&&null!==e.constructor&&!q(e.constructor)&&H(e.constructor.isBuffer)&&e.constructor.isBuffer(e)},isFormData:e=>{let t;return e&&("function"==typeof FormData&&e instanceof FormData||H(e.append)&&("formdata"===(t=U(e))||"object"===t&&H(e.toString)&&"[object FormData]"===e.toString()))},isArrayBufferView:function(e){let t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&B(e.buffer),t},isString:D,isNumber:M,isBoolean:e=>!0===e||!1===e,isObject:K,isPlainObject:z,isReadableStream:$,isRequest:X,isResponse:Y,isHeaders:Z,isUndefined:q,isDate:J,isFile:W,isBlob:G,isRegExp:ce,isFunction:H,isStream:e=>K(e)&&H(e.pipe),isURLSearchParams:Q,isTypedArray:oe,isFileList:V,forEach:ee,merge:function e(){const{caseless:t}=re(this)&&this||{},n={},r=(r,o)=>{const i=t&&te(n,o)||o;z(n[i])&&z(r)?n[i]=e(n[i],r):z(r)?n[i]=e({},r):F(r)?n[i]=r.slice():n[i]=r};for(let e=0,t=arguments.length;e(ee(t,((t,r)=>{n&&H(t)?e[r]=T(t,n):e[r]=t}),{allOwnKeys:r}),e),trim:e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),inherits:(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},toFlatObject:(e,t,n,r)=>{let o,i,a;const s={};if(t=t||{},null==e)return t;do{for(o=Object.getOwnPropertyNames(e),i=o.length;i-- >0;)a=o[i],r&&!r(a,e,t)||s[a]||(t[a]=e[a],s[a]=!0);e=!1!==n&&j(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},kindOf:U,kindOfTest:L,endsWith:(e,t,n)=>{e=String(e),(void 0===n||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return-1!==r&&r===n},toArray:e=>{if(!e)return null;if(F(e))return e;let t=e.length;if(!M(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},forEachEntry:(e,t)=>{const n=(e&&e[Symbol.iterator]).call(e);let r;for(;(r=n.next())&&!r.done;){const n=r.value;t.call(e,n[0],n[1])}},matchAll:(e,t)=>{let n;const r=[];for(;null!==(n=e.exec(t));)r.push(n);return r},isHTMLForm:ae,hasOwnProperty:se,hasOwnProp:se,reduceDescriptors:ue,freezeMethods:e=>{ue(e,((t,n)=>{if(H(e)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;const r=e[n];H(r)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}))}))},toObjectSet:(e,t)=>{const n={},r=e=>{e.forEach((e=>{n[e]=!0}))};return F(e)?r(e):r(String(e).split(t)),n},toCamelCase:e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(e,t,n){return t.toUpperCase()+n})),noop:()=>{},toFiniteNumber:(e,t)=>null!=e&&Number.isFinite(e=+e)?e:t,findKey:te,global:ne,isContextDefined:re,ALPHABET:pe,generateString:(e=16,t=pe.ALPHA_DIGIT)=>{let n="";const{length:r}=t;for(;e--;)n+=t[Math.random()*r|0];return n},isSpecCompliantForm:function(e){return!!(e&&H(e.append)&&"FormData"===e[Symbol.toStringTag]&&e[Symbol.iterator])},toJSONObject:e=>{const t=new Array(10),n=(e,r)=>{if(K(e)){if(t.indexOf(e)>=0)return;if(!("toJSON"in e)){t[r]=e;const o=F(e)?[]:{};return ee(e,((e,t)=>{const i=n(e,r+1);!q(i)&&(o[t]=i)})),t[r]=void 0,o}}return e};return n(e,0)},isAsyncFn:fe,isThenable:e=>e&&(K(e)||H(e))&&H(e.then)&&H(e.catch)};function ye(e,t,n,r,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),o&&(this.response=o)}de.inherits(ye,Error,{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:de.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const ve=ye.prototype,me={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((e=>{me[e]={value:e}})),Object.defineProperties(ye,me),Object.defineProperty(ve,"isAxiosError",{value:!0}),ye.from=(e,t,n,r,o,i)=>{const a=Object.create(ve);return de.toFlatObject(e,a,(function(e){return e!==Error.prototype}),(e=>"isAxiosError"!==e)),ye.call(a,e.message,t,n,r,o),a.cause=e,a.name=e.name,i&&Object.assign(a,i),a};const ge=ye;function we(e){return de.isPlainObject(e)||de.isArray(e)}function be(e){return de.endsWith(e,"[]")?e.slice(0,-2):e}function Ce(e,t,n){return e?e.concat(t).map((function(e,t){return e=be(e),!n&&t?"["+e+"]":e})).join(n?".":""):t}const Re=de.toFlatObject(de,{},null,(function(e){return/^is[A-Z]/.test(e)})),ke=function(e,t,n){if(!de.isObject(e))throw new TypeError("target must be an object");t=t||new FormData;const r=(n=de.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!de.isUndefined(t[e])}))).metaTokens,o=n.visitor||u,i=n.dots,a=n.indexes,s=(n.Blob||"undefined"!=typeof Blob&&Blob)&&de.isSpecCompliantForm(t);if(!de.isFunction(o))throw new TypeError("visitor must be a function");function c(e){if(null===e)return"";if(de.isDate(e))return e.toISOString();if(!s&&de.isBlob(e))throw new ge("Blob is not supported. Use a Buffer instead.");return de.isArrayBuffer(e)||de.isTypedArray(e)?s&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function u(e,n,o){let s=e;if(e&&!o&&"object"==typeof e)if(de.endsWith(n,"{}"))n=r?n:n.slice(0,-2),e=JSON.stringify(e);else if(de.isArray(e)&&function(e){return de.isArray(e)&&!e.some(we)}(e)||(de.isFileList(e)||de.endsWith(n,"[]"))&&(s=de.toArray(e)))return n=be(n),s.forEach((function(e,r){!de.isUndefined(e)&&null!==e&&t.append(!0===a?Ce([n],r,i):null===a?n:n+"[]",c(e))})),!1;return!!we(e)||(t.append(Ce(o,n,i),c(e)),!1)}const l=[],h=Object.assign(Re,{defaultVisitor:u,convertValue:c,isVisitable:we});if(!de.isObject(e))throw new TypeError("data must be an object");return function e(n,r){if(!de.isUndefined(n)){if(-1!==l.indexOf(n))throw Error("Circular reference detected in "+r.join("."));l.push(n),de.forEach(n,(function(n,i){!0===(!(de.isUndefined(n)||null===n)&&o.call(t,n,de.isString(i)?i.trim():i,r,h))&&e(n,r?r.concat(i):[i])})),l.pop()}}(e),t};function Ee(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function Se(e,t){this._pairs=[],e&&ke(e,this,t)}const Oe=Se.prototype;Oe.append=function(e,t){this._pairs.push([e,t])},Oe.toString=function(e){const t=e?function(t){return e.call(this,t,Ee)}:Ee;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};const Pe=Se;function xe(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Ae(e,t,n){if(!t)return e;const r=n&&n.encode||xe,o=n&&n.serialize;let i;if(i=o?o(t,n):de.isURLSearchParams(t)?t.toString():new Pe(t,n).toString(r),i){const t=e.indexOf("#");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf("?")?"?":"&")+i}return e}const Te=class{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){de.forEach(this.handlers,(function(t){null!==t&&e(t)}))}},Ne={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},je={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:Pe,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]},Ue="undefined"!=typeof window&&"undefined"!=typeof document,_e=(Le="undefined"!=typeof navigator&&navigator.product,Ue&&["ReactNative","NativeScript","NS"].indexOf(Le)<0);var Le;const Ie="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,Fe=Ue&&window.location.href||"http://localhost",qe={...e,...je},Be=function(e){function t(e,n,r,o){let i=e[o++];if("__proto__"===i)return!0;const a=Number.isFinite(+i),s=o>=e.length;return i=!i&&de.isArray(r)?r.length:i,s?(de.hasOwnProp(r,i)?r[i]=[r[i],n]:r[i]=n,!a):(r[i]&&de.isObject(r[i])||(r[i]=[]),t(e,n,r[i],o)&&de.isArray(r[i])&&(r[i]=function(e){const t={},n=Object.keys(e);let r;const o=n.length;let i;for(r=0;r{t(function(e){return de.matchAll(/\w+|\[(\w*)]/g,e).map((e=>"[]"===e[0]?"":e[1]||e[0]))}(e),r,n,0)})),n}return null},De={transitional:Ne,adapter:["xhr","http","fetch"],transformRequest:[function(e,t){const n=t.getContentType()||"",r=n.indexOf("application/json")>-1,o=de.isObject(e);if(o&&de.isHTMLForm(e)&&(e=new FormData(e)),de.isFormData(e))return r?JSON.stringify(Be(e)):e;if(de.isArrayBuffer(e)||de.isBuffer(e)||de.isStream(e)||de.isFile(e)||de.isBlob(e)||de.isReadableStream(e))return e;if(de.isArrayBufferView(e))return e.buffer;if(de.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let i;if(o){if(n.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return ke(e,new qe.classes.URLSearchParams,Object.assign({visitor:function(e,t,n,r){return qe.isNode&&de.isBuffer(e)?(this.append(t,e.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((i=de.isFileList(e))||n.indexOf("multipart/form-data")>-1){const t=this.env&&this.env.FormData;return ke(i?{"files[]":e}:e,t&&new t,this.formSerializer)}}return o||r?(t.setContentType("application/json",!1),function(e,t,n){if(de.isString(e))try{return(0,JSON.parse)(e),de.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(0,JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){const t=this.transitional||De.transitional,n=t&&t.forcedJSONParsing,r="json"===this.responseType;if(de.isResponse(e)||de.isReadableStream(e))return e;if(e&&de.isString(e)&&(n&&!this.responseType||r)){const n=!(t&&t.silentJSONParsing)&&r;try{return JSON.parse(e)}catch(e){if(n){if("SyntaxError"===e.name)throw ge.from(e,ge.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:qe.classes.FormData,Blob:qe.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};de.forEach(["delete","get","head","post","put","patch"],(e=>{De.headers[e]={}}));const He=De,Me=de.toObjectSet(["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"]),Ke=Symbol("internals");function ze(e){return e&&String(e).trim().toLowerCase()}function Je(e){return!1===e||null==e?e:de.isArray(e)?e.map(Je):String(e)}function We(e,t,n,r,o){return de.isFunction(r)?r.call(this,t,n):(o&&(t=n),de.isString(t)?de.isString(r)?-1!==t.indexOf(r):de.isRegExp(r)?r.test(t):void 0:void 0)}class Ge{constructor(e){e&&this.set(e)}set(e,t,n){const r=this;function o(e,t,n){const o=ze(t);if(!o)throw new Error("header name must be a non-empty string");const i=de.findKey(r,o);(!i||void 0===r[i]||!0===n||void 0===n&&!1!==r[i])&&(r[i||t]=Je(e))}const i=(e,t)=>de.forEach(e,((e,n)=>o(e,n,t)));if(de.isPlainObject(e)||e instanceof this.constructor)i(e,t);else if(de.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim()))i((e=>{const t={};let n,r,o;return e&&e.split("\n").forEach((function(e){o=e.indexOf(":"),n=e.substring(0,o).trim().toLowerCase(),r=e.substring(o+1).trim(),!n||t[n]&&Me[n]||("set-cookie"===n?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)})),t})(e),t);else if(de.isHeaders(e))for(const[t,r]of e.entries())o(r,t,n);else null!=e&&o(t,e,n);return this}get(e,t){if(e=ze(e)){const n=de.findKey(this,e);if(n){const e=this[n];if(!t)return e;if(!0===t)return function(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}(e);if(de.isFunction(t))return t.call(this,e,n);if(de.isRegExp(t))return t.exec(e);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=ze(e)){const n=de.findKey(this,e);return!(!n||void 0===this[n]||t&&!We(0,this[n],n,t))}return!1}delete(e,t){const n=this;let r=!1;function o(e){if(e=ze(e)){const o=de.findKey(n,e);!o||t&&!We(0,n[o],o,t)||(delete n[o],r=!0)}}return de.isArray(e)?e.forEach(o):o(e),r}clear(e){const t=Object.keys(this);let n=t.length,r=!1;for(;n--;){const o=t[n];e&&!We(0,this[o],o,e,!0)||(delete this[o],r=!0)}return r}normalize(e){const t=this,n={};return de.forEach(this,((r,o)=>{const i=de.findKey(n,o);if(i)return t[i]=Je(r),void delete t[o];const a=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((e,t,n)=>t.toUpperCase()+n))}(o):String(o).trim();a!==o&&delete t[o],t[a]=Je(r),n[a]=!0})),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return de.forEach(this,((n,r)=>{null!=n&&!1!==n&&(t[r]=e&&de.isArray(n)?n.join(", "):n)})),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([e,t])=>e+": "+t)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const n=new this(e);return t.forEach((e=>n.set(e))),n}static accessor(e){const t=(this[Ke]=this[Ke]={accessors:{}}).accessors,n=this.prototype;function r(e){const r=ze(e);t[r]||(function(e,t){const n=de.toCamelCase(" "+t);["get","set","has"].forEach((r=>{Object.defineProperty(e,r+n,{value:function(e,n,o){return this[r].call(this,t,e,n,o)},configurable:!0})}))}(n,e),t[r]=!0)}return de.isArray(e)?e.forEach(r):r(e),this}}Ge.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),de.reduceDescriptors(Ge.prototype,(({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[n]=e}}})),de.freezeMethods(Ge);const Ve=Ge;function Qe(e,t){const n=this||He,r=t||n,o=Ve.from(r.headers);let i=r.data;return de.forEach(e,(function(e){i=e.call(n,i,o.normalize(),t?t.status:void 0)})),o.normalize(),i}function $e(e){return!(!e||!e.__CANCEL__)}function Xe(e,t,n){ge.call(this,null==e?"canceled":e,ge.ERR_CANCELED,t,n),this.name="CanceledError"}de.inherits(Xe,ge,{__CANCEL__:!0});const Ye=Xe;function Ze(e,t,n){const r=n.config.validateStatus;n.status&&r&&!r(n.status)?t(new ge("Request failed with status code "+n.status,[ge.ERR_BAD_REQUEST,ge.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):e(n)}const et=(e,t,n=3)=>{let r=0;const o=function(e,t){e=e||10;const n=new Array(e),r=new Array(e);let o,i=0,a=0;return t=void 0!==t?t:1e3,function(s){const c=Date.now(),u=r[a];o||(o=c),n[i]=s,r[i]=c;let l=a,h=0;for(;l!==i;)h+=n[l++],l%=e;if(i=(i+1)%e,i===a&&(a=(a+1)%e),c-or)return o&&(clearTimeout(o),o=null),n=i,e.apply(null,arguments);o||(o=setTimeout((()=>(o=null,n=Date.now(),e.apply(null,arguments))),r-(i-n)))}}((n=>{const i=n.loaded,a=n.lengthComputable?n.total:void 0,s=i-r,c=o(s);r=i;const u={loaded:i,total:a,progress:a?i/a:void 0,bytes:s,rate:c||void 0,estimated:c&&a&&i<=a?(a-i)/c:void 0,event:n,lengthComputable:null!=a};u[t?"download":"upload"]=!0,e(u)}),n)},tt=qe.hasStandardBrowserEnv?function(){const e=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a");let n;function r(n){let r=n;return e&&(t.setAttribute("href",r),r=t.href),t.setAttribute("href",r),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:"/"===t.pathname.charAt(0)?t.pathname:"/"+t.pathname}}return n=r(window.location.href),function(e){const t=de.isString(e)?r(e):e;return t.protocol===n.protocol&&t.host===n.host}}():function(){return!0},nt=qe.hasStandardBrowserEnv?{write(e,t,n,r,o,i){const a=[e+"="+encodeURIComponent(t)];de.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),de.isString(r)&&a.push("path="+r),de.isString(o)&&a.push("domain="+o),!0===i&&a.push("secure"),document.cookie=a.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read:()=>null,remove(){}};function rt(e,t){return e&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)?function(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}(e,t):t}const ot=e=>e instanceof Ve?{...e}:e;function it(e,t){t=t||{};const n={};function r(e,t,n){return de.isPlainObject(e)&&de.isPlainObject(t)?de.merge.call({caseless:n},e,t):de.isPlainObject(t)?de.merge({},t):de.isArray(t)?t.slice():t}function o(e,t,n){return de.isUndefined(t)?de.isUndefined(e)?void 0:r(void 0,e,n):r(e,t,n)}function i(e,t){if(!de.isUndefined(t))return r(void 0,t)}function a(e,t){return de.isUndefined(t)?de.isUndefined(e)?void 0:r(void 0,e):r(void 0,t)}function s(n,o,i){return i in t?r(n,o):i in e?r(void 0,n):void 0}const c={url:i,method:i,data:i,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:s,headers:(e,t)=>o(ot(e),ot(t),!0)};return de.forEach(Object.keys(Object.assign({},e,t)),(function(r){const i=c[r]||o,a=i(e[r],t[r],r);de.isUndefined(a)&&i!==s||(n[r]=a)})),n}const at=e=>{const t=it({},e);let n,{data:r,withXSRFToken:o,xsrfHeaderName:i,xsrfCookieName:a,headers:s,auth:c}=t;if(t.headers=s=Ve.from(s),t.url=Ae(rt(t.baseURL,t.url),e.params,e.paramsSerializer),c&&s.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?unescape(encodeURIComponent(c.password)):""))),de.isFormData(r))if(qe.hasStandardBrowserEnv||qe.hasStandardBrowserWebWorkerEnv)s.setContentType(void 0);else if(!1!==(n=s.getContentType())){const[e,...t]=n?n.split(";").map((e=>e.trim())).filter(Boolean):[];s.setContentType([e||"multipart/form-data",...t].join("; "))}if(qe.hasStandardBrowserEnv&&(o&&de.isFunction(o)&&(o=o(t)),o||!1!==o&&tt(t.url))){const e=i&&a&&nt.read(a);e&&s.set(i,e)}return t},st="undefined"!=typeof XMLHttpRequest&&function(e){return new Promise((function(t,n){const r=at(e);let o=r.data;const i=Ve.from(r.headers).normalize();let a,{responseType:s}=r;function c(){r.cancelToken&&r.cancelToken.unsubscribe(a),r.signal&&r.signal.removeEventListener("abort",a)}let u=new XMLHttpRequest;function l(){if(!u)return;const r=Ve.from("getAllResponseHeaders"in u&&u.getAllResponseHeaders());Ze((function(e){t(e),c()}),(function(e){n(e),c()}),{data:s&&"text"!==s&&"json"!==s?u.response:u.responseText,status:u.status,statusText:u.statusText,headers:r,config:e,request:u}),u=null}u.open(r.method.toUpperCase(),r.url,!0),u.timeout=r.timeout,"onloadend"in u?u.onloadend=l:u.onreadystatechange=function(){u&&4===u.readyState&&(0!==u.status||u.responseURL&&0===u.responseURL.indexOf("file:"))&&setTimeout(l)},u.onabort=function(){u&&(n(new ge("Request aborted",ge.ECONNABORTED,r,u)),u=null)},u.onerror=function(){n(new ge("Network Error",ge.ERR_NETWORK,r,u)),u=null},u.ontimeout=function(){let e=r.timeout?"timeout of "+r.timeout+"ms exceeded":"timeout exceeded";const t=r.transitional||Ne;r.timeoutErrorMessage&&(e=r.timeoutErrorMessage),n(new ge(e,t.clarifyTimeoutError?ge.ETIMEDOUT:ge.ECONNABORTED,r,u)),u=null},void 0===o&&i.setContentType(null),"setRequestHeader"in u&&de.forEach(i.toJSON(),(function(e,t){u.setRequestHeader(t,e)})),de.isUndefined(r.withCredentials)||(u.withCredentials=!!r.withCredentials),s&&"json"!==s&&(u.responseType=r.responseType),"function"==typeof r.onDownloadProgress&&u.addEventListener("progress",et(r.onDownloadProgress,!0)),"function"==typeof r.onUploadProgress&&u.upload&&u.upload.addEventListener("progress",et(r.onUploadProgress)),(r.cancelToken||r.signal)&&(a=t=>{u&&(n(!t||t.type?new Ye(null,e,u):t),u.abort(),u=null)},r.cancelToken&&r.cancelToken.subscribe(a),r.signal&&(r.signal.aborted?a():r.signal.addEventListener("abort",a)));const h=function(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}(r.url);h&&-1===qe.protocols.indexOf(h)?n(new ge("Unsupported protocol "+h+":",ge.ERR_BAD_REQUEST,e)):u.send(o||null)}))},ct=(e,t)=>{let n,r=new AbortController;const o=function(e){if(!n){n=!0,a();const t=e instanceof Error?e:this.reason;r.abort(t instanceof ge?t:new Ye(t instanceof Error?t.message:t))}};let i=t&&setTimeout((()=>{o(new ge(`timeout ${t} of ms exceeded`,ge.ETIMEDOUT))}),t);const a=()=>{e&&(i&&clearTimeout(i),i=null,e.forEach((e=>{e&&(e.removeEventListener?e.removeEventListener("abort",o):e.unsubscribe(o))})),e=null)};e.forEach((e=>e&&e.addEventListener&&e.addEventListener("abort",o)));const{signal:s}=r;return s.unsubscribe=a,[s,()=>{i&&clearTimeout(i),i=null}]},ut=function*(e,t){let n=e.byteLength;if(!t||n{const i=async function*(e,t,n){for await(const r of e)yield*ut(ArrayBuffer.isView(r)?r:await n(String(r)),t)}(e,t,o);let a=0;return new ReadableStream({type:"bytes",async pull(e){const{done:t,value:o}=await i.next();if(t)return e.close(),void r();let s=o.byteLength;n&&n(a+=s),e.enqueue(new Uint8Array(o))},cancel:e=>(r(e),i.return())},{highWaterMark:2})},ht=(e,t)=>{const n=null!=e;return r=>setTimeout((()=>t({lengthComputable:n,total:e,loaded:r})))},pt="function"==typeof fetch&&"function"==typeof Request&&"function"==typeof Response,ft=pt&&"function"==typeof ReadableStream,dt=pt&&("function"==typeof TextEncoder?(yt=new TextEncoder,e=>yt.encode(e)):async e=>new Uint8Array(await new Response(e).arrayBuffer()));var yt;const vt=ft&&(()=>{let e=!1;const t=new Request(qe.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t})(),mt=ft&&!!(()=>{try{return de.isReadableStream(new Response("").body)}catch(e){}})(),gt={stream:mt&&(e=>e.body)};var wt;pt&&(wt=new Response,["text","arrayBuffer","blob","formData","stream"].forEach((e=>{!gt[e]&&(gt[e]=de.isFunction(wt[e])?t=>t[e]():(t,n)=>{throw new ge(`Response type '${e}' is not supported`,ge.ERR_NOT_SUPPORT,n)})})));const bt={http:null,xhr:st,fetch:pt&&(async e=>{let{url:t,method:n,data:r,signal:o,cancelToken:i,timeout:a,onDownloadProgress:s,onUploadProgress:c,responseType:u,headers:l,withCredentials:h="same-origin",fetchOptions:p}=at(e);u=u?(u+"").toLowerCase():"text";let f,d,[y,v]=o||i||a?ct([o,i],a):[];const m=()=>{!f&&setTimeout((()=>{y&&y.unsubscribe()})),f=!0};let g;try{if(c&&vt&&"get"!==n&&"head"!==n&&0!==(g=await(async(e,t)=>{const n=de.toFiniteNumber(e.getContentLength());return null==n?(async e=>null==e?0:de.isBlob(e)?e.size:de.isSpecCompliantForm(e)?(await new Request(e).arrayBuffer()).byteLength:de.isArrayBufferView(e)?e.byteLength:(de.isURLSearchParams(e)&&(e+=""),de.isString(e)?(await dt(e)).byteLength:void 0))(t):n})(l,r))){let e,n=new Request(t,{method:"POST",body:r,duplex:"half"});de.isFormData(r)&&(e=n.headers.get("content-type"))&&l.setContentType(e),n.body&&(r=lt(n.body,65536,ht(g,et(c)),null,dt))}de.isString(h)||(h=h?"cors":"omit"),d=new Request(t,{...p,signal:y,method:n.toUpperCase(),headers:l.normalize().toJSON(),body:r,duplex:"half",withCredentials:h});let o=await fetch(d);const i=mt&&("stream"===u||"response"===u);if(mt&&(s||i)){const e={};["status","statusText","headers"].forEach((t=>{e[t]=o[t]}));const t=de.toFiniteNumber(o.headers.get("content-length"));o=new Response(lt(o.body,65536,s&&ht(t,et(s,!0)),i&&m,dt),e)}u=u||"text";let a=await gt[de.findKey(gt,u)||"text"](o,e);return!i&&m(),v&&v(),await new Promise(((t,n)=>{Ze(t,n,{data:a,headers:Ve.from(o.headers),status:o.status,statusText:o.statusText,config:e,request:d})}))}catch(t){if(m(),t&&"TypeError"===t.name&&/fetch/i.test(t.message))throw Object.assign(new ge("Network Error",ge.ERR_NETWORK,e,d),{cause:t.cause||t});throw ge.from(t,t&&t.code,e,d)}})};de.forEach(bt,((e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch(e){}Object.defineProperty(e,"adapterName",{value:t})}}));const Ct=e=>`- ${e}`,Rt=e=>de.isFunction(e)||null===e||!1===e,kt=e=>{e=de.isArray(e)?e:[e];const{length:t}=e;let n,r;const o={};for(let i=0;i`adapter ${e} `+(!1===t?"is not supported by the environment":"is not available in the build")));let n=t?e.length>1?"since :\n"+e.map(Ct).join("\n"):" "+Ct(e[0]):"as no adapter specified";throw new ge("There is no suitable adapter to dispatch the request "+n,"ERR_NOT_SUPPORT")}return r};function Et(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Ye(null,e)}function St(e){return Et(e),e.headers=Ve.from(e.headers),e.data=Qe.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1),kt(e.adapter||He.adapter)(e).then((function(t){return Et(e),t.data=Qe.call(e,e.transformResponse,t),t.headers=Ve.from(t.headers),t}),(function(t){return $e(t)||(Et(e),t&&t.response&&(t.response.data=Qe.call(e,e.transformResponse,t.response),t.response.headers=Ve.from(t.response.headers))),Promise.reject(t)}))}const Ot={};["object","boolean","number","function","string","symbol"].forEach(((e,t)=>{Ot[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}}));const Pt={};Ot.transitional=function(e,t,n){function r(e,t){return"[Axios v1.7.2] Transitional option '"+e+"'"+t+(n?". "+n:"")}return(n,o,i)=>{if(!1===e)throw new ge(r(o," has been removed"+(t?" in "+t:"")),ge.ERR_DEPRECATED);return t&&!Pt[o]&&(Pt[o]=!0,console.warn(r(o," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(n,o,i)}};const xt={assertOptions:function(e,t,n){if("object"!=typeof e)throw new ge("options must be an object",ge.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let o=r.length;for(;o-- >0;){const i=r[o],a=t[i];if(a){const t=e[i],n=void 0===t||a(t,i,e);if(!0!==n)throw new ge("option "+i+" must be "+n,ge.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new ge("Unknown option "+i,ge.ERR_BAD_OPTION)}},validators:Ot},At=xt.validators;class Tt{constructor(e){this.defaults=e,this.interceptors={request:new Te,response:new Te}}async request(e,t){try{return await this._request(e,t)}catch(e){if(e instanceof Error){let t;Error.captureStackTrace?Error.captureStackTrace(t={}):t=new Error;const n=t.stack?t.stack.replace(/^.+\n/,""):"";try{e.stack?n&&!String(e.stack).endsWith(n.replace(/^.+\n.+\n/,""))&&(e.stack+="\n"+n):e.stack=n}catch(e){}}throw e}}_request(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{},t=it(this.defaults,t);const{transitional:n,paramsSerializer:r,headers:o}=t;void 0!==n&&xt.assertOptions(n,{silentJSONParsing:At.transitional(At.boolean),forcedJSONParsing:At.transitional(At.boolean),clarifyTimeoutError:At.transitional(At.boolean)},!1),null!=r&&(de.isFunction(r)?t.paramsSerializer={serialize:r}:xt.assertOptions(r,{encode:At.function,serialize:At.function},!0)),t.method=(t.method||this.defaults.method||"get").toLowerCase();let i=o&&de.merge(o.common,o[t.method]);o&&de.forEach(["delete","get","head","post","put","patch","common"],(e=>{delete o[e]})),t.headers=Ve.concat(i,o);const a=[];let s=!0;this.interceptors.request.forEach((function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(s=s&&e.synchronous,a.unshift(e.fulfilled,e.rejected))}));const c=[];let u;this.interceptors.response.forEach((function(e){c.push(e.fulfilled,e.rejected)}));let l,h=0;if(!s){const e=[St.bind(this),void 0];for(e.unshift.apply(e,a),e.push.apply(e,c),l=e.length,u=Promise.resolve(t);h{if(!n._listeners)return;let t=n._listeners.length;for(;t-- >0;)n._listeners[t](e);n._listeners=null})),this.promise.then=e=>{let t;const r=new Promise((e=>{n.subscribe(e),t=e})).then(e);return r.cancel=function(){n.unsubscribe(t)},r},e((function(e,r,o){n.reason||(n.reason=new Ye(e,r,o),t(n.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}static source(){let e;return{token:new jt((function(t){e=t})),cancel:e}}}const Ut=jt,_t={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(_t).forEach((([e,t])=>{_t[t]=e}));const Lt=_t,It=function e(t){const n=new Nt(t),r=T(Nt.prototype.request,n);return de.extend(r,Nt.prototype,n,{allOwnKeys:!0}),de.extend(r,n,null,{allOwnKeys:!0}),r.create=function(n){return e(it(t,n))},r}(He);It.Axios=Nt,It.CanceledError=Ye,It.CancelToken=Ut,It.isCancel=$e,It.VERSION="1.7.2",It.toFormData=ke,It.AxiosError=ge,It.Cancel=It.CanceledError,It.all=function(e){return Promise.all(e)},It.spread=function(e){return function(t){return e.apply(null,t)}},It.isAxiosError=function(e){return de.isObject(e)&&!0===e.isAxiosError},It.mergeConfig=it,It.AxiosHeaders=Ve,It.formToJSON=e=>Be(de.isHTMLForm(e)?new FormData(e):e),It.getAdapter=kt,It.HttpStatusCode=Lt,It.default=It;const Ft=It;function qt(e,t,n){return t=f(t),p(e,Bt()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function Bt(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Bt=function(){return!!e})()}var Dt=function(e){function t(){return o(this,t),qt(this,t,arguments)}return y(t,e),c(t)}(b);function Ht(e,t,n){return t=f(t),p(e,Mt()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function Mt(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Mt=function(){return!!e})()}var Kt=function(e){function t(){return o(this,t),Ht(this,t,arguments)}return y(t,e),c(t)}(b);function zt(e,t,n){return t=f(t),p(e,Jt()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function Jt(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Jt=function(){return!!e})()}var Wt=function(e){function t(){return o(this,t),zt(this,t,arguments)}return y(t,e),c(t)}(b);function Gt(e,t,n){return t=f(t),p(e,Vt()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function Vt(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Vt=function(){return!!e})()}var Qt=function(e){function t(){return o(this,t),Gt(this,t,arguments)}return y(t,e),c(t)}(b);function $t(e,t,n){return t=f(t),p(e,Xt()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function Xt(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Xt=function(){return!!e})()}var Yt=function(e){function t(){return o(this,t),$t(this,t,arguments)}return y(t,e),c(t)}(b);function Zt(e,t,n){return t=f(t),p(e,en()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function en(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(en=function(){return!!e})()}var tn=function(e){function t(){return o(this,t),Zt(this,t,arguments)}return y(t,e),c(t)}(b);function nn(e,t,n){return t=f(t),p(e,rn()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function rn(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(rn=function(){return!!e})()}var on=function(e){function t(){return o(this,t),nn(this,t,arguments)}return y(t,e),c(t)}(b),an=n(337),sn=n(877),cn=!0,un="undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node,ln=function(){function e(t){o(this,e),this.configuration=t,this.apiKey=this.configuration.apiKey,this.nodes=null==this.configuration.nodes?this.configuration.nodes:JSON.parse(JSON.stringify(this.configuration.nodes)),this.nearestNode=null==this.configuration.nearestNode?this.configuration.nearestNode:JSON.parse(JSON.stringify(this.configuration.nearestNode)),this.connectionTimeoutSeconds=this.configuration.connectionTimeoutSeconds,this.healthcheckIntervalSeconds=this.configuration.healthcheckIntervalSeconds,this.numRetriesPerRequest=this.configuration.numRetries,this.retryIntervalSeconds=this.configuration.retryIntervalSeconds,this.sendApiKeyAsQueryParam=this.configuration.sendApiKeyAsQueryParam,this.additionalUserHeaders=this.configuration.additionalHeaders,this.logger=this.configuration.logger,this.initializeMetadataForNodes(),this.currentNodeIndex=-1}var t,n,r,a,s,u,l;return c(e,[{key:"get",value:(l=P(A().mark((function e(t){var n,r,o,i,a,s,c=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=c.length>1&&void 0!==c[1]?c[1]:{},o=(r=c.length>2&&void 0!==c[2]?c[2]:{}).abortSignal,i=void 0===o?null:o,a=r.responseType,s=void 0===a?void 0:a,e.abrupt("return",this.performRequest("get",t,{queryParameters:n,abortSignal:i,responseType:s}));case 3:case"end":return e.stop()}}),e,this)}))),function(e){return l.apply(this,arguments)})},{key:"delete",value:(u=P(A().mark((function e(t){var n,r=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},e.abrupt("return",this.performRequest("delete",t,{queryParameters:n}));case 2:case"end":return e.stop()}}),e,this)}))),function(e){return u.apply(this,arguments)})},{key:"post",value:(s=P(A().mark((function e(t){var n,r,o,i=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=i.length>1&&void 0!==i[1]?i[1]:{},r=i.length>2&&void 0!==i[2]?i[2]:{},o=i.length>3&&void 0!==i[3]?i[3]:{},e.abrupt("return",this.performRequest("post",t,{queryParameters:r,bodyParameters:n,additionalHeaders:o}));case 4:case"end":return e.stop()}}),e,this)}))),function(e){return s.apply(this,arguments)})},{key:"put",value:(a=P(A().mark((function e(t){var n,r,o=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=o.length>1&&void 0!==o[1]?o[1]:{},r=o.length>2&&void 0!==o[2]?o[2]:{},e.abrupt("return",this.performRequest("put",t,{queryParameters:r,bodyParameters:n}));case 3:case"end":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})},{key:"patch",value:(r=P(A().mark((function e(t){var n,r,o=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=o.length>1&&void 0!==o[1]?o[1]:{},r=o.length>2&&void 0!==o[2]?o[2]:{},e.abrupt("return",this.performRequest("patch",t,{queryParameters:r,bodyParameters:n}));case 3:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"performRequest",value:(n=P(A().mark((function e(t,n,r){var o,a,s,c,u,l,h,p,f,d,y,v,m,g,w,b,C,R,k,E=this;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:o=r.queryParameters,a=void 0===o?null:o,s=r.bodyParameters,c=void 0===s?null:s,u=r.additionalHeaders,l=void 0===u?{}:u,h=r.abortSignal,p=void 0===h?null:h,f=r.responseType,d=void 0===f?void 0:f,y=r.skipConnectionTimeout,v=void 0!==y&&y,m=r.enableKeepAlive,g=void 0===m?void 0:m,this.configuration.validate(),w=Date.now(),this.logger.debug("Request #".concat(w,": Performing ").concat(t.toUpperCase()," request: ").concat(n)),C=A().mark((function e(){var r,o,s,u,h,f,y,m,C;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=E.getNextNode(w),E.logger.debug("Request #".concat(w,": Attempting ").concat(t.toUpperCase()," request Try #").concat(k," to Node ").concat(r.index)),!p||!p.aborted){e.next=4;break}return e.abrupt("return",{v:Promise.reject(new Error("Request aborted by caller."))});case 4:return e.prev=4,s={method:t,url:E.uriFor(n,r),headers:Object.assign({},E.defaultHeaders(),l,E.additionalUserHeaders),maxContentLength:1/0,maxBodyLength:1/0,responseType:d,validateStatus:function(e){return e>0},transformResponse:[function(e,t){var n=e;return void 0!==t&&"string"==typeof e&&t["content-type"]&&t["content-type"].startsWith("application/json")&&(n=JSON.parse(e)),n}]},!0!==v&&(s.timeout=1e3*E.connectionTimeoutSeconds),a&&0!==Object.keys(a).length&&(s.params=a),E.sendApiKeyAsQueryParam&&(s.params=s.params||{},s.params["x-typesense-api-key"]=E.apiKey),E.configuration.httpAgent?(E.logger.debug("Request #".concat(w,": Using custom httpAgent")),s.httpAgent=E.configuration.httpAgent):!0===g&&(un?(E.logger.debug("Request #".concat(w,": Enabling KeepAlive")),s.httpAgent=new an.Agent({keepAlive:!0})):E.logger.warn("Request #".concat(w,": Cannot use custom httpAgent in a browser environment to enable keepAlive"))),E.configuration.httpsAgent?(E.logger.debug("Request #".concat(w,": Using custom httpsAgent")),s.httpsAgent=E.configuration.httpsAgent):!0===g&&(un?(E.logger.debug("Request #".concat(w,": Enabling keepAlive")),s.httpsAgent=new sn.Agent({keepAlive:!0})):E.logger.warn("Request #".concat(w,": Cannot use custom httpAgent in a browser environment to enable keepAlive"))),E.configuration.paramsSerializer&&(E.logger.debug("Request #".concat(w,": Using custom paramsSerializer")),s.paramsSerializer=E.configuration.paramsSerializer),c&&("string"==typeof c&&0!==c.length||"object"===i(c)&&0!==Object.keys(c).length)&&(s.data=c),p&&(u=Ft.CancelToken,h=u.source(),o=function(){return h.cancel()},p.addEventListener("abort",o),s.cancelToken=h.token),e.next=16,Ft(s);case 16:if((f=e.sent).status>=1&&f.status<=499&&E.setNodeHealthcheck(r,cn),E.logger.debug("Request #".concat(w,": Request to Node ").concat(r.index," was made. Response Code was ").concat(f.status,".")),!(f.status>=200&&f.status<300)){e.next=23;break}return e.abrupt("return",{v:Promise.resolve(f.data)});case 23:if(!(f.status<500)){e.next=27;break}return e.abrupt("return",{v:Promise.reject(E.customErrorForResponse(f,null===(y=f.data)||void 0===y?void 0:y.message))});case 27:throw E.customErrorForResponse(f,null===(m=f.data)||void 0===m?void 0:m.message);case 28:e.next=38;break;case 30:return e.prev=30,e.t0=e.catch(4),E.setNodeHealthcheck(r,!1),b=e.t0,E.logger.warn("Request #".concat(w,": Request to Node ").concat(r.index,' failed due to "').concat(e.t0.code," ").concat(e.t0.message).concat(null==e.t0.response?"":" - "+JSON.stringify(null===(C=e.t0.response)||void 0===C?void 0:C.data),'"')),E.logger.warn("Request #".concat(w,": Sleeping for ").concat(E.retryIntervalSeconds,"s and then retrying request...")),e.next=38,E.timer(E.retryIntervalSeconds);case 38:return e.prev=38,p&&o&&p.removeEventListener("abort",o),e.finish(38);case 41:case"end":return e.stop()}}),e,null,[[4,30,38,41]])})),k=1;case 6:if(!(k<=this.numRetriesPerRequest+1)){e.next=14;break}return e.delegateYield(C(),"t0",8);case 8:if(!(R=e.t0)){e.next=11;break}return e.abrupt("return",R.v);case 11:k++,e.next=6;break;case 14:return this.logger.debug("Request #".concat(w,": No retries left. Raising last error")),e.abrupt("return",Promise.reject(b));case 16:case"end":return e.stop()}}),e,this)}))),function(e,t,r){return n.apply(this,arguments)})},{key:"getNextNode",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(null!=this.nearestNode){if(this.logger.debug("Request #".concat(e,": Nodes Health: Node ").concat(this.nearestNode.index," is ").concat(!0===this.nearestNode.isHealthy?"Healthy":"Unhealthy")),!0===this.nearestNode.isHealthy||this.nodeDueForHealthcheck(this.nearestNode,e))return this.logger.debug("Request #".concat(e,": Updated current node to Node ").concat(this.nearestNode.index)),this.nearestNode;this.logger.debug("Request #".concat(e,": Falling back to individual nodes"))}this.logger.debug("Request #".concat(e,": Nodes Health: ").concat(this.nodes.map((function(e){return"Node ".concat(e.index," is ").concat(!0===e.isHealthy?"Healthy":"Unhealthy")})).join(" || ")));for(var t=this.nodes[0],n=0;n<=this.nodes.length;n++)if(this.currentNodeIndex=(this.currentNodeIndex+1)%this.nodes.length,!0===(t=this.nodes[this.currentNodeIndex]).isHealthy||this.nodeDueForHealthcheck(t,e))return this.logger.debug("Request #".concat(e,": Updated current node to Node ").concat(t.index)),t;return this.logger.debug("Request #".concat(e,": No healthy nodes were found. Returning the next node, Node ").concat(t.index)),t}},{key:"nodeDueForHealthcheck",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=Date.now()-e.lastAccessTimestamp>1e3*this.healthcheckIntervalSeconds;return n&&this.logger.debug("Request #".concat(t,": Node ").concat(e.index," has exceeded healtcheckIntervalSeconds of ").concat(this.healthcheckIntervalSeconds,". Adding it back into rotation.")),n}},{key:"initializeMetadataForNodes",value:function(){var e=this;null!=this.nearestNode&&(this.nearestNode.index="nearestNode",this.setNodeHealthcheck(this.nearestNode,cn)),this.nodes.forEach((function(t,n){t.index=n,e.setNodeHealthcheck(t,cn)}))}},{key:"setNodeHealthcheck",value:function(e,t){e.isHealthy=t,e.lastAccessTimestamp=Date.now()}},{key:"uriFor",value:function(e,t){return null!=t.url?"".concat(t.url).concat(e):"".concat(t.protocol,"://").concat(t.host,":").concat(t.port).concat(t.path).concat(e)}},{key:"defaultHeaders",value:function(){var e={};return this.sendApiKeyAsQueryParam||(e["X-TYPESENSE-API-KEY"]=this.apiKey),e["Content-Type"]="application/json",e}},{key:"timer",value:(t=P(A().mark((function e(t){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e){return setTimeout(e,1e3*t)})));case 1:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})},{key:"customErrorForResponse",value:function(e,t){var n="Request failed with HTTP code ".concat(e.status);"string"==typeof t&&""!==t.trim()&&(n+=" | Server said: ".concat(t));var r=new b(n);return(r=400===e.status?new Dt(n):401===e.status?new Kt(n):404===e.status?new Wt(n):409===e.status?new Qt(n):422===e.status?new Yt(n):e.status>=500&&e.status<=599?new tn(n):new on(n)).httpStatus=e.status,r}}]),e}(),hn="/collections",pn=function(){function e(t){o(this,e),this.apiCall=t}var t,n;return c(e,[{key:"create",value:(n=P(A().mark((function e(t){var n,r=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},e.abrupt("return",this.apiCall.post(hn,t,n));case 2:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){var t,n=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.length>0&&void 0!==n[0]?n[0]:{},e.abrupt("return",this.apiCall.get(hn,t));case 2:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}],[{key:"RESOURCEPATH",get:function(){return hn}}]),e}();function fn(e,t,n){return t=f(t),p(e,dn()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function dn(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(dn=function(){return!!e})()}var yn=function(e){function t(e,n){var r;return o(this,t),(r=fn(this,t,[e])).importResults=n,r}return y(t,e),c(t)}(b);function vn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);nc&&(y=this.responseCache.keys().next().value,this.responseCache.delete(y)),this.responsePromiseCache.size>c&&(v=this.responsePromiseCache.keys().next().value,this.responsePromiseCache.delete(v)),e.abrupt("return",d);case 37:case"end":return e.stop()}}),e,this)}))),function(e,n,r,o){return t.apply(this,arguments)})}]),e}(),bn="/documents",Cn=function(){function e(t,n,r){o(this,e),u(this,"requestWithCache",new wn),this.collectionName=t,this.apiCall=n,this.configuration=r}var t;return c(e,[{key:"clearCache",value:function(){this.requestWithCache.clearCache()}},{key:"search",value:(t=P(A().mark((function e(t){var n,r,o,i,a,s,c,u,l=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(c in r=(n=l.length>1&&void 0!==l[1]?l[1]:{}).cacheSearchResultsForSeconds,o=void 0===r?this.configuration.cacheSearchResultsForSeconds:r,i=n.abortSignal,a=void 0===i?null:i,s={},!0===this.configuration.useServerSideSearchCache&&(s.use_cache=!0),t)Array.isArray(t[c])&&(s[c]=t[c].join(","));return u=Object.assign({},t,s),e.abrupt("return",this.requestWithCache.perform(this.apiCall,this.apiCall.get,[this.endpointPath("search"),u,{abortSignal:a}],{cacheResponseForSeconds:o}));case 6:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"endpointPath",value:function(e){return"".concat(pn.RESOURCEPATH,"/").concat(this.collectionName).concat(bn).concat(void 0===e?"":"/"+e)}}],[{key:"RESOURCEPATH",get:function(){return bn}}]),e}();function Rn(e,t,n){return t=f(t),p(e,kn()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function kn(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(kn=function(){return!!e})()}var En="undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node,Sn=function(e){function t(e,n,r){return o(this,t),Rn(this,t,[e,n,r])}var n,r,i,a,s,u,l,h,p;return y(t,e),c(t,[{key:"create",value:(p=P(A().mark((function e(t){var n,r=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=r.length>1&&void 0!==r[1]?r[1]:{},t){e.next=3;break}throw new Error("No document provided");case 3:return e.abrupt("return",this.apiCall.post(this.endpointPath(),t,n));case 4:case"end":return e.stop()}}),e,this)}))),function(e){return p.apply(this,arguments)})},{key:"upsert",value:(h=P(A().mark((function e(t){var n,r=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=r.length>1&&void 0!==r[1]?r[1]:{},t){e.next=3;break}throw new Error("No document provided");case 3:return e.abrupt("return",this.apiCall.post(this.endpointPath(),t,Object.assign({},n,{action:"upsert"})));case 4:case"end":return e.stop()}}),e,this)}))),function(e){return h.apply(this,arguments)})},{key:"update",value:(l=P(A().mark((function e(t){var n,r=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=r.length>1&&void 0!==r[1]?r[1]:{},t){e.next=3;break}throw new Error("No document provided");case 3:if(null==n.filter_by){e.next=7;break}return e.abrupt("return",this.apiCall.patch(this.endpointPath(),t,Object.assign({},n)));case 7:return e.abrupt("return",this.apiCall.post(this.endpointPath(),t,Object.assign({},n,{action:"update"})));case 8:case"end":return e.stop()}}),e,this)}))),function(e){return l.apply(this,arguments)})},{key:"delete",value:(u=P(A().mark((function e(){var t,n=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.length>0&&void 0!==n[0]?n[0]:{},e.abrupt("return",this.apiCall.delete(this.endpointPath(),t));case 2:case"end":return e.stop()}}),e,this)}))),function(){return u.apply(this,arguments)})},{key:"createMany",value:(s=P(A().mark((function e(t){var n,r=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},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"),e.abrupt("return",this.import(t,n));case 3:case"end":return e.stop()}}),e,this)}))),function(e){return s.apply(this,arguments)})},{key:"import",value:(a=P(A().mark((function e(t){var n,r,o,i,a,s=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=s.length>1&&void 0!==s[1]?s[1]:{},!Array.isArray(t)){e.next=13;break}e.prev=2,r=t.map((function(e){return JSON.stringify(e)})).join("\n"),e.next=11;break;case 6:if(e.prev=6,e.t0=e.catch(2),!(e.t0 instanceof RangeError&&e.t0.message.includes("Too many properties to enumerate"))){e.next=10;break}throw new Error("".concat(e.t0,"\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 "));case 10:throw new Error(e.t0);case 11:e.next=14;break;case 13:r=t;case 14:return e.next=16,this.apiCall.performRequest("post",this.endpointPath("import"),{queryParameters:n,bodyParameters:r,additionalHeaders:{"Content-Type":"text/plain"},skipConnectionTimeout:!0,enableKeepAlive:!!En});case 16:if(o=e.sent,!Array.isArray(t)){e.next=27;break}if(i=o.split("\n").map((function(e){return JSON.parse(e)})),!((a=i.filter((function(e){return!1===e.success}))).length>0)){e.next=24;break}throw new yn("".concat(i.length-a.length," documents imported successfully, ").concat(a.length," documents failed during import. Use `error.importResults` from the raised exception to get a detailed error reason for each document."),i);case 24:return e.abrupt("return",i);case 25:e.next=28;break;case 27:return e.abrupt("return",o);case 28:case"end":return e.stop()}}),e,this,[[2,6]])}))),function(e){return a.apply(this,arguments)})},{key:"importStream",value:(i=P(A().mark((function e(t){var n,r,o,i,a=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=a.length>1&&void 0!==a[1]?a[1]:{},e.next=3,this.apiCall.performRequest("post",this.endpointPath("import"),{queryParameters:n,bodyParameters:t,additionalHeaders:{"Content-Type":"text/plain"},skipConnectionTimeout:!0,enableKeepAlive:!!En});case 3:if(r=e.sent,o=r.split("\n").map((function(e){return JSON.parse(e)})),!((i=o.filter((function(e){return!1===e.success}))).length>0)){e.next=10;break}throw new yn("".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);case 10:return e.abrupt("return",o);case 11:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})},{key:"export",value:(r=P(A().mark((function e(){var t,n=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.length>0&&void 0!==n[0]?n[0]:{},e.abrupt("return",this.apiCall.get(this.endpointPath("export"),t));case 2:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"exportStream",value:(n=P(A().mark((function e(){var t,n=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.length>0&&void 0!==n[0]?n[0]:{},e.abrupt("return",this.apiCall.get(this.endpointPath("export"),t,{responseType:"stream"}));case 2:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})}]),t}(Cn),On=function(){function e(t,n){o(this,e),this.collectionName=t,this.apiCall=n}var t,n;return c(e,[{key:"upsert",value:(n=P(A().mark((function e(t,n){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.put(this.endpointPath(t),n));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(t){return"".concat(pn.RESOURCEPATH,"/").concat(this.collectionName).concat(e.RESOURCEPATH).concat(void 0===t?"":"/"+encodeURIComponent(t))}}],[{key:"RESOURCEPATH",get:function(){return"/overrides"}}]),e}(),Pn=function(){function e(t,n,r){o(this,e),this.collectionName=t,this.overrideId=n,this.apiCall=r}var t,n;return c(e,[{key:"retrieve",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(pn.RESOURCEPATH,"/").concat(encodeURIComponent(this.collectionName)).concat(On.RESOURCEPATH,"/").concat(encodeURIComponent(this.overrideId))}}]),e}(),xn=function(){function e(t,n){o(this,e),this.collectionName=t,this.apiCall=n}var t,n;return c(e,[{key:"upsert",value:(n=P(A().mark((function e(t,n){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.put(this.endpointPath(t),n));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(t){return"".concat(pn.RESOURCEPATH,"/").concat(encodeURIComponent(this.collectionName)).concat(e.RESOURCEPATH).concat(void 0===t?"":"/"+encodeURIComponent(t))}}],[{key:"RESOURCEPATH",get:function(){return"/synonyms"}}]),e}(),An=function(){function e(t,n,r){o(this,e),this.collectionName=t,this.synonymId=n,this.apiCall=r}var t,n;return c(e,[{key:"retrieve",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(pn.RESOURCEPATH,"/").concat(encodeURIComponent(this.collectionName)).concat(xn.RESOURCEPATH,"/").concat(encodeURIComponent(this.synonymId))}}]),e}(),Tn=function(){function e(t,n,r){o(this,e),this.collectionName=t,this.documentId=n,this.apiCall=r}var t,n,r;return c(e,[{key:"retrieve",value:(r=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"delete",value:(n=P(A().mark((function e(t){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath(),t));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"update",value:(t=P(A().mark((function e(t){var n,r=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},e.abrupt("return",this.apiCall.patch(this.endpointPath(),t,n));case 2:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(pn.RESOURCEPATH,"/").concat(encodeURIComponent(this.collectionName)).concat(Sn.RESOURCEPATH,"/").concat(encodeURIComponent(this.documentId))}}]),e}(),Nn=function(){function e(t,n,r){o(this,e),u(this,"individualDocuments",{}),u(this,"individualOverrides",{}),u(this,"individualSynonyms",{}),this.name=t,this.apiCall=n,this.configuration=r,this.name=t,this.apiCall=n,this.configuration=r,this._documents=new Sn(this.name,this.apiCall,this.configuration),this._overrides=new On(this.name,this.apiCall),this._synonyms=new xn(this.name,this.apiCall)}var t,n,r,i;return c(e,[{key:"retrieve",value:(i=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return i.apply(this,arguments)})},{key:"update",value:(r=P(A().mark((function e(t){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.patch(this.endpointPath(),t));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"delete",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"exists",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.retrieve();case 3:return e.abrupt("return",!0);case 6:if(e.prev=6,e.t0=e.catch(0),!(e.t0 instanceof Wt)){e.next=10;break}return e.abrupt("return",!1);case 10:throw e.t0;case 11:case"end":return e.stop()}}),e,this,[[0,6]])}))),function(){return t.apply(this,arguments)})},{key:"documents",value:function(e){return e?(void 0===this.individualDocuments[e]&&(this.individualDocuments[e]=new Tn(this.name,e,this.apiCall)),this.individualDocuments[e]):this._documents}},{key:"overrides",value:function(e){return void 0===e?this._overrides:(void 0===this.individualOverrides[e]&&(this.individualOverrides[e]=new Pn(this.name,e,this.apiCall)),this.individualOverrides[e])}},{key:"synonyms",value:function(e){return void 0===e?this._synonyms:(void 0===this.individualSynonyms[e]&&(this.individualSynonyms[e]=new An(this.name,e,this.apiCall)),this.individualSynonyms[e])}},{key:"endpointPath",value:function(){return"".concat(pn.RESOURCEPATH,"/").concat(encodeURIComponent(this.name))}}]),e}(),jn="/aliases",Un=function(){function e(t){o(this,e),this.apiCall=t}var t,n;return c(e,[{key:"upsert",value:(n=P(A().mark((function e(t,n){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.put(this.endpointPath(t),n));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(jn));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(t){return"".concat(e.RESOURCEPATH,"/").concat(encodeURIComponent(t))}}],[{key:"RESOURCEPATH",get:function(){return jn}}]),e}(),_n=function(){function e(t,n){o(this,e),this.name=t,this.apiCall=n}var t,n;return c(e,[{key:"retrieve",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(Un.RESOURCEPATH,"/").concat(encodeURIComponent(this.name))}}]),e}(),Ln=n(565),In="/keys",Fn=function(){function e(t){o(this,e),this.apiCall=t,this.apiCall=t}var t,n;return c(e,[{key:"create",value:(n=P(A().mark((function t(n){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.post(e.RESOURCEPATH,n));case 1:case"end":return t.stop()}}),t,this)}))),function(e){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(In));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"generateScopedSearchKey",value:function(e,t){var n=JSON.stringify(t),r=Buffer.from((0,Ln.createHmac)("sha256",e).update(n).digest("base64")),o=e.substr(0,4),i="".concat(r).concat(o).concat(n);return Buffer.from(i).toString("base64")}}],[{key:"RESOURCEPATH",get:function(){return In}}]),e}(),qn=function(){function e(t,n){o(this,e),this.id=t,this.apiCall=n}var t,n;return c(e,[{key:"retrieve",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(Fn.RESOURCEPATH,"/").concat(encodeURIComponent(this.id))}}]),e}(),Bn=function(){function e(t){o(this,e),this.apiCall=t}var t;return c(e,[{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get("/debug"));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}]),e}(),Dn=function(){function e(t){o(this,e),this.apiCall=t}var t;return c(e,[{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get("/metrics.json"));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}]),e}(),Hn=function(){function e(t){o(this,e),this.apiCall=t}var t;return c(e,[{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get("/stats.json"));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}]),e}(),Mn=function(){function e(t){o(this,e),this.apiCall=t}var t;return c(e,[{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get("/health"));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}]),e}(),Kn=function(){function e(t){o(this,e),this.apiCall=t}var t;return c(e,[{key:"perform",value:(t=P(A().mark((function e(t){var n,r=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},e.abrupt("return",this.apiCall.post("".concat("/operations","/").concat(t),{},n));case 2:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})}]),e}(),zn=function(){function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];o(this,e),this.apiCall=t,this.configuration=n,this.useTextContentType=r,this.requestWithCache=new wn}var t;return c(e,[{key:"clearCache",value:function(){this.requestWithCache.clearCache()}},{key:"perform",value:(t=P(A().mark((function e(t){var n,r,o,i,a,s,c=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=c.length>1&&void 0!==c[1]?c[1]:{},r=(c.length>2&&void 0!==c[2]?c[2]:{}).cacheSearchResultsForSeconds,o=void 0===r?this.configuration.cacheSearchResultsForSeconds:r,i={},this.useTextContentType&&(i["content-type"]="text/plain"),a={},!0===this.configuration.useServerSideSearchCache&&(a.use_cache=!0),s=Object.assign({},n,a),e.abrupt("return",this.requestWithCache.perform(this.apiCall,this.apiCall.post,["/multi_search",t,s,i],{cacheResponseForSeconds:o}));case 8:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})}]),e}(),Jn=function(){function e(t){o(this,e),this.apiCall=t}var t,n;return c(e,[{key:"upsert",value:(n=P(A().mark((function e(t,n){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.put(this.endpointPath(t),n));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(t){return"".concat(e.RESOURCEPATH).concat(void 0===t?"":"/"+encodeURIComponent(t))}}],[{key:"RESOURCEPATH",get:function(){return"/presets"}}]),e}(),Wn=function(){function e(t,n){o(this,e),this.presetId=t,this.apiCall=n}var t,n;return c(e,[{key:"retrieve",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(Jn.RESOURCEPATH,"/").concat(encodeURIComponent(this.presetId))}}]),e}(),Gn=function(){function e(t){o(this,e),this.apiCall=t,this.apiCall=t}var t,n;return c(e,[{key:"upsert",value:(n=P(A().mark((function e(t,n){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.put(this.endpointPath(t),n));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(t){return"".concat(e.RESOURCEPATH).concat(void 0===t?"":"/"+encodeURIComponent(t))}}],[{key:"RESOURCEPATH",get:function(){return"/analytics/rules"}}]),e}(),Vn=function(){function e(t,n){o(this,e),this.name=t,this.apiCall=n}var t,n;return c(e,[{key:"retrieve",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(Gn.RESOURCEPATH,"/").concat(encodeURIComponent(this.name))}}]),e}(),Qn=function(){function e(t){o(this,e),this.apiCall=t,this.apiCall=t}var t;return c(e,[{key:"create",value:(t=P(A().mark((function e(t){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.post(this.endpointPath(),t));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"endpointPath",value:function(t){return"".concat(e.RESOURCEPATH).concat(void 0===t?"":"/"+encodeURIComponent(t))}}],[{key:"RESOURCEPATH",get:function(){return"/analytics/events"}}]),e}(),$n=function(){function e(t){o(this,e),u(this,"individualAnalyticsRules",{}),this.apiCall=t,this.apiCall=t,this._analyticsRules=new Gn(this.apiCall),this._analyticsEvents=new Qn(this.apiCall)}return c(e,[{key:"rules",value:function(e){return void 0===e?this._analyticsRules:(void 0===this.individualAnalyticsRules[e]&&(this.individualAnalyticsRules[e]=new Vn(e,this.apiCall)),this.individualAnalyticsRules[e])}},{key:"events",value:function(){return this._analyticsEvents}}],[{key:"RESOURCEPATH",get:function(){return"/analytics"}}]),e}(),Xn=function(){function e(t){o(this,e),this.apiCall=t}var t,n;return c(e,[{key:"upsert",value:(n=P(A().mark((function e(t,n){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.put(this.endpointPath(t),n));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(t){return"".concat(e.RESOURCEPATH).concat(void 0===t?"":"/"+encodeURIComponent(t))}}],[{key:"RESOURCEPATH",get:function(){return"/stopwords"}}]),e}(),Yn=function(){function e(t,n){o(this,e),this.stopwordId=t,this.apiCall=n}var t,n;return c(e,[{key:"retrieve",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(Xn.RESOURCEPATH,"/").concat(encodeURIComponent(this.stopwordId))}}]),e}(),Zn=function(){function e(t){o(this,e),this.apiCall=t,this.apiCall=t}var t,n;return c(e,[{key:"create",value:(n=P(A().mark((function e(t){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.post(this.endpointPath(),t));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(t){return"".concat(e.RESOURCEPATH).concat(void 0===t?"":"/"+encodeURIComponent(t))}}],[{key:"RESOURCEPATH",get:function(){return"/conversations/models"}}]),e}(),er=function(){function e(t,n){o(this,e),this.id=t,this.apiCall=n}var t,n,r;return c(e,[{key:"update",value:(r=P(A().mark((function e(t){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.put(this.endpointPath(),t));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"retrieve",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(Zn.RESOURCEPATH,"/").concat(encodeURIComponent(this.id))}}]),e}(),tr="/conversations",nr=function(){function e(t){o(this,e),u(this,"individualConversationModels",{}),this.apiCall=t,this.apiCall=t,this._conversationsModels=new Zn(this.apiCall)}var t;return c(e,[{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(tr));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"models",value:function(e){return void 0===e?this._conversationsModels:(void 0===this.individualConversationModels[e]&&(this.individualConversationModels[e]=new er(e,this.apiCall)),this.individualConversationModels[e])}}],[{key:"RESOURCEPATH",get:function(){return tr}}]),e}(),rr=function(){function e(t,n){o(this,e),this.id=t,this.apiCall=n}var t,n,r;return c(e,[{key:"retrieve",value:(r=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"update",value:(n=P(A().mark((function e(t){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.put(this.endpointPath(),t));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(nr.RESOURCEPATH,"/").concat(encodeURIComponent(this.id))}}]),e}(),or=function(){function e(t){var n;o(this,e),t.sendApiKeyAsQueryParam=null!==(n=t.sendApiKeyAsQueryParam)&&void 0!==n&&n,this.configuration=new S(t),this.apiCall=new ln(this.configuration),this.debug=new Bn(this.apiCall),this.metrics=new Dn(this.apiCall),this.stats=new Hn(this.apiCall),this.health=new Mn(this.apiCall),this.operations=new Kn(this.apiCall),this.multiSearch=new zn(this.apiCall,this.configuration),this._collections=new pn(this.apiCall),this.individualCollections={},this._aliases=new Un(this.apiCall),this.individualAliases={},this._keys=new Fn(this.apiCall),this.individualKeys={},this._presets=new Jn(this.apiCall),this.individualPresets={},this._stopwords=new Xn(this.apiCall),this.individualStopwords={},this.analytics=new $n(this.apiCall),this._conversations=new nr(this.apiCall),this.individualConversations={}}return c(e,[{key:"collections",value:function(e){return void 0===e?this._collections:(void 0===this.individualCollections[e]&&(this.individualCollections[e]=new Nn(e,this.apiCall,this.configuration)),this.individualCollections[e])}},{key:"aliases",value:function(e){return void 0===e?this._aliases:(void 0===this.individualAliases[e]&&(this.individualAliases[e]=new _n(e,this.apiCall)),this.individualAliases[e])}},{key:"keys",value:function(e){return void 0===e?this._keys:(void 0===this.individualKeys[e]&&(this.individualKeys[e]=new qn(e,this.apiCall)),this.individualKeys[e])}},{key:"presets",value:function(e){return void 0===e?this._presets:(void 0===this.individualPresets[e]&&(this.individualPresets[e]=new Wn(e,this.apiCall)),this.individualPresets[e])}},{key:"stopwords",value:function(e){return void 0===e?this._stopwords:(void 0===this.individualStopwords[e]&&(this.individualStopwords[e]=new Yn(e,this.apiCall)),this.individualStopwords[e])}},{key:"conversations",value:function(e){return void 0===e?this._conversations:(void 0===this.individualConversations[e]&&(this.individualConversations[e]=new rr(e,this.apiCall)),this.individualConversations[e])}}]),e}();var ir=function(){function e(t,n,r){o(this,e),this.name=t,this.apiCall=n,this.configuration=r,this._documents=new Cn(this.name,this.apiCall,this.configuration)}return c(e,[{key:"documents",value:function(){return this._documents}}]),e}(),ar=function(){function e(t){var n;o(this,e),t.sendApiKeyAsQueryParam=null===(n=t.sendApiKeyAsQueryParam)||void 0===n||n,!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 S(t),this.apiCall=new ln(this.configuration),this.multiSearch=new zn(this.apiCall,this.configuration,!0),this.individualCollections={}}return c(e,[{key:"clearCache",value:function(){this.multiSearch.clearCache(),Object.entries(this.individualCollections).forEach((function(e){var t,n,r=(n=2,function(e){if(Array.isArray(e))return e}(t=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],c=!0,u=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}(t,n)||mn(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}());r[0],r[1].documents().clearCache()}))}},{key:"collections",value:function(e){if(e)return void 0===this.individualCollections[e]&&(this.individualCollections[e]=new ir(e,this.apiCall,this.configuration)),this.individualCollections[e];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.")}}]),e}();const sr={Client:or,SearchClient:ar,Errors:t}})(),Typesense=r})(); //# sourceMappingURL=typesense.min.js.map \ No newline at end of file diff --git a/dist/typesense.min.js.map b/dist/typesense.min.js.map index f731e4e4..2b315051 100644 --- a/dist/typesense.min.js.map +++ b/dist/typesense.min.js.map @@ -1 +1 @@ -{"version":3,"file":"typesense.min.js","mappings":"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","sources":["webpack://Typesense/./node_modules/loglevel/lib/loglevel.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/regenerator/index.js","webpack://Typesense/webpack/bootstrap","webpack://Typesense/webpack/runtime/compat get default export","webpack://Typesense/webpack/runtime/define property getters","webpack://Typesense/webpack/runtime/hasOwnProperty shorthand","webpack://Typesense/webpack/runtime/make namespace object","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://Typesense/./src/Typesense/Errors/TypesenseError.ts","webpack://Typesense/./src/Typesense/Errors/MissingConfigurationError.ts","webpack://Typesense/./src/Typesense/Configuration.ts","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://Typesense/./node_modules/axios/lib/helpers/bind.js","webpack://Typesense/./node_modules/axios/lib/utils.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosError.js","webpack://Typesense/./node_modules/axios/lib/helpers/toFormData.js","webpack://Typesense/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/helpers/buildURL.js","webpack://Typesense/./node_modules/axios/lib/core/InterceptorManager.js","webpack://Typesense/./node_modules/axios/lib/defaults/transitional.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/index.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://Typesense/./node_modules/axios/lib/platform/common/utils.js","webpack://Typesense/./node_modules/axios/lib/platform/index.js","webpack://Typesense/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://Typesense/./node_modules/axios/lib/defaults/index.js","webpack://Typesense/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://Typesense/./node_modules/axios/lib/core/transformData.js","webpack://Typesense/./node_modules/axios/lib/cancel/isCancel.js","webpack://Typesense/./node_modules/axios/lib/cancel/CanceledError.js","webpack://Typesense/./node_modules/axios/lib/helpers/cookies.js","webpack://Typesense/./node_modules/axios/lib/core/buildFullPath.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://Typesense/./node_modules/axios/lib/helpers/combineURLs.js","webpack://Typesense/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://Typesense/./node_modules/axios/lib/adapters/xhr.js","webpack://Typesense/./node_modules/axios/lib/helpers/speedometer.js","webpack://Typesense/./node_modules/axios/lib/adapters/adapters.js","webpack://Typesense/./node_modules/axios/lib/helpers/null.js","webpack://Typesense/./node_modules/axios/lib/core/settle.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://Typesense/./node_modules/axios/lib/core/dispatchRequest.js","webpack://Typesense/./node_modules/axios/lib/core/mergeConfig.js","webpack://Typesense/./node_modules/axios/lib/env/data.js","webpack://Typesense/./node_modules/axios/lib/helpers/validator.js","webpack://Typesense/./node_modules/axios/lib/core/Axios.js","webpack://Typesense/./node_modules/axios/lib/cancel/CancelToken.js","webpack://Typesense/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://Typesense/./node_modules/axios/lib/axios.js","webpack://Typesense/./node_modules/axios/lib/helpers/spread.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://Typesense/./src/Typesense/Errors/RequestMalformed.ts","webpack://Typesense/./src/Typesense/Errors/RequestUnauthorized.ts","webpack://Typesense/./src/Typesense/Errors/ObjectNotFound.ts","webpack://Typesense/./src/Typesense/Errors/ObjectAlreadyExists.ts","webpack://Typesense/./src/Typesense/Errors/ObjectUnprocessable.ts","webpack://Typesense/./src/Typesense/Errors/ServerError.ts","webpack://Typesense/./src/Typesense/Errors/HTTPError.ts","webpack://Typesense/./src/Typesense/ApiCall.ts","webpack://Typesense/./src/Typesense/Collections.ts","webpack://Typesense/./src/Typesense/Errors/ImportError.ts","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://Typesense/./src/Typesense/RequestWithCache.ts","webpack://Typesense/./src/Typesense/SearchOnlyDocuments.ts","webpack://Typesense/./src/Typesense/Documents.ts","webpack://Typesense/./src/Typesense/Overrides.ts","webpack://Typesense/./src/Typesense/Override.ts","webpack://Typesense/./src/Typesense/Synonyms.ts","webpack://Typesense/./src/Typesense/Synonym.ts","webpack://Typesense/./src/Typesense/Document.ts","webpack://Typesense/./src/Typesense/Collection.ts","webpack://Typesense/./src/Typesense/Aliases.ts","webpack://Typesense/./src/Typesense/Alias.ts","webpack://Typesense/./src/Typesense/Keys.ts","webpack://Typesense/./src/Typesense/Key.ts","webpack://Typesense/./src/Typesense/Debug.ts","webpack://Typesense/./src/Typesense/Metrics.ts","webpack://Typesense/./src/Typesense/Stats.ts","webpack://Typesense/./src/Typesense/Health.ts","webpack://Typesense/./src/Typesense/Operations.ts","webpack://Typesense/./src/Typesense/MultiSearch.ts","webpack://Typesense/./src/Typesense/Presets.ts","webpack://Typesense/./src/Typesense/Preset.ts","webpack://Typesense/./src/Typesense/AnalyticsRules.ts","webpack://Typesense/./src/Typesense/AnalyticsRule.ts","webpack://Typesense/./src/Typesense/AnalyticsEvents.ts","webpack://Typesense/./src/Typesense/Analytics.ts","webpack://Typesense/./src/Typesense/Stopwords.ts","webpack://Typesense/./src/Typesense/Stopword.ts","webpack://Typesense/./src/Typesense/ConversationModels.ts","webpack://Typesense/./src/Typesense/ConversationModel.ts","webpack://Typesense/./src/Typesense/Conversations.ts","webpack://Typesense/./src/Typesense/Conversation.ts","webpack://Typesense/./src/Typesense/Client.ts","webpack://Typesense/./src/Typesense/SearchOnlyCollection.ts","webpack://Typesense/./src/Typesense/SearchClient.ts","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://Typesense/./src/Typesense.ts"],"sourcesContent":["/*\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 var _loggersByName = {};\n var defaultLogger = null;\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() {\n /*jshint validthis:true */\n var level = this.getLevel();\n\n // Replace the actual methods.\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, this.name);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n\n // Return any important warnings.\n if (typeof console === undefinedType && level < this.levels.SILENT) {\n return \"No console available for logging\";\n }\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) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this);\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, factory) {\n // Private instance variables.\n var self = this;\n /**\n * The level inherited from a parent logger (or a global default). We\n * cache this here rather than delegating to the parent so that it stays\n * in sync with the actual logging methods that we have installed (the\n * parent could change levels but we might not have rebuilt the loggers\n * in this child yet).\n * @type {number}\n */\n var inheritedLevel;\n /**\n * The default level for this logger, if any. If set, this overrides\n * `inheritedLevel`.\n * @type {number|null}\n */\n var defaultLevel;\n /**\n * A user-specific level for this logger. If set, this overrides\n * `defaultLevel`.\n * @type {number|null}\n */\n var userLevel;\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 cookieName = encodeURIComponent(storageKey);\n var location = cookie.indexOf(cookieName + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(\n cookie.slice(location + cookieName.length + 1)\n )[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 } 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 function normalizeLevel(input) {\n var level = input;\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 return level;\n } else {\n throw new TypeError(\"log.setLevel() called with invalid level: \" + input);\n }\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 if (userLevel != null) {\n return userLevel;\n } else if (defaultLevel != null) {\n return defaultLevel;\n } else {\n return inheritedLevel;\n }\n };\n\n self.setLevel = function (level, persist) {\n userLevel = normalizeLevel(level);\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(userLevel);\n }\n\n // NOTE: in v2, this should call rebuild(), which updates children.\n return replaceLoggingMethods.call(self);\n };\n\n self.setDefaultLevel = function (level) {\n defaultLevel = normalizeLevel(level);\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.resetLevel = function () {\n userLevel = null;\n clearPersistedLevel();\n replaceLoggingMethods.call(self);\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 self.rebuild = function () {\n if (defaultLogger !== self) {\n inheritedLevel = normalizeLevel(defaultLogger.getLevel());\n }\n replaceLoggingMethods.call(self);\n\n if (defaultLogger === self) {\n for (var childName in _loggersByName) {\n _loggersByName[childName].rebuild();\n }\n }\n };\n\n // Initialize all the internal levels.\n inheritedLevel = normalizeLevel(\n defaultLogger ? defaultLogger.getLevel() : \"WARN\"\n );\n var initialLevel = getPersistedLevel();\n if (initialLevel != null) {\n userLevel = normalizeLevel(initialLevel);\n }\n replaceLoggingMethods.call(self);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n defaultLogger = new Logger();\n\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,\n defaultLogger.methodFactory\n );\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","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 e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw new Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\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))","// 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};","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(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\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 _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n try {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n } catch (e) {\n return typeof fn === \"function\";\n }\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\n}","export default class TypesenseError extends Error {\n httpStatus?: number;\n\n // Source: https://stackoverflow.com/a/58417721/123545\n constructor(message?: string) {\n super(message);\n this.name = new.target.name;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class MissingConfigurationError extends TypesenseError {}\n","import * as logger from \"loglevel\";\nimport { Logger, LogLevelDesc } from \"loglevel\";\nimport { MissingConfigurationError } from \"./Errors\";\nimport type { Agent as HTTPAgent } from \"http\";\nimport type { Agent as HTTPSAgent } from \"https\";\n\nexport interface NodeConfiguration {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n url?: string;\n}\n\nexport interface NodeConfigurationWithHostname {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n}\n\nexport interface NodeConfigurationWithUrl {\n url: string;\n}\n\nexport interface ConfigurationOptions {\n apiKey: string;\n nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n randomizeNodes?: boolean;\n /**\n * @deprecated\n * masterNode is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n masterNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n /**\n * @deprecated\n * readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n readReplicaNodes?:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n connectionTimeoutSeconds?: number;\n timeoutSeconds?: number;\n healthcheckIntervalSeconds?: number;\n numRetries?: number;\n retryIntervalSeconds?: number;\n sendApiKeyAsQueryParam?: boolean | undefined;\n useServerSideSearchCache?: boolean;\n cacheSearchResultsForSeconds?: number;\n additionalHeaders?: Record;\n\n logLevel?: LogLevelDesc;\n logger?: Logger;\n\n /**\n * Set a custom HTTP Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPAgent } = require(\"http\");\n * ...\n * httpAgent: new HTTPAgent({ keepAlive: true }),\n * @type {HTTPAgent}\n */\n httpAgent?: HTTPAgent;\n\n /**\n * Set a custom HTTPS Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPSAgent } = require(\"https\");\n * ...\n * httpsAgent: new HTTPSAgent({ keepAlive: true }),\n * @type {HTTPSAgent}\n */\n httpsAgent?: HTTPSAgent;\n\n /**\n * Set a custom paramsSerializer\n *\n * See axios documentation for more information on how to use this parameter: https://axios-http.com/docs/req_config\n * This is helpful for handling React Native issues like this: https://github.com/axios/axios/issues/6102#issuecomment-2085301397\n * @type {any}\n */\n paramsSerializer?: any;\n}\n\nexport default class Configuration {\n readonly nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n readonly nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n readonly connectionTimeoutSeconds: number;\n readonly healthcheckIntervalSeconds: number;\n readonly numRetries: number;\n readonly retryIntervalSeconds: number;\n readonly apiKey: string;\n readonly sendApiKeyAsQueryParam?: boolean;\n readonly cacheSearchResultsForSeconds: number;\n readonly useServerSideSearchCache: boolean;\n readonly logger: Logger;\n readonly logLevel: LogLevelDesc;\n readonly additionalHeaders?: Record;\n readonly httpAgent?: HTTPAgent;\n readonly httpsAgent?: HTTPSAgent;\n readonly paramsSerializer?: any;\n\n constructor(options: ConfigurationOptions) {\n this.nodes = options.nodes || [];\n this.nodes = this.nodes\n .map((node) => this.setDefaultPathInNode(node))\n .map((node) => this.setDefaultPortInNode(node))\n .map((node) => ({ ...node })) as NodeConfiguration[]; // Make a deep copy\n\n if (options.randomizeNodes == null) {\n options.randomizeNodes = true;\n }\n\n if (options.randomizeNodes === true) {\n this.shuffleArray(this.nodes);\n }\n\n this.nearestNode = options.nearestNode;\n this.nearestNode = this.setDefaultPathInNode(this.nearestNode);\n this.nearestNode = this.setDefaultPortInNode(this.nearestNode);\n\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\n this.apiKey = options.apiKey;\n this.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam; // We will set a default for this in Client and SearchClient\n\n this.cacheSearchResultsForSeconds =\n options.cacheSearchResultsForSeconds || 0; // Disable client-side cache by default\n this.useServerSideSearchCache = options.useServerSideSearchCache || false;\n\n this.logger = options.logger || logger;\n this.logLevel = options.logLevel || \"warn\";\n this.logger.setLevel(this.logLevel);\n\n this.additionalHeaders = options.additionalHeaders;\n\n this.httpAgent = options.httpAgent;\n this.httpsAgent = options.httpsAgent;\n\n this.paramsSerializer = options.paramsSerializer;\n\n this.showDeprecationWarnings(options);\n this.validate();\n }\n\n validate(): boolean {\n if (this.nodes == null || this.nodes.length === 0 || this.validateNodes()) {\n throw new MissingConfigurationError(\n \"Ensure that nodes[].protocol, nodes[].host and nodes[].port are set\",\n );\n }\n\n if (\n this.nearestNode != null &&\n this.isNodeMissingAnyParameters(this.nearestNode)\n ) {\n throw new MissingConfigurationError(\n \"Ensure that nearestNodes.protocol, nearestNodes.host and nearestNodes.port are set\",\n );\n }\n\n if (this.apiKey == null) {\n throw new MissingConfigurationError(\"Ensure that apiKey is set\");\n }\n\n return true;\n }\n\n private validateNodes(): boolean {\n return this.nodes.some((node) => {\n return this.isNodeMissingAnyParameters(node);\n });\n }\n\n private isNodeMissingAnyParameters(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl,\n ): boolean {\n return (\n ![\"protocol\", \"host\", \"port\", \"path\"].every((key) => {\n return node.hasOwnProperty(key);\n }) && node[\"url\"] == null\n );\n }\n\n private setDefaultPathInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (node != null && !node.hasOwnProperty(\"path\")) {\n node[\"path\"] = \"\";\n }\n return node;\n }\n\n private setDefaultPortInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (\n node != null &&\n !node.hasOwnProperty(\"port\") &&\n node.hasOwnProperty(\"protocol\")\n ) {\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\n private showDeprecationWarnings(options: ConfigurationOptions): void {\n if (options.timeoutSeconds) {\n this.logger.warn(\n \"Deprecation warning: timeoutSeconds is now renamed to connectionTimeoutSeconds\",\n );\n }\n if (options.masterNode) {\n this.logger.warn(\n \"Deprecation warning: masterNode is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n if (options.readReplicaNodes) {\n this.logger.warn(\n \"Deprecation warning: readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n }\n\n private shuffleArray(array) {\n for (let i = array.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [array[i], array[j]] = [array[j], array[i]];\n }\n }\n}\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}","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\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 && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let 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 {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\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 *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\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 (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 const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\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 *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && 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 *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\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 *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","'use strict';\n\nimport utils from '../utils.js';\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 {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n 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: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\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 * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\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 */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n 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 *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\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 *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\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 *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = (\n (product) => {\n return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0\n })(typeof navigator !== 'undefined' && navigator.product);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\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\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (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 headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\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 env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\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 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\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} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\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 *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default 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\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 *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\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 const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let 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 const 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","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n let {responseType, withXSRFToken} = config;\n let 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 let contentType;\n\n if (utils.isFormData(requestData)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n requestHeaders.setContentType(false); // Let the browser set it\n } else if ((contentType = requestHeaders.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n requestHeaders.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\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 const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n 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(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, 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(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\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(platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(config));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(fullPath))) {\n // Add xsrf header\n const xsrfValue = config.xsrfHeaderName && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\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', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : 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 const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\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 *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\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 *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(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 config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\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 config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? thing.toJSON() : thing;\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 *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, 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(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const 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 withXSRFToken: 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 beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","export const VERSION = \"1.6.7\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\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 *\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 (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\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 *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(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 {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n }\n\n throw err;\n }\n }\n\n _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 const {transitional, paramsSerializer, headers} = config;\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 if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let 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 const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\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,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(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, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n 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\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const 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 */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\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\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\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 *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestMalformed extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestUnauthorized extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectNotFound extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectAlreadyExists extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectUnprocessable extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ServerError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class HTTPError extends TypesenseError {}\n","import axios, { AxiosRequestConfig, AxiosResponse, Method } from \"axios\";\nimport { Logger } from \"loglevel\";\nimport {\n HTTPError,\n ObjectAlreadyExists,\n ObjectNotFound,\n ObjectUnprocessable,\n RequestMalformed,\n RequestUnauthorized,\n ServerError,\n} from \"./Errors\";\nimport TypesenseError from \"./Errors/TypesenseError\";\nimport Configuration, { NodeConfiguration } from \"./Configuration\";\nimport { Agent as HTTPAgent } from \"http\";\nimport { Agent as HTTPSAgent } from \"https\";\n\nconst APIKEYHEADERNAME = \"X-TYPESENSE-API-KEY\";\nconst HEALTHY = true;\nconst UNHEALTHY = false;\n\ninterface Node extends NodeConfiguration {\n isHealthy: boolean;\n index: string | number;\n}\n\nexport default class ApiCall {\n private readonly apiKey: string;\n private readonly nodes: Node[];\n private readonly nearestNode: Node;\n private readonly connectionTimeoutSeconds: number;\n private readonly healthcheckIntervalSeconds: number;\n private readonly retryIntervalSeconds: number;\n private readonly sendApiKeyAsQueryParam?: boolean;\n private readonly numRetriesPerRequest: number;\n private readonly additionalUserHeaders?: Record;\n\n private readonly logger: Logger;\n private currentNodeIndex: number;\n\n constructor(private 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\n this.logger = this.configuration.logger;\n\n this.initializeMetadataForNodes();\n this.currentNodeIndex = -1;\n }\n\n async get(\n endpoint: string,\n queryParameters: any = {},\n {\n abortSignal = null,\n responseType = undefined,\n }: {\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n } = {},\n ): Promise {\n return this.performRequest(\"get\", endpoint, {\n queryParameters,\n abortSignal,\n responseType,\n });\n }\n\n async delete(endpoint: string, queryParameters: any = {}): Promise {\n return this.performRequest(\"delete\", endpoint, { queryParameters });\n }\n\n async post(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n additionalHeaders: any = {},\n ): Promise {\n return this.performRequest(\"post\", endpoint, {\n queryParameters,\n bodyParameters,\n additionalHeaders,\n });\n }\n\n async put(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"put\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async patch(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"patch\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async performRequest(\n requestType: Method,\n endpoint: string,\n {\n queryParameters = null,\n bodyParameters = null,\n additionalHeaders = {},\n abortSignal = null,\n responseType = undefined,\n skipConnectionTimeout = false,\n enableKeepAlive = undefined,\n }: {\n queryParameters?: any;\n bodyParameters?: any;\n additionalHeaders?: any;\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n skipConnectionTimeout?: boolean;\n enableKeepAlive?: boolean | undefined;\n },\n ): Promise {\n this.configuration.validate();\n\n const requestNumber = Date.now();\n let lastException;\n this.logger.debug(\n `Request #${requestNumber}: Performing ${requestType.toUpperCase()} request: ${endpoint}`,\n );\n for (\n let numTries = 1;\n numTries <= this.numRetriesPerRequest + 1;\n numTries++\n ) {\n const node = this.getNextNode(requestNumber);\n this.logger.debug(\n `Request #${requestNumber}: Attempting ${requestType.toUpperCase()} request Try #${numTries} to Node ${\n node.index\n }`,\n );\n\n if (abortSignal && abortSignal.aborted) {\n return Promise.reject(new Error(\"Request aborted by caller.\"));\n }\n\n let abortListener;\n\n try {\n const requestOptions: AxiosRequestConfig = {\n method: requestType,\n url: this.uriFor(endpoint, node),\n headers: Object.assign(\n {},\n this.defaultHeaders(),\n additionalHeaders,\n this.additionalUserHeaders,\n ),\n maxContentLength: Infinity,\n maxBodyLength: Infinity,\n responseType,\n validateStatus: (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 (data, headers) => {\n let transformedData = data;\n if (\n headers !== undefined &&\n typeof data === \"string\" &&\n headers[\"content-type\"] &&\n headers[\"content-type\"].startsWith(\"application/json\")\n ) {\n transformedData = JSON.parse(data);\n }\n return transformedData;\n },\n ],\n };\n\n if (skipConnectionTimeout !== true) {\n requestOptions.timeout = this.connectionTimeoutSeconds * 1000;\n }\n\n if (queryParameters && Object.keys(queryParameters).length !== 0) {\n requestOptions.params = queryParameters;\n }\n\n if (this.sendApiKeyAsQueryParam) {\n requestOptions.params = requestOptions.params || {};\n requestOptions.params[\"x-typesense-api-key\"] = this.apiKey;\n }\n\n if (this.configuration.httpAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpAgent`,\n );\n requestOptions.httpAgent = this.configuration.httpAgent;\n } else if (enableKeepAlive === true) {\n this.logger.debug(`Request #${requestNumber}: Enabling KeepAlive`);\n requestOptions.httpAgent = new HTTPAgent({ keepAlive: true });\n }\n\n if (this.configuration.httpsAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpsAgent`,\n );\n requestOptions.httpsAgent = this.configuration.httpsAgent;\n } else if (enableKeepAlive === true) {\n this.logger.debug(`Request #${requestNumber}: Enabling keepAlive`);\n requestOptions.httpsAgent = new HTTPSAgent({ keepAlive: true });\n }\n\n if (this.configuration.paramsSerializer) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom paramsSerializer`,\n );\n requestOptions.paramsSerializer = this.configuration.paramsSerializer;\n }\n\n if (\n bodyParameters &&\n ((typeof bodyParameters === \"string\" &&\n bodyParameters.length !== 0) ||\n (typeof bodyParameters === \"object\" &&\n Object.keys(bodyParameters).length !== 0))\n ) {\n requestOptions.data = bodyParameters;\n }\n\n // Translate from user-provided AbortController to the Axios request cancel mechanism.\n if (abortSignal) {\n const cancelToken = axios.CancelToken;\n const source = cancelToken.source();\n abortListener = () => source.cancel();\n abortSignal.addEventListener(\"abort\", abortListener);\n requestOptions.cancelToken = source.token;\n }\n\n const response = await axios(requestOptions);\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.setNodeHealthcheck(node, HEALTHY);\n }\n this.logger.debug(\n `Request #${requestNumber}: Request to Node ${node.index} was made. Response Code was ${response.status}.`,\n );\n\n if (response.status >= 200 && response.status < 300) {\n // If response is 2xx return a resolved promise\n return Promise.resolve(response.data);\n } else if (response.status < 500) {\n // Next, if response is anything but 5xx, don't retry, return a custom error\n return Promise.reject(\n this.customErrorForResponse(response, response.data?.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.customErrorForResponse(response, response.data?.message);\n }\n } catch (error: any) {\n // This block handles retries for HTTPStatus > 500 and network layer issues like connection timeouts\n this.setNodeHealthcheck(node, UNHEALTHY);\n lastException = error;\n this.logger.warn(\n `Request #${requestNumber}: Request to Node ${\n node.index\n } failed due to \"${error.code} ${error.message}${\n error.response == null\n ? \"\"\n : \" - \" + JSON.stringify(error.response?.data)\n }\"`,\n );\n // this.logger.debug(error.stack)\n this.logger.warn(\n `Request #${requestNumber}: Sleeping for ${this.retryIntervalSeconds}s and then retrying request...`,\n );\n await this.timer(this.retryIntervalSeconds);\n } finally {\n if (abortSignal && abortListener) {\n abortSignal.removeEventListener(\"abort\", abortListener);\n }\n }\n }\n this.logger.debug(\n `Request #${requestNumber}: No retries left. Raising last error`,\n );\n return Promise.reject(lastException);\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 getNextNode(requestNumber = 0): Node {\n // Check if nearestNode is set and is healthy, if so return it\n if (this.nearestNode != null) {\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: Node ${\n this.nearestNode.index\n } is ${this.nearestNode.isHealthy === true ? \"Healthy\" : \"Unhealthy\"}`,\n );\n if (\n this.nearestNode.isHealthy === true ||\n this.nodeDueForHealthcheck(this.nearestNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${this.nearestNode.index}`,\n );\n return this.nearestNode;\n }\n this.logger.debug(\n `Request #${requestNumber}: Falling back to individual nodes`,\n );\n }\n\n // Fallback to nodes as usual\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: ${this.nodes\n .map(\n (node) =>\n `Node ${node.index} is ${\n node.isHealthy === true ? \"Healthy\" : \"Unhealthy\"\n }`,\n )\n .join(\" || \")}`,\n );\n let candidateNode: Node = this.nodes[0];\n for (let i = 0; i <= this.nodes.length; i++) {\n this.currentNodeIndex = (this.currentNodeIndex + 1) % this.nodes.length;\n candidateNode = this.nodes[this.currentNodeIndex];\n if (\n candidateNode.isHealthy === true ||\n this.nodeDueForHealthcheck(candidateNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\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(\n `Request #${requestNumber}: No healthy nodes were found. Returning the next node, Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\n\n nodeDueForHealthcheck(node, requestNumber = 0): boolean {\n const isDueForHealthcheck =\n Date.now() - node.lastAccessTimestamp >\n this.healthcheckIntervalSeconds * 1000;\n if (isDueForHealthcheck) {\n this.logger.debug(\n `Request #${requestNumber}: Node ${node.index} has exceeded healtcheckIntervalSeconds of ${this.healthcheckIntervalSeconds}. Adding it back into rotation.`,\n );\n }\n return isDueForHealthcheck;\n }\n\n initializeMetadataForNodes(): void {\n if (this.nearestNode != null) {\n this.nearestNode.index = \"nearestNode\";\n this.setNodeHealthcheck(this.nearestNode, HEALTHY);\n }\n\n this.nodes.forEach((node, i) => {\n node.index = i;\n this.setNodeHealthcheck(node, HEALTHY);\n });\n }\n\n setNodeHealthcheck(node, isHealthy): void {\n node.isHealthy = isHealthy;\n node.lastAccessTimestamp = Date.now();\n }\n\n uriFor(endpoint: string, node): string {\n if (node.url != null) {\n return `${node.url}${endpoint}`;\n }\n return `${node.protocol}://${node.host}:${node.port}${node.path}${endpoint}`;\n }\n\n defaultHeaders(): any {\n const defaultHeaders = {};\n if (!this.sendApiKeyAsQueryParam) {\n defaultHeaders[APIKEYHEADERNAME] = this.apiKey;\n }\n defaultHeaders[\"Content-Type\"] = \"application/json\";\n return defaultHeaders;\n }\n\n async timer(seconds): Promise {\n return new Promise((resolve) => setTimeout(resolve, seconds * 1000));\n }\n\n customErrorForResponse(\n response: AxiosResponse,\n messageFromServer: string,\n ): TypesenseError {\n let errorMessage = `Request failed with HTTP code ${response.status}`;\n if (\n typeof messageFromServer === \"string\" &&\n messageFromServer.trim() !== \"\"\n ) {\n errorMessage += ` | Server said: ${messageFromServer}`;\n }\n\n let error = new TypesenseError(errorMessage);\n\n if (response.status === 400) {\n error = new RequestMalformed(errorMessage);\n } else if (response.status === 401) {\n error = new RequestUnauthorized(errorMessage);\n } else if (response.status === 404) {\n error = new ObjectNotFound(errorMessage);\n } else if (response.status === 409) {\n error = new ObjectAlreadyExists(errorMessage);\n } else if (response.status === 422) {\n error = new ObjectUnprocessable(errorMessage);\n } else if (response.status >= 500 && response.status <= 599) {\n error = new ServerError(errorMessage);\n } else {\n error = new HTTPError(errorMessage);\n }\n\n error.httpStatus = response.status;\n\n return error;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { CollectionFieldSchema, CollectionSchema } from \"./Collection\";\n\nexport interface CollectionCreateSchema {\n name: string;\n default_sorting_field?: string;\n fields?: CollectionFieldSchema[];\n symbols_to_index?: string[];\n token_separators?: string[];\n enable_nested_fields?: boolean;\n metadata?: object;\n voice_query_model?: {\n model_name?: string;\n };\n}\n\nexport interface CollectionCreateOptions {\n src_name?: string;\n}\n\nconst RESOURCEPATH = \"/collections\";\n\nexport default class Collections {\n constructor(private apiCall: ApiCall) {}\n\n async create(\n schema: CollectionCreateSchema,\n options: CollectionCreateOptions = {},\n ): Promise {\n return this.apiCall.post(RESOURCEPATH, schema, options);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import TypesenseError from \"./TypesenseError\";\nimport { ImportResponseFail } from \"../Documents\";\n\nexport default class ImportError extends TypesenseError {\n importResults: ImportResponseFail;\n constructor(message, importResults) {\n super(message);\n this.importResults = importResults;\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 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}","const defaultCacheResponseForSeconds = 2 * 60;\nconst defaultMaxSize = 100;\n\nexport default class RequestWithCache {\n private responseCache: Map = new Map();\n private responsePromiseCache: Map = new Map();\n\n clearCache() {\n this.responseCache = new Map();\n this.responsePromiseCache = new Map();\n }\n\n // Todo: should probably be passed a callback instead, or an apiCall instance. Types are messy this way\n async perform(\n requestContext: any,\n requestFunction: (...params: any) => unknown,\n requestFunctionArguments: any[],\n cacheOptions: CacheOptions\n ): Promise {\n const {\n cacheResponseForSeconds = defaultCacheResponseForSeconds,\n maxSize = defaultMaxSize,\n } = cacheOptions;\n const isCacheDisabled = cacheResponseForSeconds <= 0 || maxSize <= 0;\n\n if (isCacheDisabled) {\n return requestFunction.call(requestContext, ...requestFunctionArguments);\n }\n\n const requestFunctionArgumentsJSON = JSON.stringify(\n requestFunctionArguments\n );\n const cacheEntry = this.responseCache.get(requestFunctionArgumentsJSON);\n const now = Date.now();\n\n if (cacheEntry) {\n const isEntryValid =\n now - cacheEntry.requestTimestamp < cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n this.responseCache.set(requestFunctionArgumentsJSON, cacheEntry);\n return Promise.resolve(cacheEntry.response);\n } else {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n\n const cachePromiseEntry = this.responsePromiseCache.get(\n requestFunctionArgumentsJSON\n );\n\n if (cachePromiseEntry) {\n const isEntryValid =\n now - cachePromiseEntry.requestTimestamp <\n cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n this.responsePromiseCache.set(\n requestFunctionArgumentsJSON,\n cachePromiseEntry\n );\n return cachePromiseEntry.responsePromise;\n } else {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n\n const responsePromise = requestFunction.call(\n requestContext,\n ...requestFunctionArguments\n );\n this.responsePromiseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n responsePromise,\n });\n\n const response = await responsePromise;\n this.responseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n response,\n });\n\n const isCacheOverMaxSize = this.responseCache.size > maxSize;\n if (isCacheOverMaxSize) {\n const oldestEntry = this.responseCache.keys().next().value;\n this.responseCache.delete(oldestEntry);\n }\n const isResponsePromiseCacheOverMaxSize =\n this.responsePromiseCache.size > maxSize;\n if (isResponsePromiseCacheOverMaxSize) {\n const oldestEntry = this.responsePromiseCache.keys().next().value;\n this.responsePromiseCache.delete(oldestEntry);\n }\n return response as T;\n }\n}\n\ninterface CacheOptions {\n cacheResponseForSeconds?: number;\n maxSize?: number;\n}\n","import RequestWithCache from \"./RequestWithCache\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport Collections from \"./Collections\";\nimport type {\n DocumentSchema,\n SearchableDocuments,\n SearchOptions,\n SearchParams,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\n\nconst RESOURCEPATH = \"/documents\";\n\nexport class SearchOnlyDocuments\n implements SearchableDocuments\n{\n protected requestWithCache: RequestWithCache = new RequestWithCache();\n\n constructor(\n protected collectionName: string,\n protected apiCall: ApiCall,\n protected configuration: Configuration\n ) {}\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n abortSignal = null,\n }: SearchOptions = {}\n ): Promise> {\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n for (const key in searchParameters) {\n if (Array.isArray(searchParameters[key])) {\n additionalQueryParams[key] = searchParameters[key].join(\",\");\n }\n }\n const queryParams = Object.assign(\n {},\n searchParameters,\n additionalQueryParams\n );\n\n return this.requestWithCache.perform(\n this.apiCall,\n this.apiCall.get,\n [this.endpointPath(\"search\"), queryParams, { abortSignal }],\n {\n cacheResponseForSeconds: cacheSearchResultsForSeconds,\n }\n ) as Promise>;\n }\n\n protected endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + operation\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import type { ReadStream } from \"fs\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport { ImportError } from \"./Errors\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\n// Todo: use generic to extract filter_by values\nexport interface DeleteQuery {\n filter_by: string;\n batch_size?: number;\n ignore_not_found?: boolean;\n}\n\nexport interface DeleteResponse {\n num_deleted: number;\n}\n\ninterface ImportResponseSuccess {\n success: true;\n}\n\nexport interface ImportResponseFail {\n success: false;\n error: string;\n document: DocumentSchema;\n code: number;\n}\n\nexport type ImportResponse = ImportResponseSuccess | ImportResponseFail;\n\nexport type DocumentSchema = Record;\n\nexport interface SearchParamsWithPreset extends Partial {\n preset: string;\n}\n\ntype OperationMode = \"off\" | \"always\" | \"fallback\";\nexport interface SearchParams {\n // From https://typesense.org/docs/latest/api/documents.html#arguments\n q?: string;\n query_by?: string | string[];\n query_by_weights?: string | number[];\n prefix?: string | boolean | boolean[]; // default: true\n filter_by?: string;\n enable_lazy_filter?: boolean; // default: false\n sort_by?: string | string[]; // default: text match desc\n facet_by?: string | string[];\n max_facet_values?: number;\n facet_sample_threshold?: number;\n facet_sample_percent?: number;\n facet_query?: string;\n facet_query_num_typos?: number;\n facet_return_parent?: string;\n page?: number; // default: 1\n per_page?: number; // default: 10, max 250\n group_by?: string | string[];\n group_limit?: number; // default:\n group_missing_values?: boolean;\n include_fields?: string | string[];\n exclude_fields?: string | string[];\n highlight_fields?: string | string[]; // default: all queried fields\n highlight_full_fields?: string | string[]; // default: all fields\n highlight_affix_num_tokens?: number; // default: 4\n highlight_start_tag?: string; // default: \n highlight_end_tag?: string; // default: \n enable_highlight_v1?: boolean;\n snippet_threshold?: number; // default: 30\n num_typos?: string | number | number[]; // default: 2\n min_len_1typo?: number;\n min_len_2typo?: number;\n split_join_tokens?: OperationMode;\n exhaustive_search?: boolean;\n drop_tokens_threshold?: number; // default: 10\n typo_tokens_threshold?: number; // default: 100\n pinned_hits?: string | string[];\n hidden_hits?: string | string[];\n limit_hits?: number; // default: no limit\n pre_segmented_query?: boolean;\n enable_overrides?: boolean;\n prioritize_exact_match?: boolean; // default: true\n prioritize_token_position?: boolean;\n prioritize_num_matching_fields?: boolean;\n search_cutoff_ms?: number;\n use_cache?: boolean;\n max_candidates?: number;\n infix?: OperationMode | OperationMode[];\n preset?: string;\n text_match_type?: \"max_score\" | \"max_weight\";\n vector_query?: string;\n \"x-typesense-api-key\"?: string;\n \"x-typesense-user-id\"?: string;\n offset?: number;\n limit?: number;\n stopwords?: string;\n conversation?: boolean;\n conversation_model_id?: string;\n conversation_id?: string;\n voice_query?: string;\n}\n\ntype SearchResponseHighlightObject = {\n matched_tokens?: string[];\n snippet?: string;\n value?: string;\n};\n\nexport type SearchResponseHighlight = T extends string | number\n ? SearchResponseHighlightObject\n : {\n [TAttribute in keyof T]?: SearchResponseHighlight;\n };\n\nexport interface SearchResponseHit {\n curated?: true;\n highlights?: [\n {\n field: keyof T;\n snippet?: string;\n value?: string;\n snippets?: string[];\n indices?: number[];\n matched_tokens: string[][] | string[];\n },\n ];\n highlight: SearchResponseHighlight;\n document: T;\n text_match: number;\n text_match_info?: {\n best_field_score: string; // To prevent scores from being truncated by JSON spec\n best_field_weight: number;\n fields_matched: number;\n score: string; // To prevent scores from being truncated by JSON spec\n tokens_matched: number;\n };\n}\n\nexport interface SearchResponseFacetCountSchema {\n counts: {\n count: number;\n highlighted: string;\n value: string;\n }[];\n field_name: keyof T;\n stats: {\n avg?: number;\n max?: number;\n min?: number;\n sum?: number;\n };\n}\n\nexport interface SearchResponseRequestParams {\n collection_name?: string;\n q?: string;\n page?: number;\n per_page?: number;\n first_q?: string;\n voice_query?: {\n transcribed_query?: string;\n };\n}\n\n// Todo: we could infer whether this is a grouped response by adding the search params as a generic\nexport interface SearchResponse {\n facet_counts?: SearchResponseFacetCountSchema[];\n found: number;\n found_docs?: number;\n out_of: number;\n page: number;\n request_params: SearchResponseRequestParams;\n search_time_ms: number;\n search_cutoff?: boolean;\n hits?: SearchResponseHit[];\n grouped_hits?: {\n group_key: string[];\n hits: SearchResponseHit[];\n found?: number;\n }[];\n conversation?: {\n answer: string;\n conversation_history: {\n conversation: object[];\n id: string;\n last_updated: number;\n ttl: number;\n };\n conversation_id: string;\n query: string;\n };\n}\n\nexport interface DocumentWriteParameters {\n dirty_values?: \"coerce_or_reject\" | \"coerce_or_drop\" | \"drop\" | \"reject\";\n action?: \"create\" | \"update\" | \"upsert\" | \"emplace\";\n}\n\nexport interface UpdateByFilterParameters {\n filter_by?: string;\n}\n\nexport interface UpdateByFilterResponse {\n num_updated: number;\n}\n\nexport interface DocumentImportParameters extends DocumentWriteParameters {\n batch_size?: number;\n return_doc?: boolean;\n return_id?: boolean;\n}\n\nexport interface DocumentsExportParameters {\n filter_by?: string;\n include_fields?: string;\n exclude_fields?: string;\n}\n\nexport interface SearchableDocuments {\n search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n options: SearchOptions,\n ): Promise>;\n clearCache(): void;\n}\n\nexport interface WriteableDocuments {\n create(document: T, options: DocumentWriteParameters): Promise;\n upsert(document: T, options: DocumentWriteParameters): Promise;\n update(document: T, options: DocumentWriteParameters): Promise;\n delete(query: DeleteQuery): Promise;\n import(\n documents: T[] | string,\n options: DocumentWriteParameters,\n ): Promise;\n export(options: DocumentsExportParameters): Promise;\n}\n\nexport interface SearchOptions {\n cacheSearchResultsForSeconds?: number;\n abortSignal?: AbortSignal | null;\n}\n\nexport default class Documents\n extends SearchOnlyDocuments\n implements WriteableDocuments\n{\n constructor(\n collectionName: string,\n apiCall: ApiCall,\n configuration: Configuration,\n ) {\n super(collectionName, apiCall, configuration);\n }\n\n async create(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(this.endpointPath(), document, options);\n }\n\n async upsert(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"upsert\" }),\n );\n }\n\n async update(\n document: T,\n options: UpdateByFilterParameters,\n ): Promise;\n async update(document: T, options: DocumentWriteParameters): Promise;\n async update(\n document: T,\n options: DocumentWriteParameters | UpdateByFilterParameters = {},\n ): Promise {\n if (!document) throw new Error(\"No document provided\");\n\n if (options[\"filter_by\"] != null) {\n return this.apiCall.patch(\n this.endpointPath(),\n document,\n Object.assign({}, options),\n );\n } else {\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"update\" }),\n );\n }\n }\n\n async delete(\n query: DeleteQuery = {} as DeleteQuery,\n ): Promise {\n return this.apiCall.delete(this.endpointPath(), query);\n }\n\n async createMany(documents: T[], options: DocumentImportParameters = {}) {\n this.configuration.logger.warn(\n \"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 );\n return this.import(documents, options);\n }\n\n /**\n * Import a set of documents in a batch.\n * @param {string|Array} documents - Can be a JSONL string of documents or an array of document objects.\n * @param options\n * @return {string|Array} Returns a JSONL string if the input was a JSONL string, otherwise it returns an array of results.\n */\n async import(\n documents: string,\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[],\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[] | string,\n options: DocumentImportParameters = {},\n ): Promise {\n let documentsInJSONLFormat;\n if (Array.isArray(documents)) {\n try {\n documentsInJSONLFormat = documents\n .map((document) => JSON.stringify(document))\n .join(\"\\n\");\n } catch (error: any) {\n // if rangeerror, throw custom error message\n if (\n error instanceof RangeError &&\n error.message.includes(\"Too many properties to enumerate\")\n ) {\n throw new Error(`${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\n // else, throw the non-range error anyways\n throw new Error(error);\n }\n } else {\n documentsInJSONLFormat = documents;\n }\n\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\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 enableKeepAlive: true, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n if (Array.isArray(documents)) {\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter(\n (r) => r.success === false,\n );\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n } else {\n return resultsInJSONLFormat as string;\n }\n }\n\n /**\n * Returns a JSONL string for all the documents in this collection\n */\n async export(options: DocumentsExportParameters = {}): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options);\n }\n\n /**\n * Returns a NodeJS readable stream of JSONL for all the documents in this collection.\n */\n async exportStream(\n options: DocumentsExportParameters = {},\n ): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options, {\n responseType: \"stream\",\n });\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { OverrideSchema } from \"./Override\";\n\nconst RESOURCEPATH = \"/overrides\";\n\nexport interface OverrideRuleQuerySchema {\n query?: string;\n match?: \"exact\" | \"contains\";\n}\n\nexport interface OverrideRuleFilterSchema {\n filter_by?: string;\n}\n\nexport interface OverrideRuleTagsSchema {\n tags?: string[];\n}\n\nexport interface OverrideCreateSchema {\n rule: OverrideRuleQuerySchema &\n OverrideRuleFilterSchema &\n OverrideRuleTagsSchema;\n filter_by?: string;\n sort_by?: string;\n remove_matched_tokens?: boolean;\n replace_query?: string;\n includes?: Array<{\n id: string;\n position: number;\n }>;\n excludes?: Array<{ id: string }>;\n filter_curated_hits?: boolean;\n effective_from_ts?: number;\n effective_to_ts?: number;\n stop_processing?: boolean;\n metadata?: object;\n}\n\nexport interface OverridesRetrieveSchema {\n overrides: OverrideSchema[];\n}\n\nexport default class Overrides {\n constructor(\n private collectionName: string,\n private apiCall: ApiCall,\n ) {}\n\n async upsert(\n overrideId: string,\n params: OverrideCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(overrideId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${\n Overrides.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Overrides, { OverrideCreateSchema } from \"./Overrides\";\n\nexport interface OverrideSchema extends OverrideCreateSchema {\n id: string;\n}\n\nexport interface OverrideDeleteSchema {\n id: string;\n}\n\nexport default class Override {\n constructor(\n private collectionName: string,\n private overrideId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Overrides.RESOURCEPATH}/${encodeURIComponent(this.overrideId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { SynonymSchema } from \"./Synonym\";\n\nconst RESOURCEPATH = \"/synonyms\";\n\nexport interface SynonymCreateSchema {\n synonyms: string[];\n root?: string;\n locale?: string;\n symbols_to_index?: string[];\n}\n\nexport interface SynonymsRetrieveSchema {\n synonyms: SynonymSchema[];\n}\n\nexport default class Synonyms {\n constructor(private collectionName: string, private apiCall: ApiCall) {}\n\n async upsert(\n synonymId: string,\n params: SynonymCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(synonymId),\n params\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${\n Synonyms.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Synonyms, { SynonymCreateSchema } from \"./Synonyms\";\n\nexport interface SynonymSchema extends SynonymCreateSchema {\n id: string;\n}\n\nexport interface SynonymDeleteSchema {\n id: string;\n}\n\nexport default class Synonym {\n constructor(\n private collectionName: string,\n private synonymId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Synonyms.RESOURCEPATH}/${encodeURIComponent(this.synonymId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Documents, {\n DocumentSchema,\n DocumentWriteParameters,\n} from \"./Documents\";\n\nexport class Document {\n constructor(\n private collectionName: string,\n private documentId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n async update(\n partialDocument: Partial,\n options: DocumentWriteParameters = {}\n ): Promise {\n return this.apiCall.patch(this.endpointPath(), partialDocument, options);\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Documents.RESOURCEPATH}/${encodeURIComponent(this.documentId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections, { CollectionCreateSchema } from \"./Collections\";\nimport Documents, { DocumentSchema } from \"./Documents\";\nimport { ObjectNotFound } from \"./Errors\";\nimport Overrides from \"./Overrides\";\nimport Override from \"./Override\";\nimport Synonyms from \"./Synonyms\";\nimport Synonym from \"./Synonym\";\nimport { Document } from \"./Document\";\n\nexport type FieldType =\n | \"string\"\n | \"int32\"\n | \"int64\"\n | \"float\"\n | \"bool\"\n | \"geopoint\"\n | \"geopoint[]\"\n | \"string[]\"\n | \"int32[]\"\n | \"int64[]\"\n | \"float[]\"\n | \"bool[]\"\n | \"object\"\n | \"object[]\"\n | \"auto\"\n | \"string*\"\n | \"image\";\n\nexport interface CollectionFieldSchema {\n name: string;\n type: FieldType;\n optional?: boolean;\n facet?: boolean;\n index?: boolean;\n sort?: boolean;\n locale?: string;\n infix?: boolean;\n stem?: boolean;\n num_dim?: number;\n store?: boolean;\n [t: string]: unknown;\n}\n\nexport interface CollectionSchema extends CollectionCreateSchema {\n created_at: number;\n num_documents: number;\n num_memory_shards: number;\n}\n\nexport interface CollectionDropFieldSchema {\n name: string;\n drop: true;\n}\n\nexport interface CollectionUpdateSchema\n extends Partial> {\n fields?: (CollectionFieldSchema | CollectionDropFieldSchema)[];\n}\n\nexport default class Collection {\n private readonly _documents: Documents;\n private individualDocuments: Record> = {};\n private readonly _overrides: Overrides;\n private individualOverrides: Record = {};\n private readonly _synonyms: Synonyms;\n private individualSynonyms: Record = {};\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any,\n ) {\n this.name = name;\n this.apiCall = apiCall;\n this.configuration = configuration;\n\n this._documents = new Documents(\n this.name,\n this.apiCall,\n this.configuration,\n );\n this._overrides = new Overrides(this.name, this.apiCall);\n this._synonyms = new Synonyms(this.name, this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(schema: CollectionUpdateSchema): Promise {\n return this.apiCall.patch(this.endpointPath(), schema);\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n async exists(): Promise {\n try {\n await this.retrieve();\n return true;\n } catch (e) {\n if (e instanceof ObjectNotFound) return false;\n throw e;\n }\n }\n\n documents(): Documents;\n documents(documentId: string): Document;\n documents(documentId?: string): Document | Documents {\n if (!documentId) {\n return this._documents;\n } else {\n if (this.individualDocuments[documentId] === undefined) {\n this.individualDocuments[documentId] = new Document(\n this.name,\n documentId,\n this.apiCall,\n );\n }\n return this.individualDocuments[documentId];\n }\n }\n\n overrides(): Overrides;\n overrides(overrideId: string): Override;\n overrides(overrideId?: string): Overrides | Override {\n if (overrideId === undefined) {\n return this._overrides;\n } else {\n if (this.individualOverrides[overrideId] === undefined) {\n this.individualOverrides[overrideId] = new Override(\n this.name,\n overrideId,\n this.apiCall,\n );\n }\n return this.individualOverrides[overrideId];\n }\n }\n\n synonyms(): Synonyms;\n synonyms(synonymId: string): Synonym;\n synonyms(synonymId?: string): Synonyms | Synonym {\n if (synonymId === undefined) {\n return this._synonyms;\n } else {\n if (this.individualSynonyms[synonymId] === undefined) {\n this.individualSynonyms[synonymId] = new Synonym(\n this.name,\n synonymId,\n this.apiCall,\n );\n }\n return this.individualSynonyms[synonymId];\n }\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/aliases\";\n\nexport interface CollectionAliasCreateSchema {\n collection_name: string;\n}\n\nexport interface CollectionAliasSchema extends CollectionAliasCreateSchema {\n name: string;\n}\n\nexport interface CollectionAliasesResponseSchema {\n aliases: CollectionAliasSchema[];\n}\n\nexport default class Aliases {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n name: string,\n mapping: CollectionAliasCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(name),\n mapping\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n private endpointPath(aliasName): string {\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(aliasName)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import Aliases, { CollectionAliasSchema } from \"./Aliases\";\nimport ApiCall from \"./ApiCall\";\n\nexport default class Alias {\n constructor(private name: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import { createHmac } from \"crypto\";\nimport ApiCall from \"./ApiCall\";\nimport { KeyCreateSchema, KeySchema } from \"./Key\";\nimport { SearchParams } from \"./Documents\";\n\nconst RESOURCEPATH = \"/keys\";\n\nexport interface KeysRetrieveSchema {\n keys: KeySchema[];\n}\n\nexport interface GenerateScopedSearchKeyParams extends Partial {\n expires_at?: number;\n cache_ttl?: number;\n limit_multi_searches?: number;\n}\n\nexport default class Keys {\n constructor(private apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(params: KeyCreateSchema): Promise {\n return this.apiCall.post(Keys.RESOURCEPATH, params);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n generateScopedSearchKey(\n searchKey: string,\n parameters: GenerateScopedSearchKeyParams\n ): string {\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 const paramsJSON = JSON.stringify(parameters);\n const digest = Buffer.from(\n createHmac(\"sha256\", searchKey).update(paramsJSON).digest(\"base64\")\n );\n const keyPrefix = searchKey.substr(0, 4);\n const rawScopedKey = `${digest}${keyPrefix}${paramsJSON}`;\n\n return Buffer.from(rawScopedKey).toString(\"base64\");\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Keys from \"./Keys\";\n\nexport interface KeyCreateSchema {\n actions: string[];\n collections: string[];\n description?: string;\n value?: string;\n value_prefix?: string;\n expires_at?: number;\n}\n\nexport interface KeyDeleteSchema {\n id: number;\n}\n\nexport interface KeySchema extends KeyCreateSchema {\n id: number;\n}\n\nexport default class Key {\n constructor(private id: number, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Keys.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/debug\";\n\nexport interface DebugResponseSchema {\n state: number;\n version: string;\n}\n\nexport default class Debug {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/metrics.json\";\n\nexport interface MetricsResponse {\n [key: `system_cpu${number}_active_percentage`]: string;\n system_cpu_active_percentage: string;\n system_disk_total_bytes: string;\n system_disk_used_bytes: string;\n system_memory_total_bytes: string;\n system_memory_total_swap_bytes?: string;\n system_memory_used_bytes: string;\n system_memory_used_swap_bytes?: string;\n system_network_received_bytes: string;\n system_network_sent_bytes: string;\n typesense_memory_active_bytes: string;\n typesense_memory_allocated_bytes: string;\n typesense_memory_fragmentation_ratio: string;\n typesense_memory_mapped_bytes: string;\n typesense_memory_metadata_bytes: string;\n typesense_memory_resident_bytes: string;\n typesense_memory_retained_bytes: string;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/stats.json\";\n\nexport interface EndpointStats {\n [endpoint: string]: number;\n}\n\nexport interface StatsResponse {\n delete_latency_ms?: number;\n delete_requests_per_second?: number;\n import_latency_ms?: number;\n import_requests_per_second?: number;\n latency_ms?: EndpointStats;\n overloaded_requests_per_second?: number;\n pending_write_batches?: number;\n requests_per_second?: EndpointStats;\n search_latency_ms?: number;\n search_requests_per_second?: number;\n total_requests_per_second?: number;\n write_latency_ms?: number;\n write_requests_per_second?: number;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/health\";\n\nexport interface HealthResponse {\n ok: boolean;\n}\n\nexport default class Health {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/operations\";\n\nexport default class Operations {\n constructor(private apiCall: ApiCall) {}\n\n async perform(\n operationName: \"vote\" | \"snapshot\" | \"cache/clear\" | string,\n queryParameters: Record = {}\n ): Promise {\n return this.apiCall.post(\n `${RESOURCEPATH}/${operationName}`,\n {},\n queryParameters\n );\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport RequestWithCache from \"./RequestWithCache\";\nimport {\n DocumentSchema,\n SearchParams,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\n\nconst RESOURCEPATH = \"/multi_search\";\n\nexport interface MultiSearchRequestSchema extends SearchParams {\n collection?: string;\n \"x-typesense-api-key\"?: string;\n}\n\nexport interface MultiSearchRequestWithPresetSchema\n extends SearchParamsWithPreset {\n collection?: string;\n \"x-typesense-api-key\"?: string;\n}\n\nexport interface MultiSearchRequestsSchema {\n searches: (MultiSearchRequestSchema | MultiSearchRequestWithPresetSchema)[];\n}\n\nexport interface MultiSearchResponse {\n results: { [Index in keyof T]: SearchResponse } & {\n length: T[\"length\"];\n };\n}\n\nexport default class MultiSearch {\n private requestWithCache: RequestWithCache;\n\n constructor(\n private apiCall: ApiCall,\n private configuration: Configuration,\n private useTextContentType: boolean = false\n ) {\n this.requestWithCache = new RequestWithCache();\n }\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async perform(\n searchRequests: MultiSearchRequestsSchema,\n commonParams: Partial = {},\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n }: { cacheSearchResultsForSeconds?: number } = {}\n ): Promise> {\n const additionalHeaders = {};\n if (this.useTextContentType) {\n additionalHeaders[\"content-type\"] = \"text/plain\";\n }\n\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n const queryParams = Object.assign({}, commonParams, additionalQueryParams);\n\n return this.requestWithCache.perform(\n this.apiCall,\n this.apiCall.post,\n [RESOURCEPATH, searchRequests, queryParams, additionalHeaders],\n { cacheResponseForSeconds: cacheSearchResultsForSeconds }\n ) as Promise>;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { PresetSchema } from \"./Preset\";\nimport { SearchParams } from \"./Documents\";\nimport { MultiSearchRequestsSchema } from \"./MultiSearch\";\n\nconst RESOURCEPATH = \"/presets\";\n\nexport interface PresetCreateSchema {\n value: SearchParams | MultiSearchRequestsSchema;\n}\n\nexport interface PresetsRetrieveSchema {\n presets: PresetSchema[];\n}\n\nexport default class Presets {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n presetId: string,\n params: PresetCreateSchema\n ): Promise {\n return this.apiCall.put(this.endpointPath(presetId), params);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Presets.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Presets, { PresetCreateSchema } from \"./Presets\";\n\nexport interface PresetSchema extends PresetCreateSchema {\n name: string;\n}\n\nexport interface PresetDeleteSchema {\n name: string;\n}\n\nexport default class Preset {\n constructor(private presetId: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Presets.RESOURCEPATH}/${encodeURIComponent(this.presetId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n AnalyticsRuleCreateSchema,\n AnalyticsRuleSchema,\n} from \"./AnalyticsRule\";\n\nexport interface AnalyticsRulesRetrieveSchema {\n rules: AnalyticsRuleSchema[];\n}\n\nconst RESOURCEPATH = \"/analytics/rules\";\n\nexport default class AnalyticsRules {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async upsert(\n name: string,\n params: AnalyticsRuleCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(name),\n params\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsRules.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\n\nexport interface AnalyticsRuleCreateSchema {\n type: \"popular_queries\" | \"nohits_queries\" | \"counter\";\n params: {\n source: {\n collections: string[];\n events?: Array<{\n type: string;\n weight: number;\n name: string;\n }>;\n };\n expand_query?: boolean;\n destination: {\n collection: string;\n counter_field?: string;\n };\n limit?: number;\n };\n}\n\nexport interface AnalyticsRuleDeleteSchema {\n name: string;\n}\n\nexport interface AnalyticsRuleSchema extends AnalyticsRuleCreateSchema {\n name: string;\n}\n\nexport default class AnalyticsRule {\n constructor(\n private name: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${AnalyticsRules.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { AnalyticsEventCreateSchema } from \"./AnalyticsEvent\";\n\nconst RESOURCEPATH = \"/analytics/events\";\n\nexport default class AnalyticsEvents {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: AnalyticsEventCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsEvents.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\nimport AnalyticsRule from \"./AnalyticsRule\";\nimport AnalyticsEvents from \"./AnalyticsEvents\";\n\nconst RESOURCEPATH = \"/analytics\";\n\nexport default class Analytics {\n private readonly _analyticsRules: AnalyticsRules;\n private readonly individualAnalyticsRules: Record = {};\n private readonly _analyticsEvents: AnalyticsEvents;\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._analyticsRules = new AnalyticsRules(this.apiCall);\n this._analyticsEvents = new AnalyticsEvents(this.apiCall);\n }\n\n rules(id?: string): AnalyticsRules | AnalyticsRule {\n if (id === undefined) {\n return this._analyticsRules;\n } else {\n if (this.individualAnalyticsRules[id] === undefined) {\n this.individualAnalyticsRules[id] = new AnalyticsRule(id, this.apiCall);\n }\n return this.individualAnalyticsRules[id];\n }\n }\n\n events(): AnalyticsEvents {\n return this._analyticsEvents;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { StopwordSchema } from \"./Stopword\";\n\nconst RESOURCEPATH = \"/stopwords\";\n\nexport interface StopwordCreateSchema {\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordsRetrieveSchema {\n stopwords: StopwordSchema[];\n}\n\nexport default class Stopwords {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n stopwordId: string,\n params: StopwordCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(stopwordId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Stopwords.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Stopwords, { StopwordCreateSchema } from \"./Stopwords\";\n\nexport interface StopwordSchema extends StopwordCreateSchema {\n id: string;\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordDeleteSchema {\n id: string;\n}\n\nexport default class Stopword {\n constructor(\n private stopwordId: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Stopwords.RESOURCEPATH}/${encodeURIComponent(this.stopwordId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n ConversationModelCreateSchema,\n ConversationModelSchema,\n} from \"./ConversationModel\";\n\nconst RESOURCEPATH = \"/conversations/models\";\n\nexport default class ConversationModels {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(\n this.endpointPath(),\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${ConversationModels.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\n\nexport interface ConversationModelCreateSchema {\n model_name: string;\n api_key: string;\n system_prompt?: string;\n max_bytes: number;\n}\n\nexport interface ConversationModelDeleteSchema {\n id: string;\n}\n\nexport interface ConversationModelSchema extends ConversationModelCreateSchema {\n id: string;\n}\n\nexport default class ConversationModel {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async update(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(\n this.endpointPath(),\n );\n }\n\n private endpointPath(): string {\n return `${ConversationModels.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\nimport ConversationModel from \"./ConversationModel\";\nimport { ConversationSchema } from \"./Conversation\";\n\nconst RESOURCEPATH = \"/conversations\";\n\nexport interface ConversationsRetrieveSchema {\n conversations: ConversationSchema[];\n}\n\nexport default class Conversations {\n private readonly _conversationsModels: ConversationModels;\n private readonly individualConversationModels: Record<\n string,\n ConversationModel\n > = {};\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._conversationsModels = new ConversationModels(this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n models(): ConversationModels;\n models(id: string): ConversationModel;\n models(id?: string): ConversationModels | ConversationModel {\n if (id === undefined) {\n return this._conversationsModels;\n } else {\n if (this.individualConversationModels[id] === undefined) {\n this.individualConversationModels[id] = new ConversationModel(\n id,\n this.apiCall,\n );\n }\n return this.individualConversationModels[id];\n }\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Conversations from \"./Conversations\";\n\nexport interface ConversationDeleteSchema {\n id: number;\n}\n\nexport interface ConversationUpdateSchema {\n ttl: number;\n}\n\nexport interface ConversationSchema {\n id: number;\n conversation: object[];\n last_updated: number;\n ttl: number;\n}\n\nexport default class Conversation {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(\n params: ConversationUpdateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Conversations.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","/* eslint-disable no-dupe-class-members */\n\nimport Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Collection from \"./Collection\";\nimport Aliases from \"./Aliases\";\nimport Alias from \"./Alias\";\nimport Keys from \"./Keys\";\nimport Key from \"./Key\";\nimport Debug from \"./Debug\";\nimport Metrics from \"./Metrics\";\nimport Stats from \"./Stats\";\nimport Health from \"./Health\";\nimport Operations from \"./Operations\";\nimport MultiSearch from \"./MultiSearch\";\nimport Presets from \"./Presets\";\nimport Preset from \"./Preset\";\nimport Analytics from \"./Analytics\";\nimport Stopwords from \"./Stopwords\";\nimport Stopword from \"./Stopword\";\nimport Conversations from \"./Conversations\";\nimport Conversation from \"./Conversation\";\n\nexport default class Client {\n configuration: Configuration;\n apiCall: ApiCall;\n debug: Debug;\n metrics: Metrics;\n stats: Stats;\n health: Health;\n operations: Operations;\n multiSearch: MultiSearch;\n analytics: Analytics;\n private readonly _collections: Collections;\n private readonly individualCollections: Record;\n private readonly _aliases: Aliases;\n private readonly individualAliases: Record;\n private readonly _keys: Keys;\n private readonly individualKeys: Record;\n private readonly _presets: Presets;\n private readonly individualPresets: Record;\n private readonly _stopwords: Stopwords;\n private readonly individualStopwords: Record;\n private readonly _conversations: Conversations;\n private readonly individualConversations: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? false;\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.debug = new Debug(this.apiCall);\n this.metrics = new Metrics(this.apiCall);\n this.stats = new Stats(this.apiCall);\n this.health = new Health(this.apiCall);\n this.operations = new Operations(this.apiCall);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration);\n this._collections = new Collections(this.apiCall);\n this.individualCollections = {};\n this._aliases = new Aliases(this.apiCall);\n this.individualAliases = {};\n this._keys = new Keys(this.apiCall);\n this.individualKeys = {};\n this._presets = new Presets(this.apiCall);\n this.individualPresets = {};\n this._stopwords = new Stopwords(this.apiCall);\n this.individualStopwords = {};\n this.analytics = new Analytics(this.apiCall);\n this._conversations = new Conversations(this.apiCall);\n this.individualConversations = {};\n }\n\n collections(): Collections;\n collections = object>(\n collectionName: string,\n ): Collection;\n collections(collectionName?: string): Collections | Collection {\n if (collectionName === undefined) {\n return this._collections;\n } else {\n if (this.individualCollections[collectionName] === undefined) {\n this.individualCollections[collectionName] = new Collection(\n collectionName,\n this.apiCall,\n this.configuration,\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n\n aliases(): Aliases;\n aliases(aliasName: string): Alias;\n aliases(aliasName?: string): Aliases | Alias {\n if (aliasName === undefined) {\n return this._aliases;\n } else {\n if (this.individualAliases[aliasName] === undefined) {\n this.individualAliases[aliasName] = new Alias(aliasName, this.apiCall);\n }\n return this.individualAliases[aliasName];\n }\n }\n\n keys(): Keys;\n keys(id: number): Key;\n keys(id?: number): Keys | Key {\n if (id === undefined) {\n return this._keys;\n } else {\n if (this.individualKeys[id] === undefined) {\n this.individualKeys[id] = new Key(id, this.apiCall);\n }\n return this.individualKeys[id];\n }\n }\n\n presets(): Presets;\n presets(id: string): Preset;\n presets(id?: string): Presets | Preset {\n if (id === undefined) {\n return this._presets;\n } else {\n if (this.individualPresets[id] === undefined) {\n this.individualPresets[id] = new Preset(id, this.apiCall);\n }\n return this.individualPresets[id];\n }\n }\n\n stopwords(): Stopwords;\n stopwords(id: string): Stopword;\n stopwords(id?: string): Stopwords | Stopword {\n if (id === undefined) {\n return this._stopwords;\n } else {\n if (this.individualStopwords[id] === undefined) {\n this.individualStopwords[id] = new Stopword(id, this.apiCall);\n }\n return this.individualStopwords[id];\n }\n }\n\n conversations(): Conversations;\n conversations(id: string): Conversation;\n conversations(id?: string): Conversations | Conversation {\n if (id === undefined) {\n return this._conversations;\n } else {\n if (this.individualConversations[id] === undefined) {\n this.individualConversations[id] = new Conversation(id, this.apiCall);\n }\n return this.individualConversations[id];\n }\n }\n}\n","import { DocumentSchema, SearchableDocuments } from \"./Documents\";\nimport ApiCall from \"./ApiCall\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\nexport class SearchOnlyCollection {\n private readonly _documents: SearchableDocuments;\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any\n ) {\n this._documents = new SearchOnlyDocuments(\n this.name,\n this.apiCall,\n this.configuration\n );\n }\n\n documents(): SearchableDocuments {\n return this._documents;\n }\n}\n","import Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport MultiSearch from \"./MultiSearch\";\nimport { DocumentSchema } from \"./Documents\";\nimport { SearchOnlyCollection } from \"./SearchOnlyCollection\";\n\nexport default class SearchClient {\n public readonly multiSearch: MultiSearch;\n private readonly configuration: Configuration;\n private readonly apiCall: ApiCall;\n private readonly individualCollections: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? true;\n if (\n options.sendApiKeyAsQueryParam === true &&\n (options.apiKey || \"\").length > 2000\n ) {\n console.warn(\n \"[typesense] API Key is longer than 2000 characters which is over the allowed limit, so disabling sending it as a query parameter.\"\n );\n options.sendApiKeyAsQueryParam = false;\n }\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration, true);\n this.individualCollections = {};\n }\n\n clearCache() {\n this.multiSearch.clearCache();\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Object.entries(this.individualCollections).forEach(([_, collection]) => {\n collection.documents().clearCache();\n });\n }\n\n collections(\n collectionName: string\n ): SearchOnlyCollection | SearchOnlyCollection {\n if (!collectionName) {\n throw new Error(\n \"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(\n collectionName,\n this.apiCall,\n this.configuration\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n}\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(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\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}","import Client from \"./Typesense/Client\";\nimport SearchClient from \"./Typesense/SearchClient\";\nimport * as Errors from \"./Typesense/Errors\";\n\nexport { Client, SearchClient, Errors };\nexport default { Client, SearchClient, Errors };\n"],"names":["root","definition","noop","undefinedType","isIE","window","navigator","test","userAgent","logMethods","_loggersByName","defaultLogger","bindMethod","obj","methodName","method","bind","Function","prototype","call","e","apply","arguments","traceForIE","console","log","trace","replaceLoggingMethods","level","this","getLevel","i","length","methodFactory","name","debug","levels","SILENT","enableLoggingWhenConsoleArrives","defaultMethodFactory","_level","_loggerName","undefined","realMethod","Logger","factory","inheritedLevel","defaultLevel","userLevel","self","storageKey","getPersistedLevel","storedLevel","localStorage","ignore","cookie","document","cookieName","encodeURIComponent","location","indexOf","exec","slice","normalizeLevel","input","toUpperCase","TypeError","setLevel","persist","levelNum","levelName","persistLevelIfPossible","setDefaultLevel","resetLevel","removeItem","clearPersistedLevel","enableAll","TRACE","disableAll","rebuild","childName","initialLevel","getLogger","logger","_log","noConflict","getLoggers","_typeof","_regeneratorRuntime","module","exports","__esModule","t","r","Object","n","hasOwnProperty","o","defineProperty","value","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","constructor","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","stop","rval","handle","complete","finish","delegateYield","runtime","regeneratorRuntime","accidentalStrictMode","globalThis","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","key","get","prop","_classCallCheck","instance","Constructor","toPropertyKey","toPrimitive","String","_defineProperties","target","props","descriptor","_createClass","protoProps","staticProps","_defineProperty","_assertThisInitialized","ReferenceError","_possibleConstructorReturn","_getPrototypeOf","_setPrototypeOf","_inherits","subClass","superClass","_isNativeReflectConstruct","Boolean","valueOf","Reflect","construct","_wrapNativeSuper","Class","_cache","Map","fn","toString","has","set","Wrapper","TypesenseError","_Error","message","_this","_callSuper","MissingConfigurationError","_TypesenseError","Configuration","options","nodes","map","node","setDefaultPathInNode","setDefaultPortInNode","_objectSpread","randomizeNodes","shuffleArray","nearestNode","connectionTimeoutSeconds","timeoutSeconds","healthcheckIntervalSeconds","numRetries","retryIntervalSeconds","apiKey","sendApiKeyAsQueryParam","cacheSearchResultsForSeconds","useServerSideSearchCache","logLevel","additionalHeaders","httpAgent","httpsAgent","paramsSerializer","showDeprecationWarnings","validate","validateNodes","isNodeMissingAnyParameters","_this2","some","every","warn","masterNode","readReplicaNodes","array","j","Math","floor","random","_ref","asyncGeneratorStep","gen","reject","_next","_throw","info","error","_asyncToGenerator","args","err","thisArg","kindOf","cache","thing","str","toLowerCase","kindOfTest","typeOfTest","isArray","Array","isUndefined","isArrayBuffer","isString","isFunction","isNumber","isObject","isPlainObject","val","isDate","isFile","isBlob","isFileList","isURLSearchParams","allOwnKeys","getOwnPropertyNames","len","findKey","_key","_global","global","isContextDefined","context","isTypedArray","TypedArray","Uint8Array","isHTMLForm","isRegExp","reduceDescriptors","reducer","descriptors","getOwnPropertyDescriptors","reducedDescriptors","ret","defineProperties","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","isAsyncFn","isBuffer","isFormData","kind","FormData","append","isArrayBufferView","result","ArrayBuffer","isView","buffer","isBoolean","isStream","pipe","merge","caseless","assignValue","targetKey","extend","b","trim","replace","stripBOM","content","charCodeAt","inherits","superConstructor","assign","toFlatObject","sourceObj","destObj","filter","propFilter","merged","endsWith","searchString","position","lastIndex","toArray","arr","forEachEntry","pair","matchAll","regExp","matches","hasOwnProp","freezeMethods","toObjectSet","arrayOrString","delimiter","split","toCamelCase","m","p1","p2","toFiniteNumber","defaultValue","Number","isFinite","generateString","size","alphabet","isSpecCompliantForm","toJSONObject","stack","visit","source","reducedValue","isThenable","catch","AxiosError","code","config","request","response","captureStackTrace","utils","toJSON","description","number","fileName","lineNumber","columnNumber","status","from","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","path","dots","concat","token","join","predicates","formData","metaTokens","indexes","option","visitor","defaultVisitor","useBlob","Blob","convertValue","toISOString","Buffer","JSON","stringify","isFlatArray","el","index","exposedHelpers","build","encode","charMap","match","AxiosURLSearchParams","params","_pairs","encoder","_encode","buildURL","url","serializeFn","serialize","serializedParams","hashmarkIndex","handlers","use","fulfilled","rejected","synchronous","runWhen","eject","id","clear","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","isBrowser","classes","URLSearchParams","protocols","hasBrowserEnv","hasStandardBrowserEnv","product","hasStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","buildPath","isNumericKey","isLast","arrayToObject","entries","parsePropPath","defaults","transitional","adapter","transformRequest","data","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","setContentType","platform","helpers","isNode","toURLEncodedForm","formSerializer","_FormData","env","rawValue","parser","parse","stringifySafely","transformResponse","JSONRequested","responseType","strictJSONParsing","ERR_BAD_RESPONSE","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","ignoreDuplicateOf","$internals","normalizeHeader","header","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","rawHeaders","parsed","line","substring","parseHeaders","tokens","tokensRE","parseTokens","matcher","deleted","deleteHeader","normalize","format","normalized","w","char","formatHeader","targets","asStrings","first","computed","accessor","accessors","defineAccessor","accessorName","arg1","arg2","arg3","buildAccessors","mapped","headerValue","transformData","fns","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","write","expires","domain","secure","Date","toGMTString","read","RegExp","decodeURIComponent","remove","now","buildFullPath","baseURL","requestedURL","relativeURL","combineURLs","msie","urlParsingNode","createElement","originURL","resolveURL","href","setAttribute","protocol","host","search","hash","hostname","port","pathname","requestURL","progressEventReducer","listener","isDownloadStream","bytesNotified","_speedometer","samplesCount","min","bytes","timestamps","firstSampleTS","head","tail","chunkLength","startedAt","bytesCount","passed","round","loaded","total","lengthComputable","progressBytes","rate","progress","estimated","event","knownAdapters","http","xhr","XMLHttpRequest","requestData","requestHeaders","onCanceled","withXSRFToken","cancelToken","unsubscribe","signal","removeEventListener","auth","username","password","unescape","btoa","fullPath","onloadend","responseHeaders","getAllResponseHeaders","ERR_BAD_REQUEST","settle","responseText","statusText","open","onreadystatechange","readyState","responseURL","setTimeout","onabort","ECONNABORTED","onerror","ERR_NETWORK","ontimeout","timeoutErrorMessage","ETIMEDOUT","isURLSameOrigin","xsrfValue","cookies","setRequestHeader","withCredentials","onDownloadProgress","addEventListener","onUploadProgress","upload","cancel","abort","subscribe","aborted","parseProtocol","send","renderReason","reason","isResolvedHandle","adapters","nameOrAdapter","rejectedReasons","reasons","state","throwIfCancellationRequested","throwIfRequested","dispatchRequest","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","decompress","beforeRedirect","transport","socketPath","responseEncoding","configValue","validators","deprecatedWarnings","validator","version","formatMessage","opt","desc","opts","ERR_DEPRECATED","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","Axios","instanceConfig","interceptors","configOrUrl","_request","dummy","boolean","function","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","unshift","responseInterceptorChain","promise","chain","newConfig","onFulfilled","onRejected","getUri","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","splice","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","axios","createInstance","defaultConfig","VERSION","toFormData","Cancel","all","promises","spread","callback","isAxiosError","payload","formToJSON","getAdapter","default","RequestMalformed","RequestUnauthorized","ObjectNotFound","ObjectAlreadyExists","ObjectUnprocessable","ServerError","HTTPError","HEALTHY","ApiCall","configuration","numRetriesPerRequest","additionalUserHeaders","initializeMetadataForNodes","currentNodeIndex","_timer","_performRequest","_patch","_put","_post","_delete2","_get","_callee","endpoint","queryParameters","_ref$abortSignal","abortSignal","_ref$responseType","_args","_context","performRequest","_x","_callee2","_args2","_context2","_x2","_callee3","bodyParameters","_args3","_context3","_x3","_callee4","_args4","_context4","_x4","_callee5","_args5","_context5","_x5","_callee6","requestType","_ref2","_ref2$queryParameters","_ref2$bodyParameters","_ref2$additionalHeade","_ref2$abortSignal","_ref2$responseType","_ref2$skipConnectionT","skipConnectionTimeout","_ref2$enableKeepAlive","enableKeepAlive","requestNumber","lastException","_loop","_ret","numTries","_context7","abortListener","requestOptions","_response$data","_response$data2","_error$response","_context6","getNextNode","uriFor","defaultHeaders","Infinity","transformedData","startsWith","HTTPAgent","keepAlive","HTTPSAgent","setNodeHealthcheck","customErrorForResponse","t0","timer","_x6","_x7","_x8","isHealthy","nodeDueForHealthcheck","candidateNode","isDueForHealthcheck","lastAccessTimestamp","_callee7","seconds","_context8","_x9","messageFromServer","errorMessage","httpStatus","RESOURCEPATH","Collections","apiCall","_retrieve","_create","post","ImportError","importResults","_arrayLikeToArray","arr2","_unsupportedIterableToArray","minLen","_toConsumableArray","iter","RequestWithCache","_perform","responseCache","responsePromiseCache","requestContext","requestFunction","requestFunctionArguments","cacheOptions","_cacheOptions$cacheRe","cacheResponseForSeconds","_cacheOptions$maxSize","maxSize","requestFunctionArgumentsJSON","cacheEntry","cachePromiseEntry","responsePromise","oldestEntry","_oldestEntry","requestTimestamp","delete","SearchOnlyDocuments","collectionName","_search","requestWithCache","clearCache","searchParameters","_ref$cacheSearchResul","additionalQueryParams","queryParams","perform","endpointPath","operation","Documents","_exportStream","_export2","_import2","_createMany","_update","_upsert","action","patch","query","documents","import","documentsInJSONLFormat","resultsInJSONLFormat","resultsInJSONFormat","failedItems","_args6","RangeError","includes","success","_args7","_callee8","_args8","Overrides","overrideId","put","Override","Synonyms","synonymId","Synonym","Document","documentId","partialDocument","Collection","_documents","_overrides","_synonyms","_exists","retrieve","individualDocuments","individualOverrides","individualSynonyms","Aliases","mapping","aliasName","Alias","Keys","searchKey","parameters","paramsJSON","digest","createHmac","update","keyPrefix","substr","rawScopedKey","Key","Debug","Metrics","Health","Operations","operationName","MultiSearch","useTextContentType","searchRequests","commonParams","Presets","presetId","Preset","AnalyticsRules","AnalyticsRule","AnalyticsEvents","Analytics","_analyticsRules","_analyticsEvents","individualAnalyticsRules","Stopwords","stopwordId","Stopword","ConversationModels","ConversationModel","Conversations","_conversationsModels","individualConversationModels","Conversation","Client","_options$sendApiKeyAs","metrics","stats","Stats","health","operations","multiSearch","_collections","individualCollections","_aliases","individualAliases","_keys","individualKeys","_presets","individualPresets","_stopwords","individualStopwords","analytics","_conversations","individualConversations","SearchOnlyCollection","SearchClient","Errors"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"typesense.min.js","mappings":"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","sources":["webpack://Typesense/./node_modules/loglevel/lib/loglevel.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/regenerator/index.js","webpack://Typesense/webpack/bootstrap","webpack://Typesense/webpack/runtime/compat get default export","webpack://Typesense/webpack/runtime/define property getters","webpack://Typesense/webpack/runtime/hasOwnProperty shorthand","webpack://Typesense/webpack/runtime/make namespace object","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://Typesense/./src/Typesense/Errors/TypesenseError.ts","webpack://Typesense/./src/Typesense/Errors/MissingConfigurationError.ts","webpack://Typesense/./src/Typesense/Configuration.ts","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://Typesense/./node_modules/axios/lib/helpers/bind.js","webpack://Typesense/./node_modules/axios/lib/utils.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosError.js","webpack://Typesense/./node_modules/axios/lib/helpers/toFormData.js","webpack://Typesense/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/helpers/buildURL.js","webpack://Typesense/./node_modules/axios/lib/core/InterceptorManager.js","webpack://Typesense/./node_modules/axios/lib/defaults/transitional.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/index.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://Typesense/./node_modules/axios/lib/platform/common/utils.js","webpack://Typesense/./node_modules/axios/lib/platform/index.js","webpack://Typesense/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://Typesense/./node_modules/axios/lib/defaults/index.js","webpack://Typesense/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://Typesense/./node_modules/axios/lib/core/transformData.js","webpack://Typesense/./node_modules/axios/lib/cancel/isCancel.js","webpack://Typesense/./node_modules/axios/lib/cancel/CanceledError.js","webpack://Typesense/./node_modules/axios/lib/core/settle.js","webpack://Typesense/./node_modules/axios/lib/helpers/speedometer.js","webpack://Typesense/./node_modules/axios/lib/helpers/progressEventReducer.js","webpack://Typesense/./node_modules/axios/lib/helpers/throttle.js","webpack://Typesense/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://Typesense/./node_modules/axios/lib/helpers/cookies.js","webpack://Typesense/./node_modules/axios/lib/core/buildFullPath.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://Typesense/./node_modules/axios/lib/helpers/combineURLs.js","webpack://Typesense/./node_modules/axios/lib/core/mergeConfig.js","webpack://Typesense/./node_modules/axios/lib/helpers/resolveConfig.js","webpack://Typesense/./node_modules/axios/lib/adapters/xhr.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://Typesense/./node_modules/axios/lib/helpers/composeSignals.js","webpack://Typesense/./node_modules/axios/lib/helpers/trackStream.js","webpack://Typesense/./node_modules/axios/lib/adapters/fetch.js","webpack://Typesense/./node_modules/axios/lib/adapters/adapters.js","webpack://Typesense/./node_modules/axios/lib/helpers/null.js","webpack://Typesense/./node_modules/axios/lib/core/dispatchRequest.js","webpack://Typesense/./node_modules/axios/lib/env/data.js","webpack://Typesense/./node_modules/axios/lib/helpers/validator.js","webpack://Typesense/./node_modules/axios/lib/core/Axios.js","webpack://Typesense/./node_modules/axios/lib/cancel/CancelToken.js","webpack://Typesense/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://Typesense/./node_modules/axios/lib/axios.js","webpack://Typesense/./node_modules/axios/lib/helpers/spread.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://Typesense/./src/Typesense/Errors/RequestMalformed.ts","webpack://Typesense/./src/Typesense/Errors/RequestUnauthorized.ts","webpack://Typesense/./src/Typesense/Errors/ObjectNotFound.ts","webpack://Typesense/./src/Typesense/Errors/ObjectAlreadyExists.ts","webpack://Typesense/./src/Typesense/Errors/ObjectUnprocessable.ts","webpack://Typesense/./src/Typesense/Errors/ServerError.ts","webpack://Typesense/./src/Typesense/Errors/HTTPError.ts","webpack://Typesense/./src/Typesense/ApiCall.ts","webpack://Typesense/./src/Typesense/Collections.ts","webpack://Typesense/./src/Typesense/Errors/ImportError.ts","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://Typesense/./src/Typesense/RequestWithCache.ts","webpack://Typesense/./src/Typesense/SearchOnlyDocuments.ts","webpack://Typesense/./src/Typesense/Documents.ts","webpack://Typesense/./src/Typesense/Overrides.ts","webpack://Typesense/./src/Typesense/Override.ts","webpack://Typesense/./src/Typesense/Synonyms.ts","webpack://Typesense/./src/Typesense/Synonym.ts","webpack://Typesense/./src/Typesense/Document.ts","webpack://Typesense/./src/Typesense/Collection.ts","webpack://Typesense/./src/Typesense/Aliases.ts","webpack://Typesense/./src/Typesense/Alias.ts","webpack://Typesense/./src/Typesense/Keys.ts","webpack://Typesense/./src/Typesense/Key.ts","webpack://Typesense/./src/Typesense/Debug.ts","webpack://Typesense/./src/Typesense/Metrics.ts","webpack://Typesense/./src/Typesense/Stats.ts","webpack://Typesense/./src/Typesense/Health.ts","webpack://Typesense/./src/Typesense/Operations.ts","webpack://Typesense/./src/Typesense/MultiSearch.ts","webpack://Typesense/./src/Typesense/Presets.ts","webpack://Typesense/./src/Typesense/Preset.ts","webpack://Typesense/./src/Typesense/AnalyticsRules.ts","webpack://Typesense/./src/Typesense/AnalyticsRule.ts","webpack://Typesense/./src/Typesense/AnalyticsEvents.ts","webpack://Typesense/./src/Typesense/Analytics.ts","webpack://Typesense/./src/Typesense/Stopwords.ts","webpack://Typesense/./src/Typesense/Stopword.ts","webpack://Typesense/./src/Typesense/ConversationModels.ts","webpack://Typesense/./src/Typesense/ConversationModel.ts","webpack://Typesense/./src/Typesense/Conversations.ts","webpack://Typesense/./src/Typesense/Conversation.ts","webpack://Typesense/./src/Typesense/Client.ts","webpack://Typesense/./src/Typesense/SearchOnlyCollection.ts","webpack://Typesense/./src/Typesense/SearchClient.ts","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://Typesense/./src/Typesense.ts"],"sourcesContent":["/*\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 var _loggersByName = {};\n var defaultLogger = null;\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() {\n /*jshint validthis:true */\n var level = this.getLevel();\n\n // Replace the actual methods.\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, this.name);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n\n // Return any important warnings.\n if (typeof console === undefinedType && level < this.levels.SILENT) {\n return \"No console available for logging\";\n }\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) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this);\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, factory) {\n // Private instance variables.\n var self = this;\n /**\n * The level inherited from a parent logger (or a global default). We\n * cache this here rather than delegating to the parent so that it stays\n * in sync with the actual logging methods that we have installed (the\n * parent could change levels but we might not have rebuilt the loggers\n * in this child yet).\n * @type {number}\n */\n var inheritedLevel;\n /**\n * The default level for this logger, if any. If set, this overrides\n * `inheritedLevel`.\n * @type {number|null}\n */\n var defaultLevel;\n /**\n * A user-specific level for this logger. If set, this overrides\n * `defaultLevel`.\n * @type {number|null}\n */\n var userLevel;\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 cookieName = encodeURIComponent(storageKey);\n var location = cookie.indexOf(cookieName + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(\n cookie.slice(location + cookieName.length + 1)\n )[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 } 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 function normalizeLevel(input) {\n var level = input;\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 return level;\n } else {\n throw new TypeError(\"log.setLevel() called with invalid level: \" + input);\n }\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 if (userLevel != null) {\n return userLevel;\n } else if (defaultLevel != null) {\n return defaultLevel;\n } else {\n return inheritedLevel;\n }\n };\n\n self.setLevel = function (level, persist) {\n userLevel = normalizeLevel(level);\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(userLevel);\n }\n\n // NOTE: in v2, this should call rebuild(), which updates children.\n return replaceLoggingMethods.call(self);\n };\n\n self.setDefaultLevel = function (level) {\n defaultLevel = normalizeLevel(level);\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.resetLevel = function () {\n userLevel = null;\n clearPersistedLevel();\n replaceLoggingMethods.call(self);\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 self.rebuild = function () {\n if (defaultLogger !== self) {\n inheritedLevel = normalizeLevel(defaultLogger.getLevel());\n }\n replaceLoggingMethods.call(self);\n\n if (defaultLogger === self) {\n for (var childName in _loggersByName) {\n _loggersByName[childName].rebuild();\n }\n }\n };\n\n // Initialize all the internal levels.\n inheritedLevel = normalizeLevel(\n defaultLogger ? defaultLogger.getLevel() : \"WARN\"\n );\n var initialLevel = getPersistedLevel();\n if (initialLevel != null) {\n userLevel = normalizeLevel(initialLevel);\n }\n replaceLoggingMethods.call(self);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n defaultLogger = new Logger();\n\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,\n defaultLogger.methodFactory\n );\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","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 e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw new Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\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))","// 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};","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(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\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 _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n try {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n } catch (e) {\n return typeof fn === \"function\";\n }\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\n}","export default class TypesenseError extends Error {\n httpStatus?: number;\n\n // Source: https://stackoverflow.com/a/58417721/123545\n constructor(message?: string) {\n super(message);\n this.name = new.target.name;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class MissingConfigurationError extends TypesenseError {}\n","import * as logger from \"loglevel\";\nimport { Logger, LogLevelDesc } from \"loglevel\";\nimport { MissingConfigurationError } from \"./Errors\";\nimport type { Agent as HTTPAgent } from \"http\";\nimport type { Agent as HTTPSAgent } from \"https\";\n\nexport interface NodeConfiguration {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n url?: string;\n}\n\nexport interface NodeConfigurationWithHostname {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n}\n\nexport interface NodeConfigurationWithUrl {\n url: string;\n}\n\nexport interface ConfigurationOptions {\n apiKey: string;\n nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n randomizeNodes?: boolean;\n /**\n * @deprecated\n * masterNode is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n masterNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n /**\n * @deprecated\n * readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n readReplicaNodes?:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n connectionTimeoutSeconds?: number;\n timeoutSeconds?: number;\n healthcheckIntervalSeconds?: number;\n numRetries?: number;\n retryIntervalSeconds?: number;\n sendApiKeyAsQueryParam?: boolean | undefined;\n useServerSideSearchCache?: boolean;\n cacheSearchResultsForSeconds?: number;\n additionalHeaders?: Record;\n\n logLevel?: LogLevelDesc;\n logger?: Logger;\n\n /**\n * Set a custom HTTP Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPAgent } = require(\"http\");\n * ...\n * httpAgent: new HTTPAgent({ keepAlive: true }),\n * @type {HTTPAgent}\n */\n httpAgent?: HTTPAgent;\n\n /**\n * Set a custom HTTPS Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPSAgent } = require(\"https\");\n * ...\n * httpsAgent: new HTTPSAgent({ keepAlive: true }),\n * @type {HTTPSAgent}\n */\n httpsAgent?: HTTPSAgent;\n\n /**\n * Set a custom paramsSerializer\n *\n * See axios documentation for more information on how to use this parameter: https://axios-http.com/docs/req_config\n * This is helpful for handling React Native issues like this: https://github.com/axios/axios/issues/6102#issuecomment-2085301397\n * @type {any}\n */\n paramsSerializer?: any;\n}\n\nexport default class Configuration {\n readonly nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n readonly nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n readonly connectionTimeoutSeconds: number;\n readonly healthcheckIntervalSeconds: number;\n readonly numRetries: number;\n readonly retryIntervalSeconds: number;\n readonly apiKey: string;\n readonly sendApiKeyAsQueryParam?: boolean;\n readonly cacheSearchResultsForSeconds: number;\n readonly useServerSideSearchCache: boolean;\n readonly logger: Logger;\n readonly logLevel: LogLevelDesc;\n readonly additionalHeaders?: Record;\n readonly httpAgent?: HTTPAgent;\n readonly httpsAgent?: HTTPSAgent;\n readonly paramsSerializer?: any;\n\n constructor(options: ConfigurationOptions) {\n this.nodes = options.nodes || [];\n this.nodes = this.nodes\n .map((node) => this.setDefaultPathInNode(node))\n .map((node) => this.setDefaultPortInNode(node))\n .map((node) => ({ ...node })) as NodeConfiguration[]; // Make a deep copy\n\n if (options.randomizeNodes == null) {\n options.randomizeNodes = true;\n }\n\n if (options.randomizeNodes === true) {\n this.shuffleArray(this.nodes);\n }\n\n this.nearestNode = options.nearestNode;\n this.nearestNode = this.setDefaultPathInNode(this.nearestNode);\n this.nearestNode = this.setDefaultPortInNode(this.nearestNode);\n\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\n this.apiKey = options.apiKey;\n this.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam; // We will set a default for this in Client and SearchClient\n\n this.cacheSearchResultsForSeconds =\n options.cacheSearchResultsForSeconds || 0; // Disable client-side cache by default\n this.useServerSideSearchCache = options.useServerSideSearchCache || false;\n\n this.logger = options.logger || logger;\n this.logLevel = options.logLevel || \"warn\";\n this.logger.setLevel(this.logLevel);\n\n this.additionalHeaders = options.additionalHeaders;\n\n this.httpAgent = options.httpAgent;\n this.httpsAgent = options.httpsAgent;\n\n this.paramsSerializer = options.paramsSerializer;\n\n this.showDeprecationWarnings(options);\n this.validate();\n }\n\n validate(): boolean {\n if (this.nodes == null || this.nodes.length === 0 || this.validateNodes()) {\n throw new MissingConfigurationError(\n \"Ensure that nodes[].protocol, nodes[].host and nodes[].port are set\",\n );\n }\n\n if (\n this.nearestNode != null &&\n this.isNodeMissingAnyParameters(this.nearestNode)\n ) {\n throw new MissingConfigurationError(\n \"Ensure that nearestNodes.protocol, nearestNodes.host and nearestNodes.port are set\",\n );\n }\n\n if (this.apiKey == null) {\n throw new MissingConfigurationError(\"Ensure that apiKey is set\");\n }\n\n return true;\n }\n\n private validateNodes(): boolean {\n return this.nodes.some((node) => {\n return this.isNodeMissingAnyParameters(node);\n });\n }\n\n private isNodeMissingAnyParameters(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl,\n ): boolean {\n return (\n ![\"protocol\", \"host\", \"port\", \"path\"].every((key) => {\n return node.hasOwnProperty(key);\n }) && node[\"url\"] == null\n );\n }\n\n private setDefaultPathInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (node != null && !node.hasOwnProperty(\"path\")) {\n node[\"path\"] = \"\";\n }\n return node;\n }\n\n private setDefaultPortInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (\n node != null &&\n !node.hasOwnProperty(\"port\") &&\n node.hasOwnProperty(\"protocol\")\n ) {\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\n private showDeprecationWarnings(options: ConfigurationOptions): void {\n if (options.timeoutSeconds) {\n this.logger.warn(\n \"Deprecation warning: timeoutSeconds is now renamed to connectionTimeoutSeconds\",\n );\n }\n if (options.masterNode) {\n this.logger.warn(\n \"Deprecation warning: masterNode is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n if (options.readReplicaNodes) {\n this.logger.warn(\n \"Deprecation warning: readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n }\n\n private shuffleArray(array) {\n for (let i = array.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [array[i], array[j]] = [array[j], array[i]];\n }\n }\n}\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}","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\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 && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let 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 {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\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 *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\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 (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 const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\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 *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && 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 *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\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 *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","'use strict';\n\nimport utils from '../utils.js';\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 {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n 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: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\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 * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\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 */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n 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 *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\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 *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\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 *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = (\n (product) => {\n return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0\n })(typeof navigator !== 'undefined' && navigator.product);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\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\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\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 env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\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 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\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} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\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 *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\n\nexport default (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n }, freq);\n}\n","'use strict';\n\n/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n const threshold = 1000 / freq;\n let timer = null;\n return function throttled() {\n const force = this === true;\n\n const now = Date.now();\n if (force || now - timestamp > threshold) {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n timestamp = now;\n return fn.apply(null, arguments);\n }\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n timestamp = Date.now();\n return fn.apply(null, arguments);\n }, threshold - (now - timestamp));\n }\n };\n}\n\nexport default throttle;\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\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 const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let 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 const 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","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\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 *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default 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\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 *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\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 *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, 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(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const 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 withXSRFToken: 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 beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\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\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport progressEventReducer from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType} = _config;\n let 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 let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, 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 const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n 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(new AxiosError('Request aborted', AxiosError.ECONNABORTED, _config, 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(new AxiosError('Network Error', AxiosError.ERR_NETWORK, _config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n _config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\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', progressEventReducer(_config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof _config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(_config.onUploadProgress));\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : 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 const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst composeSignals = (signals, timeout) => {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (cancel) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = cancel instanceof Error ? cancel : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal &&\n (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort));\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = unsubscribe;\n\n return [signal, () => {\n timer && clearTimeout(timer);\n timer = null;\n }];\n}\n\nexport default composeSignals;\n","\n\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize, encode) {\n for await (const chunk of iterable) {\n yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize);\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => {\n const iterator = readBytes(stream, chunkSize, encode);\n\n let bytes = 0;\n\n return new ReadableStream({\n type: 'bytes',\n\n async pull(controller) {\n const {done, value} = await iterator.next();\n\n if (done) {\n controller.close();\n onFinish();\n return;\n }\n\n let len = value.byteLength;\n onProgress && onProgress(bytes += len);\n controller.enqueue(new Uint8Array(value));\n },\n cancel(reason) {\n onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport progressEventReducer from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst fetchProgressDecorator = (total, fn) => {\n const lengthComputable = total != null;\n return (loaded) => setTimeout(() => fn({\n lengthComputable,\n total,\n loaded\n }));\n}\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst supportsRequestStream = isReadableStreamSupported && (() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n})();\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported && !!(()=> {\n try {\n return utils.isReadableStream(new Response('').body);\n } catch(err) {\n // return undefined\n }\n})();\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n return (await new Request(body).arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ?\n composeSignals([signal, cancelToken], timeout) : [];\n\n let finished, request;\n\n const onFinish = () => {\n !finished && setTimeout(() => {\n composedSignal && composedSignal.unsubscribe();\n });\n\n finished = true;\n }\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, fetchProgressDecorator(\n requestContentLength,\n progressEventReducer(onUploadProgress)\n ), null, encodeText);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'cors' : 'omit';\n }\n\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n withCredentials\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onDownloadProgress && fetchProgressDecorator(\n responseContentLength,\n progressEventReducer(onDownloadProgress, true)\n ), isStreamResponse && onFinish, encodeText),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && onFinish();\n\n stopTimeout && stopTimeout();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n onFinish();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\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 *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(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 config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\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 config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.7.2\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\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 *\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 (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\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 *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(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 {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _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 const {transitional, paramsSerializer, headers} = config;\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 if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let 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 const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\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,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(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, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n 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\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const 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 */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\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\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\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 *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestMalformed extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestUnauthorized extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectNotFound extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectAlreadyExists extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectUnprocessable extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ServerError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class HTTPError extends TypesenseError {}\n","import axios, { AxiosRequestConfig, AxiosResponse, Method } from \"axios\";\nimport { Logger } from \"loglevel\";\nimport {\n HTTPError,\n ObjectAlreadyExists,\n ObjectNotFound,\n ObjectUnprocessable,\n RequestMalformed,\n RequestUnauthorized,\n ServerError,\n} from \"./Errors\";\nimport TypesenseError from \"./Errors/TypesenseError\";\nimport Configuration, { NodeConfiguration } from \"./Configuration\";\nimport { Agent as HTTPAgent } from \"http\";\nimport { Agent as HTTPSAgent } from \"https\";\n\nconst APIKEYHEADERNAME = \"X-TYPESENSE-API-KEY\";\nconst HEALTHY = true;\nconst UNHEALTHY = false;\n\ninterface Node extends NodeConfiguration {\n isHealthy: boolean;\n index: string | number;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class ApiCall {\n private readonly apiKey: string;\n private readonly nodes: Node[];\n private readonly nearestNode: Node;\n private readonly connectionTimeoutSeconds: number;\n private readonly healthcheckIntervalSeconds: number;\n private readonly retryIntervalSeconds: number;\n private readonly sendApiKeyAsQueryParam?: boolean;\n private readonly numRetriesPerRequest: number;\n private readonly additionalUserHeaders?: Record;\n\n private readonly logger: Logger;\n private currentNodeIndex: number;\n\n constructor(private 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\n this.logger = this.configuration.logger;\n\n this.initializeMetadataForNodes();\n this.currentNodeIndex = -1;\n }\n\n async get(\n endpoint: string,\n queryParameters: any = {},\n {\n abortSignal = null,\n responseType = undefined,\n }: {\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n } = {},\n ): Promise {\n return this.performRequest(\"get\", endpoint, {\n queryParameters,\n abortSignal,\n responseType,\n });\n }\n\n async delete(endpoint: string, queryParameters: any = {}): Promise {\n return this.performRequest(\"delete\", endpoint, { queryParameters });\n }\n\n async post(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n additionalHeaders: any = {},\n ): Promise {\n return this.performRequest(\"post\", endpoint, {\n queryParameters,\n bodyParameters,\n additionalHeaders,\n });\n }\n\n async put(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"put\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async patch(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"patch\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async performRequest(\n requestType: Method,\n endpoint: string,\n {\n queryParameters = null,\n bodyParameters = null,\n additionalHeaders = {},\n abortSignal = null,\n responseType = undefined,\n skipConnectionTimeout = false,\n enableKeepAlive = undefined,\n }: {\n queryParameters?: any;\n bodyParameters?: any;\n additionalHeaders?: any;\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n skipConnectionTimeout?: boolean;\n enableKeepAlive?: boolean | undefined;\n },\n ): Promise {\n this.configuration.validate();\n\n const requestNumber = Date.now();\n let lastException;\n this.logger.debug(\n `Request #${requestNumber}: Performing ${requestType.toUpperCase()} request: ${endpoint}`,\n );\n for (\n let numTries = 1;\n numTries <= this.numRetriesPerRequest + 1;\n numTries++\n ) {\n const node = this.getNextNode(requestNumber);\n this.logger.debug(\n `Request #${requestNumber}: Attempting ${requestType.toUpperCase()} request Try #${numTries} to Node ${\n node.index\n }`,\n );\n\n if (abortSignal && abortSignal.aborted) {\n return Promise.reject(new Error(\"Request aborted by caller.\"));\n }\n\n let abortListener;\n\n try {\n const requestOptions: AxiosRequestConfig = {\n method: requestType,\n url: this.uriFor(endpoint, node),\n headers: Object.assign(\n {},\n this.defaultHeaders(),\n additionalHeaders,\n this.additionalUserHeaders,\n ),\n maxContentLength: Infinity,\n maxBodyLength: Infinity,\n responseType,\n validateStatus: (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 (data, headers) => {\n let transformedData = data;\n if (\n headers !== undefined &&\n typeof data === \"string\" &&\n headers[\"content-type\"] &&\n headers[\"content-type\"].startsWith(\"application/json\")\n ) {\n transformedData = JSON.parse(data);\n }\n return transformedData;\n },\n ],\n };\n\n if (skipConnectionTimeout !== true) {\n requestOptions.timeout = this.connectionTimeoutSeconds * 1000;\n }\n\n if (queryParameters && Object.keys(queryParameters).length !== 0) {\n requestOptions.params = queryParameters;\n }\n\n if (this.sendApiKeyAsQueryParam) {\n requestOptions.params = requestOptions.params || {};\n requestOptions.params[\"x-typesense-api-key\"] = this.apiKey;\n }\n\n if (this.configuration.httpAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpAgent`,\n );\n requestOptions.httpAgent = this.configuration.httpAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling KeepAlive`);\n requestOptions.httpAgent = new HTTPAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.httpsAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpsAgent`,\n );\n requestOptions.httpsAgent = this.configuration.httpsAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling keepAlive`);\n requestOptions.httpsAgent = new HTTPSAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.paramsSerializer) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom paramsSerializer`,\n );\n requestOptions.paramsSerializer = this.configuration.paramsSerializer;\n }\n\n if (\n bodyParameters &&\n ((typeof bodyParameters === \"string\" &&\n bodyParameters.length !== 0) ||\n (typeof bodyParameters === \"object\" &&\n Object.keys(bodyParameters).length !== 0))\n ) {\n requestOptions.data = bodyParameters;\n }\n\n // Translate from user-provided AbortController to the Axios request cancel mechanism.\n if (abortSignal) {\n const cancelToken = axios.CancelToken;\n const source = cancelToken.source();\n abortListener = () => source.cancel();\n abortSignal.addEventListener(\"abort\", abortListener);\n requestOptions.cancelToken = source.token;\n }\n\n const response = await axios(requestOptions);\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.setNodeHealthcheck(node, HEALTHY);\n }\n this.logger.debug(\n `Request #${requestNumber}: Request to Node ${node.index} was made. Response Code was ${response.status}.`,\n );\n\n if (response.status >= 200 && response.status < 300) {\n // If response is 2xx return a resolved promise\n return Promise.resolve(response.data);\n } else if (response.status < 500) {\n // Next, if response is anything but 5xx, don't retry, return a custom error\n return Promise.reject(\n this.customErrorForResponse(response, response.data?.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.customErrorForResponse(response, response.data?.message);\n }\n } catch (error: any) {\n // This block handles retries for HTTPStatus > 500 and network layer issues like connection timeouts\n this.setNodeHealthcheck(node, UNHEALTHY);\n lastException = error;\n this.logger.warn(\n `Request #${requestNumber}: Request to Node ${\n node.index\n } failed due to \"${error.code} ${error.message}${\n error.response == null\n ? \"\"\n : \" - \" + JSON.stringify(error.response?.data)\n }\"`,\n );\n // this.logger.debug(error.stack)\n this.logger.warn(\n `Request #${requestNumber}: Sleeping for ${this.retryIntervalSeconds}s and then retrying request...`,\n );\n await this.timer(this.retryIntervalSeconds);\n } finally {\n if (abortSignal && abortListener) {\n abortSignal.removeEventListener(\"abort\", abortListener);\n }\n }\n }\n this.logger.debug(\n `Request #${requestNumber}: No retries left. Raising last error`,\n );\n return Promise.reject(lastException);\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 getNextNode(requestNumber = 0): Node {\n // Check if nearestNode is set and is healthy, if so return it\n if (this.nearestNode != null) {\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: Node ${\n this.nearestNode.index\n } is ${this.nearestNode.isHealthy === true ? \"Healthy\" : \"Unhealthy\"}`,\n );\n if (\n this.nearestNode.isHealthy === true ||\n this.nodeDueForHealthcheck(this.nearestNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${this.nearestNode.index}`,\n );\n return this.nearestNode;\n }\n this.logger.debug(\n `Request #${requestNumber}: Falling back to individual nodes`,\n );\n }\n\n // Fallback to nodes as usual\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: ${this.nodes\n .map(\n (node) =>\n `Node ${node.index} is ${\n node.isHealthy === true ? \"Healthy\" : \"Unhealthy\"\n }`,\n )\n .join(\" || \")}`,\n );\n let candidateNode: Node = this.nodes[0];\n for (let i = 0; i <= this.nodes.length; i++) {\n this.currentNodeIndex = (this.currentNodeIndex + 1) % this.nodes.length;\n candidateNode = this.nodes[this.currentNodeIndex];\n if (\n candidateNode.isHealthy === true ||\n this.nodeDueForHealthcheck(candidateNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\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(\n `Request #${requestNumber}: No healthy nodes were found. Returning the next node, Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\n\n nodeDueForHealthcheck(node, requestNumber = 0): boolean {\n const isDueForHealthcheck =\n Date.now() - node.lastAccessTimestamp >\n this.healthcheckIntervalSeconds * 1000;\n if (isDueForHealthcheck) {\n this.logger.debug(\n `Request #${requestNumber}: Node ${node.index} has exceeded healtcheckIntervalSeconds of ${this.healthcheckIntervalSeconds}. Adding it back into rotation.`,\n );\n }\n return isDueForHealthcheck;\n }\n\n initializeMetadataForNodes(): void {\n if (this.nearestNode != null) {\n this.nearestNode.index = \"nearestNode\";\n this.setNodeHealthcheck(this.nearestNode, HEALTHY);\n }\n\n this.nodes.forEach((node, i) => {\n node.index = i;\n this.setNodeHealthcheck(node, HEALTHY);\n });\n }\n\n setNodeHealthcheck(node, isHealthy): void {\n node.isHealthy = isHealthy;\n node.lastAccessTimestamp = Date.now();\n }\n\n uriFor(endpoint: string, node): string {\n if (node.url != null) {\n return `${node.url}${endpoint}`;\n }\n return `${node.protocol}://${node.host}:${node.port}${node.path}${endpoint}`;\n }\n\n defaultHeaders(): any {\n const defaultHeaders = {};\n if (!this.sendApiKeyAsQueryParam) {\n defaultHeaders[APIKEYHEADERNAME] = this.apiKey;\n }\n defaultHeaders[\"Content-Type\"] = \"application/json\";\n return defaultHeaders;\n }\n\n async timer(seconds): Promise {\n return new Promise((resolve) => setTimeout(resolve, seconds * 1000));\n }\n\n customErrorForResponse(\n response: AxiosResponse,\n messageFromServer: string,\n ): TypesenseError {\n let errorMessage = `Request failed with HTTP code ${response.status}`;\n if (\n typeof messageFromServer === \"string\" &&\n messageFromServer.trim() !== \"\"\n ) {\n errorMessage += ` | Server said: ${messageFromServer}`;\n }\n\n let error = new TypesenseError(errorMessage);\n\n if (response.status === 400) {\n error = new RequestMalformed(errorMessage);\n } else if (response.status === 401) {\n error = new RequestUnauthorized(errorMessage);\n } else if (response.status === 404) {\n error = new ObjectNotFound(errorMessage);\n } else if (response.status === 409) {\n error = new ObjectAlreadyExists(errorMessage);\n } else if (response.status === 422) {\n error = new ObjectUnprocessable(errorMessage);\n } else if (response.status >= 500 && response.status <= 599) {\n error = new ServerError(errorMessage);\n } else {\n error = new HTTPError(errorMessage);\n }\n\n error.httpStatus = response.status;\n\n return error;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { CollectionFieldSchema, CollectionSchema } from \"./Collection\";\n\nexport interface CollectionCreateSchema {\n name: string;\n default_sorting_field?: string;\n fields?: CollectionFieldSchema[];\n symbols_to_index?: string[];\n token_separators?: string[];\n enable_nested_fields?: boolean;\n metadata?: object;\n voice_query_model?: {\n model_name?: string;\n };\n}\n\nexport interface CollectionCreateOptions {\n src_name?: string;\n}\n\nexport interface CollectionsRetrieveOptions {\n exclude_fields?: string;\n}\n\nconst RESOURCEPATH = \"/collections\";\n\nexport default class Collections {\n constructor(private apiCall: ApiCall) {}\n\n async create(\n schema: CollectionCreateSchema,\n options: CollectionCreateOptions = {},\n ): Promise {\n return this.apiCall.post(RESOURCEPATH, schema, options);\n }\n\n async retrieve(\n options: CollectionsRetrieveOptions = {},\n ): Promise {\n return this.apiCall.get(RESOURCEPATH, options);\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import TypesenseError from \"./TypesenseError\";\nimport { ImportResponse } from \"../Documents\";\n\nexport default class ImportError extends TypesenseError {\n importResults: ImportResponse[];\n constructor(message: string, importResults: ImportResponse[]) {\n super(message);\n this.importResults = importResults;\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 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}","const defaultCacheResponseForSeconds = 2 * 60;\r\nconst defaultMaxSize = 100;\r\n\r\nexport default class RequestWithCache {\r\n private responseCache: Map = new Map();\r\n private responsePromiseCache: Map = new Map();\r\n\r\n clearCache() {\r\n this.responseCache = new Map();\r\n this.responsePromiseCache = new Map();\r\n }\r\n\r\n // Todo: should probably be passed a callback instead, or an apiCall instance. Types are messy this way\r\n async perform(\r\n requestContext: any,\r\n requestFunction: (...params: any) => unknown,\r\n requestFunctionArguments: any[],\r\n cacheOptions: CacheOptions\r\n ): Promise {\r\n const {\r\n cacheResponseForSeconds = defaultCacheResponseForSeconds,\r\n maxSize = defaultMaxSize,\r\n } = cacheOptions;\r\n const isCacheDisabled = cacheResponseForSeconds <= 0 || maxSize <= 0;\r\n\r\n if (isCacheDisabled) {\r\n return requestFunction.call(requestContext, ...requestFunctionArguments);\r\n }\r\n\r\n const requestFunctionArgumentsJSON = JSON.stringify(\r\n requestFunctionArguments\r\n );\r\n const cacheEntry = this.responseCache.get(requestFunctionArgumentsJSON);\r\n const now = Date.now();\r\n\r\n if (cacheEntry) {\r\n const isEntryValid =\r\n now - cacheEntry.requestTimestamp < cacheResponseForSeconds * 1000;\r\n if (isEntryValid) {\r\n this.responseCache.delete(requestFunctionArgumentsJSON);\r\n this.responseCache.set(requestFunctionArgumentsJSON, cacheEntry);\r\n return Promise.resolve(cacheEntry.response);\r\n } else {\r\n this.responseCache.delete(requestFunctionArgumentsJSON);\r\n }\r\n }\r\n\r\n const cachePromiseEntry = this.responsePromiseCache.get(\r\n requestFunctionArgumentsJSON\r\n );\r\n\r\n if (cachePromiseEntry) {\r\n const isEntryValid =\r\n now - cachePromiseEntry.requestTimestamp <\r\n cacheResponseForSeconds * 1000;\r\n if (isEntryValid) {\r\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\r\n this.responsePromiseCache.set(\r\n requestFunctionArgumentsJSON,\r\n cachePromiseEntry\r\n );\r\n return cachePromiseEntry.responsePromise;\r\n } else {\r\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\r\n }\r\n }\r\n\r\n const responsePromise = requestFunction.call(\r\n requestContext,\r\n ...requestFunctionArguments\r\n );\r\n this.responsePromiseCache.set(requestFunctionArgumentsJSON, {\r\n requestTimestamp: now,\r\n responsePromise,\r\n });\r\n\r\n const response = await responsePromise;\r\n this.responseCache.set(requestFunctionArgumentsJSON, {\r\n requestTimestamp: now,\r\n response,\r\n });\r\n\r\n const isCacheOverMaxSize = this.responseCache.size > maxSize;\r\n if (isCacheOverMaxSize) {\r\n const oldestEntry = this.responseCache.keys().next().value;\r\n this.responseCache.delete(oldestEntry);\r\n }\r\n const isResponsePromiseCacheOverMaxSize =\r\n this.responsePromiseCache.size > maxSize;\r\n if (isResponsePromiseCacheOverMaxSize) {\r\n const oldestEntry = this.responsePromiseCache.keys().next().value;\r\n this.responsePromiseCache.delete(oldestEntry);\r\n }\r\n return response as T;\r\n }\r\n}\r\n\r\ninterface CacheOptions {\r\n cacheResponseForSeconds?: number;\r\n maxSize?: number;\r\n}\r\n","import RequestWithCache from \"./RequestWithCache\";\r\nimport ApiCall from \"./ApiCall\";\r\nimport Configuration from \"./Configuration\";\r\nimport Collections from \"./Collections\";\r\nimport type {\r\n DocumentSchema,\r\n SearchableDocuments,\r\n SearchOptions,\r\n SearchParams,\r\n SearchParamsWithPreset,\r\n SearchResponse,\r\n} from \"./Documents\";\r\n\r\nconst RESOURCEPATH = \"/documents\";\r\n\r\nexport class SearchOnlyDocuments\r\n implements SearchableDocuments\r\n{\r\n protected requestWithCache: RequestWithCache = new RequestWithCache();\r\n\r\n constructor(\r\n protected collectionName: string,\r\n protected apiCall: ApiCall,\r\n protected configuration: Configuration\r\n ) {}\r\n\r\n clearCache() {\r\n this.requestWithCache.clearCache();\r\n }\r\n\r\n async search(\r\n searchParameters: SearchParams | SearchParamsWithPreset,\r\n {\r\n cacheSearchResultsForSeconds = this.configuration\r\n .cacheSearchResultsForSeconds,\r\n abortSignal = null,\r\n }: SearchOptions = {}\r\n ): Promise> {\r\n const additionalQueryParams = {};\r\n if (this.configuration.useServerSideSearchCache === true) {\r\n additionalQueryParams[\"use_cache\"] = true;\r\n }\r\n for (const key in searchParameters) {\r\n if (Array.isArray(searchParameters[key])) {\r\n additionalQueryParams[key] = searchParameters[key].join(\",\");\r\n }\r\n }\r\n const queryParams = Object.assign(\r\n {},\r\n searchParameters,\r\n additionalQueryParams\r\n );\r\n\r\n return this.requestWithCache.perform(\r\n this.apiCall,\r\n this.apiCall.get,\r\n [this.endpointPath(\"search\"), queryParams, { abortSignal }],\r\n {\r\n cacheResponseForSeconds: cacheSearchResultsForSeconds,\r\n }\r\n ) as Promise>;\r\n }\r\n\r\n protected endpointPath(operation?: string) {\r\n return `${Collections.RESOURCEPATH}/${this.collectionName}${RESOURCEPATH}${\r\n operation === undefined ? \"\" : \"/\" + operation\r\n }`;\r\n }\r\n\r\n static get RESOURCEPATH() {\r\n return RESOURCEPATH;\r\n }\r\n}\r\n","import type { ReadStream } from \"fs\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport { ImportError } from \"./Errors\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\n// Todo: use generic to extract filter_by values\nexport interface DeleteQuery {\n filter_by?: string;\n batch_size?: number;\n ignore_not_found?: boolean;\n}\n\nexport interface DeleteResponse {\n num_deleted: number;\n}\n\ninterface ImportResponseSuccess {\n success: true;\n}\n\nexport interface ImportResponseFail {\n success: false;\n error: string;\n document: DocumentSchema;\n code: number;\n}\n\nexport type ImportResponse = ImportResponseSuccess | ImportResponseFail;\n\nexport type DocumentSchema = Record;\n\nexport interface SearchParamsWithPreset extends Partial {\n preset: string;\n}\n\ntype OperationMode = \"off\" | \"always\" | \"fallback\";\nexport interface SearchParams {\n // From https://typesense.org/docs/latest/api/documents.html#arguments\n q?: string;\n query_by?: string | string[];\n query_by_weights?: string | number[];\n prefix?: string | boolean | boolean[]; // default: true\n filter_by?: string;\n enable_lazy_filter?: boolean; // default: false\n sort_by?: string | string[]; // default: text match desc\n facet_by?: string | string[];\n max_facet_values?: number;\n facet_sample_threshold?: number;\n facet_sample_percent?: number;\n facet_query?: string;\n facet_query_num_typos?: number;\n facet_return_parent?: string;\n page?: number; // default: 1\n per_page?: number; // default: 10, max 250\n group_by?: string | string[];\n group_limit?: number; // default:\n group_missing_values?: boolean;\n include_fields?: string | string[];\n exclude_fields?: string | string[];\n highlight_fields?: string | string[]; // default: all queried fields\n highlight_full_fields?: string | string[]; // default: all fields\n highlight_affix_num_tokens?: number; // default: 4\n highlight_start_tag?: string; // default: \n highlight_end_tag?: string; // default: \n enable_highlight_v1?: boolean;\n snippet_threshold?: number; // default: 30\n num_typos?: string | number | number[]; // default: 2\n min_len_1typo?: number;\n min_len_2typo?: number;\n split_join_tokens?: OperationMode;\n exhaustive_search?: boolean;\n drop_tokens_threshold?: number; // default: 10\n typo_tokens_threshold?: number; // default: 100\n pinned_hits?: string | string[];\n hidden_hits?: string | string[];\n limit_hits?: number; // default: no limit\n pre_segmented_query?: boolean;\n enable_overrides?: boolean;\n prioritize_exact_match?: boolean; // default: true\n prioritize_token_position?: boolean;\n prioritize_num_matching_fields?: boolean;\n search_cutoff_ms?: number;\n use_cache?: boolean;\n max_candidates?: number;\n infix?: OperationMode | OperationMode[];\n preset?: string;\n text_match_type?: \"max_score\" | \"max_weight\";\n vector_query?: string;\n \"x-typesense-api-key\"?: string;\n \"x-typesense-user-id\"?: string;\n offset?: number;\n limit?: number;\n stopwords?: string;\n conversation?: boolean;\n conversation_model_id?: string;\n conversation_id?: string;\n voice_query?: string;\n}\n\ntype SearchResponseHighlightObject = {\n matched_tokens?: string[];\n snippet?: string;\n value?: string;\n};\n\nexport type SearchResponseHighlight = T extends string | number\n ? SearchResponseHighlightObject\n : {\n [TAttribute in keyof T]?: SearchResponseHighlight;\n };\n\nexport interface SearchResponseHit {\n curated?: true;\n highlights?: [\n {\n field: keyof T;\n snippet?: string;\n value?: string;\n snippets?: string[];\n indices?: number[];\n matched_tokens: string[][] | string[];\n },\n ];\n highlight: SearchResponseHighlight;\n document: T;\n text_match: number;\n text_match_info?: {\n best_field_score: string; // To prevent scores from being truncated by JSON spec\n best_field_weight: number;\n fields_matched: number;\n score: string; // To prevent scores from being truncated by JSON spec\n tokens_matched: number;\n };\n}\n\nexport interface SearchResponseFacetCountSchema {\n counts: {\n count: number;\n highlighted: string;\n value: string;\n }[];\n field_name: keyof T;\n stats: {\n avg?: number;\n max?: number;\n min?: number;\n sum?: number;\n };\n}\n\nexport interface SearchResponseRequestParams {\n collection_name?: string;\n q?: string;\n page?: number;\n per_page?: number;\n first_q?: string;\n voice_query?: {\n transcribed_query?: string;\n };\n}\n\n// Todo: we could infer whether this is a grouped response by adding the search params as a generic\nexport interface SearchResponse {\n facet_counts?: SearchResponseFacetCountSchema[];\n found: number;\n found_docs?: number;\n out_of: number;\n page: number;\n request_params: SearchResponseRequestParams;\n search_time_ms: number;\n search_cutoff?: boolean;\n hits?: SearchResponseHit[];\n grouped_hits?: {\n group_key: string[];\n hits: SearchResponseHit[];\n found?: number;\n }[];\n conversation?: {\n answer: string;\n conversation_history: {\n conversation: object[];\n id: string;\n last_updated: number;\n ttl: number;\n };\n conversation_id: string;\n query: string;\n };\n error?: string;\n code?: number;\n}\n\nexport interface DocumentWriteParameters {\n dirty_values?: \"coerce_or_reject\" | \"coerce_or_drop\" | \"drop\" | \"reject\";\n action?: \"create\" | \"update\" | \"upsert\" | \"emplace\";\n}\n\nexport interface UpdateByFilterParameters {\n filter_by?: string;\n}\n\nexport interface UpdateByFilterResponse {\n num_updated: number;\n}\n\nexport interface DocumentImportParameters extends DocumentWriteParameters {\n batch_size?: number;\n return_doc?: boolean;\n return_id?: boolean;\n}\n\nexport interface DocumentsExportParameters {\n filter_by?: string;\n include_fields?: string;\n exclude_fields?: string;\n}\n\nexport interface SearchableDocuments {\n search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n options: SearchOptions,\n ): Promise>;\n clearCache(): void;\n}\n\nexport interface WriteableDocuments {\n create(document: T, options: DocumentWriteParameters): Promise;\n upsert(document: T, options: DocumentWriteParameters): Promise;\n update(document: T, options: DocumentWriteParameters): Promise;\n delete(query: DeleteQuery): Promise;\n import(\n documents: T[] | string,\n options: DocumentWriteParameters,\n ): Promise;\n export(options: DocumentsExportParameters): Promise;\n}\n\nexport interface SearchOptions {\n cacheSearchResultsForSeconds?: number;\n abortSignal?: AbortSignal | null;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class Documents\n extends SearchOnlyDocuments\n implements WriteableDocuments\n{\n constructor(\n collectionName: string,\n apiCall: ApiCall,\n configuration: Configuration,\n ) {\n super(collectionName, apiCall, configuration);\n }\n\n async create(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(this.endpointPath(), document, options);\n }\n\n async upsert(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"upsert\" }),\n );\n }\n\n async update(\n document: T,\n options: UpdateByFilterParameters,\n ): Promise;\n async update(document: T, options: DocumentWriteParameters): Promise;\n async update(\n document: T,\n options: DocumentWriteParameters | UpdateByFilterParameters = {},\n ): Promise {\n if (!document) throw new Error(\"No document provided\");\n\n if (options[\"filter_by\"] != null) {\n return this.apiCall.patch(\n this.endpointPath(),\n document,\n Object.assign({}, options),\n );\n } else {\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"update\" }),\n );\n }\n }\n\n async delete(\n query: DeleteQuery = {} as DeleteQuery,\n ): Promise {\n return this.apiCall.delete(this.endpointPath(), query);\n }\n\n async createMany(documents: T[], options: DocumentImportParameters = {}) {\n this.configuration.logger.warn(\n \"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 );\n return this.import(documents, options);\n }\n\n /**\n * Import a set of documents in a batch.\n * @param {string|Array} documents - Can be a JSONL string of documents or an array of document objects.\n * @param options\n * @return {string|Array} Returns a JSONL string if the input was a JSONL string, otherwise it returns an array of results.\n */\n async import(\n documents: string,\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[],\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[] | string,\n options: DocumentImportParameters = {},\n ): Promise {\n let documentsInJSONLFormat;\n if (Array.isArray(documents)) {\n try {\n documentsInJSONLFormat = documents\n .map((document) => JSON.stringify(document))\n .join(\"\\n\");\n } catch (error: any) {\n // if rangeerror, throw custom error message\n if (\n error instanceof RangeError &&\n error.message.includes(\"Too many properties to enumerate\")\n ) {\n throw new Error(`${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\n // else, throw the non-range error anyways\n throw new Error(error);\n }\n } else {\n documentsInJSONLFormat = documents;\n }\n\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n if (Array.isArray(documents)) {\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter(\n (r) => r.success === false,\n );\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n } else {\n return resultsInJSONLFormat as string;\n }\n }\n /**\n * Imports documents from a NodeJS readable stream of JSONL.\n */\n async importStream(\n readableStream: ReadStream,\n options: DocumentImportParameters = {},\n ): Promise {\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\n queryParameters: options,\n bodyParameters: readableStream,\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter((r) => r.success === false);\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n }\n\n /**\n * Returns a JSONL string for all the documents in this collection\n */\n async export(options: DocumentsExportParameters = {}): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options);\n }\n\n /**\n * Returns a NodeJS readable stream of JSONL for all the documents in this collection.\n */\n async exportStream(\n options: DocumentsExportParameters = {},\n ): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options, {\n responseType: \"stream\",\n });\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { OverrideSchema } from \"./Override\";\n\nconst RESOURCEPATH = \"/overrides\";\n\nexport interface OverrideRuleQuerySchema {\n query?: string;\n match?: \"exact\" | \"contains\";\n}\n\nexport interface OverrideRuleFilterSchema {\n filter_by?: string;\n}\n\nexport interface OverrideRuleTagsSchema {\n tags?: string[];\n}\n\nexport interface OverrideCreateSchema {\n rule: OverrideRuleQuerySchema &\n OverrideRuleFilterSchema &\n OverrideRuleTagsSchema;\n filter_by?: string;\n sort_by?: string;\n remove_matched_tokens?: boolean;\n replace_query?: string;\n includes?: Array<{\n id: string;\n position: number;\n }>;\n excludes?: Array<{ id: string }>;\n filter_curated_hits?: boolean;\n effective_from_ts?: number;\n effective_to_ts?: number;\n stop_processing?: boolean;\n metadata?: object;\n}\n\nexport interface OverridesRetrieveSchema {\n overrides: OverrideSchema[];\n}\n\nexport default class Overrides {\n constructor(\n private collectionName: string,\n private apiCall: ApiCall,\n ) {}\n\n async upsert(\n overrideId: string,\n params: OverrideCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(overrideId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${\n Overrides.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\r\nimport Collections from \"./Collections\";\r\nimport Overrides, { OverrideCreateSchema } from \"./Overrides\";\r\n\r\nexport interface OverrideSchema extends OverrideCreateSchema {\r\n id: string;\r\n}\r\n\r\nexport interface OverrideDeleteSchema {\r\n id: string;\r\n}\r\n\r\nexport default class Override {\r\n constructor(\r\n private collectionName: string,\r\n private overrideId: string,\r\n private apiCall: ApiCall\r\n ) {}\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(this.endpointPath());\r\n }\r\n\r\n async delete(): Promise {\r\n return this.apiCall.delete(this.endpointPath());\r\n }\r\n\r\n private endpointPath(): string {\r\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Overrides.RESOURCEPATH}/${encodeURIComponent(this.overrideId)}`;\r\n }\r\n}\r\n","import ApiCall from \"./ApiCall\";\r\nimport Collections from \"./Collections\";\r\nimport { SynonymSchema } from \"./Synonym\";\r\n\r\nconst RESOURCEPATH = \"/synonyms\";\r\n\r\nexport interface SynonymCreateSchema {\r\n synonyms: string[];\r\n root?: string;\r\n locale?: string;\r\n symbols_to_index?: string[];\r\n}\r\n\r\nexport interface SynonymsRetrieveSchema {\r\n synonyms: SynonymSchema[];\r\n}\r\n\r\nexport default class Synonyms {\r\n constructor(private collectionName: string, private apiCall: ApiCall) {}\r\n\r\n async upsert(\r\n synonymId: string,\r\n params: SynonymCreateSchema\r\n ): Promise {\r\n return this.apiCall.put(\r\n this.endpointPath(synonymId),\r\n params\r\n );\r\n }\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(this.endpointPath());\r\n }\r\n\r\n private endpointPath(operation?: string) {\r\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${\r\n Synonyms.RESOURCEPATH\r\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\r\n }\r\n\r\n static get RESOURCEPATH(): string {\r\n return RESOURCEPATH;\r\n }\r\n}\r\n","import ApiCall from \"./ApiCall\";\r\nimport Collections from \"./Collections\";\r\nimport Synonyms, { SynonymCreateSchema } from \"./Synonyms\";\r\n\r\nexport interface SynonymSchema extends SynonymCreateSchema {\r\n id: string;\r\n}\r\n\r\nexport interface SynonymDeleteSchema {\r\n id: string;\r\n}\r\n\r\nexport default class Synonym {\r\n constructor(\r\n private collectionName: string,\r\n private synonymId: string,\r\n private apiCall: ApiCall\r\n ) {}\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(this.endpointPath());\r\n }\r\n\r\n async delete(): Promise {\r\n return this.apiCall.delete(this.endpointPath());\r\n }\r\n\r\n private endpointPath(): string {\r\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Synonyms.RESOURCEPATH}/${encodeURIComponent(this.synonymId)}`;\r\n }\r\n}\r\n","import ApiCall from \"./ApiCall\";\r\nimport Collections from \"./Collections\";\r\nimport Documents, {\r\n DeleteQuery,\r\n DocumentSchema,\r\n DocumentWriteParameters,\r\n} from \"./Documents\";\r\n\r\nexport class Document {\r\n constructor(\r\n private collectionName: string,\r\n private documentId: string,\r\n private apiCall: ApiCall\r\n ) {}\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(this.endpointPath());\r\n }\r\n\r\n async delete(options?: DeleteQuery): Promise {\r\n return this.apiCall.delete(this.endpointPath(), options);\r\n }\r\n\r\n async update(\r\n partialDocument: Partial,\r\n options: DocumentWriteParameters = {}\r\n ): Promise {\r\n return this.apiCall.patch(this.endpointPath(), partialDocument, options);\r\n }\r\n\r\n private endpointPath(): string {\r\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Documents.RESOURCEPATH}/${encodeURIComponent(this.documentId)}`;\r\n }\r\n}\r\n","import ApiCall from \"./ApiCall\";\nimport Collections, { CollectionCreateSchema } from \"./Collections\";\nimport Documents, { DocumentSchema } from \"./Documents\";\nimport { ObjectNotFound } from \"./Errors\";\nimport Overrides from \"./Overrides\";\nimport Override from \"./Override\";\nimport Synonyms from \"./Synonyms\";\nimport Synonym from \"./Synonym\";\nimport { Document } from \"./Document\";\n\nexport type FieldType =\n | \"string\"\n | \"int32\"\n | \"int64\"\n | \"float\"\n | \"bool\"\n | \"geopoint\"\n | \"geopoint[]\"\n | \"string[]\"\n | \"int32[]\"\n | \"int64[]\"\n | \"float[]\"\n | \"bool[]\"\n | \"object\"\n | \"object[]\"\n | \"auto\"\n | \"string*\"\n | \"image\";\n\nexport interface CollectionFieldSchema {\n name: string;\n type: FieldType;\n optional?: boolean;\n facet?: boolean;\n index?: boolean;\n sort?: boolean;\n locale?: string;\n infix?: boolean;\n stem?: boolean;\n num_dim?: number;\n store?: boolean;\n [t: string]: unknown;\n}\n\nexport interface CollectionSchema extends CollectionCreateSchema {\n created_at: number;\n num_documents: number;\n num_memory_shards: number;\n}\n\nexport interface CollectionDropFieldSchema {\n name: string;\n drop: true;\n}\n\nexport interface CollectionUpdateSchema\n extends Partial> {\n fields?: (CollectionFieldSchema | CollectionDropFieldSchema)[];\n}\n\nexport default class Collection {\n private readonly _documents: Documents;\n private individualDocuments: Record> = {};\n private readonly _overrides: Overrides;\n private individualOverrides: Record = {};\n private readonly _synonyms: Synonyms;\n private individualSynonyms: Record = {};\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any,\n ) {\n this.name = name;\n this.apiCall = apiCall;\n this.configuration = configuration;\n\n this._documents = new Documents(\n this.name,\n this.apiCall,\n this.configuration,\n );\n this._overrides = new Overrides(this.name, this.apiCall);\n this._synonyms = new Synonyms(this.name, this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(schema: CollectionUpdateSchema): Promise {\n return this.apiCall.patch(this.endpointPath(), schema);\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n async exists(): Promise {\n try {\n await this.retrieve();\n return true;\n } catch (e) {\n if (e instanceof ObjectNotFound) return false;\n throw e;\n }\n }\n\n documents(): Documents;\n documents(documentId: string): Document;\n documents(documentId?: string): Document | Documents {\n if (!documentId) {\n return this._documents;\n } else {\n if (this.individualDocuments[documentId] === undefined) {\n this.individualDocuments[documentId] = new Document(\n this.name,\n documentId,\n this.apiCall,\n );\n }\n return this.individualDocuments[documentId];\n }\n }\n\n overrides(): Overrides;\n overrides(overrideId: string): Override;\n overrides(overrideId?: string): Overrides | Override {\n if (overrideId === undefined) {\n return this._overrides;\n } else {\n if (this.individualOverrides[overrideId] === undefined) {\n this.individualOverrides[overrideId] = new Override(\n this.name,\n overrideId,\n this.apiCall,\n );\n }\n return this.individualOverrides[overrideId];\n }\n }\n\n synonyms(): Synonyms;\n synonyms(synonymId: string): Synonym;\n synonyms(synonymId?: string): Synonyms | Synonym {\n if (synonymId === undefined) {\n return this._synonyms;\n } else {\n if (this.individualSynonyms[synonymId] === undefined) {\n this.individualSynonyms[synonymId] = new Synonym(\n this.name,\n synonymId,\n this.apiCall,\n );\n }\n return this.individualSynonyms[synonymId];\n }\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\r\n\r\nconst RESOURCEPATH = \"/aliases\";\r\n\r\nexport interface CollectionAliasCreateSchema {\r\n collection_name: string;\r\n}\r\n\r\nexport interface CollectionAliasSchema extends CollectionAliasCreateSchema {\r\n name: string;\r\n}\r\n\r\nexport interface CollectionAliasesResponseSchema {\r\n aliases: CollectionAliasSchema[];\r\n}\r\n\r\nexport default class Aliases {\r\n constructor(private apiCall: ApiCall) {}\r\n\r\n async upsert(\r\n name: string,\r\n mapping: CollectionAliasCreateSchema\r\n ): Promise {\r\n return this.apiCall.put(\r\n this.endpointPath(name),\r\n mapping\r\n );\r\n }\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(RESOURCEPATH);\r\n }\r\n\r\n private endpointPath(aliasName): string {\r\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(aliasName)}`;\r\n }\r\n\r\n static get RESOURCEPATH(): string {\r\n return RESOURCEPATH;\r\n }\r\n}\r\n","import Aliases, { CollectionAliasSchema } from \"./Aliases\";\r\nimport ApiCall from \"./ApiCall\";\r\n\r\nexport default class Alias {\r\n constructor(private name: string, private apiCall: ApiCall) {}\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(this.endpointPath());\r\n }\r\n\r\n async delete(): Promise {\r\n return this.apiCall.delete(this.endpointPath());\r\n }\r\n\r\n private endpointPath(): string {\r\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\r\n }\r\n}\r\n","import { createHmac } from \"crypto\";\r\nimport ApiCall from \"./ApiCall\";\r\nimport { KeyCreateSchema, KeySchema } from \"./Key\";\r\nimport { SearchParams } from \"./Documents\";\r\n\r\nconst RESOURCEPATH = \"/keys\";\r\n\r\nexport interface KeysRetrieveSchema {\r\n keys: KeySchema[];\r\n}\r\n\r\nexport interface GenerateScopedSearchKeyParams extends Partial {\r\n expires_at?: number;\r\n cache_ttl?: number;\r\n limit_multi_searches?: number;\r\n}\r\n\r\nexport default class Keys {\r\n constructor(private apiCall: ApiCall) {\r\n this.apiCall = apiCall;\r\n }\r\n\r\n async create(params: KeyCreateSchema): Promise {\r\n return this.apiCall.post(Keys.RESOURCEPATH, params);\r\n }\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(RESOURCEPATH);\r\n }\r\n\r\n generateScopedSearchKey(\r\n searchKey: string,\r\n parameters: GenerateScopedSearchKeyParams\r\n ): string {\r\n // Note: only a key generated with the `documents:search` action will be\r\n // accepted by the server, when usined with the search endpoint.\r\n const paramsJSON = JSON.stringify(parameters);\r\n const digest = Buffer.from(\r\n createHmac(\"sha256\", searchKey).update(paramsJSON).digest(\"base64\")\r\n );\r\n const keyPrefix = searchKey.substr(0, 4);\r\n const rawScopedKey = `${digest}${keyPrefix}${paramsJSON}`;\r\n\r\n return Buffer.from(rawScopedKey).toString(\"base64\");\r\n }\r\n\r\n static get RESOURCEPATH() {\r\n return RESOURCEPATH;\r\n }\r\n}\r\n","import ApiCall from \"./ApiCall\";\r\nimport Keys from \"./Keys\";\r\n\r\nexport interface KeyCreateSchema {\r\n actions: string[];\r\n collections: string[];\r\n description?: string;\r\n value?: string;\r\n value_prefix?: string;\r\n expires_at?: number;\r\n}\r\n\r\nexport interface KeyDeleteSchema {\r\n id: number;\r\n}\r\n\r\nexport interface KeySchema extends KeyCreateSchema {\r\n id: number;\r\n}\r\n\r\nexport default class Key {\r\n constructor(private id: number, private apiCall: ApiCall) {}\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(this.endpointPath());\r\n }\r\n\r\n async delete(): Promise {\r\n return this.apiCall.delete(this.endpointPath());\r\n }\r\n\r\n private endpointPath(): string {\r\n return `${Keys.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\r\n }\r\n}\r\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/debug\";\n\nexport interface DebugResponseSchema {\n state: number;\n version: string;\n}\n\nexport default class Debug {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/metrics.json\";\n\nexport interface MetricsResponse {\n [key: `system_cpu${number}_active_percentage`]: string;\n system_cpu_active_percentage: string;\n system_disk_total_bytes: string;\n system_disk_used_bytes: string;\n system_memory_total_bytes: string;\n system_memory_total_swap_bytes?: string;\n system_memory_used_bytes: string;\n system_memory_used_swap_bytes?: string;\n system_network_received_bytes: string;\n system_network_sent_bytes: string;\n typesense_memory_active_bytes: string;\n typesense_memory_allocated_bytes: string;\n typesense_memory_fragmentation_ratio: string;\n typesense_memory_mapped_bytes: string;\n typesense_memory_metadata_bytes: string;\n typesense_memory_resident_bytes: string;\n typesense_memory_retained_bytes: string;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/stats.json\";\n\nexport interface EndpointStats {\n [endpoint: string]: number;\n}\n\nexport interface StatsResponse {\n delete_latency_ms?: number;\n delete_requests_per_second?: number;\n import_latency_ms?: number;\n import_requests_per_second?: number;\n latency_ms?: EndpointStats;\n overloaded_requests_per_second?: number;\n pending_write_batches?: number;\n requests_per_second?: EndpointStats;\n search_latency_ms?: number;\n search_requests_per_second?: number;\n total_requests_per_second?: number;\n write_latency_ms?: number;\n write_requests_per_second?: number;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/health\";\n\nexport interface HealthResponse {\n ok: boolean;\n}\n\nexport default class Health {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\r\n\r\nconst RESOURCEPATH = \"/operations\";\r\n\r\nexport default class Operations {\r\n constructor(private apiCall: ApiCall) {}\r\n\r\n async perform(\r\n operationName: \"vote\" | \"snapshot\" | \"cache/clear\" | string,\r\n queryParameters: Record = {}\r\n ): Promise {\r\n return this.apiCall.post(\r\n `${RESOURCEPATH}/${operationName}`,\r\n {},\r\n queryParameters\r\n );\r\n }\r\n}\r\n","import ApiCall from \"./ApiCall\";\r\nimport Configuration from \"./Configuration\";\r\nimport RequestWithCache from \"./RequestWithCache\";\r\nimport {\r\n DocumentSchema,\r\n SearchParams,\r\n SearchParamsWithPreset,\r\n SearchResponse,\r\n} from \"./Documents\";\r\n\r\nconst RESOURCEPATH = \"/multi_search\";\r\n\r\nexport interface MultiSearchRequestSchema extends SearchParams {\r\n collection?: string;\r\n \"x-typesense-api-key\"?: string;\r\n}\r\n\r\nexport interface MultiSearchRequestWithPresetSchema\r\n extends SearchParamsWithPreset {\r\n collection?: string;\r\n \"x-typesense-api-key\"?: string;\r\n}\r\n\r\nexport interface MultiSearchRequestsSchema {\r\n searches: (MultiSearchRequestSchema | MultiSearchRequestWithPresetSchema)[];\r\n}\r\n\r\nexport interface MultiSearchResponse {\r\n results: { [Index in keyof T]: SearchResponse } & {\r\n length: T[\"length\"];\r\n };\r\n}\r\n\r\nexport default class MultiSearch {\r\n private requestWithCache: RequestWithCache;\r\n\r\n constructor(\r\n private apiCall: ApiCall,\r\n private configuration: Configuration,\r\n private useTextContentType: boolean = false\r\n ) {\r\n this.requestWithCache = new RequestWithCache();\r\n }\r\n\r\n clearCache() {\r\n this.requestWithCache.clearCache();\r\n }\r\n\r\n async perform(\r\n searchRequests: MultiSearchRequestsSchema,\r\n commonParams: Partial = {},\r\n {\r\n cacheSearchResultsForSeconds = this.configuration\r\n .cacheSearchResultsForSeconds,\r\n }: { cacheSearchResultsForSeconds?: number } = {}\r\n ): Promise> {\r\n const additionalHeaders = {};\r\n if (this.useTextContentType) {\r\n additionalHeaders[\"content-type\"] = \"text/plain\";\r\n }\r\n\r\n const additionalQueryParams = {};\r\n if (this.configuration.useServerSideSearchCache === true) {\r\n additionalQueryParams[\"use_cache\"] = true;\r\n }\r\n const queryParams = Object.assign({}, commonParams, additionalQueryParams);\r\n\r\n return this.requestWithCache.perform(\r\n this.apiCall,\r\n this.apiCall.post,\r\n [RESOURCEPATH, searchRequests, queryParams, additionalHeaders],\r\n { cacheResponseForSeconds: cacheSearchResultsForSeconds }\r\n ) as Promise>;\r\n }\r\n}\r\n","import ApiCall from \"./ApiCall\";\r\nimport { PresetSchema } from \"./Preset\";\r\nimport { SearchParams } from \"./Documents\";\r\nimport { MultiSearchRequestsSchema } from \"./MultiSearch\";\r\n\r\nconst RESOURCEPATH = \"/presets\";\r\n\r\nexport interface PresetCreateSchema {\r\n value: SearchParams | MultiSearchRequestsSchema;\r\n}\r\n\r\nexport interface PresetsRetrieveSchema {\r\n presets: PresetSchema[];\r\n}\r\n\r\nexport default class Presets {\r\n constructor(private apiCall: ApiCall) {}\r\n\r\n async upsert(\r\n presetId: string,\r\n params: PresetCreateSchema\r\n ): Promise {\r\n return this.apiCall.put(this.endpointPath(presetId), params);\r\n }\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(this.endpointPath());\r\n }\r\n\r\n private endpointPath(operation?: string): string {\r\n return `${Presets.RESOURCEPATH}${\r\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\r\n }`;\r\n }\r\n\r\n static get RESOURCEPATH(): string {\r\n return RESOURCEPATH;\r\n }\r\n}\r\n","import ApiCall from \"./ApiCall\";\r\nimport Presets, { PresetCreateSchema } from \"./Presets\";\r\n\r\nexport interface PresetSchema extends PresetCreateSchema {\r\n name: string;\r\n}\r\n\r\nexport interface PresetDeleteSchema {\r\n name: string;\r\n}\r\n\r\nexport default class Preset {\r\n constructor(private presetId: string, private apiCall: ApiCall) {}\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(this.endpointPath());\r\n }\r\n\r\n async delete(): Promise {\r\n return this.apiCall.delete(this.endpointPath());\r\n }\r\n\r\n private endpointPath(): string {\r\n return `${Presets.RESOURCEPATH}/${encodeURIComponent(this.presetId)}`;\r\n }\r\n}\r\n","import ApiCall from \"./ApiCall\";\r\nimport {\r\n AnalyticsRuleCreateSchema,\r\n AnalyticsRuleSchema,\r\n} from \"./AnalyticsRule\";\r\n\r\nexport interface AnalyticsRulesRetrieveSchema {\r\n rules: AnalyticsRuleSchema[];\r\n}\r\n\r\nconst RESOURCEPATH = \"/analytics/rules\";\r\n\r\nexport default class AnalyticsRules {\r\n constructor(private readonly apiCall: ApiCall) {\r\n this.apiCall = apiCall;\r\n }\r\n\r\n async upsert(\r\n name: string,\r\n params: AnalyticsRuleCreateSchema\r\n ): Promise {\r\n return this.apiCall.put(\r\n this.endpointPath(name),\r\n params\r\n );\r\n }\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(this.endpointPath());\r\n }\r\n\r\n private endpointPath(operation?: string): string {\r\n return `${AnalyticsRules.RESOURCEPATH}${\r\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\r\n }`;\r\n }\r\n\r\n static get RESOURCEPATH() {\r\n return RESOURCEPATH;\r\n }\r\n}\r\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\n\nexport interface AnalyticsRuleCreateSchema {\n type: \"popular_queries\" | \"nohits_queries\" | \"counter\";\n params: {\n source: {\n collections: string[];\n events?: Array<{\n type: string;\n weight: number;\n name: string;\n }>;\n };\n expand_query?: boolean;\n destination: {\n collection: string;\n counter_field?: string;\n };\n limit?: number;\n };\n}\n\nexport interface AnalyticsRuleDeleteSchema {\n name: string;\n}\n\nexport interface AnalyticsRuleSchema extends AnalyticsRuleCreateSchema {\n name: string;\n}\n\nexport default class AnalyticsRule {\n constructor(\n private name: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${AnalyticsRules.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { AnalyticsEventCreateSchema } from \"./AnalyticsEvent\";\n\nconst RESOURCEPATH = \"/analytics/events\";\n\nexport default class AnalyticsEvents {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: AnalyticsEventCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsEvents.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\nimport AnalyticsRule from \"./AnalyticsRule\";\nimport AnalyticsEvents from \"./AnalyticsEvents\";\n\nconst RESOURCEPATH = \"/analytics\";\n\nexport default class Analytics {\n private readonly _analyticsRules: AnalyticsRules;\n private readonly individualAnalyticsRules: Record = {};\n private readonly _analyticsEvents: AnalyticsEvents;\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._analyticsRules = new AnalyticsRules(this.apiCall);\n this._analyticsEvents = new AnalyticsEvents(this.apiCall);\n }\n\n rules(id?: string): AnalyticsRules | AnalyticsRule {\n if (id === undefined) {\n return this._analyticsRules;\n } else {\n if (this.individualAnalyticsRules[id] === undefined) {\n this.individualAnalyticsRules[id] = new AnalyticsRule(id, this.apiCall);\n }\n return this.individualAnalyticsRules[id];\n }\n }\n\n events(): AnalyticsEvents {\n return this._analyticsEvents;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { StopwordSchema } from \"./Stopword\";\n\nconst RESOURCEPATH = \"/stopwords\";\n\nexport interface StopwordCreateSchema {\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordsRetrieveSchema {\n stopwords: StopwordSchema[];\n}\n\nexport default class Stopwords {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n stopwordId: string,\n params: StopwordCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(stopwordId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Stopwords.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Stopwords, { StopwordCreateSchema } from \"./Stopwords\";\n\nexport interface StopwordSchema extends StopwordCreateSchema {\n id: string;\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordDeleteSchema {\n id: string;\n}\n\nexport default class Stopword {\n constructor(\n private stopwordId: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Stopwords.RESOURCEPATH}/${encodeURIComponent(this.stopwordId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\r\nimport {\r\n ConversationModelCreateSchema,\r\n ConversationModelSchema,\r\n} from \"./ConversationModel\";\r\n\r\nconst RESOURCEPATH = \"/conversations/models\";\r\n\r\nexport default class ConversationModels {\r\n constructor(private readonly apiCall: ApiCall) {\r\n this.apiCall = apiCall;\r\n }\r\n\r\n async create(\r\n params: ConversationModelCreateSchema,\r\n ): Promise {\r\n return this.apiCall.post(\r\n this.endpointPath(),\r\n params,\r\n );\r\n }\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(\r\n this.endpointPath(),\r\n );\r\n }\r\n\r\n private endpointPath(operation?: string): string {\r\n return `${ConversationModels.RESOURCEPATH}${\r\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\r\n }`;\r\n }\r\n\r\n static get RESOURCEPATH() {\r\n return RESOURCEPATH;\r\n }\r\n}\r\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\n\nexport interface ConversationModelCreateSchema {\n id?: string;\n model_name: string;\n api_key?: string;\n system_prompt?: string;\n max_bytes: number;\n history_collection?: string;\n}\n\nexport interface ConversationModelDeleteSchema {\n id: string;\n}\n\nexport interface ConversationModelSchema extends ConversationModelCreateSchema {\n id: string;\n}\n\nexport default class ConversationModel {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async update(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(\n this.endpointPath(),\n );\n }\n\n private endpointPath(): string {\n return `${ConversationModels.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\nimport ConversationModel from \"./ConversationModel\";\nimport { ConversationSchema } from \"./Conversation\";\n\nconst RESOURCEPATH = \"/conversations\";\n\nexport interface ConversationsRetrieveSchema {\n conversations: ConversationSchema[];\n}\n\nexport default class Conversations {\n private readonly _conversationsModels: ConversationModels;\n private readonly individualConversationModels: Record<\n string,\n ConversationModel\n > = {};\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._conversationsModels = new ConversationModels(this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n models(): ConversationModels;\n models(id: string): ConversationModel;\n models(id?: string): ConversationModels | ConversationModel {\n if (id === undefined) {\n return this._conversationsModels;\n } else {\n if (this.individualConversationModels[id] === undefined) {\n this.individualConversationModels[id] = new ConversationModel(\n id,\n this.apiCall,\n );\n }\n return this.individualConversationModels[id];\n }\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Conversations from \"./Conversations\";\n\nexport interface ConversationDeleteSchema {\n id: number;\n}\n\nexport interface ConversationUpdateSchema {\n ttl: number;\n}\n\nexport interface ConversationSchema {\n id: number;\n conversation: object[];\n last_updated: number;\n ttl: number;\n}\n\nexport default class Conversation {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(\n params: ConversationUpdateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Conversations.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","/* eslint-disable no-dupe-class-members */\n\nimport Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Collection from \"./Collection\";\nimport Aliases from \"./Aliases\";\nimport Alias from \"./Alias\";\nimport Keys from \"./Keys\";\nimport Key from \"./Key\";\nimport Debug from \"./Debug\";\nimport Metrics from \"./Metrics\";\nimport Stats from \"./Stats\";\nimport Health from \"./Health\";\nimport Operations from \"./Operations\";\nimport MultiSearch from \"./MultiSearch\";\nimport Presets from \"./Presets\";\nimport Preset from \"./Preset\";\nimport Analytics from \"./Analytics\";\nimport Stopwords from \"./Stopwords\";\nimport Stopword from \"./Stopword\";\nimport Conversations from \"./Conversations\";\nimport Conversation from \"./Conversation\";\n\nexport default class Client {\n configuration: Configuration;\n apiCall: ApiCall;\n debug: Debug;\n metrics: Metrics;\n stats: Stats;\n health: Health;\n operations: Operations;\n multiSearch: MultiSearch;\n analytics: Analytics;\n private readonly _collections: Collections;\n private readonly individualCollections: Record;\n private readonly _aliases: Aliases;\n private readonly individualAliases: Record;\n private readonly _keys: Keys;\n private readonly individualKeys: Record;\n private readonly _presets: Presets;\n private readonly individualPresets: Record;\n private readonly _stopwords: Stopwords;\n private readonly individualStopwords: Record;\n private readonly _conversations: Conversations;\n private readonly individualConversations: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? false;\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.debug = new Debug(this.apiCall);\n this.metrics = new Metrics(this.apiCall);\n this.stats = new Stats(this.apiCall);\n this.health = new Health(this.apiCall);\n this.operations = new Operations(this.apiCall);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration);\n this._collections = new Collections(this.apiCall);\n this.individualCollections = {};\n this._aliases = new Aliases(this.apiCall);\n this.individualAliases = {};\n this._keys = new Keys(this.apiCall);\n this.individualKeys = {};\n this._presets = new Presets(this.apiCall);\n this.individualPresets = {};\n this._stopwords = new Stopwords(this.apiCall);\n this.individualStopwords = {};\n this.analytics = new Analytics(this.apiCall);\n this._conversations = new Conversations(this.apiCall);\n this.individualConversations = {};\n }\n\n collections(): Collections;\n collections = object>(\n collectionName: string,\n ): Collection;\n collections(collectionName?: string): Collections | Collection {\n if (collectionName === undefined) {\n return this._collections;\n } else {\n if (this.individualCollections[collectionName] === undefined) {\n this.individualCollections[collectionName] = new Collection(\n collectionName,\n this.apiCall,\n this.configuration,\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n\n aliases(): Aliases;\n aliases(aliasName: string): Alias;\n aliases(aliasName?: string): Aliases | Alias {\n if (aliasName === undefined) {\n return this._aliases;\n } else {\n if (this.individualAliases[aliasName] === undefined) {\n this.individualAliases[aliasName] = new Alias(aliasName, this.apiCall);\n }\n return this.individualAliases[aliasName];\n }\n }\n\n keys(): Keys;\n keys(id: number): Key;\n keys(id?: number): Keys | Key {\n if (id === undefined) {\n return this._keys;\n } else {\n if (this.individualKeys[id] === undefined) {\n this.individualKeys[id] = new Key(id, this.apiCall);\n }\n return this.individualKeys[id];\n }\n }\n\n presets(): Presets;\n presets(id: string): Preset;\n presets(id?: string): Presets | Preset {\n if (id === undefined) {\n return this._presets;\n } else {\n if (this.individualPresets[id] === undefined) {\n this.individualPresets[id] = new Preset(id, this.apiCall);\n }\n return this.individualPresets[id];\n }\n }\n\n stopwords(): Stopwords;\n stopwords(id: string): Stopword;\n stopwords(id?: string): Stopwords | Stopword {\n if (id === undefined) {\n return this._stopwords;\n } else {\n if (this.individualStopwords[id] === undefined) {\n this.individualStopwords[id] = new Stopword(id, this.apiCall);\n }\n return this.individualStopwords[id];\n }\n }\n\n conversations(): Conversations;\n conversations(id: string): Conversation;\n conversations(id?: string): Conversations | Conversation {\n if (id === undefined) {\n return this._conversations;\n } else {\n if (this.individualConversations[id] === undefined) {\n this.individualConversations[id] = new Conversation(id, this.apiCall);\n }\n return this.individualConversations[id];\n }\n }\n}\n","import { DocumentSchema, SearchableDocuments } from \"./Documents\";\r\nimport ApiCall from \"./ApiCall\";\r\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\r\n\r\nexport class SearchOnlyCollection {\r\n private readonly _documents: SearchableDocuments;\r\n\r\n constructor(\r\n private readonly name: string,\r\n private readonly apiCall: ApiCall,\r\n private readonly configuration: any\r\n ) {\r\n this._documents = new SearchOnlyDocuments(\r\n this.name,\r\n this.apiCall,\r\n this.configuration\r\n );\r\n }\r\n\r\n documents(): SearchableDocuments {\r\n return this._documents;\r\n }\r\n}\r\n","import Configuration, { ConfigurationOptions } from \"./Configuration\";\r\nimport ApiCall from \"./ApiCall\";\r\nimport MultiSearch from \"./MultiSearch\";\r\nimport { DocumentSchema } from \"./Documents\";\r\nimport { SearchOnlyCollection } from \"./SearchOnlyCollection\";\r\n\r\nexport default class SearchClient {\r\n public readonly multiSearch: MultiSearch;\r\n private readonly configuration: Configuration;\r\n private readonly apiCall: ApiCall;\r\n private readonly individualCollections: Record;\r\n\r\n constructor(options: ConfigurationOptions) {\r\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? true;\r\n if (\r\n options.sendApiKeyAsQueryParam === true &&\r\n (options.apiKey || \"\").length > 2000\r\n ) {\r\n console.warn(\r\n \"[typesense] API Key is longer than 2000 characters which is over the allowed limit, so disabling sending it as a query parameter.\"\r\n );\r\n options.sendApiKeyAsQueryParam = false;\r\n }\r\n\r\n this.configuration = new Configuration(options);\r\n this.apiCall = new ApiCall(this.configuration);\r\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration, true);\r\n this.individualCollections = {};\r\n }\r\n\r\n clearCache() {\r\n this.multiSearch.clearCache();\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n Object.entries(this.individualCollections).forEach(([_, collection]) => {\r\n collection.documents().clearCache();\r\n });\r\n }\r\n\r\n collections(\r\n collectionName: string\r\n ): SearchOnlyCollection | SearchOnlyCollection {\r\n if (!collectionName) {\r\n throw new Error(\r\n \"Typesense.SearchClient only supports search operations, so the collectionName that needs to \" +\r\n \"be searched must be specified. Use Typesense.Client if you need to access the collection object.\"\r\n );\r\n } else {\r\n if (this.individualCollections[collectionName] === undefined) {\r\n this.individualCollections[collectionName] = new SearchOnlyCollection(\r\n collectionName,\r\n this.apiCall,\r\n this.configuration\r\n );\r\n }\r\n return this.individualCollections[collectionName];\r\n }\r\n }\r\n}\r\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(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\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}","import Client from \"./Typesense/Client\";\nimport SearchClient from \"./Typesense/SearchClient\";\nimport * as Errors from \"./Typesense/Errors\";\n\nexport { Client, SearchClient, Errors };\nexport default { Client, SearchClient, Errors };\n"],"names":["root","definition","noop","undefinedType","isIE","window","navigator","test","userAgent","logMethods","_loggersByName","defaultLogger","bindMethod","obj","methodName","method","bind","Function","prototype","call","e","apply","arguments","traceForIE","console","log","trace","replaceLoggingMethods","level","this","getLevel","i","length","methodFactory","name","debug","levels","SILENT","enableLoggingWhenConsoleArrives","defaultMethodFactory","_level","_loggerName","undefined","realMethod","Logger","factory","inheritedLevel","defaultLevel","userLevel","self","storageKey","getPersistedLevel","storedLevel","localStorage","ignore","cookie","document","cookieName","encodeURIComponent","location","indexOf","exec","slice","normalizeLevel","input","toUpperCase","TypeError","setLevel","persist","levelNum","levelName","persistLevelIfPossible","setDefaultLevel","resetLevel","removeItem","clearPersistedLevel","enableAll","TRACE","disableAll","rebuild","childName","initialLevel","getLogger","logger","_log","noConflict","getLoggers","_typeof","_regeneratorRuntime","module","exports","__esModule","t","r","Object","n","hasOwnProperty","o","defineProperty","value","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","constructor","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","stop","rval","handle","complete","finish","delegateYield","runtime","regeneratorRuntime","accidentalStrictMode","globalThis","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","key","get","prop","_classCallCheck","instance","Constructor","toPropertyKey","toPrimitive","String","_defineProperties","target","props","descriptor","_createClass","protoProps","staticProps","_defineProperty","_assertThisInitialized","ReferenceError","_possibleConstructorReturn","_getPrototypeOf","_setPrototypeOf","_inherits","subClass","superClass","_isNativeReflectConstruct","Boolean","valueOf","Reflect","construct","_wrapNativeSuper","Class","_cache","Map","fn","toString","has","set","Wrapper","TypesenseError","_Error","message","_this","_callSuper","MissingConfigurationError","_TypesenseError","Configuration","options","nodes","map","node","setDefaultPathInNode","setDefaultPortInNode","_objectSpread","randomizeNodes","shuffleArray","nearestNode","connectionTimeoutSeconds","timeoutSeconds","healthcheckIntervalSeconds","numRetries","retryIntervalSeconds","apiKey","sendApiKeyAsQueryParam","cacheSearchResultsForSeconds","useServerSideSearchCache","logLevel","additionalHeaders","httpAgent","httpsAgent","paramsSerializer","showDeprecationWarnings","validate","validateNodes","isNodeMissingAnyParameters","_this2","some","every","warn","masterNode","readReplicaNodes","array","j","Math","floor","random","_ref","asyncGeneratorStep","gen","reject","_next","_throw","info","error","_asyncToGenerator","args","err","thisArg","kindOf","cache","thing","str","toLowerCase","kindOfTest","typeOfTest","isArray","Array","isUndefined","isArrayBuffer","isString","isFunction","isNumber","isObject","isPlainObject","val","isDate","isFile","isBlob","isFileList","isURLSearchParams","isReadableStream","isRequest","isResponse","isHeaders","allOwnKeys","getOwnPropertyNames","len","findKey","_key","_global","global","isContextDefined","context","isTypedArray","TypedArray","Uint8Array","isHTMLForm","isRegExp","reduceDescriptors","reducer","descriptors","getOwnPropertyDescriptors","reducedDescriptors","ret","defineProperties","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","isAsyncFn","isBuffer","isFormData","kind","FormData","append","isArrayBufferView","result","ArrayBuffer","isView","buffer","isBoolean","isStream","pipe","merge","caseless","assignValue","targetKey","extend","b","trim","replace","stripBOM","content","charCodeAt","inherits","superConstructor","assign","toFlatObject","sourceObj","destObj","filter","propFilter","merged","endsWith","searchString","position","lastIndex","toArray","arr","forEachEntry","pair","matchAll","regExp","matches","hasOwnProp","freezeMethods","toObjectSet","arrayOrString","delimiter","split","toCamelCase","m","p1","p2","toFiniteNumber","defaultValue","Number","isFinite","generateString","size","alphabet","isSpecCompliantForm","toJSONObject","stack","visit","source","reducedValue","isThenable","catch","AxiosError","code","config","request","response","captureStackTrace","utils","toJSON","description","number","fileName","lineNumber","columnNumber","status","from","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","path","dots","concat","token","join","predicates","formData","metaTokens","indexes","option","visitor","defaultVisitor","useBlob","Blob","convertValue","toISOString","Buffer","JSON","stringify","isFlatArray","el","index","exposedHelpers","build","encode","charMap","match","AxiosURLSearchParams","params","_pairs","encoder","_encode","buildURL","url","serializeFn","serialize","serializedParams","hashmarkIndex","handlers","use","fulfilled","rejected","synchronous","runWhen","eject","id","clear","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","isBrowser","classes","URLSearchParams","protocols","hasBrowserEnv","hasStandardBrowserEnv","product","hasStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","origin","href","buildPath","isNumericKey","isLast","arrayToObject","entries","parsePropPath","defaults","transitional","adapter","transformRequest","data","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","setContentType","platform","helpers","isNode","toURLEncodedForm","formSerializer","_FormData","env","rawValue","parser","parse","stringifySafely","transformResponse","JSONRequested","responseType","strictJSONParsing","ERR_BAD_RESPONSE","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","ignoreDuplicateOf","$internals","normalizeHeader","header","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","rawHeaders","parsed","line","substring","parseHeaders","tokens","tokensRE","parseTokens","matcher","deleted","deleteHeader","normalize","format","normalized","w","char","formatHeader","targets","asStrings","first","computed","accessor","accessors","defineAccessor","accessorName","arg1","arg2","arg3","buildAccessors","mapped","headerValue","transformData","fns","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","settle","ERR_BAD_REQUEST","listener","isDownloadStream","freq","bytesNotified","_speedometer","samplesCount","min","bytes","timestamps","firstSampleTS","head","tail","chunkLength","now","Date","startedAt","bytesCount","passed","round","timestamp","threshold","timer","force","clearTimeout","setTimeout","loaded","total","lengthComputable","progressBytes","rate","progress","estimated","event","msie","urlParsingNode","createElement","originURL","resolveURL","setAttribute","protocol","host","search","hash","hostname","port","pathname","requestURL","write","expires","domain","secure","toGMTString","read","RegExp","decodeURIComponent","remove","buildFullPath","baseURL","requestedURL","relativeURL","combineURLs","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","withCredentials","withXSRFToken","onUploadProgress","onDownloadProgress","decompress","beforeRedirect","transport","cancelToken","socketPath","responseEncoding","configValue","newConfig","auth","btoa","username","password","unescape","isURLSameOrigin","xsrfValue","cookies","XMLHttpRequest","_config","resolveConfig","requestData","requestHeaders","onCanceled","unsubscribe","signal","removeEventListener","onloadend","responseHeaders","getAllResponseHeaders","responseText","statusText","open","onreadystatechange","readyState","responseURL","onabort","ECONNABORTED","onerror","ERR_NETWORK","ontimeout","timeoutErrorMessage","ETIMEDOUT","setRequestHeader","addEventListener","progressEventReducer","upload","cancel","abort","subscribe","aborted","parseProtocol","send","signals","controller","AbortController","reason","streamChunk","chunk","chunkSize","byteLength","end","pos","trackStream","stream","onProgress","onFinish","iterable","readBytes","ReadableStream","pull","close","enqueue","return","highWaterMark","fetchProgressDecorator","isFetchSupported","fetch","Request","Response","isReadableStreamSupported","encodeText","TextEncoder","arrayBuffer","supportsRequestStream","duplexAccessed","hasContentType","body","duplex","supportsResponseStream","resolvers","res","_","ERR_NOT_SUPPORT","knownAdapters","http","xhr","fetchOptions","finished","composedSignal","stopTimeout","requestContentLength","getContentLength","getBodyLength","resolveBodyLength","contentTypeHeader","_request","isStreamResponse","responseContentLength","responseData","renderReason","isResolvedHandle","adapters","nameOrAdapter","rejectedReasons","reasons","state","throwIfCancellationRequested","throwIfRequested","dispatchRequest","validators","deprecatedWarnings","validator","version","formatMessage","opt","desc","opts","ERR_DEPRECATED","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","Axios","instanceConfig","interceptors","configOrUrl","dummy","boolean","function","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","unshift","responseInterceptorChain","promise","chain","onFulfilled","onRejected","getUri","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","splice","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","axios","createInstance","defaultConfig","VERSION","toFormData","Cancel","all","promises","spread","callback","isAxiosError","payload","formToJSON","getAdapter","default","RequestMalformed","RequestUnauthorized","ObjectNotFound","ObjectAlreadyExists","ObjectUnprocessable","ServerError","HTTPError","HEALTHY","isNodeJSEnvironment","process","versions","ApiCall","configuration","numRetriesPerRequest","additionalUserHeaders","initializeMetadataForNodes","currentNodeIndex","_timer","_performRequest","_patch","_put","_post","_delete2","_get","_callee","endpoint","queryParameters","_ref$abortSignal","abortSignal","_ref$responseType","_args","_context","performRequest","_x","_callee2","_args2","_context2","_x2","_callee3","bodyParameters","_args3","_context3","_x3","_callee4","_args4","_context4","_x4","_callee5","_args5","_context5","_x5","_callee6","requestType","_ref2","_ref2$queryParameters","_ref2$bodyParameters","_ref2$additionalHeade","_ref2$abortSignal","_ref2$responseType","_ref2$skipConnectionT","skipConnectionTimeout","_ref2$enableKeepAlive","enableKeepAlive","requestNumber","lastException","_loop","_ret","numTries","_context7","abortListener","requestOptions","_response$data","_response$data2","_error$response","_context6","getNextNode","uriFor","defaultHeaders","Infinity","transformedData","startsWith","HTTPAgent","keepAlive","HTTPSAgent","setNodeHealthcheck","customErrorForResponse","t0","_x6","_x7","_x8","isHealthy","nodeDueForHealthcheck","candidateNode","isDueForHealthcheck","lastAccessTimestamp","_callee7","seconds","_context8","_x9","messageFromServer","errorMessage","httpStatus","RESOURCEPATH","Collections","apiCall","_retrieve","_create","post","ImportError","importResults","_arrayLikeToArray","arr2","_unsupportedIterableToArray","minLen","_toConsumableArray","iter","RequestWithCache","_perform","responseCache","responsePromiseCache","requestContext","requestFunction","requestFunctionArguments","cacheOptions","_cacheOptions$cacheRe","cacheResponseForSeconds","_cacheOptions$maxSize","maxSize","requestFunctionArgumentsJSON","cacheEntry","cachePromiseEntry","responsePromise","oldestEntry","_oldestEntry","requestTimestamp","delete","SearchOnlyDocuments","collectionName","_search","requestWithCache","clearCache","searchParameters","_ref$cacheSearchResul","additionalQueryParams","queryParams","perform","endpointPath","operation","Documents","_exportStream","_export2","_importStream","_import2","_createMany","_update","_upsert","action","patch","query","documents","import","documentsInJSONLFormat","resultsInJSONLFormat","resultsInJSONFormat","failedItems","_args6","RangeError","includes","success","readableStream","_args7","_callee8","_args8","_callee9","_args9","_context9","Overrides","overrideId","put","Override","Synonyms","synonymId","Synonym","Document","documentId","partialDocument","Collection","_documents","_overrides","_synonyms","_exists","retrieve","individualDocuments","individualOverrides","individualSynonyms","Aliases","mapping","aliasName","Alias","Keys","searchKey","parameters","paramsJSON","digest","createHmac","update","keyPrefix","substr","rawScopedKey","Key","Debug","Metrics","Health","Operations","operationName","MultiSearch","useTextContentType","searchRequests","commonParams","Presets","presetId","Preset","AnalyticsRules","AnalyticsRule","AnalyticsEvents","Analytics","_analyticsRules","_analyticsEvents","individualAnalyticsRules","Stopwords","stopwordId","Stopword","ConversationModels","ConversationModel","Conversations","_conversationsModels","individualConversationModels","Conversation","Client","_options$sendApiKeyAs","metrics","stats","Stats","health","operations","multiSearch","_collections","individualCollections","_aliases","individualAliases","_keys","individualKeys","_presets","individualPresets","_stopwords","individualStopwords","analytics","_conversations","individualConversations","SearchOnlyCollection","SearchClient","Errors"],"sourceRoot":""} \ No newline at end of file diff --git a/lib/Typesense/ConversationModel.js.map b/lib/Typesense/ConversationModel.js.map index 4fa2fbce..c9b6a197 100644 --- a/lib/Typesense/ConversationModel.js.map +++ b/lib/Typesense/ConversationModel.js.map @@ -1 +1 @@ -{"version":3,"file":"ConversationModel.js","sourceRoot":"","sources":["../../src/Typesense/ConversationModel.ts"],"names":[],"mappings":";;;AACA,oFAAsD;AAiBtD;IACE,2BACU,EAAU,EACV,OAAgB;QADhB,OAAE,GAAF,EAAE,CAAQ;QACV,YAAO,GAAP,OAAO,CAAS;IACvB,CAAC;IAEE,kCAAM,GAAZ,UACE,MAAqC;;;gBAErC,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CACrB,IAAI,CAAC,YAAY,EAAE,EACnB,MAAM,CACP,EAAC;;;KACH;IAEK,oCAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAA0B,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACvE;IAEK,kCAAM,GAAZ;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CACxB,IAAI,CAAC,YAAY,EAAE,CACpB,EAAC;;;KACH;IAEO,wCAAY,GAApB;QACE,OAAO,UAAG,4BAAkB,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAE,CAAC;IAC7E,CAAC;IACH,wBAAC;AAAD,CAAC,AA5BD,IA4BC"} \ No newline at end of file +{"version":3,"file":"ConversationModel.js","sourceRoot":"","sources":["../../src/Typesense/ConversationModel.ts"],"names":[],"mappings":";;;AACA,oFAAsD;AAmBtD;IACE,2BACU,EAAU,EACV,OAAgB;QADhB,OAAE,GAAF,EAAE,CAAQ;QACV,YAAO,GAAP,OAAO,CAAS;IACvB,CAAC;IAEE,kCAAM,GAAZ,UACE,MAAqC;;;gBAErC,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CACrB,IAAI,CAAC,YAAY,EAAE,EACnB,MAAM,CACP,EAAC;;;KACH;IAEK,oCAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAA0B,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACvE;IAEK,kCAAM,GAAZ;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CACxB,IAAI,CAAC,YAAY,EAAE,CACpB,EAAC;;;KACH;IAEO,wCAAY,GAApB;QACE,OAAO,UAAG,4BAAkB,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAE,CAAC;IAC7E,CAAC;IACH,wBAAC;AAAD,CAAC,AA5BD,IA4BC"} \ No newline at end of file diff --git a/lib/Typesense/Document.js.map b/lib/Typesense/Document.js.map index c4eb9562..b697d67b 100644 --- a/lib/Typesense/Document.js.map +++ b/lib/Typesense/Document.js.map @@ -1 +1 @@ -{"version":3,"file":"Document.js","sourceRoot":"","sources":["../../src/Typesense/Document.ts"],"names":[],"mappings":";;;;AACA,sEAAwC;AACxC,kEAGqB;AAErB;IACE,kBACU,cAAsB,EACtB,UAAkB,EAClB,OAAgB;QAFhB,mBAAc,GAAd,cAAc,CAAQ;QACtB,eAAU,GAAV,UAAU,CAAQ;QAClB,YAAO,GAAP,OAAO,CAAS;IACvB,CAAC;IAEE,2BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAI,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACjD;IAEK,yBAAM,GAAZ;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAI,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACpD;IAEK,yBAAM,GAAZ,UACE,eAA2B,EAC3B,OAAqC;QAArC,wBAAA,EAAA,YAAqC;;;gBAErC,sBAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAI,IAAI,CAAC,YAAY,EAAE,EAAE,eAAe,EAAE,OAAO,CAAC,EAAC;;;KAC7E;IAEO,+BAAY,GAApB;QACE,OAAO,UAAG,qBAAW,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,SAAG,mBAAS,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAE,CAAC;IAClJ,CAAC;IACH,eAAC;AAAD,CAAC,AAzBD,IAyBC;AAzBY,4BAAQ"} \ No newline at end of file +{"version":3,"file":"Document.js","sourceRoot":"","sources":["../../src/Typesense/Document.ts"],"names":[],"mappings":";;;;AACA,sEAAwC;AACxC,kEAIqB;AAErB;IACE,kBACU,cAAsB,EACtB,UAAkB,EAClB,OAAgB;QAFhB,mBAAc,GAAd,cAAc,CAAQ;QACtB,eAAU,GAAV,UAAU,CAAQ;QAClB,YAAO,GAAP,OAAO,CAAS;IACvB,CAAC;IAEE,2BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAI,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACjD;IAEK,yBAAM,GAAZ,UAAa,OAAqB;;;gBAChC,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAI,IAAI,CAAC,YAAY,EAAE,EAAE,OAAO,CAAC,EAAC;;;KAC7D;IAEK,yBAAM,GAAZ,UACE,eAA2B,EAC3B,OAAqC;QAArC,wBAAA,EAAA,YAAqC;;;gBAErC,sBAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAI,IAAI,CAAC,YAAY,EAAE,EAAE,eAAe,EAAE,OAAO,CAAC,EAAC;;;KAC7E;IAEO,+BAAY,GAApB;QACE,OAAO,UAAG,qBAAW,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,SAAG,mBAAS,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAE,CAAC;IAClJ,CAAC;IACH,eAAC;AAAD,CAAC,AAzBD,IAyBC;AAzBY,4BAAQ"} \ No newline at end of file From bd520d6e06ad0f405e339a7393e9778225150a7f Mon Sep 17 00:00:00 2001 From: Hayden Date: Thu, 29 Aug 2024 08:41:53 +0700 Subject: [PATCH 10/21] test: URL encoded Ids --- test/Typesense/Alias.spec.js | 30 ++++++++++++++++++++++++++---- test/Typesense/Aliases.spec.js | 31 +++++++++++++++++++++++++++++-- 2 files changed, 55 insertions(+), 6 deletions(-) diff --git a/test/Typesense/Alias.spec.js b/test/Typesense/Alias.spec.js index e99f7e81..836ec568 100644 --- a/test/Typesense/Alias.spec.js +++ b/test/Typesense/Alias.spec.js @@ -36,14 +36,14 @@ describe("Alias", function () { .onGet( apiCall.uriFor( "/aliases/companies", - typesense.configuration.nodes[0] + typesense.configuration.nodes[0], ), null, { Accept: "application/json, text/plain, */*", "Content-Type": "application/json", "X-TYPESENSE-API-KEY": typesense.configuration.apiKey, - } + }, ) .reply(200, "{}", { "content-type": "application/json; charset=utf-8", @@ -55,6 +55,28 @@ describe("Alias", function () { expect(returnData).to.eventually.deep.equal({}).notify(done); }); + + it("retrieves the alias with URL encoded name", function (done) { + mockAxios + .onGet( + apiCall.uriFor( + "/aliases/abc123%20%2F%3A%3D-_~%26%3F%23", + typesense.configuration.nodes[0], + ), + null, + { + Accept: "application/json, text/plain, */*", + "Content-Type": "application/json", + "X-TYPESENSE-API-KEY": typesense.configuration.apiKey, + }, + ) + .reply(200, "{}", { + "content-type": "application/json; charset=utf-8", + }); + let returnData = typesense.aliases("abc123 /:=-_~&?#").retrieve(); + + expect(returnData).to.eventually.deep.equal({}).notify(done); + }); }); describe(".delete", function () { @@ -63,14 +85,14 @@ describe("Alias", function () { .onDelete( apiCall.uriFor( "/aliases/companies", - typesense.configuration.nodes[0] + typesense.configuration.nodes[0], ), null, { Accept: "application/json, text/plain, */*", "Content-Type": "application/json", "X-TYPESENSE-API-KEY": typesense.configuration.apiKey, - } + }, ) .reply(200, "{}", { "content-type": "application/json; charset=utf-8", diff --git a/test/Typesense/Aliases.spec.js b/test/Typesense/Aliases.spec.js index b00d1012..9b3fee98 100644 --- a/test/Typesense/Aliases.spec.js +++ b/test/Typesense/Aliases.spec.js @@ -42,7 +42,7 @@ describe("Aliases", function () { Accept: "application/json, text/plain, */*", "Content-Type": "application/json", "X-TYPESENSE-API-KEY": typesense.configuration.apiKey, - } + }, ) .reply(201, "{}", { "content-type": "application/json; charset=utf-8", @@ -54,6 +54,33 @@ describe("Aliases", function () { expect(returnData).to.eventually.deep.equal({}).notify(done); }); + + it("upserts an alias with URL encoded name", function (done) { + mockAxios + .onPut( + apiCall.uriFor( + "/aliases/abc123%20%2F%3A%3D-_~%26%3F%23", + typesense.configuration.nodes[0], + ), + { + collection_name: "books_january", + }, + { + Accept: "application/json, text/plain, */*", + "Content-Type": "application/json", + "X-TYPESENSE-API-KEY": typesense.configuration.apiKey, + }, + ) + .reply(201, "{}", { + "content-type": "application/json; charset=utf-8", + }); + + let returnData = aliases.upsert("abc123 /:=-_~&?#", { + collection_name: "books_january", + }); + + expect(returnData).to.eventually.deep.equal({}).notify(done); + }); }); describe(".retrieve", function () { @@ -66,7 +93,7 @@ describe("Aliases", function () { Accept: "application/json, text/plain, */*", "Content-Type": "application/json", "X-TYPESENSE-API-KEY": typesense.configuration.apiKey, - } + }, ) .reply(200, "[]", { "content-type": "application/json; charset=utf-8", From 7e15a28086e1a2a66d20e3feaf288f4bc1f4815e Mon Sep 17 00:00:00 2001 From: Fanis Tharropoulos Date: Thu, 29 Aug 2024 11:17:24 +0300 Subject: [PATCH 11/21] feat(search_params): add drop_tokens_mode to search params interface - Introduce the `drop_tokens_mode` parameter to the `SearchParams` interface, allowing more fine-grained control over token dropping behavior during search operations. --- src/Typesense/Documents.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/Typesense/Documents.ts b/src/Typesense/Documents.ts index 9493dcba..1be93e9b 100644 --- a/src/Typesense/Documents.ts +++ b/src/Typesense/Documents.ts @@ -34,6 +34,11 @@ export interface SearchParamsWithPreset extends Partial { preset: string; } +type DropTokensMode = + | "right_to_left" + | "left_to_right" + | "both_sides:3"; + type OperationMode = "off" | "always" | "fallback"; export interface SearchParams { // From https://typesense.org/docs/latest/api/documents.html#arguments @@ -71,6 +76,7 @@ export interface SearchParams { split_join_tokens?: OperationMode; exhaustive_search?: boolean; drop_tokens_threshold?: number; // default: 10 + drop_tokens_mode?: DropTokensMode; typo_tokens_threshold?: number; // default: 100 pinned_hits?: string | string[]; hidden_hits?: string | string[]; From 88d2725aeb80e0da254e50cb69051d0ebafb17f0 Mon Sep 17 00:00:00 2001 From: Jason Bosco Date: Thu, 29 Aug 2024 11:33:27 -0500 Subject: [PATCH 12/21] Build --- dist/typesense.js.map | 2 +- dist/typesense.min.js.map | 2 +- lib/Typesense/Documents.d.ts | 241 +++++++++++++++++++++++++++++++++ lib/Typesense/Documents.js.map | 1 + 4 files changed, 244 insertions(+), 2 deletions(-) create mode 100644 lib/Typesense/Documents.d.ts create mode 100644 lib/Typesense/Documents.js.map diff --git a/dist/typesense.js.map b/dist/typesense.js.map index 8e70eec6..d5079942 100644 --- a/dist/typesense.js.map +++ b/dist/typesense.js.map @@ -1 +1 @@ -{"version":3,"file":"typesense.js","mappings":"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;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;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;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA,qDAAqD;AACrD,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,sBAAsB;AACtB;;AAEA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA,oCAAoC;AACpC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;;;;;;;;;;ACpWD;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA,cAAc,sGAAiC;AAC/C;AACA,gBAAgB;AAChB;AACA;AACA,GAAG,EAAE,yBAAyB,SAAS,yBAAyB;AAChE;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,KAAK;AACL,iDAAiD;AACjD;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;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;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;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,eAAe;AAClC;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,SAAS;AACtB;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;;;;;;;;;;;;;;;ACHe;AACf;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;ACLA;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;;;;;;;;;;;;;;;;;ACJiD;AACoB;AACtD;AACf,MAAM,wEAAwB;AAC9B;AACA;AACA;AACA,cAAc,8DAAc;AAC5B;;;;;;;;;;;;;;;;ACR+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;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACLiD;AAClC;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH,kBAAkB,8DAAc;AAChC;;;;;;;;;;;;;;;AChBe;AACf;AACA;AACA,IAAI;AACJ;AACA;AACA;;;;;;;;;;;;;;;ACNe;AACf;AACA,yFAAyF;AACzF,IAAI;AACJ;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;ACPe;AACf;AACA;;;;;;;;;;;;;;;ACFe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,YAAY,kEAAkE;AACtF,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;AC1Be;AACf;AACA;;;;;;;;;;;;;;;ACFe;AACf;AACA;;;;;;;;;;;;;;;;;ACFkC;AAC6B;AAChD;AACf,eAAe,sDAAO;AACtB;AACA,IAAI;AACJ;AACA;AACA,SAAS,qEAAqB;AAC9B;;;;;;;;;;;;;;;ACTe;AACf;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACNiD;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,kBAAkB,sDAAO;AACzB;AACA;AACA;AACA,oBAAoB,sDAAO;AAC3B;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACVkC;AACS;AAC5B;AACf,UAAU,2DAAW;AACrB,qBAAqB,sDAAO;AAC5B;;;;;;;;;;;;;;;ACLe;AACf;;AAEA;AACA;AACA,IAAI;AACJ;AACA,GAAG;AACH;;;;;;;;;;;;;;;;ACRqD;AACtC;AACf;AACA,oCAAoC,gEAAgB;AACpD;AACA;AACA;AACA,sFAAsF,gEAAgB;AACtG;;;;;;;;;;;;;;;;;;;ACRiD;AACA;AACI;AACd;AACxB;AACf;AACA;AACA,2BAA2B,gEAAgB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,yDAAS,mBAAmB,8DAAc;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,WAAW,8DAAc;AACzB;AACA;AACA;;;;;;;;;;;;;;;;;;;;AC7BgC;AACI;AACF;AACI;AACS;;AAE/C;AACA,QAAQ,gDAAW;AACnB,OAAO,+CAAU;AACjB,SAAS,iDAAY;AACrB;;AAEA,iDAAK;AACL;AACA;AACA,yCAAyC,MAAM;AAC/C,MAAM;AACN;AACA;AACA,8CAA8C,MAAM;AACpD;AACA,CAAC;;AAED,sCAAsC,OAAO;;AAE7C,sCAAsC,iDAAK;;AAE3C,iEAAe;AACf;AACA,eAAe,iDAAK;;AAEpB,WAAW,QAAQ;AACnB;AACA;;AAEA;;AAEA,oBAAoB,YAAY;AAChC;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,oBAAoB,2DAAU,qBAAqB,GAAG;AACtD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,yCAAyC,IAAI;AAC7C;AACA;;AAEA;AACA;AACA;;AAEA,gBAAgB,2DAAU;AAC1B;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;AC9E2C;AACZ;AACe;AACW;AACJ;AACH;AACmB;AACd;AACjB;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,qCAAqC,0DAAQ;AAC7C;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA,CAAC;;AAED;;AAEA;AACA;AACA,WAAW,iDAAK;AAChB,IAAI;AACJ;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA,2CAA2C,iDAAK;AAChD;AACA,kBAAkB,2DAAU,mBAAmB,KAAK,qBAAqB,2DAAU;AACnF,OAAO;AACP,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;;AAEA,KAAK,iDAAK;AACV;AACA;;AAEA,KAAK,iDAAK;AACV;AACA;;AAEA,KAAK,iDAAK;AACV;AACA;;AAEA,KAAK,iDAAK;AACV;AACA;;AAEA,KAAK,iDAAK;AACV;AACA;AACA;;AAEA;AACA,iBAAiB,iDAAK;;AAEtB;AACA;;AAEA,iEAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,EAAE,qEAAa;;AAEnB;;AAEA;AACA,IAAI,sEAAc;;AAElB;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;;AAEA,UAAU,iDAAK;AACf;AACA;;AAEA;AACA,eAAe,oEAAW;AAC1B;AACA,UAAU,4EAAoB;AAC9B;AACA;AACA;;AAEA,SAAS,iDAAK;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP,oCAAoC,iDAAK;;AAEzC;AACA,QAAQ,oEAAW;AACnB;AACA,UAAU,4EAAoB;AAC9B;AACA;AACA;AACA;;AAEA;;AAEA,uCAAuC,iDAAK;;AAE5C;;AAEA;;AAEA;AACA,MAAM,2DAAM;AACZ;AACA,iBAAiB,6DAAY;AAC7B;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,IAAI;AACJ;;AAEA;AACA;AACA,YAAY,2DAAU,kBAAkB,2DAAU;AAClD;AACA;AACA;AACA;AACA;;AAEA,UAAU,2DAAU;AACpB;AACA,CAAC,CAAC,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChO+B;AACO;AACsB;AAChB;AACQ;AACC;AACZ;AACO;AACmB;AACd;;AAExD;;AAEA,iEAAe;AACf;AACA,oBAAoB,qEAAa;AACjC;AACA,2BAA2B,6DAAY;AACvC,SAAS,cAAc;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,8BAA8B,6DAAY;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAM,2DAAM;AACZ;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,iBAAiB,2DAAU,oBAAoB,2DAAU;;AAEzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,2DAAU,kBAAkB,2DAAU;;AAEvD;AACA;AACA;;AAEA;AACA;AACA;AACA,mDAAmD,iEAAoB;AACvE;AACA;AACA;AACA,iBAAiB,2DAAU;AAC3B;AACA,2CAA2C,2DAAU,aAAa,2DAAU;AAC5E;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAM,iDAAK;AACX;AACA,OAAO;AACP;;AAEA;AACA,SAAS,iDAAK;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,2CAA2C,4EAAoB;AAC/D;;AAEA;AACA;AACA,kDAAkD,4EAAoB;AACtE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,gEAAa;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,qEAAa;;AAElC,oBAAoB,0DAAQ;AAC5B,iBAAiB,2DAAU,2CAA2C,2DAAU;AAChF;AACA;;;AAGA;AACA;AACA,GAAG;AACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7LY;;AAEkB;AACM;AACD;AACY;AACL;AACc;AACH;AACJ;AACN;AACN;AACW;AACH;AACL;AACY;AACH;AACJ;AACW;;AAEzD;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,OAAO;AACpB;AACA;AACA,sBAAsB,sDAAK;AAC3B,mBAAmB,4DAAI,CAAC,sDAAK;;AAE7B;AACA,EAAE,iDAAK,kBAAkB,sDAAK,sBAAsB,iBAAiB;;AAErE;AACA,EAAE,iDAAK,kCAAkC,iBAAiB;;AAE1D;AACA;AACA,0BAA0B,gEAAW;AACrC;;AAEA;AACA;;AAEA;AACA,6BAA6B,0DAAQ;;AAErC;AACA,cAAc,sDAAK;;AAEnB;AACA,sBAAsB,gEAAa;AACnC,oBAAoB,8DAAW;AAC/B,iBAAiB,2DAAQ;AACzB,gBAAgB,iDAAO;AACvB,mBAAmB,8DAAU;;AAE7B;AACA,mBAAmB,4DAAU;;AAE7B;AACA;;AAEA;AACA;AACA;AACA;;AAEA,eAAe,2DAAM;;AAErB;AACA,qBAAqB,iEAAY;;AAEjC;AACA,oBAAoB,4DAAW;;AAE/B,qBAAqB,8DAAY;;AAEjC,4BAA4B,uEAAc,CAAC,iDAAK;;AAEhD,mBAAmB,8DAAQ;;AAE3B,uBAAuB,mEAAc;;AAErC;;AAEA;AACA,iEAAe,KAAK;;;;;;;;;;;;;;;;;ACxFP;;AAEkC;;AAE/C;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,yDAAa;AACtC;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA,iEAAe,WAAW,EAAC;;;;;;;;;;;;;;;;;;ACxHd;;AAEkC;AACf;;AAEhC;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,aAAa,eAAe;AAC5B;AACA;AACA;AACA,EAAE,2DAAU,oDAAoD,2DAAU;AAC1E;AACA;;AAEA,iDAAK,yBAAyB,2DAAU;AACxC;AACA,CAAC;;AAED,iEAAe,aAAa,EAAC;;;;;;;;;;;;;;;;ACxBhB;;AAEE;AACf;AACA;;;;;;;;;;;;;;;;;;;;;;;;ACJa;;AAEqB;AACY;AACW;AACN;AACR;AACI;AACC;AACH;;AAE7C,mBAAmB,6DAAS;;AAE5B;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,mBAAmB,8DAAkB;AACrC,oBAAoB,8DAAkB;AACtC;AACA;;AAEA;AACA;AACA;AACA,aAAa,eAAe;AAC5B,aAAa,SAAS;AACtB;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA,oEAAoE;;AAEpE;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA,aAAa,2DAAW;;AAExB,WAAW,yCAAyC;;AAEpD;AACA,MAAM,6DAAS;AACf;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,UAAU,iDAAK;AACf;AACA;AACA;AACA,QAAQ;AACR,QAAQ,6DAAS;AACjB;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA,oCAAoC,iDAAK;AACzC;AACA;AACA;;AAEA,eAAe,iDAAK;AACpB;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,wDAAY;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA,qBAAqB,2DAAe;AACpC;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA,gBAAgB,2DAAe;AAC/B,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,aAAa,2DAAW;AACxB,qBAAqB,6DAAa;AAClC,WAAW,gEAAQ;AACnB;AACA;;AAEA;AACA,iDAAK;AACL;AACA;AACA,wBAAwB,2DAAW,aAAa;AAChD;AACA;AACA,yBAAyB;AACzB,KAAK;AACL;AACA,CAAC;;AAED,iDAAK;AACL;;AAEA;AACA;AACA,0BAA0B,2DAAW,aAAa;AAClD;AACA;AACA;AACA,UAAU,IAAI;AACd;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA,CAAC;;AAED,iEAAe,KAAK,EAAC;;;;;;;;;;;;;;;;;ACnOR;;AAEmB;;AAEhC;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,OAAO;AACpB;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iDAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,iDAAK;AACnB;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,CAAC;;AAED;AACA,kDAAkD,YAAY;;AAE9D;AACA;AACA;;AAEA,EAAE,iDAAK;AACP;AACA,GAAG;AACH;AACA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,iEAAe,UAAU,EAAC;;;;;;;;;;;;;;;;;;ACnGb;;AAEmB;AACsB;;AAEtD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS,iDAAK;AACd;;AAEA;AACA;AACA,2BAA2B,mBAAmB;AAC9C;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,MAAM,iDAAK;AACX;AACA;;AAEA;AACA;AACA;;AAEA,OAAO,iDAAK;;AAEZ,MAAM,iDAAK;AACX;AACA;;AAEA,MAAM,iDAAK;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,uBAAuB,iDAAK;;AAE5B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,iDAAK;;AAEvB;AACA;AACA;AACA;;AAEA;AACA,MAAM,iDAAK;;AAEX,QAAQ,iDAAK;AACb;AACA,MAAM,QAAQ,iDAAK;AACnB,iBAAiB,oEAAY;AAC7B,MAAM,SAAS,iDAAK;AACpB;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB,iDAAK;;AAEvB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,YAAY,iDAAK;AACjB;AACA;;AAEA,YAAY,iDAAK;AACjB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB,iDAAK;;AAEvB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,oBAAoB,iDAAK;;AAEzB;AACA;;AAEA;AACA;AACA;AACA;;AAEA,QAAQ,iDAAK;AACb;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,IAAI,iDAAK;AACT,kBAAkB,iDAAK;;AAEvB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,IAAI,iDAAK;AACT,sEAAsE,iDAAK;AAC3E,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,IAAI,iDAAK;;AAET;AACA;AACA;;AAEA;;AAEA;AACA,iDAAK,6CAA6C,MAAM;AACxD,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,iDAAK;;AAEL,iEAAe,YAAY,EAAC;;;;;;;;;;;;;;;;;AC7Sf;;AAEqB;;AAElC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB,aAAa,UAAU;AACvB;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,UAAU;AACvB;AACA,eAAe;AACf;AACA;AACA,IAAI,iDAAK;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,iEAAe,kBAAkB,EAAC;;;;;;;;;;;;;;;;;;ACtErB;;AAE2C;AACJ;;AAEpD;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf,kBAAkB,qEAAa;AAC/B,WAAW,mEAAW;AACtB;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;ACpBa;;AAEkC;AACF;AACD;AACW;AACJ;AACJ;;AAE/C;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,gEAAa;AAC3B;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACe;AACf;;AAEA,mBAAmB,6DAAY;;AAE/B;AACA,gBAAgB,yDAAa;AAC7B;AACA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,6DAAQ,8BAA8B,0DAAQ;;AAEhE;AACA;;AAEA;AACA,oBAAoB,yDAAa;AACjC;AACA;AACA;AACA;;AAEA,uBAAuB,6DAAY;;AAEnC;AACA,GAAG;AACH,SAAS,+DAAQ;AACjB;;AAEA;AACA;AACA,+BAA+B,yDAAa;AAC5C;AACA;AACA;AACA;AACA,kCAAkC,6DAAY;AAC9C;AACA;;AAEA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;AChFa;;AAEmB;AACa;;AAE7C,oDAAoD,wDAAY,KAAK,WAAW;;AAEhF;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;;AAEA;AACA,QAAQ,iDAAK,0BAA0B,iDAAK;AAC5C,aAAa,iDAAK,aAAa,SAAS;AACxC,MAAM,SAAS,iDAAK;AACpB,aAAa,iDAAK,SAAS;AAC3B,MAAM,SAAS,iDAAK;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS,iDAAK;AACd;AACA,MAAM,UAAU,iDAAK;AACrB;AACA;AACA;;AAEA;AACA;AACA,SAAS,iDAAK;AACd;AACA;AACA;;AAEA;AACA;AACA,SAAS,iDAAK;AACd;AACA,MAAM,UAAU,iDAAK;AACrB;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;AACA;AACA;AACA;;AAEA,EAAE,iDAAK,qCAAqC;AAC5C;AACA;AACA,KAAK,iDAAK;AACV,GAAG;;AAEH;AACA;;;;;;;;;;;;;;;;;ACzGa;;AAE4B;;AAEzC;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;AACA,IAAI;AACJ,eAAe,sDAAU;AACzB;AACA,OAAO,sDAAU,kBAAkB,sDAAU;AAC7C;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;AC1Ba;;AAEqB;AACU;AACO;;AAEnD;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB;AACA,aAAa,GAAG;AAChB;AACe;AACf,yBAAyB,0DAAQ;AACjC;AACA,kBAAkB,6DAAY;AAC9B;;AAEA,EAAE,iDAAK;AACP;AACA,GAAG;;AAEH;;AAEA;AACA;;;;;;;;;;;;;;;;;;;;;;;AC3Ba;;AAEmB;AACe;AACM;AACH;AACY;AAClB;AACc;;AAE1D;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA,MAAM,iDAAK;AACX;AACA;AACA,aAAa,iDAAK;AAClB,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,gBAAgB,wDAAoB;;AAEpC;;AAEA;AACA;AACA;AACA,4BAA4B,iDAAK;;AAEjC,2BAA2B,iDAAK;AAChC;AACA;;AAEA,uBAAuB,iDAAK;;AAE5B;AACA,iDAAiD,sEAAc;AAC/D;;AAEA,QAAQ,iDAAK;AACb,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX;AACA;AACA;AACA,QAAQ,iDAAK;AACb;AACA;AACA,QAAQ,iDAAK;AACb,gEAAgE;AAChE;AACA;;AAEA;;AAEA;AACA;AACA,eAAe,wEAAgB;AAC/B;;AAEA,wBAAwB,iDAAK;AAC7B;;AAEA,eAAe,kEAAU;AACzB,wBAAwB,iBAAiB;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA,QAAQ,iDAAK,qBAAqB,iDAAK;AACvC;AACA;;AAEA,gBAAgB,iDAAK;AACrB;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA,kBAAkB,2DAAU,SAAS,2DAAU;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,cAAc,0DAAQ;AACtB,UAAU,0DAAQ;AAClB,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iDAAK;AACL;AACA,CAAC;;AAED,iEAAe,QAAQ,EAAC;;;;;;;;;;;;;;;;AChKX;;AAEb,iEAAe;AACf;AACA;AACA;AACA,CAAC,EAAC;;;;;;;;;;;;;;;;ACNK;;;;;;;;;;;;;;;;ACAM;;AAE4B;;AAEzC;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,WAAW,qBAAqB;AAChC,WAAW,qBAAqB;AAChC;AACA,aAAa;AACb;AACA;AACA;;AAEA,YAAY,0DAAU;AACtB;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA,GAAG;AACH;;AAEA,iEAAe,oBAAoB,EAAC;;;;;;;;;;;;;;;;ACzDpC;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;;AAEA;AACA;AACA,CAAC;;AAED,iEAAe,cAAc,EAAC;;;;;;;;;;;;;;;;ACtEjB;;AAEE;AACf;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACNa;;AAEmB;AACsC;;AAEtE;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,IAAI;AACJ,uBAAuB,iDAAK;AAC5B;AACA,UAAU,wEAAoB;AAC9B;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;AC9Da;;AAEb;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACduD;AACR;;AAE/C;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,sCAAsC,2DAAU,aAAa,gEAAa;AAC1E;AACA;;AAEA;AACA,gBAAgB,2DAAU,YAAY,SAAS,iBAAiB,2DAAU;AAC1E,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;;AAEA,SAAS,QAAQ;;AAEjB;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA,iEAAe,cAAc,EAAC;;;;;;;;;;;;;;;;;;AC7CI;AACU;;AAE5C,iEAAe,0DAAQ;;AAEvB;AACA;AACA;AACA;;AAEA,MAAM,iDAAK;;AAEX,MAAM,iDAAK;;AAEX,MAAM,iDAAK;;AAEX;;AAEA,uCAAuC;AACvC,KAAK;;AAEL;AACA,0DAA0D,wBAAwB;AAClF;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA,KAAK;AACL;AACA,GAAG,EAAC;;;;;;;;;;;;;;;;;;ACxCS;;AAEmB;;AAEhC;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,iDAAK;AACd;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,4BAA4B;AACzC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,oBAAoB,iDAAK;;AAEzB;AACA,UAAU,iDAAK;AACf;AACA,QAAQ;AACR;AACA;;AAEA;AACA;;AAEA,0BAA0B,iDAAK;AAC/B;AACA;;AAEA;;AAEA,kBAAkB,iDAAK;AACvB;AACA;;AAEA;AACA;;AAEA,MAAM,iDAAK,yBAAyB,iDAAK;AACzC;;AAEA,IAAI,iDAAK;AACT;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA,iEAAe,cAAc,EAAC;;;;;;;;;;;;;;;;AC9FjB;;AAEb;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACe;AACf;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACda;;AAEqB;;AAElC;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACe;AACf,SAAS,iDAAK;AACd;;;;;;;;;;;;;;;;;;ACba;;AAEqB;AACU;;AAE5C,iEAAe,0DAAQ;;AAEvB;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,sBAAsB,iDAAK;AAC3B;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAG,GAAG,EAAC;;;;;;;;;;;;;;;;AClEP;AACA,iEAAe,IAAI,EAAC;;;;;;;;;;;;;;;;;ACDP;;AAEqB;;AAElC;AACA;AACA,0BAA0B,iDAAK;AAC/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA,iEAAe;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,MAAM;AACN;AACA;AACA,GAAG;;AAEH;AACA,CAAC,EAAC;;;;;;;;;;;;;;;;ACtDW;;AAEE;AACf,0BAA0B,KAAK;AAC/B;AACA;;;;;;;;;;;;;;;;;;ACL2C;AACN;;AAErC,iEAAe;AACf;AACA,uBAAuB,2DAAW;;AAElC,SAAS,wDAAQ;AACjB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,GAAG;AACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;AC/B2C;AACZ;AACmB;AAChB;AACk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CtB;AACA;;;AAGA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,UAAU;AACrB;AACA,WAAW,SAAS;AACpB,aAAa;AACb;AACA,2BAA2B,oBAAoB,IAAI;AACnD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS;AAC5C,4BAA4B;AAC5B;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA,SAAS,UAAU;AACnB;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,kCAAkC;AAClC,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;;AAEA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA,gCAAgC,WAAW,IAAI;AAC/C;AACA;AACA,eAAe,4DAAI;AACnB,MAAM;AACN;AACA;AACA,GAAG,GAAG,WAAW;AACjB;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,kBAAkB;AAC7B,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,WAAW,kBAAkB;AAC7B,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B,eAAe;;AAEzC;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS,QAAQ;AACjB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA,iEAAe;AACf;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,EAAC;;;;;;;UCvtBF;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;;;;;;;ACNwC;AACY;AACP;AAEL;AACxC,iEAAe;EAAE9B,MAAM,EAANA,yDAAM;EAAEuL,YAAY,EAAZA,+DAAY;EAAEU,MAAM,EAANA,8CAAMA;AAAC,CAAC,E","sources":["webpack://Typesense/./src/Typesense/Alias.ts","webpack://Typesense/./src/Typesense/Aliases.ts","webpack://Typesense/./src/Typesense/Analytics.ts","webpack://Typesense/./src/Typesense/AnalyticsEvents.ts","webpack://Typesense/./src/Typesense/AnalyticsRule.ts","webpack://Typesense/./src/Typesense/AnalyticsRules.ts","webpack://Typesense/./src/Typesense/ApiCall.ts","webpack://Typesense/./src/Typesense/Client.ts","webpack://Typesense/./src/Typesense/Collection.ts","webpack://Typesense/./src/Typesense/Collections.ts","webpack://Typesense/./src/Typesense/Configuration.ts","webpack://Typesense/./src/Typesense/Conversation.ts","webpack://Typesense/./src/Typesense/ConversationModel.ts","webpack://Typesense/./src/Typesense/ConversationModels.ts","webpack://Typesense/./src/Typesense/Conversations.ts","webpack://Typesense/./src/Typesense/Debug.ts","webpack://Typesense/./src/Typesense/Document.ts","webpack://Typesense/./src/Typesense/Documents.ts","webpack://Typesense/./src/Typesense/Errors/HTTPError.ts","webpack://Typesense/./src/Typesense/Errors/ImportError.ts","webpack://Typesense/./src/Typesense/Errors/MissingConfigurationError.ts","webpack://Typesense/./src/Typesense/Errors/ObjectAlreadyExists.ts","webpack://Typesense/./src/Typesense/Errors/ObjectNotFound.ts","webpack://Typesense/./src/Typesense/Errors/ObjectUnprocessable.ts","webpack://Typesense/./src/Typesense/Errors/RequestMalformed.ts","webpack://Typesense/./src/Typesense/Errors/RequestUnauthorized.ts","webpack://Typesense/./src/Typesense/Errors/ServerError.ts","webpack://Typesense/./src/Typesense/Errors/TypesenseError.ts","webpack://Typesense/./src/Typesense/Errors/index.ts","webpack://Typesense/./src/Typesense/Health.ts","webpack://Typesense/./src/Typesense/Key.ts","webpack://Typesense/./src/Typesense/Keys.ts","webpack://Typesense/./src/Typesense/Metrics.ts","webpack://Typesense/./src/Typesense/MultiSearch.ts","webpack://Typesense/./src/Typesense/Operations.ts","webpack://Typesense/./src/Typesense/Override.ts","webpack://Typesense/./src/Typesense/Overrides.ts","webpack://Typesense/./src/Typesense/Preset.ts","webpack://Typesense/./src/Typesense/Presets.ts","webpack://Typesense/./src/Typesense/RequestWithCache.ts","webpack://Typesense/./src/Typesense/SearchClient.ts","webpack://Typesense/./src/Typesense/SearchOnlyCollection.ts","webpack://Typesense/./src/Typesense/SearchOnlyDocuments.ts","webpack://Typesense/./src/Typesense/Stats.ts","webpack://Typesense/./src/Typesense/Stopword.ts","webpack://Typesense/./src/Typesense/Stopwords.ts","webpack://Typesense/./src/Typesense/Synonym.ts","webpack://Typesense/./src/Typesense/Synonyms.ts","webpack://Typesense/./node_modules/loglevel/lib/loglevel.js","webpack://Typesense/ignored|D:\\Typesense\\typesense-js\\src\\Typesense|crypto","webpack://Typesense/ignored|D:\\Typesense\\typesense-js\\src\\Typesense|http","webpack://Typesense/ignored|D:\\Typesense\\typesense-js\\src\\Typesense|https","webpack://Typesense/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/regenerator/index.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://Typesense/./node_modules/axios/lib/adapters/adapters.js","webpack://Typesense/./node_modules/axios/lib/adapters/fetch.js","webpack://Typesense/./node_modules/axios/lib/adapters/xhr.js","webpack://Typesense/./node_modules/axios/lib/axios.js","webpack://Typesense/./node_modules/axios/lib/cancel/CancelToken.js","webpack://Typesense/./node_modules/axios/lib/cancel/CanceledError.js","webpack://Typesense/./node_modules/axios/lib/cancel/isCancel.js","webpack://Typesense/./node_modules/axios/lib/core/Axios.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosError.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://Typesense/./node_modules/axios/lib/core/InterceptorManager.js","webpack://Typesense/./node_modules/axios/lib/core/buildFullPath.js","webpack://Typesense/./node_modules/axios/lib/core/dispatchRequest.js","webpack://Typesense/./node_modules/axios/lib/core/mergeConfig.js","webpack://Typesense/./node_modules/axios/lib/core/settle.js","webpack://Typesense/./node_modules/axios/lib/core/transformData.js","webpack://Typesense/./node_modules/axios/lib/defaults/index.js","webpack://Typesense/./node_modules/axios/lib/defaults/transitional.js","webpack://Typesense/./node_modules/axios/lib/env/data.js","webpack://Typesense/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://Typesense/./node_modules/axios/lib/helpers/bind.js","webpack://Typesense/./node_modules/axios/lib/helpers/buildURL.js","webpack://Typesense/./node_modules/axios/lib/helpers/combineURLs.js","webpack://Typesense/./node_modules/axios/lib/helpers/composeSignals.js","webpack://Typesense/./node_modules/axios/lib/helpers/cookies.js","webpack://Typesense/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://Typesense/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://Typesense/./node_modules/axios/lib/helpers/null.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://Typesense/./node_modules/axios/lib/helpers/progressEventReducer.js","webpack://Typesense/./node_modules/axios/lib/helpers/resolveConfig.js","webpack://Typesense/./node_modules/axios/lib/helpers/speedometer.js","webpack://Typesense/./node_modules/axios/lib/helpers/spread.js","webpack://Typesense/./node_modules/axios/lib/helpers/throttle.js","webpack://Typesense/./node_modules/axios/lib/helpers/toFormData.js","webpack://Typesense/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://Typesense/./node_modules/axios/lib/helpers/trackStream.js","webpack://Typesense/./node_modules/axios/lib/helpers/validator.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/index.js","webpack://Typesense/./node_modules/axios/lib/platform/common/utils.js","webpack://Typesense/./node_modules/axios/lib/platform/index.js","webpack://Typesense/./node_modules/axios/lib/utils.js","webpack://Typesense/webpack/bootstrap","webpack://Typesense/webpack/runtime/compat get default export","webpack://Typesense/webpack/runtime/define property getters","webpack://Typesense/webpack/runtime/hasOwnProperty shorthand","webpack://Typesense/webpack/runtime/make namespace object","webpack://Typesense/./src/Typesense.ts"],"sourcesContent":["import Aliases, { CollectionAliasSchema } from \"./Aliases\";\r\nimport ApiCall from \"./ApiCall\";\r\n\r\nexport default class Alias {\r\n constructor(private name: string, private apiCall: ApiCall) {}\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(this.endpointPath());\r\n }\r\n\r\n async delete(): Promise {\r\n return this.apiCall.delete(this.endpointPath());\r\n }\r\n\r\n private endpointPath(): string {\r\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\r\n }\r\n}\r\n","import ApiCall from \"./ApiCall\";\r\n\r\nconst RESOURCEPATH = \"/aliases\";\r\n\r\nexport interface CollectionAliasCreateSchema {\r\n collection_name: string;\r\n}\r\n\r\nexport interface CollectionAliasSchema extends CollectionAliasCreateSchema {\r\n name: string;\r\n}\r\n\r\nexport interface CollectionAliasesResponseSchema {\r\n aliases: CollectionAliasSchema[];\r\n}\r\n\r\nexport default class Aliases {\r\n constructor(private apiCall: ApiCall) {}\r\n\r\n async upsert(\r\n name: string,\r\n mapping: CollectionAliasCreateSchema\r\n ): Promise {\r\n return this.apiCall.put(\r\n this.endpointPath(name),\r\n mapping\r\n );\r\n }\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(RESOURCEPATH);\r\n }\r\n\r\n private endpointPath(aliasName): string {\r\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(aliasName)}`;\r\n }\r\n\r\n static get RESOURCEPATH(): string {\r\n return RESOURCEPATH;\r\n }\r\n}\r\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\nimport AnalyticsRule from \"./AnalyticsRule\";\nimport AnalyticsEvents from \"./AnalyticsEvents\";\n\nconst RESOURCEPATH = \"/analytics\";\n\nexport default class Analytics {\n private readonly _analyticsRules: AnalyticsRules;\n private readonly individualAnalyticsRules: Record = {};\n private readonly _analyticsEvents: AnalyticsEvents;\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._analyticsRules = new AnalyticsRules(this.apiCall);\n this._analyticsEvents = new AnalyticsEvents(this.apiCall);\n }\n\n rules(id?: string): AnalyticsRules | AnalyticsRule {\n if (id === undefined) {\n return this._analyticsRules;\n } else {\n if (this.individualAnalyticsRules[id] === undefined) {\n this.individualAnalyticsRules[id] = new AnalyticsRule(id, this.apiCall);\n }\n return this.individualAnalyticsRules[id];\n }\n }\n\n events(): AnalyticsEvents {\n return this._analyticsEvents;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { AnalyticsEventCreateSchema } from \"./AnalyticsEvent\";\n\nconst RESOURCEPATH = \"/analytics/events\";\n\nexport default class AnalyticsEvents {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: AnalyticsEventCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsEvents.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\n\nexport interface AnalyticsRuleCreateSchema {\n type: \"popular_queries\" | \"nohits_queries\" | \"counter\";\n params: {\n source: {\n collections: string[];\n events?: Array<{\n type: string;\n weight: number;\n name: string;\n }>;\n };\n expand_query?: boolean;\n destination: {\n collection: string;\n counter_field?: string;\n };\n limit?: number;\n };\n}\n\nexport interface AnalyticsRuleDeleteSchema {\n name: string;\n}\n\nexport interface AnalyticsRuleSchema extends AnalyticsRuleCreateSchema {\n name: string;\n}\n\nexport default class AnalyticsRule {\n constructor(\n private name: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${AnalyticsRules.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\r\nimport {\r\n AnalyticsRuleCreateSchema,\r\n AnalyticsRuleSchema,\r\n} from \"./AnalyticsRule\";\r\n\r\nexport interface AnalyticsRulesRetrieveSchema {\r\n rules: AnalyticsRuleSchema[];\r\n}\r\n\r\nconst RESOURCEPATH = \"/analytics/rules\";\r\n\r\nexport default class AnalyticsRules {\r\n constructor(private readonly apiCall: ApiCall) {\r\n this.apiCall = apiCall;\r\n }\r\n\r\n async upsert(\r\n name: string,\r\n params: AnalyticsRuleCreateSchema\r\n ): Promise {\r\n return this.apiCall.put(\r\n this.endpointPath(name),\r\n params\r\n );\r\n }\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(this.endpointPath());\r\n }\r\n\r\n private endpointPath(operation?: string): string {\r\n return `${AnalyticsRules.RESOURCEPATH}${\r\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\r\n }`;\r\n }\r\n\r\n static get RESOURCEPATH() {\r\n return RESOURCEPATH;\r\n }\r\n}\r\n","import axios, { AxiosRequestConfig, AxiosResponse, Method } from \"axios\";\nimport { Logger } from \"loglevel\";\nimport {\n HTTPError,\n ObjectAlreadyExists,\n ObjectNotFound,\n ObjectUnprocessable,\n RequestMalformed,\n RequestUnauthorized,\n ServerError,\n} from \"./Errors\";\nimport TypesenseError from \"./Errors/TypesenseError\";\nimport Configuration, { NodeConfiguration } from \"./Configuration\";\nimport { Agent as HTTPAgent } from \"http\";\nimport { Agent as HTTPSAgent } from \"https\";\n\nconst APIKEYHEADERNAME = \"X-TYPESENSE-API-KEY\";\nconst HEALTHY = true;\nconst UNHEALTHY = false;\n\ninterface Node extends NodeConfiguration {\n isHealthy: boolean;\n index: string | number;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class ApiCall {\n private readonly apiKey: string;\n private readonly nodes: Node[];\n private readonly nearestNode: Node;\n private readonly connectionTimeoutSeconds: number;\n private readonly healthcheckIntervalSeconds: number;\n private readonly retryIntervalSeconds: number;\n private readonly sendApiKeyAsQueryParam?: boolean;\n private readonly numRetriesPerRequest: number;\n private readonly additionalUserHeaders?: Record;\n\n private readonly logger: Logger;\n private currentNodeIndex: number;\n\n constructor(private 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\n this.logger = this.configuration.logger;\n\n this.initializeMetadataForNodes();\n this.currentNodeIndex = -1;\n }\n\n async get(\n endpoint: string,\n queryParameters: any = {},\n {\n abortSignal = null,\n responseType = undefined,\n }: {\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n } = {},\n ): Promise {\n return this.performRequest(\"get\", endpoint, {\n queryParameters,\n abortSignal,\n responseType,\n });\n }\n\n async delete(endpoint: string, queryParameters: any = {}): Promise {\n return this.performRequest(\"delete\", endpoint, { queryParameters });\n }\n\n async post(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n additionalHeaders: any = {},\n ): Promise {\n return this.performRequest(\"post\", endpoint, {\n queryParameters,\n bodyParameters,\n additionalHeaders,\n });\n }\n\n async put(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"put\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async patch(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"patch\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async performRequest(\n requestType: Method,\n endpoint: string,\n {\n queryParameters = null,\n bodyParameters = null,\n additionalHeaders = {},\n abortSignal = null,\n responseType = undefined,\n skipConnectionTimeout = false,\n enableKeepAlive = undefined,\n }: {\n queryParameters?: any;\n bodyParameters?: any;\n additionalHeaders?: any;\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n skipConnectionTimeout?: boolean;\n enableKeepAlive?: boolean | undefined;\n },\n ): Promise {\n this.configuration.validate();\n\n const requestNumber = Date.now();\n let lastException;\n this.logger.debug(\n `Request #${requestNumber}: Performing ${requestType.toUpperCase()} request: ${endpoint}`,\n );\n for (\n let numTries = 1;\n numTries <= this.numRetriesPerRequest + 1;\n numTries++\n ) {\n const node = this.getNextNode(requestNumber);\n this.logger.debug(\n `Request #${requestNumber}: Attempting ${requestType.toUpperCase()} request Try #${numTries} to Node ${\n node.index\n }`,\n );\n\n if (abortSignal && abortSignal.aborted) {\n return Promise.reject(new Error(\"Request aborted by caller.\"));\n }\n\n let abortListener;\n\n try {\n const requestOptions: AxiosRequestConfig = {\n method: requestType,\n url: this.uriFor(endpoint, node),\n headers: Object.assign(\n {},\n this.defaultHeaders(),\n additionalHeaders,\n this.additionalUserHeaders,\n ),\n maxContentLength: Infinity,\n maxBodyLength: Infinity,\n responseType,\n validateStatus: (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 (data, headers) => {\n let transformedData = data;\n if (\n headers !== undefined &&\n typeof data === \"string\" &&\n headers[\"content-type\"] &&\n headers[\"content-type\"].startsWith(\"application/json\")\n ) {\n transformedData = JSON.parse(data);\n }\n return transformedData;\n },\n ],\n };\n\n if (skipConnectionTimeout !== true) {\n requestOptions.timeout = this.connectionTimeoutSeconds * 1000;\n }\n\n if (queryParameters && Object.keys(queryParameters).length !== 0) {\n requestOptions.params = queryParameters;\n }\n\n if (this.sendApiKeyAsQueryParam) {\n requestOptions.params = requestOptions.params || {};\n requestOptions.params[\"x-typesense-api-key\"] = this.apiKey;\n }\n\n if (this.configuration.httpAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpAgent`,\n );\n requestOptions.httpAgent = this.configuration.httpAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling KeepAlive`);\n requestOptions.httpAgent = new HTTPAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.httpsAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpsAgent`,\n );\n requestOptions.httpsAgent = this.configuration.httpsAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling keepAlive`);\n requestOptions.httpsAgent = new HTTPSAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.paramsSerializer) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom paramsSerializer`,\n );\n requestOptions.paramsSerializer = this.configuration.paramsSerializer;\n }\n\n if (\n bodyParameters &&\n ((typeof bodyParameters === \"string\" &&\n bodyParameters.length !== 0) ||\n (typeof bodyParameters === \"object\" &&\n Object.keys(bodyParameters).length !== 0))\n ) {\n requestOptions.data = bodyParameters;\n }\n\n // Translate from user-provided AbortController to the Axios request cancel mechanism.\n if (abortSignal) {\n const cancelToken = axios.CancelToken;\n const source = cancelToken.source();\n abortListener = () => source.cancel();\n abortSignal.addEventListener(\"abort\", abortListener);\n requestOptions.cancelToken = source.token;\n }\n\n const response = await axios(requestOptions);\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.setNodeHealthcheck(node, HEALTHY);\n }\n this.logger.debug(\n `Request #${requestNumber}: Request to Node ${node.index} was made. Response Code was ${response.status}.`,\n );\n\n if (response.status >= 200 && response.status < 300) {\n // If response is 2xx return a resolved promise\n return Promise.resolve(response.data);\n } else if (response.status < 500) {\n // Next, if response is anything but 5xx, don't retry, return a custom error\n return Promise.reject(\n this.customErrorForResponse(response, response.data?.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.customErrorForResponse(response, response.data?.message);\n }\n } catch (error: any) {\n // This block handles retries for HTTPStatus > 500 and network layer issues like connection timeouts\n this.setNodeHealthcheck(node, UNHEALTHY);\n lastException = error;\n this.logger.warn(\n `Request #${requestNumber}: Request to Node ${\n node.index\n } failed due to \"${error.code} ${error.message}${\n error.response == null\n ? \"\"\n : \" - \" + JSON.stringify(error.response?.data)\n }\"`,\n );\n // this.logger.debug(error.stack)\n this.logger.warn(\n `Request #${requestNumber}: Sleeping for ${this.retryIntervalSeconds}s and then retrying request...`,\n );\n await this.timer(this.retryIntervalSeconds);\n } finally {\n if (abortSignal && abortListener) {\n abortSignal.removeEventListener(\"abort\", abortListener);\n }\n }\n }\n this.logger.debug(\n `Request #${requestNumber}: No retries left. Raising last error`,\n );\n return Promise.reject(lastException);\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 getNextNode(requestNumber = 0): Node {\n // Check if nearestNode is set and is healthy, if so return it\n if (this.nearestNode != null) {\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: Node ${\n this.nearestNode.index\n } is ${this.nearestNode.isHealthy === true ? \"Healthy\" : \"Unhealthy\"}`,\n );\n if (\n this.nearestNode.isHealthy === true ||\n this.nodeDueForHealthcheck(this.nearestNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${this.nearestNode.index}`,\n );\n return this.nearestNode;\n }\n this.logger.debug(\n `Request #${requestNumber}: Falling back to individual nodes`,\n );\n }\n\n // Fallback to nodes as usual\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: ${this.nodes\n .map(\n (node) =>\n `Node ${node.index} is ${\n node.isHealthy === true ? \"Healthy\" : \"Unhealthy\"\n }`,\n )\n .join(\" || \")}`,\n );\n let candidateNode: Node = this.nodes[0];\n for (let i = 0; i <= this.nodes.length; i++) {\n this.currentNodeIndex = (this.currentNodeIndex + 1) % this.nodes.length;\n candidateNode = this.nodes[this.currentNodeIndex];\n if (\n candidateNode.isHealthy === true ||\n this.nodeDueForHealthcheck(candidateNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\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(\n `Request #${requestNumber}: No healthy nodes were found. Returning the next node, Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\n\n nodeDueForHealthcheck(node, requestNumber = 0): boolean {\n const isDueForHealthcheck =\n Date.now() - node.lastAccessTimestamp >\n this.healthcheckIntervalSeconds * 1000;\n if (isDueForHealthcheck) {\n this.logger.debug(\n `Request #${requestNumber}: Node ${node.index} has exceeded healtcheckIntervalSeconds of ${this.healthcheckIntervalSeconds}. Adding it back into rotation.`,\n );\n }\n return isDueForHealthcheck;\n }\n\n initializeMetadataForNodes(): void {\n if (this.nearestNode != null) {\n this.nearestNode.index = \"nearestNode\";\n this.setNodeHealthcheck(this.nearestNode, HEALTHY);\n }\n\n this.nodes.forEach((node, i) => {\n node.index = i;\n this.setNodeHealthcheck(node, HEALTHY);\n });\n }\n\n setNodeHealthcheck(node, isHealthy): void {\n node.isHealthy = isHealthy;\n node.lastAccessTimestamp = Date.now();\n }\n\n uriFor(endpoint: string, node): string {\n if (node.url != null) {\n return `${node.url}${endpoint}`;\n }\n return `${node.protocol}://${node.host}:${node.port}${node.path}${endpoint}`;\n }\n\n defaultHeaders(): any {\n const defaultHeaders = {};\n if (!this.sendApiKeyAsQueryParam) {\n defaultHeaders[APIKEYHEADERNAME] = this.apiKey;\n }\n defaultHeaders[\"Content-Type\"] = \"application/json\";\n return defaultHeaders;\n }\n\n async timer(seconds): Promise {\n return new Promise((resolve) => setTimeout(resolve, seconds * 1000));\n }\n\n customErrorForResponse(\n response: AxiosResponse,\n messageFromServer: string,\n ): TypesenseError {\n let errorMessage = `Request failed with HTTP code ${response.status}`;\n if (\n typeof messageFromServer === \"string\" &&\n messageFromServer.trim() !== \"\"\n ) {\n errorMessage += ` | Server said: ${messageFromServer}`;\n }\n\n let error = new TypesenseError(errorMessage);\n\n if (response.status === 400) {\n error = new RequestMalformed(errorMessage);\n } else if (response.status === 401) {\n error = new RequestUnauthorized(errorMessage);\n } else if (response.status === 404) {\n error = new ObjectNotFound(errorMessage);\n } else if (response.status === 409) {\n error = new ObjectAlreadyExists(errorMessage);\n } else if (response.status === 422) {\n error = new ObjectUnprocessable(errorMessage);\n } else if (response.status >= 500 && response.status <= 599) {\n error = new ServerError(errorMessage);\n } else {\n error = new HTTPError(errorMessage);\n }\n\n error.httpStatus = response.status;\n\n return error;\n }\n}\n","/* eslint-disable no-dupe-class-members */\n\nimport Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Collection from \"./Collection\";\nimport Aliases from \"./Aliases\";\nimport Alias from \"./Alias\";\nimport Keys from \"./Keys\";\nimport Key from \"./Key\";\nimport Debug from \"./Debug\";\nimport Metrics from \"./Metrics\";\nimport Stats from \"./Stats\";\nimport Health from \"./Health\";\nimport Operations from \"./Operations\";\nimport MultiSearch from \"./MultiSearch\";\nimport Presets from \"./Presets\";\nimport Preset from \"./Preset\";\nimport Analytics from \"./Analytics\";\nimport Stopwords from \"./Stopwords\";\nimport Stopword from \"./Stopword\";\nimport Conversations from \"./Conversations\";\nimport Conversation from \"./Conversation\";\n\nexport default class Client {\n configuration: Configuration;\n apiCall: ApiCall;\n debug: Debug;\n metrics: Metrics;\n stats: Stats;\n health: Health;\n operations: Operations;\n multiSearch: MultiSearch;\n analytics: Analytics;\n private readonly _collections: Collections;\n private readonly individualCollections: Record;\n private readonly _aliases: Aliases;\n private readonly individualAliases: Record;\n private readonly _keys: Keys;\n private readonly individualKeys: Record;\n private readonly _presets: Presets;\n private readonly individualPresets: Record;\n private readonly _stopwords: Stopwords;\n private readonly individualStopwords: Record;\n private readonly _conversations: Conversations;\n private readonly individualConversations: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? false;\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.debug = new Debug(this.apiCall);\n this.metrics = new Metrics(this.apiCall);\n this.stats = new Stats(this.apiCall);\n this.health = new Health(this.apiCall);\n this.operations = new Operations(this.apiCall);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration);\n this._collections = new Collections(this.apiCall);\n this.individualCollections = {};\n this._aliases = new Aliases(this.apiCall);\n this.individualAliases = {};\n this._keys = new Keys(this.apiCall);\n this.individualKeys = {};\n this._presets = new Presets(this.apiCall);\n this.individualPresets = {};\n this._stopwords = new Stopwords(this.apiCall);\n this.individualStopwords = {};\n this.analytics = new Analytics(this.apiCall);\n this._conversations = new Conversations(this.apiCall);\n this.individualConversations = {};\n }\n\n collections(): Collections;\n collections = object>(\n collectionName: string,\n ): Collection;\n collections(collectionName?: string): Collections | Collection {\n if (collectionName === undefined) {\n return this._collections;\n } else {\n if (this.individualCollections[collectionName] === undefined) {\n this.individualCollections[collectionName] = new Collection(\n collectionName,\n this.apiCall,\n this.configuration,\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n\n aliases(): Aliases;\n aliases(aliasName: string): Alias;\n aliases(aliasName?: string): Aliases | Alias {\n if (aliasName === undefined) {\n return this._aliases;\n } else {\n if (this.individualAliases[aliasName] === undefined) {\n this.individualAliases[aliasName] = new Alias(aliasName, this.apiCall);\n }\n return this.individualAliases[aliasName];\n }\n }\n\n keys(): Keys;\n keys(id: number): Key;\n keys(id?: number): Keys | Key {\n if (id === undefined) {\n return this._keys;\n } else {\n if (this.individualKeys[id] === undefined) {\n this.individualKeys[id] = new Key(id, this.apiCall);\n }\n return this.individualKeys[id];\n }\n }\n\n presets(): Presets;\n presets(id: string): Preset;\n presets(id?: string): Presets | Preset {\n if (id === undefined) {\n return this._presets;\n } else {\n if (this.individualPresets[id] === undefined) {\n this.individualPresets[id] = new Preset(id, this.apiCall);\n }\n return this.individualPresets[id];\n }\n }\n\n stopwords(): Stopwords;\n stopwords(id: string): Stopword;\n stopwords(id?: string): Stopwords | Stopword {\n if (id === undefined) {\n return this._stopwords;\n } else {\n if (this.individualStopwords[id] === undefined) {\n this.individualStopwords[id] = new Stopword(id, this.apiCall);\n }\n return this.individualStopwords[id];\n }\n }\n\n conversations(): Conversations;\n conversations(id: string): Conversation;\n conversations(id?: string): Conversations | Conversation {\n if (id === undefined) {\n return this._conversations;\n } else {\n if (this.individualConversations[id] === undefined) {\n this.individualConversations[id] = new Conversation(id, this.apiCall);\n }\n return this.individualConversations[id];\n }\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections, { CollectionCreateSchema } from \"./Collections\";\nimport Documents, { DocumentSchema } from \"./Documents\";\nimport { ObjectNotFound } from \"./Errors\";\nimport Overrides from \"./Overrides\";\nimport Override from \"./Override\";\nimport Synonyms from \"./Synonyms\";\nimport Synonym from \"./Synonym\";\nimport { Document } from \"./Document\";\n\nexport type FieldType =\n | \"string\"\n | \"int32\"\n | \"int64\"\n | \"float\"\n | \"bool\"\n | \"geopoint\"\n | \"geopoint[]\"\n | \"string[]\"\n | \"int32[]\"\n | \"int64[]\"\n | \"float[]\"\n | \"bool[]\"\n | \"object\"\n | \"object[]\"\n | \"auto\"\n | \"string*\"\n | \"image\";\n\nexport interface CollectionFieldSchema {\n name: string;\n type: FieldType;\n optional?: boolean;\n facet?: boolean;\n index?: boolean;\n sort?: boolean;\n locale?: string;\n infix?: boolean;\n stem?: boolean;\n num_dim?: number;\n store?: boolean;\n [t: string]: unknown;\n}\n\nexport interface CollectionSchema extends CollectionCreateSchema {\n created_at: number;\n num_documents: number;\n num_memory_shards: number;\n}\n\nexport interface CollectionDropFieldSchema {\n name: string;\n drop: true;\n}\n\nexport interface CollectionUpdateSchema\n extends Partial> {\n fields?: (CollectionFieldSchema | CollectionDropFieldSchema)[];\n}\n\nexport default class Collection {\n private readonly _documents: Documents;\n private individualDocuments: Record> = {};\n private readonly _overrides: Overrides;\n private individualOverrides: Record = {};\n private readonly _synonyms: Synonyms;\n private individualSynonyms: Record = {};\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any,\n ) {\n this.name = name;\n this.apiCall = apiCall;\n this.configuration = configuration;\n\n this._documents = new Documents(\n this.name,\n this.apiCall,\n this.configuration,\n );\n this._overrides = new Overrides(this.name, this.apiCall);\n this._synonyms = new Synonyms(this.name, this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(schema: CollectionUpdateSchema): Promise {\n return this.apiCall.patch(this.endpointPath(), schema);\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n async exists(): Promise {\n try {\n await this.retrieve();\n return true;\n } catch (e) {\n if (e instanceof ObjectNotFound) return false;\n throw e;\n }\n }\n\n documents(): Documents;\n documents(documentId: string): Document;\n documents(documentId?: string): Document | Documents {\n if (!documentId) {\n return this._documents;\n } else {\n if (this.individualDocuments[documentId] === undefined) {\n this.individualDocuments[documentId] = new Document(\n this.name,\n documentId,\n this.apiCall,\n );\n }\n return this.individualDocuments[documentId];\n }\n }\n\n overrides(): Overrides;\n overrides(overrideId: string): Override;\n overrides(overrideId?: string): Overrides | Override {\n if (overrideId === undefined) {\n return this._overrides;\n } else {\n if (this.individualOverrides[overrideId] === undefined) {\n this.individualOverrides[overrideId] = new Override(\n this.name,\n overrideId,\n this.apiCall,\n );\n }\n return this.individualOverrides[overrideId];\n }\n }\n\n synonyms(): Synonyms;\n synonyms(synonymId: string): Synonym;\n synonyms(synonymId?: string): Synonyms | Synonym {\n if (synonymId === undefined) {\n return this._synonyms;\n } else {\n if (this.individualSynonyms[synonymId] === undefined) {\n this.individualSynonyms[synonymId] = new Synonym(\n this.name,\n synonymId,\n this.apiCall,\n );\n }\n return this.individualSynonyms[synonymId];\n }\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { CollectionFieldSchema, CollectionSchema } from \"./Collection\";\n\nexport interface CollectionCreateSchema {\n name: string;\n default_sorting_field?: string;\n fields?: CollectionFieldSchema[];\n symbols_to_index?: string[];\n token_separators?: string[];\n enable_nested_fields?: boolean;\n metadata?: object;\n voice_query_model?: {\n model_name?: string;\n };\n}\n\nexport interface CollectionCreateOptions {\n src_name?: string;\n}\n\nexport interface CollectionsRetrieveOptions {\n exclude_fields?: string;\n}\n\nconst RESOURCEPATH = \"/collections\";\n\nexport default class Collections {\n constructor(private apiCall: ApiCall) {}\n\n async create(\n schema: CollectionCreateSchema,\n options: CollectionCreateOptions = {},\n ): Promise {\n return this.apiCall.post(RESOURCEPATH, schema, options);\n }\n\n async retrieve(\n options: CollectionsRetrieveOptions = {},\n ): Promise {\n return this.apiCall.get(RESOURCEPATH, options);\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import * as logger from \"loglevel\";\nimport { Logger, LogLevelDesc } from \"loglevel\";\nimport { MissingConfigurationError } from \"./Errors\";\nimport type { Agent as HTTPAgent } from \"http\";\nimport type { Agent as HTTPSAgent } from \"https\";\n\nexport interface NodeConfiguration {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n url?: string;\n}\n\nexport interface NodeConfigurationWithHostname {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n}\n\nexport interface NodeConfigurationWithUrl {\n url: string;\n}\n\nexport interface ConfigurationOptions {\n apiKey: string;\n nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n randomizeNodes?: boolean;\n /**\n * @deprecated\n * masterNode is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n masterNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n /**\n * @deprecated\n * readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n readReplicaNodes?:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n connectionTimeoutSeconds?: number;\n timeoutSeconds?: number;\n healthcheckIntervalSeconds?: number;\n numRetries?: number;\n retryIntervalSeconds?: number;\n sendApiKeyAsQueryParam?: boolean | undefined;\n useServerSideSearchCache?: boolean;\n cacheSearchResultsForSeconds?: number;\n additionalHeaders?: Record;\n\n logLevel?: LogLevelDesc;\n logger?: Logger;\n\n /**\n * Set a custom HTTP Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPAgent } = require(\"http\");\n * ...\n * httpAgent: new HTTPAgent({ keepAlive: true }),\n * @type {HTTPAgent}\n */\n httpAgent?: HTTPAgent;\n\n /**\n * Set a custom HTTPS Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPSAgent } = require(\"https\");\n * ...\n * httpsAgent: new HTTPSAgent({ keepAlive: true }),\n * @type {HTTPSAgent}\n */\n httpsAgent?: HTTPSAgent;\n\n /**\n * Set a custom paramsSerializer\n *\n * See axios documentation for more information on how to use this parameter: https://axios-http.com/docs/req_config\n * This is helpful for handling React Native issues like this: https://github.com/axios/axios/issues/6102#issuecomment-2085301397\n * @type {any}\n */\n paramsSerializer?: any;\n}\n\nexport default class Configuration {\n readonly nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n readonly nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n readonly connectionTimeoutSeconds: number;\n readonly healthcheckIntervalSeconds: number;\n readonly numRetries: number;\n readonly retryIntervalSeconds: number;\n readonly apiKey: string;\n readonly sendApiKeyAsQueryParam?: boolean;\n readonly cacheSearchResultsForSeconds: number;\n readonly useServerSideSearchCache: boolean;\n readonly logger: Logger;\n readonly logLevel: LogLevelDesc;\n readonly additionalHeaders?: Record;\n readonly httpAgent?: HTTPAgent;\n readonly httpsAgent?: HTTPSAgent;\n readonly paramsSerializer?: any;\n\n constructor(options: ConfigurationOptions) {\n this.nodes = options.nodes || [];\n this.nodes = this.nodes\n .map((node) => this.setDefaultPathInNode(node))\n .map((node) => this.setDefaultPortInNode(node))\n .map((node) => ({ ...node })) as NodeConfiguration[]; // Make a deep copy\n\n if (options.randomizeNodes == null) {\n options.randomizeNodes = true;\n }\n\n if (options.randomizeNodes === true) {\n this.shuffleArray(this.nodes);\n }\n\n this.nearestNode = options.nearestNode;\n this.nearestNode = this.setDefaultPathInNode(this.nearestNode);\n this.nearestNode = this.setDefaultPortInNode(this.nearestNode);\n\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\n this.apiKey = options.apiKey;\n this.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam; // We will set a default for this in Client and SearchClient\n\n this.cacheSearchResultsForSeconds =\n options.cacheSearchResultsForSeconds || 0; // Disable client-side cache by default\n this.useServerSideSearchCache = options.useServerSideSearchCache || false;\n\n this.logger = options.logger || logger;\n this.logLevel = options.logLevel || \"warn\";\n this.logger.setLevel(this.logLevel);\n\n this.additionalHeaders = options.additionalHeaders;\n\n this.httpAgent = options.httpAgent;\n this.httpsAgent = options.httpsAgent;\n\n this.paramsSerializer = options.paramsSerializer;\n\n this.showDeprecationWarnings(options);\n this.validate();\n }\n\n validate(): boolean {\n if (this.nodes == null || this.nodes.length === 0 || this.validateNodes()) {\n throw new MissingConfigurationError(\n \"Ensure that nodes[].protocol, nodes[].host and nodes[].port are set\",\n );\n }\n\n if (\n this.nearestNode != null &&\n this.isNodeMissingAnyParameters(this.nearestNode)\n ) {\n throw new MissingConfigurationError(\n \"Ensure that nearestNodes.protocol, nearestNodes.host and nearestNodes.port are set\",\n );\n }\n\n if (this.apiKey == null) {\n throw new MissingConfigurationError(\"Ensure that apiKey is set\");\n }\n\n return true;\n }\n\n private validateNodes(): boolean {\n return this.nodes.some((node) => {\n return this.isNodeMissingAnyParameters(node);\n });\n }\n\n private isNodeMissingAnyParameters(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl,\n ): boolean {\n return (\n ![\"protocol\", \"host\", \"port\", \"path\"].every((key) => {\n return node.hasOwnProperty(key);\n }) && node[\"url\"] == null\n );\n }\n\n private setDefaultPathInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (node != null && !node.hasOwnProperty(\"path\")) {\n node[\"path\"] = \"\";\n }\n return node;\n }\n\n private setDefaultPortInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (\n node != null &&\n !node.hasOwnProperty(\"port\") &&\n node.hasOwnProperty(\"protocol\")\n ) {\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\n private showDeprecationWarnings(options: ConfigurationOptions): void {\n if (options.timeoutSeconds) {\n this.logger.warn(\n \"Deprecation warning: timeoutSeconds is now renamed to connectionTimeoutSeconds\",\n );\n }\n if (options.masterNode) {\n this.logger.warn(\n \"Deprecation warning: masterNode is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n if (options.readReplicaNodes) {\n this.logger.warn(\n \"Deprecation warning: readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n }\n\n private shuffleArray(array) {\n for (let i = array.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [array[i], array[j]] = [array[j], array[i]];\n }\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Conversations from \"./Conversations\";\n\nexport interface ConversationDeleteSchema {\n id: number;\n}\n\nexport interface ConversationUpdateSchema {\n ttl: number;\n}\n\nexport interface ConversationSchema {\n id: number;\n conversation: object[];\n last_updated: number;\n ttl: number;\n}\n\nexport default class Conversation {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(\n params: ConversationUpdateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Conversations.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\n\nexport interface ConversationModelCreateSchema {\n id?: string;\n model_name: string;\n api_key?: string;\n system_prompt?: string;\n max_bytes: number;\n history_collection?: string;\n}\n\nexport interface ConversationModelDeleteSchema {\n id: string;\n}\n\nexport interface ConversationModelSchema extends ConversationModelCreateSchema {\n id: string;\n}\n\nexport default class ConversationModel {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async update(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(\n this.endpointPath(),\n );\n }\n\n private endpointPath(): string {\n return `${ConversationModels.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\r\nimport {\r\n ConversationModelCreateSchema,\r\n ConversationModelSchema,\r\n} from \"./ConversationModel\";\r\n\r\nconst RESOURCEPATH = \"/conversations/models\";\r\n\r\nexport default class ConversationModels {\r\n constructor(private readonly apiCall: ApiCall) {\r\n this.apiCall = apiCall;\r\n }\r\n\r\n async create(\r\n params: ConversationModelCreateSchema,\r\n ): Promise {\r\n return this.apiCall.post(\r\n this.endpointPath(),\r\n params,\r\n );\r\n }\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(\r\n this.endpointPath(),\r\n );\r\n }\r\n\r\n private endpointPath(operation?: string): string {\r\n return `${ConversationModels.RESOURCEPATH}${\r\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\r\n }`;\r\n }\r\n\r\n static get RESOURCEPATH() {\r\n return RESOURCEPATH;\r\n }\r\n}\r\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\nimport ConversationModel from \"./ConversationModel\";\nimport { ConversationSchema } from \"./Conversation\";\n\nconst RESOURCEPATH = \"/conversations\";\n\nexport interface ConversationsRetrieveSchema {\n conversations: ConversationSchema[];\n}\n\nexport default class Conversations {\n private readonly _conversationsModels: ConversationModels;\n private readonly individualConversationModels: Record<\n string,\n ConversationModel\n > = {};\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._conversationsModels = new ConversationModels(this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n models(): ConversationModels;\n models(id: string): ConversationModel;\n models(id?: string): ConversationModels | ConversationModel {\n if (id === undefined) {\n return this._conversationsModels;\n } else {\n if (this.individualConversationModels[id] === undefined) {\n this.individualConversationModels[id] = new ConversationModel(\n id,\n this.apiCall,\n );\n }\n return this.individualConversationModels[id];\n }\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/debug\";\n\nexport interface DebugResponseSchema {\n state: number;\n version: string;\n}\n\nexport default class Debug {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\r\nimport Collections from \"./Collections\";\r\nimport Documents, {\r\n DeleteQuery,\r\n DocumentSchema,\r\n DocumentWriteParameters,\r\n} from \"./Documents\";\r\n\r\nexport class Document {\r\n constructor(\r\n private collectionName: string,\r\n private documentId: string,\r\n private apiCall: ApiCall\r\n ) {}\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(this.endpointPath());\r\n }\r\n\r\n async delete(options?: DeleteQuery): Promise {\r\n return this.apiCall.delete(this.endpointPath(), options);\r\n }\r\n\r\n async update(\r\n partialDocument: Partial,\r\n options: DocumentWriteParameters = {}\r\n ): Promise {\r\n return this.apiCall.patch(this.endpointPath(), partialDocument, options);\r\n }\r\n\r\n private endpointPath(): string {\r\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Documents.RESOURCEPATH}/${encodeURIComponent(this.documentId)}`;\r\n }\r\n}\r\n","import type { ReadStream } from \"fs\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport { ImportError } from \"./Errors\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\n// Todo: use generic to extract filter_by values\nexport interface DeleteQuery {\n filter_by?: string;\n batch_size?: number;\n ignore_not_found?: boolean;\n}\n\nexport interface DeleteResponse {\n num_deleted: number;\n}\n\ninterface ImportResponseSuccess {\n success: true;\n}\n\nexport interface ImportResponseFail {\n success: false;\n error: string;\n document: DocumentSchema;\n code: number;\n}\n\nexport type ImportResponse = ImportResponseSuccess | ImportResponseFail;\n\nexport type DocumentSchema = Record;\n\nexport interface SearchParamsWithPreset extends Partial {\n preset: string;\n}\n\ntype OperationMode = \"off\" | \"always\" | \"fallback\";\nexport interface SearchParams {\n // From https://typesense.org/docs/latest/api/documents.html#arguments\n q?: string;\n query_by?: string | string[];\n query_by_weights?: string | number[];\n prefix?: string | boolean | boolean[]; // default: true\n filter_by?: string;\n enable_lazy_filter?: boolean; // default: false\n sort_by?: string | string[]; // default: text match desc\n facet_by?: string | string[];\n max_facet_values?: number;\n facet_sample_threshold?: number;\n facet_sample_percent?: number;\n facet_query?: string;\n facet_query_num_typos?: number;\n facet_return_parent?: string;\n page?: number; // default: 1\n per_page?: number; // default: 10, max 250\n group_by?: string | string[];\n group_limit?: number; // default:\n group_missing_values?: boolean;\n include_fields?: string | string[];\n exclude_fields?: string | string[];\n highlight_fields?: string | string[]; // default: all queried fields\n highlight_full_fields?: string | string[]; // default: all fields\n highlight_affix_num_tokens?: number; // default: 4\n highlight_start_tag?: string; // default: \n highlight_end_tag?: string; // default: \n enable_highlight_v1?: boolean;\n snippet_threshold?: number; // default: 30\n num_typos?: string | number | number[]; // default: 2\n min_len_1typo?: number;\n min_len_2typo?: number;\n split_join_tokens?: OperationMode;\n exhaustive_search?: boolean;\n drop_tokens_threshold?: number; // default: 10\n typo_tokens_threshold?: number; // default: 100\n pinned_hits?: string | string[];\n hidden_hits?: string | string[];\n limit_hits?: number; // default: no limit\n pre_segmented_query?: boolean;\n enable_overrides?: boolean;\n prioritize_exact_match?: boolean; // default: true\n prioritize_token_position?: boolean;\n prioritize_num_matching_fields?: boolean;\n search_cutoff_ms?: number;\n use_cache?: boolean;\n max_candidates?: number;\n infix?: OperationMode | OperationMode[];\n preset?: string;\n text_match_type?: \"max_score\" | \"max_weight\";\n vector_query?: string;\n \"x-typesense-api-key\"?: string;\n \"x-typesense-user-id\"?: string;\n offset?: number;\n limit?: number;\n stopwords?: string;\n conversation?: boolean;\n conversation_model_id?: string;\n conversation_id?: string;\n voice_query?: string;\n}\n\ntype SearchResponseHighlightObject = {\n matched_tokens?: string[];\n snippet?: string;\n value?: string;\n};\n\nexport type SearchResponseHighlight = T extends string | number\n ? SearchResponseHighlightObject\n : {\n [TAttribute in keyof T]?: SearchResponseHighlight;\n };\n\nexport interface SearchResponseHit {\n curated?: true;\n highlights?: [\n {\n field: keyof T;\n snippet?: string;\n value?: string;\n snippets?: string[];\n indices?: number[];\n matched_tokens: string[][] | string[];\n },\n ];\n highlight: SearchResponseHighlight;\n document: T;\n text_match: number;\n text_match_info?: {\n best_field_score: string; // To prevent scores from being truncated by JSON spec\n best_field_weight: number;\n fields_matched: number;\n score: string; // To prevent scores from being truncated by JSON spec\n tokens_matched: number;\n };\n}\n\nexport interface SearchResponseFacetCountSchema {\n counts: {\n count: number;\n highlighted: string;\n value: string;\n }[];\n field_name: keyof T;\n stats: {\n avg?: number;\n max?: number;\n min?: number;\n sum?: number;\n };\n}\n\nexport interface SearchResponseRequestParams {\n collection_name?: string;\n q?: string;\n page?: number;\n per_page?: number;\n first_q?: string;\n voice_query?: {\n transcribed_query?: string;\n };\n}\n\n// Todo: we could infer whether this is a grouped response by adding the search params as a generic\nexport interface SearchResponse {\n facet_counts?: SearchResponseFacetCountSchema[];\n found: number;\n found_docs?: number;\n out_of: number;\n page: number;\n request_params: SearchResponseRequestParams;\n search_time_ms: number;\n search_cutoff?: boolean;\n hits?: SearchResponseHit[];\n grouped_hits?: {\n group_key: string[];\n hits: SearchResponseHit[];\n found?: number;\n }[];\n conversation?: {\n answer: string;\n conversation_history: {\n conversation: object[];\n id: string;\n last_updated: number;\n ttl: number;\n };\n conversation_id: string;\n query: string;\n };\n error?: string;\n code?: number;\n}\n\nexport interface DocumentWriteParameters {\n dirty_values?: \"coerce_or_reject\" | \"coerce_or_drop\" | \"drop\" | \"reject\";\n action?: \"create\" | \"update\" | \"upsert\" | \"emplace\";\n}\n\nexport interface UpdateByFilterParameters {\n filter_by?: string;\n}\n\nexport interface UpdateByFilterResponse {\n num_updated: number;\n}\n\nexport interface DocumentImportParameters extends DocumentWriteParameters {\n batch_size?: number;\n return_doc?: boolean;\n return_id?: boolean;\n}\n\nexport interface DocumentsExportParameters {\n filter_by?: string;\n include_fields?: string;\n exclude_fields?: string;\n}\n\nexport interface SearchableDocuments {\n search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n options: SearchOptions,\n ): Promise>;\n clearCache(): void;\n}\n\nexport interface WriteableDocuments {\n create(document: T, options: DocumentWriteParameters): Promise;\n upsert(document: T, options: DocumentWriteParameters): Promise;\n update(document: T, options: DocumentWriteParameters): Promise;\n delete(query: DeleteQuery): Promise;\n import(\n documents: T[] | string,\n options: DocumentWriteParameters,\n ): Promise;\n export(options: DocumentsExportParameters): Promise;\n}\n\nexport interface SearchOptions {\n cacheSearchResultsForSeconds?: number;\n abortSignal?: AbortSignal | null;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class Documents\n extends SearchOnlyDocuments\n implements WriteableDocuments\n{\n constructor(\n collectionName: string,\n apiCall: ApiCall,\n configuration: Configuration,\n ) {\n super(collectionName, apiCall, configuration);\n }\n\n async create(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(this.endpointPath(), document, options);\n }\n\n async upsert(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"upsert\" }),\n );\n }\n\n async update(\n document: T,\n options: UpdateByFilterParameters,\n ): Promise;\n async update(document: T, options: DocumentWriteParameters): Promise;\n async update(\n document: T,\n options: DocumentWriteParameters | UpdateByFilterParameters = {},\n ): Promise {\n if (!document) throw new Error(\"No document provided\");\n\n if (options[\"filter_by\"] != null) {\n return this.apiCall.patch(\n this.endpointPath(),\n document,\n Object.assign({}, options),\n );\n } else {\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"update\" }),\n );\n }\n }\n\n async delete(\n query: DeleteQuery = {} as DeleteQuery,\n ): Promise {\n return this.apiCall.delete(this.endpointPath(), query);\n }\n\n async createMany(documents: T[], options: DocumentImportParameters = {}) {\n this.configuration.logger.warn(\n \"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 );\n return this.import(documents, options);\n }\n\n /**\n * Import a set of documents in a batch.\n * @param {string|Array} documents - Can be a JSONL string of documents or an array of document objects.\n * @param options\n * @return {string|Array} Returns a JSONL string if the input was a JSONL string, otherwise it returns an array of results.\n */\n async import(\n documents: string,\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[],\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[] | string,\n options: DocumentImportParameters = {},\n ): Promise {\n let documentsInJSONLFormat;\n if (Array.isArray(documents)) {\n try {\n documentsInJSONLFormat = documents\n .map((document) => JSON.stringify(document))\n .join(\"\\n\");\n } catch (error: any) {\n // if rangeerror, throw custom error message\n if (\n error instanceof RangeError &&\n error.message.includes(\"Too many properties to enumerate\")\n ) {\n throw new Error(`${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\n // else, throw the non-range error anyways\n throw new Error(error);\n }\n } else {\n documentsInJSONLFormat = documents;\n }\n\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n if (Array.isArray(documents)) {\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter(\n (r) => r.success === false,\n );\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n } else {\n return resultsInJSONLFormat as string;\n }\n }\n /**\n * Imports documents from a NodeJS readable stream of JSONL.\n */\n async importStream(\n readableStream: ReadStream,\n options: DocumentImportParameters = {},\n ): Promise {\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\n queryParameters: options,\n bodyParameters: readableStream,\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter((r) => r.success === false);\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n }\n\n /**\n * Returns a JSONL string for all the documents in this collection\n */\n async export(options: DocumentsExportParameters = {}): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options);\n }\n\n /**\n * Returns a NodeJS readable stream of JSONL for all the documents in this collection.\n */\n async exportStream(\n options: DocumentsExportParameters = {},\n ): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options, {\n responseType: \"stream\",\n });\n }\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class HTTPError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\nimport { ImportResponse } from \"../Documents\";\n\nexport default class ImportError extends TypesenseError {\n importResults: ImportResponse[];\n constructor(message: string, importResults: ImportResponse[]) {\n super(message);\n this.importResults = importResults;\n }\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class MissingConfigurationError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectAlreadyExists extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectNotFound extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectUnprocessable extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestMalformed extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestUnauthorized extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ServerError extends TypesenseError {}\n","export default class TypesenseError extends Error {\n httpStatus?: number;\n\n // Source: https://stackoverflow.com/a/58417721/123545\n constructor(message?: string) {\n super(message);\n this.name = new.target.name;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n","import HTTPError from \"./HTTPError\";\nimport MissingConfigurationError from \"./MissingConfigurationError\";\nimport ObjectAlreadyExists from \"./ObjectAlreadyExists\";\nimport ObjectNotFound from \"./ObjectNotFound\";\nimport ObjectUnprocessable from \"./ObjectUnprocessable\";\nimport RequestMalformed from \"./RequestMalformed\";\nimport RequestUnauthorized from \"./RequestUnauthorized\";\nimport ServerError from \"./ServerError\";\nimport ImportError from \"./ImportError\";\nimport TypesenseError from \"./TypesenseError\";\n\nexport {\n HTTPError,\n MissingConfigurationError,\n ObjectAlreadyExists,\n ObjectNotFound,\n ObjectUnprocessable,\n RequestMalformed,\n RequestUnauthorized,\n ServerError,\n TypesenseError,\n ImportError,\n};\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/health\";\n\nexport interface HealthResponse {\n ok: boolean;\n}\n\nexport default class Health {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\r\nimport Keys from \"./Keys\";\r\n\r\nexport interface KeyCreateSchema {\r\n actions: string[];\r\n collections: string[];\r\n description?: string;\r\n value?: string;\r\n value_prefix?: string;\r\n expires_at?: number;\r\n}\r\n\r\nexport interface KeyDeleteSchema {\r\n id: number;\r\n}\r\n\r\nexport interface KeySchema extends KeyCreateSchema {\r\n id: number;\r\n}\r\n\r\nexport default class Key {\r\n constructor(private id: number, private apiCall: ApiCall) {}\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(this.endpointPath());\r\n }\r\n\r\n async delete(): Promise {\r\n return this.apiCall.delete(this.endpointPath());\r\n }\r\n\r\n private endpointPath(): string {\r\n return `${Keys.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\r\n }\r\n}\r\n","import { createHmac } from \"crypto\";\r\nimport ApiCall from \"./ApiCall\";\r\nimport { KeyCreateSchema, KeySchema } from \"./Key\";\r\nimport { SearchParams } from \"./Documents\";\r\n\r\nconst RESOURCEPATH = \"/keys\";\r\n\r\nexport interface KeysRetrieveSchema {\r\n keys: KeySchema[];\r\n}\r\n\r\nexport interface GenerateScopedSearchKeyParams extends Partial {\r\n expires_at?: number;\r\n cache_ttl?: number;\r\n limit_multi_searches?: number;\r\n}\r\n\r\nexport default class Keys {\r\n constructor(private apiCall: ApiCall) {\r\n this.apiCall = apiCall;\r\n }\r\n\r\n async create(params: KeyCreateSchema): Promise {\r\n return this.apiCall.post(Keys.RESOURCEPATH, params);\r\n }\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(RESOURCEPATH);\r\n }\r\n\r\n generateScopedSearchKey(\r\n searchKey: string,\r\n parameters: GenerateScopedSearchKeyParams\r\n ): string {\r\n // Note: only a key generated with the `documents:search` action will be\r\n // accepted by the server, when usined with the search endpoint.\r\n const paramsJSON = JSON.stringify(parameters);\r\n const digest = Buffer.from(\r\n createHmac(\"sha256\", searchKey).update(paramsJSON).digest(\"base64\")\r\n );\r\n const keyPrefix = searchKey.substr(0, 4);\r\n const rawScopedKey = `${digest}${keyPrefix}${paramsJSON}`;\r\n\r\n return Buffer.from(rawScopedKey).toString(\"base64\");\r\n }\r\n\r\n static get RESOURCEPATH() {\r\n return RESOURCEPATH;\r\n }\r\n}\r\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/metrics.json\";\n\nexport interface MetricsResponse {\n [key: `system_cpu${number}_active_percentage`]: string;\n system_cpu_active_percentage: string;\n system_disk_total_bytes: string;\n system_disk_used_bytes: string;\n system_memory_total_bytes: string;\n system_memory_total_swap_bytes?: string;\n system_memory_used_bytes: string;\n system_memory_used_swap_bytes?: string;\n system_network_received_bytes: string;\n system_network_sent_bytes: string;\n typesense_memory_active_bytes: string;\n typesense_memory_allocated_bytes: string;\n typesense_memory_fragmentation_ratio: string;\n typesense_memory_mapped_bytes: string;\n typesense_memory_metadata_bytes: string;\n typesense_memory_resident_bytes: string;\n typesense_memory_retained_bytes: string;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\r\nimport Configuration from \"./Configuration\";\r\nimport RequestWithCache from \"./RequestWithCache\";\r\nimport {\r\n DocumentSchema,\r\n SearchParams,\r\n SearchParamsWithPreset,\r\n SearchResponse,\r\n} from \"./Documents\";\r\n\r\nconst RESOURCEPATH = \"/multi_search\";\r\n\r\nexport interface MultiSearchRequestSchema extends SearchParams {\r\n collection?: string;\r\n \"x-typesense-api-key\"?: string;\r\n}\r\n\r\nexport interface MultiSearchRequestWithPresetSchema\r\n extends SearchParamsWithPreset {\r\n collection?: string;\r\n \"x-typesense-api-key\"?: string;\r\n}\r\n\r\nexport interface MultiSearchRequestsSchema {\r\n searches: (MultiSearchRequestSchema | MultiSearchRequestWithPresetSchema)[];\r\n}\r\n\r\nexport interface MultiSearchResponse {\r\n results: { [Index in keyof T]: SearchResponse } & {\r\n length: T[\"length\"];\r\n };\r\n}\r\n\r\nexport default class MultiSearch {\r\n private requestWithCache: RequestWithCache;\r\n\r\n constructor(\r\n private apiCall: ApiCall,\r\n private configuration: Configuration,\r\n private useTextContentType: boolean = false\r\n ) {\r\n this.requestWithCache = new RequestWithCache();\r\n }\r\n\r\n clearCache() {\r\n this.requestWithCache.clearCache();\r\n }\r\n\r\n async perform(\r\n searchRequests: MultiSearchRequestsSchema,\r\n commonParams: Partial = {},\r\n {\r\n cacheSearchResultsForSeconds = this.configuration\r\n .cacheSearchResultsForSeconds,\r\n }: { cacheSearchResultsForSeconds?: number } = {}\r\n ): Promise> {\r\n const additionalHeaders = {};\r\n if (this.useTextContentType) {\r\n additionalHeaders[\"content-type\"] = \"text/plain\";\r\n }\r\n\r\n const additionalQueryParams = {};\r\n if (this.configuration.useServerSideSearchCache === true) {\r\n additionalQueryParams[\"use_cache\"] = true;\r\n }\r\n const queryParams = Object.assign({}, commonParams, additionalQueryParams);\r\n\r\n return this.requestWithCache.perform(\r\n this.apiCall,\r\n this.apiCall.post,\r\n [RESOURCEPATH, searchRequests, queryParams, additionalHeaders],\r\n { cacheResponseForSeconds: cacheSearchResultsForSeconds }\r\n ) as Promise>;\r\n }\r\n}\r\n","import ApiCall from \"./ApiCall\";\r\n\r\nconst RESOURCEPATH = \"/operations\";\r\n\r\nexport default class Operations {\r\n constructor(private apiCall: ApiCall) {}\r\n\r\n async perform(\r\n operationName: \"vote\" | \"snapshot\" | \"cache/clear\" | string,\r\n queryParameters: Record = {}\r\n ): Promise {\r\n return this.apiCall.post(\r\n `${RESOURCEPATH}/${operationName}`,\r\n {},\r\n queryParameters\r\n );\r\n }\r\n}\r\n","import ApiCall from \"./ApiCall\";\r\nimport Collections from \"./Collections\";\r\nimport Overrides, { OverrideCreateSchema } from \"./Overrides\";\r\n\r\nexport interface OverrideSchema extends OverrideCreateSchema {\r\n id: string;\r\n}\r\n\r\nexport interface OverrideDeleteSchema {\r\n id: string;\r\n}\r\n\r\nexport default class Override {\r\n constructor(\r\n private collectionName: string,\r\n private overrideId: string,\r\n private apiCall: ApiCall\r\n ) {}\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(this.endpointPath());\r\n }\r\n\r\n async delete(): Promise {\r\n return this.apiCall.delete(this.endpointPath());\r\n }\r\n\r\n private endpointPath(): string {\r\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Overrides.RESOURCEPATH}/${encodeURIComponent(this.overrideId)}`;\r\n }\r\n}\r\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { OverrideSchema } from \"./Override\";\n\nconst RESOURCEPATH = \"/overrides\";\n\nexport interface OverrideRuleQuerySchema {\n query?: string;\n match?: \"exact\" | \"contains\";\n}\n\nexport interface OverrideRuleFilterSchema {\n filter_by?: string;\n}\n\nexport interface OverrideRuleTagsSchema {\n tags?: string[];\n}\n\nexport interface OverrideCreateSchema {\n rule: OverrideRuleQuerySchema &\n OverrideRuleFilterSchema &\n OverrideRuleTagsSchema;\n filter_by?: string;\n sort_by?: string;\n remove_matched_tokens?: boolean;\n replace_query?: string;\n includes?: Array<{\n id: string;\n position: number;\n }>;\n excludes?: Array<{ id: string }>;\n filter_curated_hits?: boolean;\n effective_from_ts?: number;\n effective_to_ts?: number;\n stop_processing?: boolean;\n metadata?: object;\n}\n\nexport interface OverridesRetrieveSchema {\n overrides: OverrideSchema[];\n}\n\nexport default class Overrides {\n constructor(\n private collectionName: string,\n private apiCall: ApiCall,\n ) {}\n\n async upsert(\n overrideId: string,\n params: OverrideCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(overrideId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${\n Overrides.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\r\nimport Presets, { PresetCreateSchema } from \"./Presets\";\r\n\r\nexport interface PresetSchema extends PresetCreateSchema {\r\n name: string;\r\n}\r\n\r\nexport interface PresetDeleteSchema {\r\n name: string;\r\n}\r\n\r\nexport default class Preset {\r\n constructor(private presetId: string, private apiCall: ApiCall) {}\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(this.endpointPath());\r\n }\r\n\r\n async delete(): Promise {\r\n return this.apiCall.delete(this.endpointPath());\r\n }\r\n\r\n private endpointPath(): string {\r\n return `${Presets.RESOURCEPATH}/${encodeURIComponent(this.presetId)}`;\r\n }\r\n}\r\n","import ApiCall from \"./ApiCall\";\r\nimport { PresetSchema } from \"./Preset\";\r\nimport { SearchParams } from \"./Documents\";\r\nimport { MultiSearchRequestsSchema } from \"./MultiSearch\";\r\n\r\nconst RESOURCEPATH = \"/presets\";\r\n\r\nexport interface PresetCreateSchema {\r\n value: SearchParams | MultiSearchRequestsSchema;\r\n}\r\n\r\nexport interface PresetsRetrieveSchema {\r\n presets: PresetSchema[];\r\n}\r\n\r\nexport default class Presets {\r\n constructor(private apiCall: ApiCall) {}\r\n\r\n async upsert(\r\n presetId: string,\r\n params: PresetCreateSchema\r\n ): Promise {\r\n return this.apiCall.put(this.endpointPath(presetId), params);\r\n }\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(this.endpointPath());\r\n }\r\n\r\n private endpointPath(operation?: string): string {\r\n return `${Presets.RESOURCEPATH}${\r\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\r\n }`;\r\n }\r\n\r\n static get RESOURCEPATH(): string {\r\n return RESOURCEPATH;\r\n }\r\n}\r\n","const defaultCacheResponseForSeconds = 2 * 60;\r\nconst defaultMaxSize = 100;\r\n\r\nexport default class RequestWithCache {\r\n private responseCache: Map = new Map();\r\n private responsePromiseCache: Map = new Map();\r\n\r\n clearCache() {\r\n this.responseCache = new Map();\r\n this.responsePromiseCache = new Map();\r\n }\r\n\r\n // Todo: should probably be passed a callback instead, or an apiCall instance. Types are messy this way\r\n async perform(\r\n requestContext: any,\r\n requestFunction: (...params: any) => unknown,\r\n requestFunctionArguments: any[],\r\n cacheOptions: CacheOptions\r\n ): Promise {\r\n const {\r\n cacheResponseForSeconds = defaultCacheResponseForSeconds,\r\n maxSize = defaultMaxSize,\r\n } = cacheOptions;\r\n const isCacheDisabled = cacheResponseForSeconds <= 0 || maxSize <= 0;\r\n\r\n if (isCacheDisabled) {\r\n return requestFunction.call(requestContext, ...requestFunctionArguments);\r\n }\r\n\r\n const requestFunctionArgumentsJSON = JSON.stringify(\r\n requestFunctionArguments\r\n );\r\n const cacheEntry = this.responseCache.get(requestFunctionArgumentsJSON);\r\n const now = Date.now();\r\n\r\n if (cacheEntry) {\r\n const isEntryValid =\r\n now - cacheEntry.requestTimestamp < cacheResponseForSeconds * 1000;\r\n if (isEntryValid) {\r\n this.responseCache.delete(requestFunctionArgumentsJSON);\r\n this.responseCache.set(requestFunctionArgumentsJSON, cacheEntry);\r\n return Promise.resolve(cacheEntry.response);\r\n } else {\r\n this.responseCache.delete(requestFunctionArgumentsJSON);\r\n }\r\n }\r\n\r\n const cachePromiseEntry = this.responsePromiseCache.get(\r\n requestFunctionArgumentsJSON\r\n );\r\n\r\n if (cachePromiseEntry) {\r\n const isEntryValid =\r\n now - cachePromiseEntry.requestTimestamp <\r\n cacheResponseForSeconds * 1000;\r\n if (isEntryValid) {\r\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\r\n this.responsePromiseCache.set(\r\n requestFunctionArgumentsJSON,\r\n cachePromiseEntry\r\n );\r\n return cachePromiseEntry.responsePromise;\r\n } else {\r\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\r\n }\r\n }\r\n\r\n const responsePromise = requestFunction.call(\r\n requestContext,\r\n ...requestFunctionArguments\r\n );\r\n this.responsePromiseCache.set(requestFunctionArgumentsJSON, {\r\n requestTimestamp: now,\r\n responsePromise,\r\n });\r\n\r\n const response = await responsePromise;\r\n this.responseCache.set(requestFunctionArgumentsJSON, {\r\n requestTimestamp: now,\r\n response,\r\n });\r\n\r\n const isCacheOverMaxSize = this.responseCache.size > maxSize;\r\n if (isCacheOverMaxSize) {\r\n const oldestEntry = this.responseCache.keys().next().value;\r\n this.responseCache.delete(oldestEntry);\r\n }\r\n const isResponsePromiseCacheOverMaxSize =\r\n this.responsePromiseCache.size > maxSize;\r\n if (isResponsePromiseCacheOverMaxSize) {\r\n const oldestEntry = this.responsePromiseCache.keys().next().value;\r\n this.responsePromiseCache.delete(oldestEntry);\r\n }\r\n return response as T;\r\n }\r\n}\r\n\r\ninterface CacheOptions {\r\n cacheResponseForSeconds?: number;\r\n maxSize?: number;\r\n}\r\n","import Configuration, { ConfigurationOptions } from \"./Configuration\";\r\nimport ApiCall from \"./ApiCall\";\r\nimport MultiSearch from \"./MultiSearch\";\r\nimport { DocumentSchema } from \"./Documents\";\r\nimport { SearchOnlyCollection } from \"./SearchOnlyCollection\";\r\n\r\nexport default class SearchClient {\r\n public readonly multiSearch: MultiSearch;\r\n private readonly configuration: Configuration;\r\n private readonly apiCall: ApiCall;\r\n private readonly individualCollections: Record;\r\n\r\n constructor(options: ConfigurationOptions) {\r\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? true;\r\n if (\r\n options.sendApiKeyAsQueryParam === true &&\r\n (options.apiKey || \"\").length > 2000\r\n ) {\r\n console.warn(\r\n \"[typesense] API Key is longer than 2000 characters which is over the allowed limit, so disabling sending it as a query parameter.\"\r\n );\r\n options.sendApiKeyAsQueryParam = false;\r\n }\r\n\r\n this.configuration = new Configuration(options);\r\n this.apiCall = new ApiCall(this.configuration);\r\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration, true);\r\n this.individualCollections = {};\r\n }\r\n\r\n clearCache() {\r\n this.multiSearch.clearCache();\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n Object.entries(this.individualCollections).forEach(([_, collection]) => {\r\n collection.documents().clearCache();\r\n });\r\n }\r\n\r\n collections(\r\n collectionName: string\r\n ): SearchOnlyCollection | SearchOnlyCollection {\r\n if (!collectionName) {\r\n throw new Error(\r\n \"Typesense.SearchClient only supports search operations, so the collectionName that needs to \" +\r\n \"be searched must be specified. Use Typesense.Client if you need to access the collection object.\"\r\n );\r\n } else {\r\n if (this.individualCollections[collectionName] === undefined) {\r\n this.individualCollections[collectionName] = new SearchOnlyCollection(\r\n collectionName,\r\n this.apiCall,\r\n this.configuration\r\n );\r\n }\r\n return this.individualCollections[collectionName];\r\n }\r\n }\r\n}\r\n","import { DocumentSchema, SearchableDocuments } from \"./Documents\";\r\nimport ApiCall from \"./ApiCall\";\r\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\r\n\r\nexport class SearchOnlyCollection {\r\n private readonly _documents: SearchableDocuments;\r\n\r\n constructor(\r\n private readonly name: string,\r\n private readonly apiCall: ApiCall,\r\n private readonly configuration: any\r\n ) {\r\n this._documents = new SearchOnlyDocuments(\r\n this.name,\r\n this.apiCall,\r\n this.configuration\r\n );\r\n }\r\n\r\n documents(): SearchableDocuments {\r\n return this._documents;\r\n }\r\n}\r\n","import RequestWithCache from \"./RequestWithCache\";\r\nimport ApiCall from \"./ApiCall\";\r\nimport Configuration from \"./Configuration\";\r\nimport Collections from \"./Collections\";\r\nimport type {\r\n DocumentSchema,\r\n SearchableDocuments,\r\n SearchOptions,\r\n SearchParams,\r\n SearchParamsWithPreset,\r\n SearchResponse,\r\n} from \"./Documents\";\r\n\r\nconst RESOURCEPATH = \"/documents\";\r\n\r\nexport class SearchOnlyDocuments\r\n implements SearchableDocuments\r\n{\r\n protected requestWithCache: RequestWithCache = new RequestWithCache();\r\n\r\n constructor(\r\n protected collectionName: string,\r\n protected apiCall: ApiCall,\r\n protected configuration: Configuration\r\n ) {}\r\n\r\n clearCache() {\r\n this.requestWithCache.clearCache();\r\n }\r\n\r\n async search(\r\n searchParameters: SearchParams | SearchParamsWithPreset,\r\n {\r\n cacheSearchResultsForSeconds = this.configuration\r\n .cacheSearchResultsForSeconds,\r\n abortSignal = null,\r\n }: SearchOptions = {}\r\n ): Promise> {\r\n const additionalQueryParams = {};\r\n if (this.configuration.useServerSideSearchCache === true) {\r\n additionalQueryParams[\"use_cache\"] = true;\r\n }\r\n for (const key in searchParameters) {\r\n if (Array.isArray(searchParameters[key])) {\r\n additionalQueryParams[key] = searchParameters[key].join(\",\");\r\n }\r\n }\r\n const queryParams = Object.assign(\r\n {},\r\n searchParameters,\r\n additionalQueryParams\r\n );\r\n\r\n return this.requestWithCache.perform(\r\n this.apiCall,\r\n this.apiCall.get,\r\n [this.endpointPath(\"search\"), queryParams, { abortSignal }],\r\n {\r\n cacheResponseForSeconds: cacheSearchResultsForSeconds,\r\n }\r\n ) as Promise>;\r\n }\r\n\r\n protected endpointPath(operation?: string) {\r\n return `${Collections.RESOURCEPATH}/${this.collectionName}${RESOURCEPATH}${\r\n operation === undefined ? \"\" : \"/\" + operation\r\n }`;\r\n }\r\n\r\n static get RESOURCEPATH() {\r\n return RESOURCEPATH;\r\n }\r\n}\r\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/stats.json\";\n\nexport interface EndpointStats {\n [endpoint: string]: number;\n}\n\nexport interface StatsResponse {\n delete_latency_ms?: number;\n delete_requests_per_second?: number;\n import_latency_ms?: number;\n import_requests_per_second?: number;\n latency_ms?: EndpointStats;\n overloaded_requests_per_second?: number;\n pending_write_batches?: number;\n requests_per_second?: EndpointStats;\n search_latency_ms?: number;\n search_requests_per_second?: number;\n total_requests_per_second?: number;\n write_latency_ms?: number;\n write_requests_per_second?: number;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Stopwords, { StopwordCreateSchema } from \"./Stopwords\";\n\nexport interface StopwordSchema extends StopwordCreateSchema {\n id: string;\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordDeleteSchema {\n id: string;\n}\n\nexport default class Stopword {\n constructor(\n private stopwordId: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Stopwords.RESOURCEPATH}/${encodeURIComponent(this.stopwordId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { StopwordSchema } from \"./Stopword\";\n\nconst RESOURCEPATH = \"/stopwords\";\n\nexport interface StopwordCreateSchema {\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordsRetrieveSchema {\n stopwords: StopwordSchema[];\n}\n\nexport default class Stopwords {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n stopwordId: string,\n params: StopwordCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(stopwordId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Stopwords.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\r\nimport Collections from \"./Collections\";\r\nimport Synonyms, { SynonymCreateSchema } from \"./Synonyms\";\r\n\r\nexport interface SynonymSchema extends SynonymCreateSchema {\r\n id: string;\r\n}\r\n\r\nexport interface SynonymDeleteSchema {\r\n id: string;\r\n}\r\n\r\nexport default class Synonym {\r\n constructor(\r\n private collectionName: string,\r\n private synonymId: string,\r\n private apiCall: ApiCall\r\n ) {}\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(this.endpointPath());\r\n }\r\n\r\n async delete(): Promise {\r\n return this.apiCall.delete(this.endpointPath());\r\n }\r\n\r\n private endpointPath(): string {\r\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Synonyms.RESOURCEPATH}/${encodeURIComponent(this.synonymId)}`;\r\n }\r\n}\r\n","import ApiCall from \"./ApiCall\";\r\nimport Collections from \"./Collections\";\r\nimport { SynonymSchema } from \"./Synonym\";\r\n\r\nconst RESOURCEPATH = \"/synonyms\";\r\n\r\nexport interface SynonymCreateSchema {\r\n synonyms: string[];\r\n root?: string;\r\n locale?: string;\r\n symbols_to_index?: string[];\r\n}\r\n\r\nexport interface SynonymsRetrieveSchema {\r\n synonyms: SynonymSchema[];\r\n}\r\n\r\nexport default class Synonyms {\r\n constructor(private collectionName: string, private apiCall: ApiCall) {}\r\n\r\n async upsert(\r\n synonymId: string,\r\n params: SynonymCreateSchema\r\n ): Promise {\r\n return this.apiCall.put(\r\n this.endpointPath(synonymId),\r\n params\r\n );\r\n }\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(this.endpointPath());\r\n }\r\n\r\n private endpointPath(operation?: string) {\r\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${\r\n Synonyms.RESOURCEPATH\r\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\r\n }\r\n\r\n static get RESOURCEPATH(): string {\r\n return RESOURCEPATH;\r\n }\r\n}\r\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 var _loggersByName = {};\n var defaultLogger = null;\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() {\n /*jshint validthis:true */\n var level = this.getLevel();\n\n // Replace the actual methods.\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, this.name);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n\n // Return any important warnings.\n if (typeof console === undefinedType && level < this.levels.SILENT) {\n return \"No console available for logging\";\n }\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) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this);\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, factory) {\n // Private instance variables.\n var self = this;\n /**\n * The level inherited from a parent logger (or a global default). We\n * cache this here rather than delegating to the parent so that it stays\n * in sync with the actual logging methods that we have installed (the\n * parent could change levels but we might not have rebuilt the loggers\n * in this child yet).\n * @type {number}\n */\n var inheritedLevel;\n /**\n * The default level for this logger, if any. If set, this overrides\n * `inheritedLevel`.\n * @type {number|null}\n */\n var defaultLevel;\n /**\n * A user-specific level for this logger. If set, this overrides\n * `defaultLevel`.\n * @type {number|null}\n */\n var userLevel;\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 cookieName = encodeURIComponent(storageKey);\n var location = cookie.indexOf(cookieName + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(\n cookie.slice(location + cookieName.length + 1)\n )[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 } 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 function normalizeLevel(input) {\n var level = input;\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 return level;\n } else {\n throw new TypeError(\"log.setLevel() called with invalid level: \" + input);\n }\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 if (userLevel != null) {\n return userLevel;\n } else if (defaultLevel != null) {\n return defaultLevel;\n } else {\n return inheritedLevel;\n }\n };\n\n self.setLevel = function (level, persist) {\n userLevel = normalizeLevel(level);\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(userLevel);\n }\n\n // NOTE: in v2, this should call rebuild(), which updates children.\n return replaceLoggingMethods.call(self);\n };\n\n self.setDefaultLevel = function (level) {\n defaultLevel = normalizeLevel(level);\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.resetLevel = function () {\n userLevel = null;\n clearPersistedLevel();\n replaceLoggingMethods.call(self);\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 self.rebuild = function () {\n if (defaultLogger !== self) {\n inheritedLevel = normalizeLevel(defaultLogger.getLevel());\n }\n replaceLoggingMethods.call(self);\n\n if (defaultLogger === self) {\n for (var childName in _loggersByName) {\n _loggersByName[childName].rebuild();\n }\n }\n };\n\n // Initialize all the internal levels.\n inheritedLevel = normalizeLevel(\n defaultLogger ? defaultLogger.getLevel() : \"WARN\"\n );\n var initialLevel = getPersistedLevel();\n if (initialLevel != null) {\n userLevel = normalizeLevel(initialLevel);\n }\n replaceLoggingMethods.call(self);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n defaultLogger = new Logger();\n\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,\n defaultLogger.methodFactory\n );\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","/* (ignored) */","/* (ignored) */","/* (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 e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw new Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\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}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\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 setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\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 _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _isNativeFunction(fn) {\n try {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n } catch (e) {\n return typeof fn === \"function\";\n }\n}","export default function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\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(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\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 _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\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(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\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 getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport progressEventReducer from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst fetchProgressDecorator = (total, fn) => {\n const lengthComputable = total != null;\n return (loaded) => setTimeout(() => fn({\n lengthComputable,\n total,\n loaded\n }));\n}\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst supportsRequestStream = isReadableStreamSupported && (() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n})();\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported && !!(()=> {\n try {\n return utils.isReadableStream(new Response('').body);\n } catch(err) {\n // return undefined\n }\n})();\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n return (await new Request(body).arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ?\n composeSignals([signal, cancelToken], timeout) : [];\n\n let finished, request;\n\n const onFinish = () => {\n !finished && setTimeout(() => {\n composedSignal && composedSignal.unsubscribe();\n });\n\n finished = true;\n }\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, fetchProgressDecorator(\n requestContentLength,\n progressEventReducer(onUploadProgress)\n ), null, encodeText);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'cors' : 'omit';\n }\n\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n withCredentials\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onDownloadProgress && fetchProgressDecorator(\n responseContentLength,\n progressEventReducer(onDownloadProgress, true)\n ), isStreamResponse && onFinish, encodeText),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && onFinish();\n\n stopTimeout && stopTimeout();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n onFinish();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport progressEventReducer from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType} = _config;\n let 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 let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, 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 const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n 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(new AxiosError('Request aborted', AxiosError.ECONNABORTED, _config, 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(new AxiosError('Network Error', AxiosError.ERR_NETWORK, _config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n _config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\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', progressEventReducer(_config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof _config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(_config.onUploadProgress));\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : 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 const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\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\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(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, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n 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\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const 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 */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(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 {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _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 const {transitional, paramsSerializer, headers} = config;\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 if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let 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 const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\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,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport utils from '../utils.js';\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 {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n 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: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\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 */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n 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 *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\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 *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\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 *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\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 *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(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 config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\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 config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\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 *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, 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(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const 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 withXSRFToken: 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 beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\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 *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\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\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\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 env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\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 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","export const VERSION = \"1.7.2\";","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\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 * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\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 *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst composeSignals = (signals, timeout) => {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (cancel) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = cancel instanceof Error ? cancel : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal &&\n (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort));\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = unsubscribe;\n\n return [signal, () => {\n timer && clearTimeout(timer);\n timer = null;\n }];\n}\n\nexport default composeSignals;\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default 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\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\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 const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let 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 const 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","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\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} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\n\nexport default (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n }, freq);\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\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\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\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 *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\n/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n const threshold = 1000 / freq;\n let timer = null;\n return function throttled() {\n const force = this === true;\n\n const now = Date.now();\n if (force || now - timestamp > threshold) {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n timestamp = now;\n return fn.apply(null, arguments);\n }\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n timestamp = Date.now();\n return fn.apply(null, arguments);\n }, threshold - (now - timestamp));\n }\n };\n}\n\nexport default throttle;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","\n\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize, encode) {\n for await (const chunk of iterable) {\n yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize);\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => {\n const iterator = readBytes(stream, chunkSize, encode);\n\n let bytes = 0;\n\n return new ReadableStream({\n type: 'bytes',\n\n async pull(controller) {\n const {done, value} = await iterator.next();\n\n if (done) {\n controller.close();\n onFinish();\n return;\n }\n\n let len = value.byteLength;\n onProgress && onProgress(bytes += len);\n controller.enqueue(new Uint8Array(value));\n },\n cancel(reason) {\n onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\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 *\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 (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\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 *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\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 *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = (\n (product) => {\n return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0\n })(typeof navigator !== 'undefined' && navigator.product);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\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 && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let 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 {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\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 *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\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 (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 const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\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 *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && 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 *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\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 *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\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))","// 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};","import Client from \"./Typesense/Client\";\nimport SearchClient from \"./Typesense/SearchClient\";\nimport * as Errors from \"./Typesense/Errors\";\n\nexport { Client, SearchClient, Errors };\nexport default { Client, SearchClient, Errors };\n"],"names":["Aliases","Alias","name","apiCall","_classCallCheck","_createClass","key","value","_retrieve","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","abrupt","get","endpointPath","stop","retrieve","apply","arguments","_delete2","_callee2","_callee2$","_context2","delete","_delete","concat","RESOURCEPATH","encodeURIComponent","default","_upsert","mapping","put","upsert","_x","_x2","aliasName","AnalyticsRules","AnalyticsRule","AnalyticsEvents","Analytics","_defineProperty","_analyticsRules","_analyticsEvents","rules","id","undefined","individualAnalyticsRules","events","_create","params","post","create","operation","axios","HTTPError","ObjectAlreadyExists","ObjectNotFound","ObjectUnprocessable","RequestMalformed","RequestUnauthorized","ServerError","TypesenseError","Agent","HTTPAgent","HTTPSAgent","APIKEYHEADERNAME","HEALTHY","UNHEALTHY","isNodeJSEnvironment","process","versions","node","ApiCall","configuration","apiKey","nodes","JSON","parse","stringify","nearestNode","connectionTimeoutSeconds","healthcheckIntervalSeconds","numRetriesPerRequest","numRetries","retryIntervalSeconds","sendApiKeyAsQueryParam","additionalUserHeaders","additionalHeaders","logger","initializeMetadataForNodes","currentNodeIndex","_get","endpoint","queryParameters","_ref","_ref$abortSignal","abortSignal","_ref$responseType","responseType","_args","length","performRequest","_args2","_post","_callee3","bodyParameters","_args3","_callee3$","_context3","_x3","_put","_callee4","_args4","_callee4$","_context4","_x4","_patch","_callee5","_args5","_callee5$","_context5","patch","_x5","_performRequest","_callee6","requestType","_ref2","_this","_ref2$queryParameters","_ref2$bodyParameters","_ref2$additionalHeade","_ref2$abortSignal","_ref2$responseType","_ref2$skipConnectionT","skipConnectionTimeout","_ref2$enableKeepAlive","enableKeepAlive","requestNumber","lastException","_loop","_ret","numTries","_callee6$","_context7","validate","Date","now","debug","toUpperCase","abortListener","requestOptions","cancelToken","source","response","_response$data","_response$data2","_error$response","_loop$","_context6","getNextNode","index","aborted","v","Promise","reject","Error","method","url","uriFor","headers","Object","assign","defaultHeaders","maxContentLength","Infinity","maxBodyLength","validateStatus","status","transformResponse","data","transformedData","startsWith","timeout","keys","httpAgent","warn","keepAlive","httpsAgent","paramsSerializer","_typeof","CancelToken","cancel","addEventListener","token","sent","setNodeHealthcheck","resolve","customErrorForResponse","message","t0","code","timer","removeEventListener","finish","delegateYield","_x6","_x7","_x8","isHealthy","nodeDueForHealthcheck","map","join","candidateNode","i","isDueForHealthcheck","lastAccessTimestamp","_this2","forEach","protocol","host","port","path","_timer","_callee7","seconds","_callee7$","_context8","setTimeout","_x9","messageFromServer","errorMessage","trim","error","httpStatus","Configuration","Collections","Collection","Keys","Key","Debug","Metrics","Stats","Health","Operations","MultiSearch","Presets","Preset","Stopwords","Stopword","Conversations","Conversation","Client","options","_options$sendApiKeyAs","metrics","stats","health","operations","multiSearch","_collections","individualCollections","_aliases","individualAliases","_keys","individualKeys","_presets","individualPresets","_stopwords","individualStopwords","analytics","_conversations","individualConversations","collections","collectionName","aliases","presets","stopwords","conversations","Documents","Overrides","Override","Synonyms","Synonym","Document","_documents","_overrides","_synonyms","_update","schema","update","_exists","exists","documents","documentId","individualDocuments","overrides","overrideId","individualOverrides","synonyms","synonymId","individualSynonyms","MissingConfigurationError","setDefaultPathInNode","setDefaultPortInNode","_objectSpread","randomizeNodes","shuffleArray","timeoutSeconds","cacheSearchResultsForSeconds","useServerSideSearchCache","logLevel","setLevel","showDeprecationWarnings","validateNodes","isNodeMissingAnyParameters","some","every","hasOwnProperty","masterNode","readReplicaNodes","array","j","Math","floor","random","ConversationModels","ConversationModel","_conversationsModels","models","individualConversationModels","partialDocument","ImportError","SearchOnlyDocuments","_inherits","_callSuper","document","action","query","_createMany","import","createMany","_import2","documentsInJSONLFormat","resultsInJSONLFormat","resultsInJSONFormat","failedItems","_args6","Array","isArray","RangeError","includes","split","r","filter","success","_import","_importStream","readableStream","_args7","importStream","_export2","_callee8","_args8","_callee8$","_export","_exportStream","_callee9","_args9","_callee9$","_context9","exportStream","_TypesenseError","importResults","_Error","constructor","setPrototypeOf","_assertThisInitialized","prototype","_wrapNativeSuper","createHmac","generateScopedSearchKey","searchKey","parameters","paramsJSON","digest","Buffer","from","keyPrefix","substr","rawScopedKey","toString","RequestWithCache","useTextContentType","requestWithCache","clearCache","_perform","searchRequests","commonParams","_ref$cacheSearchResul","additionalQueryParams","queryParams","perform","cacheResponseForSeconds","operationName","presetId","defaultCacheResponseForSeconds","defaultMaxSize","Map","responseCache","responsePromiseCache","requestContext","requestFunction","requestFunctionArguments","cacheOptions","_cacheOptions$cacheRe","_cacheOptions$maxSize","maxSize","isCacheDisabled","requestFunctionArgumentsJSON","cacheEntry","isEntryValid","cachePromiseEntry","_isEntryValid","responsePromise","isCacheOverMaxSize","oldestEntry","isResponsePromiseCacheOverMaxSize","_oldestEntry","call","_toConsumableArray","requestTimestamp","set","size","SearchOnlyCollection","SearchClient","console","entries","_slicedToArray","_","collection","_search","searchParameters","search","stopwordId","Errors"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"typesense.js","mappings":"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;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;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;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA,qDAAqD;AACrD,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,sBAAsB;AACtB;;AAEA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA,oCAAoC;AACpC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;;;;;;;;;;ACpWD;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA,cAAc,sGAAiC;AAC/C;AACA,gBAAgB;AAChB;AACA;AACA,GAAG,EAAE,yBAAyB,SAAS,yBAAyB;AAChE;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,KAAK;AACL,iDAAiD;AACjD;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;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;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;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,eAAe;AAClC;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,SAAS;AACtB;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;;;;;;;;;;;;;;;ACHe;AACf;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;ACLA;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;;;;;;;;;;;;;;;;;ACJiD;AACoB;AACtD;AACf,MAAM,wEAAwB;AAC9B;AACA;AACA;AACA,cAAc,8DAAc;AAC5B;;;;;;;;;;;;;;;;ACR+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;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACLiD;AAClC;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH,kBAAkB,8DAAc;AAChC;;;;;;;;;;;;;;;AChBe;AACf;AACA;AACA,IAAI;AACJ;AACA;AACA;;;;;;;;;;;;;;;ACNe;AACf;AACA,yFAAyF;AACzF,IAAI;AACJ;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;ACPe;AACf;AACA;;;;;;;;;;;;;;;ACFe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,YAAY,kEAAkE;AACtF,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;AC1Be;AACf;AACA;;;;;;;;;;;;;;;ACFe;AACf;AACA;;;;;;;;;;;;;;;;;ACFkC;AAC6B;AAChD;AACf,eAAe,sDAAO;AACtB;AACA,IAAI;AACJ;AACA;AACA,SAAS,qEAAqB;AAC9B;;;;;;;;;;;;;;;ACTe;AACf;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACNiD;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,kBAAkB,sDAAO;AACzB;AACA;AACA;AACA,oBAAoB,sDAAO;AAC3B;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACVkC;AACS;AAC5B;AACf,UAAU,2DAAW;AACrB,qBAAqB,sDAAO;AAC5B;;;;;;;;;;;;;;;ACLe;AACf;;AAEA;AACA;AACA,IAAI;AACJ;AACA,GAAG;AACH;;;;;;;;;;;;;;;;ACRqD;AACtC;AACf;AACA,oCAAoC,gEAAgB;AACpD;AACA;AACA;AACA,sFAAsF,gEAAgB;AACtG;;;;;;;;;;;;;;;;;;;ACRiD;AACA;AACI;AACd;AACxB;AACf;AACA;AACA,2BAA2B,gEAAgB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,yDAAS,mBAAmB,8DAAc;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,WAAW,8DAAc;AACzB;AACA;AACA;;;;;;;;;;;;;;;;;;;;AC7BgC;AACI;AACF;AACI;AACS;;AAE/C;AACA,QAAQ,gDAAW;AACnB,OAAO,+CAAU;AACjB,SAAS,iDAAY;AACrB;;AAEA,iDAAK;AACL;AACA;AACA,yCAAyC,MAAM;AAC/C,MAAM;AACN;AACA;AACA,8CAA8C,MAAM;AACpD;AACA,CAAC;;AAED,sCAAsC,OAAO;;AAE7C,sCAAsC,iDAAK;;AAE3C,iEAAe;AACf;AACA,eAAe,iDAAK;;AAEpB,WAAW,QAAQ;AACnB;AACA;;AAEA;;AAEA,oBAAoB,YAAY;AAChC;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,oBAAoB,2DAAU,qBAAqB,GAAG;AACtD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,yCAAyC,IAAI;AAC7C;AACA;;AAEA;AACA;AACA;;AAEA,gBAAgB,2DAAU;AAC1B;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;AC9E2C;AACZ;AACe;AACW;AACJ;AACH;AACmB;AACd;AACjB;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,qCAAqC,0DAAQ;AAC7C;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA,CAAC;;AAED;;AAEA;AACA;AACA,WAAW,iDAAK;AAChB,IAAI;AACJ;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA,2CAA2C,iDAAK;AAChD;AACA,kBAAkB,2DAAU,mBAAmB,KAAK,qBAAqB,2DAAU;AACnF,OAAO;AACP,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;;AAEA,KAAK,iDAAK;AACV;AACA;;AAEA,KAAK,iDAAK;AACV;AACA;;AAEA,KAAK,iDAAK;AACV;AACA;;AAEA,KAAK,iDAAK;AACV;AACA;;AAEA,KAAK,iDAAK;AACV;AACA;AACA;;AAEA;AACA,iBAAiB,iDAAK;;AAEtB;AACA;;AAEA,iEAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,EAAE,qEAAa;;AAEnB;;AAEA;AACA,IAAI,sEAAc;;AAElB;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;;AAEA,UAAU,iDAAK;AACf;AACA;;AAEA;AACA,eAAe,oEAAW;AAC1B;AACA,UAAU,4EAAoB;AAC9B;AACA;AACA;;AAEA,SAAS,iDAAK;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP,oCAAoC,iDAAK;;AAEzC;AACA,QAAQ,oEAAW;AACnB;AACA,UAAU,4EAAoB;AAC9B;AACA;AACA;AACA;;AAEA;;AAEA,uCAAuC,iDAAK;;AAE5C;;AAEA;;AAEA;AACA,MAAM,2DAAM;AACZ;AACA,iBAAiB,6DAAY;AAC7B;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,IAAI;AACJ;;AAEA;AACA;AACA,YAAY,2DAAU,kBAAkB,2DAAU;AAClD;AACA;AACA;AACA;AACA;;AAEA,UAAU,2DAAU;AACpB;AACA,CAAC,CAAC,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChO+B;AACO;AACsB;AAChB;AACQ;AACC;AACZ;AACO;AACmB;AACd;;AAExD;;AAEA,iEAAe;AACf;AACA,oBAAoB,qEAAa;AACjC;AACA,2BAA2B,6DAAY;AACvC,SAAS,cAAc;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,8BAA8B,6DAAY;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAM,2DAAM;AACZ;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,iBAAiB,2DAAU,oBAAoB,2DAAU;;AAEzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,2DAAU,kBAAkB,2DAAU;;AAEvD;AACA;AACA;;AAEA;AACA;AACA;AACA,mDAAmD,iEAAoB;AACvE;AACA;AACA;AACA,iBAAiB,2DAAU;AAC3B;AACA,2CAA2C,2DAAU,aAAa,2DAAU;AAC5E;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAM,iDAAK;AACX;AACA,OAAO;AACP;;AAEA;AACA,SAAS,iDAAK;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,2CAA2C,4EAAoB;AAC/D;;AAEA;AACA;AACA,kDAAkD,4EAAoB;AACtE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,gEAAa;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,qEAAa;;AAElC,oBAAoB,0DAAQ;AAC5B,iBAAiB,2DAAU,2CAA2C,2DAAU;AAChF;AACA;;;AAGA;AACA;AACA,GAAG;AACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7LY;;AAEkB;AACM;AACD;AACY;AACL;AACc;AACH;AACJ;AACN;AACN;AACW;AACH;AACL;AACY;AACH;AACJ;AACW;;AAEzD;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,OAAO;AACpB;AACA;AACA,sBAAsB,sDAAK;AAC3B,mBAAmB,4DAAI,CAAC,sDAAK;;AAE7B;AACA,EAAE,iDAAK,kBAAkB,sDAAK,sBAAsB,iBAAiB;;AAErE;AACA,EAAE,iDAAK,kCAAkC,iBAAiB;;AAE1D;AACA;AACA,0BAA0B,gEAAW;AACrC;;AAEA;AACA;;AAEA;AACA,6BAA6B,0DAAQ;;AAErC;AACA,cAAc,sDAAK;;AAEnB;AACA,sBAAsB,gEAAa;AACnC,oBAAoB,8DAAW;AAC/B,iBAAiB,2DAAQ;AACzB,gBAAgB,iDAAO;AACvB,mBAAmB,8DAAU;;AAE7B;AACA,mBAAmB,4DAAU;;AAE7B;AACA;;AAEA;AACA;AACA;AACA;;AAEA,eAAe,2DAAM;;AAErB;AACA,qBAAqB,iEAAY;;AAEjC;AACA,oBAAoB,4DAAW;;AAE/B,qBAAqB,8DAAY;;AAEjC,4BAA4B,uEAAc,CAAC,iDAAK;;AAEhD,mBAAmB,8DAAQ;;AAE3B,uBAAuB,mEAAc;;AAErC;;AAEA;AACA,iEAAe,KAAK;;;;;;;;;;;;;;;;;ACxFP;;AAEkC;;AAE/C;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,yDAAa;AACtC;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA,iEAAe,WAAW,EAAC;;;;;;;;;;;;;;;;;;ACxHd;;AAEkC;AACf;;AAEhC;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,aAAa,eAAe;AAC5B;AACA;AACA;AACA,EAAE,2DAAU,oDAAoD,2DAAU;AAC1E;AACA;;AAEA,iDAAK,yBAAyB,2DAAU;AACxC;AACA,CAAC;;AAED,iEAAe,aAAa,EAAC;;;;;;;;;;;;;;;;ACxBhB;;AAEE;AACf;AACA;;;;;;;;;;;;;;;;;;;;;;;;ACJa;;AAEqB;AACY;AACW;AACN;AACR;AACI;AACC;AACH;;AAE7C,mBAAmB,6DAAS;;AAE5B;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,mBAAmB,8DAAkB;AACrC,oBAAoB,8DAAkB;AACtC;AACA;;AAEA;AACA;AACA;AACA,aAAa,eAAe;AAC5B,aAAa,SAAS;AACtB;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA,oEAAoE;;AAEpE;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA,aAAa,2DAAW;;AAExB,WAAW,yCAAyC;;AAEpD;AACA,MAAM,6DAAS;AACf;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,UAAU,iDAAK;AACf;AACA;AACA;AACA,QAAQ;AACR,QAAQ,6DAAS;AACjB;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA,oCAAoC,iDAAK;AACzC;AACA;AACA;;AAEA,eAAe,iDAAK;AACpB;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,wDAAY;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA,qBAAqB,2DAAe;AACpC;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA,gBAAgB,2DAAe;AAC/B,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,aAAa,2DAAW;AACxB,qBAAqB,6DAAa;AAClC,WAAW,gEAAQ;AACnB;AACA;;AAEA;AACA,iDAAK;AACL;AACA;AACA,wBAAwB,2DAAW,aAAa;AAChD;AACA;AACA,yBAAyB;AACzB,KAAK;AACL;AACA,CAAC;;AAED,iDAAK;AACL;;AAEA;AACA;AACA,0BAA0B,2DAAW,aAAa;AAClD;AACA;AACA;AACA,UAAU,IAAI;AACd;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA,CAAC;;AAED,iEAAe,KAAK,EAAC;;;;;;;;;;;;;;;;;ACnOR;;AAEmB;;AAEhC;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,OAAO;AACpB;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iDAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,iDAAK;AACnB;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,CAAC;;AAED;AACA,kDAAkD,YAAY;;AAE9D;AACA;AACA;;AAEA,EAAE,iDAAK;AACP;AACA,GAAG;AACH;AACA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,iEAAe,UAAU,EAAC;;;;;;;;;;;;;;;;;;ACnGb;;AAEmB;AACsB;;AAEtD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS,iDAAK;AACd;;AAEA;AACA;AACA,2BAA2B,mBAAmB;AAC9C;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,MAAM,iDAAK;AACX;AACA;;AAEA;AACA;AACA;;AAEA,OAAO,iDAAK;;AAEZ,MAAM,iDAAK;AACX;AACA;;AAEA,MAAM,iDAAK;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,uBAAuB,iDAAK;;AAE5B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,iDAAK;;AAEvB;AACA;AACA;AACA;;AAEA;AACA,MAAM,iDAAK;;AAEX,QAAQ,iDAAK;AACb;AACA,MAAM,QAAQ,iDAAK;AACnB,iBAAiB,oEAAY;AAC7B,MAAM,SAAS,iDAAK;AACpB;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB,iDAAK;;AAEvB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,YAAY,iDAAK;AACjB;AACA;;AAEA,YAAY,iDAAK;AACjB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB,iDAAK;;AAEvB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,oBAAoB,iDAAK;;AAEzB;AACA;;AAEA;AACA;AACA;AACA;;AAEA,QAAQ,iDAAK;AACb;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,IAAI,iDAAK;AACT,kBAAkB,iDAAK;;AAEvB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,IAAI,iDAAK;AACT,sEAAsE,iDAAK;AAC3E,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,IAAI,iDAAK;;AAET;AACA;AACA;;AAEA;;AAEA;AACA,iDAAK,6CAA6C,MAAM;AACxD,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,iDAAK;;AAEL,iEAAe,YAAY,EAAC;;;;;;;;;;;;;;;;;AC7Sf;;AAEqB;;AAElC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB,aAAa,UAAU;AACvB;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,UAAU;AACvB;AACA,eAAe;AACf;AACA;AACA,IAAI,iDAAK;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,iEAAe,kBAAkB,EAAC;;;;;;;;;;;;;;;;;;ACtErB;;AAE2C;AACJ;;AAEpD;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf,kBAAkB,qEAAa;AAC/B,WAAW,mEAAW;AACtB;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;ACpBa;;AAEkC;AACF;AACD;AACW;AACJ;AACJ;;AAE/C;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,gEAAa;AAC3B;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACe;AACf;;AAEA,mBAAmB,6DAAY;;AAE/B;AACA,gBAAgB,yDAAa;AAC7B;AACA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,6DAAQ,8BAA8B,0DAAQ;;AAEhE;AACA;;AAEA;AACA,oBAAoB,yDAAa;AACjC;AACA;AACA;AACA;;AAEA,uBAAuB,6DAAY;;AAEnC;AACA,GAAG;AACH,SAAS,+DAAQ;AACjB;;AAEA;AACA;AACA,+BAA+B,yDAAa;AAC5C;AACA;AACA;AACA;AACA,kCAAkC,6DAAY;AAC9C;AACA;;AAEA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;AChFa;;AAEmB;AACa;;AAE7C,oDAAoD,wDAAY,KAAK,WAAW;;AAEhF;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;;AAEA;AACA,QAAQ,iDAAK,0BAA0B,iDAAK;AAC5C,aAAa,iDAAK,aAAa,SAAS;AACxC,MAAM,SAAS,iDAAK;AACpB,aAAa,iDAAK,SAAS;AAC3B,MAAM,SAAS,iDAAK;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS,iDAAK;AACd;AACA,MAAM,UAAU,iDAAK;AACrB;AACA;AACA;;AAEA;AACA;AACA,SAAS,iDAAK;AACd;AACA;AACA;;AAEA;AACA;AACA,SAAS,iDAAK;AACd;AACA,MAAM,UAAU,iDAAK;AACrB;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;AACA;AACA;AACA;;AAEA,EAAE,iDAAK,qCAAqC;AAC5C;AACA;AACA,KAAK,iDAAK;AACV,GAAG;;AAEH;AACA;;;;;;;;;;;;;;;;;ACzGa;;AAE4B;;AAEzC;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;AACA,IAAI;AACJ,eAAe,sDAAU;AACzB;AACA,OAAO,sDAAU,kBAAkB,sDAAU;AAC7C;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;AC1Ba;;AAEqB;AACU;AACO;;AAEnD;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB;AACA,aAAa,GAAG;AAChB;AACe;AACf,yBAAyB,0DAAQ;AACjC;AACA,kBAAkB,6DAAY;AAC9B;;AAEA,EAAE,iDAAK;AACP;AACA,GAAG;;AAEH;;AAEA;AACA;;;;;;;;;;;;;;;;;;;;;;;AC3Ba;;AAEmB;AACe;AACM;AACH;AACY;AAClB;AACc;;AAE1D;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA,MAAM,iDAAK;AACX;AACA;AACA,aAAa,iDAAK;AAClB,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,gBAAgB,wDAAoB;;AAEpC;;AAEA;AACA;AACA;AACA,4BAA4B,iDAAK;;AAEjC,2BAA2B,iDAAK;AAChC;AACA;;AAEA,uBAAuB,iDAAK;;AAE5B;AACA,iDAAiD,sEAAc;AAC/D;;AAEA,QAAQ,iDAAK;AACb,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX;AACA;AACA;AACA,QAAQ,iDAAK;AACb;AACA;AACA,QAAQ,iDAAK;AACb,gEAAgE;AAChE;AACA;;AAEA;;AAEA;AACA;AACA,eAAe,wEAAgB;AAC/B;;AAEA,wBAAwB,iDAAK;AAC7B;;AAEA,eAAe,kEAAU;AACzB,wBAAwB,iBAAiB;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA,QAAQ,iDAAK,qBAAqB,iDAAK;AACvC;AACA;;AAEA,gBAAgB,iDAAK;AACrB;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA,kBAAkB,2DAAU,SAAS,2DAAU;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,cAAc,0DAAQ;AACtB,UAAU,0DAAQ;AAClB,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iDAAK;AACL;AACA,CAAC;;AAED,iEAAe,QAAQ,EAAC;;;;;;;;;;;;;;;;AChKX;;AAEb,iEAAe;AACf;AACA;AACA;AACA,CAAC,EAAC;;;;;;;;;;;;;;;;ACNK;;;;;;;;;;;;;;;;ACAM;;AAE4B;;AAEzC;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,WAAW,qBAAqB;AAChC,WAAW,qBAAqB;AAChC;AACA,aAAa;AACb;AACA;AACA;;AAEA,YAAY,0DAAU;AACtB;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA,GAAG;AACH;;AAEA,iEAAe,oBAAoB,EAAC;;;;;;;;;;;;;;;;ACzDpC;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;;AAEA;AACA;AACA,CAAC;;AAED,iEAAe,cAAc,EAAC;;;;;;;;;;;;;;;;ACtEjB;;AAEE;AACf;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACNa;;AAEmB;AACsC;;AAEtE;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,IAAI;AACJ,uBAAuB,iDAAK;AAC5B;AACA,UAAU,wEAAoB;AAC9B;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;AC9Da;;AAEb;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACduD;AACR;;AAE/C;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,sCAAsC,2DAAU,aAAa,gEAAa;AAC1E;AACA;;AAEA;AACA,gBAAgB,2DAAU,YAAY,SAAS,iBAAiB,2DAAU;AAC1E,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;;AAEA,SAAS,QAAQ;;AAEjB;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA,iEAAe,cAAc,EAAC;;;;;;;;;;;;;;;;;;AC7CI;AACU;;AAE5C,iEAAe,0DAAQ;;AAEvB;AACA;AACA;AACA;;AAEA,MAAM,iDAAK;;AAEX,MAAM,iDAAK;;AAEX,MAAM,iDAAK;;AAEX;;AAEA,uCAAuC;AACvC,KAAK;;AAEL;AACA,0DAA0D,wBAAwB;AAClF;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA,KAAK;AACL;AACA,GAAG,EAAC;;;;;;;;;;;;;;;;;;ACxCS;;AAEmB;;AAEhC;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,iDAAK;AACd;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,4BAA4B;AACzC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,oBAAoB,iDAAK;;AAEzB;AACA,UAAU,iDAAK;AACf;AACA,QAAQ;AACR;AACA;;AAEA;AACA;;AAEA,0BAA0B,iDAAK;AAC/B;AACA;;AAEA;;AAEA,kBAAkB,iDAAK;AACvB;AACA;;AAEA;AACA;;AAEA,MAAM,iDAAK,yBAAyB,iDAAK;AACzC;;AAEA,IAAI,iDAAK;AACT;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA,iEAAe,cAAc,EAAC;;;;;;;;;;;;;;;;AC9FjB;;AAEb;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACe;AACf;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACda;;AAEqB;;AAElC;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACe;AACf,SAAS,iDAAK;AACd;;;;;;;;;;;;;;;;;;ACba;;AAEqB;AACU;;AAE5C,iEAAe,0DAAQ;;AAEvB;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,sBAAsB,iDAAK;AAC3B;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAG,GAAG,EAAC;;;;;;;;;;;;;;;;AClEP;AACA,iEAAe,IAAI,EAAC;;;;;;;;;;;;;;;;;ACDP;;AAEqB;;AAElC;AACA;AACA,0BAA0B,iDAAK;AAC/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA,iEAAe;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,MAAM;AACN;AACA;AACA,GAAG;;AAEH;AACA,CAAC,EAAC;;;;;;;;;;;;;;;;ACtDW;;AAEE;AACf,0BAA0B,KAAK;AAC/B;AACA;;;;;;;;;;;;;;;;;;ACL2C;AACN;;AAErC,iEAAe;AACf;AACA,uBAAuB,2DAAW;;AAElC,SAAS,wDAAQ;AACjB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,GAAG;AACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;AC/B2C;AACZ;AACmB;AAChB;AACk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CtB;AACA;;;AAGA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,UAAU;AACrB;AACA,WAAW,SAAS;AACpB,aAAa;AACb;AACA,2BAA2B,oBAAoB,IAAI;AACnD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS;AAC5C,4BAA4B;AAC5B;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA,SAAS,UAAU;AACnB;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,kCAAkC;AAClC,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;;AAEA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA,gCAAgC,WAAW,IAAI;AAC/C;AACA;AACA,eAAe,4DAAI;AACnB,MAAM;AACN;AACA;AACA,GAAG,GAAG,WAAW;AACjB;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,kBAAkB;AAC7B,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,WAAW,kBAAkB;AAC7B,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B,eAAe;;AAEzC;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS,QAAQ;AACjB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA,iEAAe;AACf;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,EAAC;;;;;;;UCvtBF;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;;;;;;;ACNwC;AACY;AACP;AAEL;AACxC,iEAAe;EAAE9B,MAAM,EAANA,yDAAM;EAAEuL,YAAY,EAAZA,+DAAY;EAAEU,MAAM,EAANA,8CAAMA;AAAC,CAAC,E","sources":["webpack://Typesense/./src/Typesense/Alias.ts","webpack://Typesense/./src/Typesense/Aliases.ts","webpack://Typesense/./src/Typesense/Analytics.ts","webpack://Typesense/./src/Typesense/AnalyticsEvents.ts","webpack://Typesense/./src/Typesense/AnalyticsRule.ts","webpack://Typesense/./src/Typesense/AnalyticsRules.ts","webpack://Typesense/./src/Typesense/ApiCall.ts","webpack://Typesense/./src/Typesense/Client.ts","webpack://Typesense/./src/Typesense/Collection.ts","webpack://Typesense/./src/Typesense/Collections.ts","webpack://Typesense/./src/Typesense/Configuration.ts","webpack://Typesense/./src/Typesense/Conversation.ts","webpack://Typesense/./src/Typesense/ConversationModel.ts","webpack://Typesense/./src/Typesense/ConversationModels.ts","webpack://Typesense/./src/Typesense/Conversations.ts","webpack://Typesense/./src/Typesense/Debug.ts","webpack://Typesense/./src/Typesense/Document.ts","webpack://Typesense/./src/Typesense/Documents.ts","webpack://Typesense/./src/Typesense/Errors/HTTPError.ts","webpack://Typesense/./src/Typesense/Errors/ImportError.ts","webpack://Typesense/./src/Typesense/Errors/MissingConfigurationError.ts","webpack://Typesense/./src/Typesense/Errors/ObjectAlreadyExists.ts","webpack://Typesense/./src/Typesense/Errors/ObjectNotFound.ts","webpack://Typesense/./src/Typesense/Errors/ObjectUnprocessable.ts","webpack://Typesense/./src/Typesense/Errors/RequestMalformed.ts","webpack://Typesense/./src/Typesense/Errors/RequestUnauthorized.ts","webpack://Typesense/./src/Typesense/Errors/ServerError.ts","webpack://Typesense/./src/Typesense/Errors/TypesenseError.ts","webpack://Typesense/./src/Typesense/Errors/index.ts","webpack://Typesense/./src/Typesense/Health.ts","webpack://Typesense/./src/Typesense/Key.ts","webpack://Typesense/./src/Typesense/Keys.ts","webpack://Typesense/./src/Typesense/Metrics.ts","webpack://Typesense/./src/Typesense/MultiSearch.ts","webpack://Typesense/./src/Typesense/Operations.ts","webpack://Typesense/./src/Typesense/Override.ts","webpack://Typesense/./src/Typesense/Overrides.ts","webpack://Typesense/./src/Typesense/Preset.ts","webpack://Typesense/./src/Typesense/Presets.ts","webpack://Typesense/./src/Typesense/RequestWithCache.ts","webpack://Typesense/./src/Typesense/SearchClient.ts","webpack://Typesense/./src/Typesense/SearchOnlyCollection.ts","webpack://Typesense/./src/Typesense/SearchOnlyDocuments.ts","webpack://Typesense/./src/Typesense/Stats.ts","webpack://Typesense/./src/Typesense/Stopword.ts","webpack://Typesense/./src/Typesense/Stopwords.ts","webpack://Typesense/./src/Typesense/Synonym.ts","webpack://Typesense/./src/Typesense/Synonyms.ts","webpack://Typesense/./node_modules/loglevel/lib/loglevel.js","webpack://Typesense/ignored|/Users/jason/Programming/jprojs/typesense/typesense-js/src/Typesense|crypto","webpack://Typesense/ignored|/Users/jason/Programming/jprojs/typesense/typesense-js/src/Typesense|http","webpack://Typesense/ignored|/Users/jason/Programming/jprojs/typesense/typesense-js/src/Typesense|https","webpack://Typesense/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/regenerator/index.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://Typesense/./node_modules/axios/lib/adapters/adapters.js","webpack://Typesense/./node_modules/axios/lib/adapters/fetch.js","webpack://Typesense/./node_modules/axios/lib/adapters/xhr.js","webpack://Typesense/./node_modules/axios/lib/axios.js","webpack://Typesense/./node_modules/axios/lib/cancel/CancelToken.js","webpack://Typesense/./node_modules/axios/lib/cancel/CanceledError.js","webpack://Typesense/./node_modules/axios/lib/cancel/isCancel.js","webpack://Typesense/./node_modules/axios/lib/core/Axios.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosError.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://Typesense/./node_modules/axios/lib/core/InterceptorManager.js","webpack://Typesense/./node_modules/axios/lib/core/buildFullPath.js","webpack://Typesense/./node_modules/axios/lib/core/dispatchRequest.js","webpack://Typesense/./node_modules/axios/lib/core/mergeConfig.js","webpack://Typesense/./node_modules/axios/lib/core/settle.js","webpack://Typesense/./node_modules/axios/lib/core/transformData.js","webpack://Typesense/./node_modules/axios/lib/defaults/index.js","webpack://Typesense/./node_modules/axios/lib/defaults/transitional.js","webpack://Typesense/./node_modules/axios/lib/env/data.js","webpack://Typesense/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://Typesense/./node_modules/axios/lib/helpers/bind.js","webpack://Typesense/./node_modules/axios/lib/helpers/buildURL.js","webpack://Typesense/./node_modules/axios/lib/helpers/combineURLs.js","webpack://Typesense/./node_modules/axios/lib/helpers/composeSignals.js","webpack://Typesense/./node_modules/axios/lib/helpers/cookies.js","webpack://Typesense/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://Typesense/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://Typesense/./node_modules/axios/lib/helpers/null.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://Typesense/./node_modules/axios/lib/helpers/progressEventReducer.js","webpack://Typesense/./node_modules/axios/lib/helpers/resolveConfig.js","webpack://Typesense/./node_modules/axios/lib/helpers/speedometer.js","webpack://Typesense/./node_modules/axios/lib/helpers/spread.js","webpack://Typesense/./node_modules/axios/lib/helpers/throttle.js","webpack://Typesense/./node_modules/axios/lib/helpers/toFormData.js","webpack://Typesense/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://Typesense/./node_modules/axios/lib/helpers/trackStream.js","webpack://Typesense/./node_modules/axios/lib/helpers/validator.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/index.js","webpack://Typesense/./node_modules/axios/lib/platform/common/utils.js","webpack://Typesense/./node_modules/axios/lib/platform/index.js","webpack://Typesense/./node_modules/axios/lib/utils.js","webpack://Typesense/webpack/bootstrap","webpack://Typesense/webpack/runtime/compat get default export","webpack://Typesense/webpack/runtime/define property getters","webpack://Typesense/webpack/runtime/hasOwnProperty shorthand","webpack://Typesense/webpack/runtime/make namespace object","webpack://Typesense/./src/Typesense.ts"],"sourcesContent":["import Aliases, { CollectionAliasSchema } from \"./Aliases\";\nimport ApiCall from \"./ApiCall\";\n\nexport default class Alias {\n constructor(private name: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/aliases\";\n\nexport interface CollectionAliasCreateSchema {\n collection_name: string;\n}\n\nexport interface CollectionAliasSchema extends CollectionAliasCreateSchema {\n name: string;\n}\n\nexport interface CollectionAliasesResponseSchema {\n aliases: CollectionAliasSchema[];\n}\n\nexport default class Aliases {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n name: string,\n mapping: CollectionAliasCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(name),\n mapping\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n private endpointPath(aliasName): string {\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(aliasName)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\nimport AnalyticsRule from \"./AnalyticsRule\";\nimport AnalyticsEvents from \"./AnalyticsEvents\";\n\nconst RESOURCEPATH = \"/analytics\";\n\nexport default class Analytics {\n private readonly _analyticsRules: AnalyticsRules;\n private readonly individualAnalyticsRules: Record = {};\n private readonly _analyticsEvents: AnalyticsEvents;\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._analyticsRules = new AnalyticsRules(this.apiCall);\n this._analyticsEvents = new AnalyticsEvents(this.apiCall);\n }\n\n rules(id?: string): AnalyticsRules | AnalyticsRule {\n if (id === undefined) {\n return this._analyticsRules;\n } else {\n if (this.individualAnalyticsRules[id] === undefined) {\n this.individualAnalyticsRules[id] = new AnalyticsRule(id, this.apiCall);\n }\n return this.individualAnalyticsRules[id];\n }\n }\n\n events(): AnalyticsEvents {\n return this._analyticsEvents;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { AnalyticsEventCreateSchema } from \"./AnalyticsEvent\";\n\nconst RESOURCEPATH = \"/analytics/events\";\n\nexport default class AnalyticsEvents {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: AnalyticsEventCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsEvents.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\n\nexport interface AnalyticsRuleCreateSchema {\n type: \"popular_queries\" | \"nohits_queries\" | \"counter\";\n params: {\n source: {\n collections: string[];\n events?: Array<{\n type: string;\n weight: number;\n name: string;\n }>;\n };\n expand_query?: boolean;\n destination: {\n collection: string;\n counter_field?: string;\n };\n limit?: number;\n };\n}\n\nexport interface AnalyticsRuleDeleteSchema {\n name: string;\n}\n\nexport interface AnalyticsRuleSchema extends AnalyticsRuleCreateSchema {\n name: string;\n}\n\nexport default class AnalyticsRule {\n constructor(\n private name: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${AnalyticsRules.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n AnalyticsRuleCreateSchema,\n AnalyticsRuleSchema,\n} from \"./AnalyticsRule\";\n\nexport interface AnalyticsRulesRetrieveSchema {\n rules: AnalyticsRuleSchema[];\n}\n\nconst RESOURCEPATH = \"/analytics/rules\";\n\nexport default class AnalyticsRules {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async upsert(\n name: string,\n params: AnalyticsRuleCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(name),\n params\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsRules.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import axios, { AxiosRequestConfig, AxiosResponse, Method } from \"axios\";\nimport { Logger } from \"loglevel\";\nimport {\n HTTPError,\n ObjectAlreadyExists,\n ObjectNotFound,\n ObjectUnprocessable,\n RequestMalformed,\n RequestUnauthorized,\n ServerError,\n} from \"./Errors\";\nimport TypesenseError from \"./Errors/TypesenseError\";\nimport Configuration, { NodeConfiguration } from \"./Configuration\";\nimport { Agent as HTTPAgent } from \"http\";\nimport { Agent as HTTPSAgent } from \"https\";\n\nconst APIKEYHEADERNAME = \"X-TYPESENSE-API-KEY\";\nconst HEALTHY = true;\nconst UNHEALTHY = false;\n\ninterface Node extends NodeConfiguration {\n isHealthy: boolean;\n index: string | number;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class ApiCall {\n private readonly apiKey: string;\n private readonly nodes: Node[];\n private readonly nearestNode: Node;\n private readonly connectionTimeoutSeconds: number;\n private readonly healthcheckIntervalSeconds: number;\n private readonly retryIntervalSeconds: number;\n private readonly sendApiKeyAsQueryParam?: boolean;\n private readonly numRetriesPerRequest: number;\n private readonly additionalUserHeaders?: Record;\n\n private readonly logger: Logger;\n private currentNodeIndex: number;\n\n constructor(private 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\n this.logger = this.configuration.logger;\n\n this.initializeMetadataForNodes();\n this.currentNodeIndex = -1;\n }\n\n async get(\n endpoint: string,\n queryParameters: any = {},\n {\n abortSignal = null,\n responseType = undefined,\n }: {\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n } = {},\n ): Promise {\n return this.performRequest(\"get\", endpoint, {\n queryParameters,\n abortSignal,\n responseType,\n });\n }\n\n async delete(endpoint: string, queryParameters: any = {}): Promise {\n return this.performRequest(\"delete\", endpoint, { queryParameters });\n }\n\n async post(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n additionalHeaders: any = {},\n ): Promise {\n return this.performRequest(\"post\", endpoint, {\n queryParameters,\n bodyParameters,\n additionalHeaders,\n });\n }\n\n async put(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"put\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async patch(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"patch\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async performRequest(\n requestType: Method,\n endpoint: string,\n {\n queryParameters = null,\n bodyParameters = null,\n additionalHeaders = {},\n abortSignal = null,\n responseType = undefined,\n skipConnectionTimeout = false,\n enableKeepAlive = undefined,\n }: {\n queryParameters?: any;\n bodyParameters?: any;\n additionalHeaders?: any;\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n skipConnectionTimeout?: boolean;\n enableKeepAlive?: boolean | undefined;\n },\n ): Promise {\n this.configuration.validate();\n\n const requestNumber = Date.now();\n let lastException;\n this.logger.debug(\n `Request #${requestNumber}: Performing ${requestType.toUpperCase()} request: ${endpoint}`,\n );\n for (\n let numTries = 1;\n numTries <= this.numRetriesPerRequest + 1;\n numTries++\n ) {\n const node = this.getNextNode(requestNumber);\n this.logger.debug(\n `Request #${requestNumber}: Attempting ${requestType.toUpperCase()} request Try #${numTries} to Node ${\n node.index\n }`,\n );\n\n if (abortSignal && abortSignal.aborted) {\n return Promise.reject(new Error(\"Request aborted by caller.\"));\n }\n\n let abortListener;\n\n try {\n const requestOptions: AxiosRequestConfig = {\n method: requestType,\n url: this.uriFor(endpoint, node),\n headers: Object.assign(\n {},\n this.defaultHeaders(),\n additionalHeaders,\n this.additionalUserHeaders,\n ),\n maxContentLength: Infinity,\n maxBodyLength: Infinity,\n responseType,\n validateStatus: (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 (data, headers) => {\n let transformedData = data;\n if (\n headers !== undefined &&\n typeof data === \"string\" &&\n headers[\"content-type\"] &&\n headers[\"content-type\"].startsWith(\"application/json\")\n ) {\n transformedData = JSON.parse(data);\n }\n return transformedData;\n },\n ],\n };\n\n if (skipConnectionTimeout !== true) {\n requestOptions.timeout = this.connectionTimeoutSeconds * 1000;\n }\n\n if (queryParameters && Object.keys(queryParameters).length !== 0) {\n requestOptions.params = queryParameters;\n }\n\n if (this.sendApiKeyAsQueryParam) {\n requestOptions.params = requestOptions.params || {};\n requestOptions.params[\"x-typesense-api-key\"] = this.apiKey;\n }\n\n if (this.configuration.httpAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpAgent`,\n );\n requestOptions.httpAgent = this.configuration.httpAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling KeepAlive`);\n requestOptions.httpAgent = new HTTPAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.httpsAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpsAgent`,\n );\n requestOptions.httpsAgent = this.configuration.httpsAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling keepAlive`);\n requestOptions.httpsAgent = new HTTPSAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.paramsSerializer) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom paramsSerializer`,\n );\n requestOptions.paramsSerializer = this.configuration.paramsSerializer;\n }\n\n if (\n bodyParameters &&\n ((typeof bodyParameters === \"string\" &&\n bodyParameters.length !== 0) ||\n (typeof bodyParameters === \"object\" &&\n Object.keys(bodyParameters).length !== 0))\n ) {\n requestOptions.data = bodyParameters;\n }\n\n // Translate from user-provided AbortController to the Axios request cancel mechanism.\n if (abortSignal) {\n const cancelToken = axios.CancelToken;\n const source = cancelToken.source();\n abortListener = () => source.cancel();\n abortSignal.addEventListener(\"abort\", abortListener);\n requestOptions.cancelToken = source.token;\n }\n\n const response = await axios(requestOptions);\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.setNodeHealthcheck(node, HEALTHY);\n }\n this.logger.debug(\n `Request #${requestNumber}: Request to Node ${node.index} was made. Response Code was ${response.status}.`,\n );\n\n if (response.status >= 200 && response.status < 300) {\n // If response is 2xx return a resolved promise\n return Promise.resolve(response.data);\n } else if (response.status < 500) {\n // Next, if response is anything but 5xx, don't retry, return a custom error\n return Promise.reject(\n this.customErrorForResponse(response, response.data?.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.customErrorForResponse(response, response.data?.message);\n }\n } catch (error: any) {\n // This block handles retries for HTTPStatus > 500 and network layer issues like connection timeouts\n this.setNodeHealthcheck(node, UNHEALTHY);\n lastException = error;\n this.logger.warn(\n `Request #${requestNumber}: Request to Node ${\n node.index\n } failed due to \"${error.code} ${error.message}${\n error.response == null\n ? \"\"\n : \" - \" + JSON.stringify(error.response?.data)\n }\"`,\n );\n // this.logger.debug(error.stack)\n this.logger.warn(\n `Request #${requestNumber}: Sleeping for ${this.retryIntervalSeconds}s and then retrying request...`,\n );\n await this.timer(this.retryIntervalSeconds);\n } finally {\n if (abortSignal && abortListener) {\n abortSignal.removeEventListener(\"abort\", abortListener);\n }\n }\n }\n this.logger.debug(\n `Request #${requestNumber}: No retries left. Raising last error`,\n );\n return Promise.reject(lastException);\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 getNextNode(requestNumber = 0): Node {\n // Check if nearestNode is set and is healthy, if so return it\n if (this.nearestNode != null) {\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: Node ${\n this.nearestNode.index\n } is ${this.nearestNode.isHealthy === true ? \"Healthy\" : \"Unhealthy\"}`,\n );\n if (\n this.nearestNode.isHealthy === true ||\n this.nodeDueForHealthcheck(this.nearestNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${this.nearestNode.index}`,\n );\n return this.nearestNode;\n }\n this.logger.debug(\n `Request #${requestNumber}: Falling back to individual nodes`,\n );\n }\n\n // Fallback to nodes as usual\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: ${this.nodes\n .map(\n (node) =>\n `Node ${node.index} is ${\n node.isHealthy === true ? \"Healthy\" : \"Unhealthy\"\n }`,\n )\n .join(\" || \")}`,\n );\n let candidateNode: Node = this.nodes[0];\n for (let i = 0; i <= this.nodes.length; i++) {\n this.currentNodeIndex = (this.currentNodeIndex + 1) % this.nodes.length;\n candidateNode = this.nodes[this.currentNodeIndex];\n if (\n candidateNode.isHealthy === true ||\n this.nodeDueForHealthcheck(candidateNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\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(\n `Request #${requestNumber}: No healthy nodes were found. Returning the next node, Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\n\n nodeDueForHealthcheck(node, requestNumber = 0): boolean {\n const isDueForHealthcheck =\n Date.now() - node.lastAccessTimestamp >\n this.healthcheckIntervalSeconds * 1000;\n if (isDueForHealthcheck) {\n this.logger.debug(\n `Request #${requestNumber}: Node ${node.index} has exceeded healtcheckIntervalSeconds of ${this.healthcheckIntervalSeconds}. Adding it back into rotation.`,\n );\n }\n return isDueForHealthcheck;\n }\n\n initializeMetadataForNodes(): void {\n if (this.nearestNode != null) {\n this.nearestNode.index = \"nearestNode\";\n this.setNodeHealthcheck(this.nearestNode, HEALTHY);\n }\n\n this.nodes.forEach((node, i) => {\n node.index = i;\n this.setNodeHealthcheck(node, HEALTHY);\n });\n }\n\n setNodeHealthcheck(node, isHealthy): void {\n node.isHealthy = isHealthy;\n node.lastAccessTimestamp = Date.now();\n }\n\n uriFor(endpoint: string, node): string {\n if (node.url != null) {\n return `${node.url}${endpoint}`;\n }\n return `${node.protocol}://${node.host}:${node.port}${node.path}${endpoint}`;\n }\n\n defaultHeaders(): any {\n const defaultHeaders = {};\n if (!this.sendApiKeyAsQueryParam) {\n defaultHeaders[APIKEYHEADERNAME] = this.apiKey;\n }\n defaultHeaders[\"Content-Type\"] = \"application/json\";\n return defaultHeaders;\n }\n\n async timer(seconds): Promise {\n return new Promise((resolve) => setTimeout(resolve, seconds * 1000));\n }\n\n customErrorForResponse(\n response: AxiosResponse,\n messageFromServer: string,\n ): TypesenseError {\n let errorMessage = `Request failed with HTTP code ${response.status}`;\n if (\n typeof messageFromServer === \"string\" &&\n messageFromServer.trim() !== \"\"\n ) {\n errorMessage += ` | Server said: ${messageFromServer}`;\n }\n\n let error = new TypesenseError(errorMessage);\n\n if (response.status === 400) {\n error = new RequestMalformed(errorMessage);\n } else if (response.status === 401) {\n error = new RequestUnauthorized(errorMessage);\n } else if (response.status === 404) {\n error = new ObjectNotFound(errorMessage);\n } else if (response.status === 409) {\n error = new ObjectAlreadyExists(errorMessage);\n } else if (response.status === 422) {\n error = new ObjectUnprocessable(errorMessage);\n } else if (response.status >= 500 && response.status <= 599) {\n error = new ServerError(errorMessage);\n } else {\n error = new HTTPError(errorMessage);\n }\n\n error.httpStatus = response.status;\n\n return error;\n }\n}\n","/* eslint-disable no-dupe-class-members */\n\nimport Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Collection from \"./Collection\";\nimport Aliases from \"./Aliases\";\nimport Alias from \"./Alias\";\nimport Keys from \"./Keys\";\nimport Key from \"./Key\";\nimport Debug from \"./Debug\";\nimport Metrics from \"./Metrics\";\nimport Stats from \"./Stats\";\nimport Health from \"./Health\";\nimport Operations from \"./Operations\";\nimport MultiSearch from \"./MultiSearch\";\nimport Presets from \"./Presets\";\nimport Preset from \"./Preset\";\nimport Analytics from \"./Analytics\";\nimport Stopwords from \"./Stopwords\";\nimport Stopword from \"./Stopword\";\nimport Conversations from \"./Conversations\";\nimport Conversation from \"./Conversation\";\n\nexport default class Client {\n configuration: Configuration;\n apiCall: ApiCall;\n debug: Debug;\n metrics: Metrics;\n stats: Stats;\n health: Health;\n operations: Operations;\n multiSearch: MultiSearch;\n analytics: Analytics;\n private readonly _collections: Collections;\n private readonly individualCollections: Record;\n private readonly _aliases: Aliases;\n private readonly individualAliases: Record;\n private readonly _keys: Keys;\n private readonly individualKeys: Record;\n private readonly _presets: Presets;\n private readonly individualPresets: Record;\n private readonly _stopwords: Stopwords;\n private readonly individualStopwords: Record;\n private readonly _conversations: Conversations;\n private readonly individualConversations: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? false;\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.debug = new Debug(this.apiCall);\n this.metrics = new Metrics(this.apiCall);\n this.stats = new Stats(this.apiCall);\n this.health = new Health(this.apiCall);\n this.operations = new Operations(this.apiCall);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration);\n this._collections = new Collections(this.apiCall);\n this.individualCollections = {};\n this._aliases = new Aliases(this.apiCall);\n this.individualAliases = {};\n this._keys = new Keys(this.apiCall);\n this.individualKeys = {};\n this._presets = new Presets(this.apiCall);\n this.individualPresets = {};\n this._stopwords = new Stopwords(this.apiCall);\n this.individualStopwords = {};\n this.analytics = new Analytics(this.apiCall);\n this._conversations = new Conversations(this.apiCall);\n this.individualConversations = {};\n }\n\n collections(): Collections;\n collections = object>(\n collectionName: string,\n ): Collection;\n collections(collectionName?: string): Collections | Collection {\n if (collectionName === undefined) {\n return this._collections;\n } else {\n if (this.individualCollections[collectionName] === undefined) {\n this.individualCollections[collectionName] = new Collection(\n collectionName,\n this.apiCall,\n this.configuration,\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n\n aliases(): Aliases;\n aliases(aliasName: string): Alias;\n aliases(aliasName?: string): Aliases | Alias {\n if (aliasName === undefined) {\n return this._aliases;\n } else {\n if (this.individualAliases[aliasName] === undefined) {\n this.individualAliases[aliasName] = new Alias(aliasName, this.apiCall);\n }\n return this.individualAliases[aliasName];\n }\n }\n\n keys(): Keys;\n keys(id: number): Key;\n keys(id?: number): Keys | Key {\n if (id === undefined) {\n return this._keys;\n } else {\n if (this.individualKeys[id] === undefined) {\n this.individualKeys[id] = new Key(id, this.apiCall);\n }\n return this.individualKeys[id];\n }\n }\n\n presets(): Presets;\n presets(id: string): Preset;\n presets(id?: string): Presets | Preset {\n if (id === undefined) {\n return this._presets;\n } else {\n if (this.individualPresets[id] === undefined) {\n this.individualPresets[id] = new Preset(id, this.apiCall);\n }\n return this.individualPresets[id];\n }\n }\n\n stopwords(): Stopwords;\n stopwords(id: string): Stopword;\n stopwords(id?: string): Stopwords | Stopword {\n if (id === undefined) {\n return this._stopwords;\n } else {\n if (this.individualStopwords[id] === undefined) {\n this.individualStopwords[id] = new Stopword(id, this.apiCall);\n }\n return this.individualStopwords[id];\n }\n }\n\n conversations(): Conversations;\n conversations(id: string): Conversation;\n conversations(id?: string): Conversations | Conversation {\n if (id === undefined) {\n return this._conversations;\n } else {\n if (this.individualConversations[id] === undefined) {\n this.individualConversations[id] = new Conversation(id, this.apiCall);\n }\n return this.individualConversations[id];\n }\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections, { CollectionCreateSchema } from \"./Collections\";\nimport Documents, { DocumentSchema } from \"./Documents\";\nimport { ObjectNotFound } from \"./Errors\";\nimport Overrides from \"./Overrides\";\nimport Override from \"./Override\";\nimport Synonyms from \"./Synonyms\";\nimport Synonym from \"./Synonym\";\nimport { Document } from \"./Document\";\n\nexport type FieldType =\n | \"string\"\n | \"int32\"\n | \"int64\"\n | \"float\"\n | \"bool\"\n | \"geopoint\"\n | \"geopoint[]\"\n | \"string[]\"\n | \"int32[]\"\n | \"int64[]\"\n | \"float[]\"\n | \"bool[]\"\n | \"object\"\n | \"object[]\"\n | \"auto\"\n | \"string*\"\n | \"image\";\n\nexport interface CollectionFieldSchema {\n name: string;\n type: FieldType;\n optional?: boolean;\n facet?: boolean;\n index?: boolean;\n sort?: boolean;\n locale?: string;\n infix?: boolean;\n stem?: boolean;\n num_dim?: number;\n store?: boolean;\n [t: string]: unknown;\n}\n\nexport interface CollectionSchema extends CollectionCreateSchema {\n created_at: number;\n num_documents: number;\n num_memory_shards: number;\n}\n\nexport interface CollectionDropFieldSchema {\n name: string;\n drop: true;\n}\n\nexport interface CollectionUpdateSchema\n extends Partial> {\n fields?: (CollectionFieldSchema | CollectionDropFieldSchema)[];\n}\n\nexport default class Collection {\n private readonly _documents: Documents;\n private individualDocuments: Record> = {};\n private readonly _overrides: Overrides;\n private individualOverrides: Record = {};\n private readonly _synonyms: Synonyms;\n private individualSynonyms: Record = {};\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any,\n ) {\n this.name = name;\n this.apiCall = apiCall;\n this.configuration = configuration;\n\n this._documents = new Documents(\n this.name,\n this.apiCall,\n this.configuration,\n );\n this._overrides = new Overrides(this.name, this.apiCall);\n this._synonyms = new Synonyms(this.name, this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(schema: CollectionUpdateSchema): Promise {\n return this.apiCall.patch(this.endpointPath(), schema);\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n async exists(): Promise {\n try {\n await this.retrieve();\n return true;\n } catch (e) {\n if (e instanceof ObjectNotFound) return false;\n throw e;\n }\n }\n\n documents(): Documents;\n documents(documentId: string): Document;\n documents(documentId?: string): Document | Documents {\n if (!documentId) {\n return this._documents;\n } else {\n if (this.individualDocuments[documentId] === undefined) {\n this.individualDocuments[documentId] = new Document(\n this.name,\n documentId,\n this.apiCall,\n );\n }\n return this.individualDocuments[documentId];\n }\n }\n\n overrides(): Overrides;\n overrides(overrideId: string): Override;\n overrides(overrideId?: string): Overrides | Override {\n if (overrideId === undefined) {\n return this._overrides;\n } else {\n if (this.individualOverrides[overrideId] === undefined) {\n this.individualOverrides[overrideId] = new Override(\n this.name,\n overrideId,\n this.apiCall,\n );\n }\n return this.individualOverrides[overrideId];\n }\n }\n\n synonyms(): Synonyms;\n synonyms(synonymId: string): Synonym;\n synonyms(synonymId?: string): Synonyms | Synonym {\n if (synonymId === undefined) {\n return this._synonyms;\n } else {\n if (this.individualSynonyms[synonymId] === undefined) {\n this.individualSynonyms[synonymId] = new Synonym(\n this.name,\n synonymId,\n this.apiCall,\n );\n }\n return this.individualSynonyms[synonymId];\n }\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { CollectionFieldSchema, CollectionSchema } from \"./Collection\";\n\nexport interface CollectionCreateSchema {\n name: string;\n default_sorting_field?: string;\n fields?: CollectionFieldSchema[];\n symbols_to_index?: string[];\n token_separators?: string[];\n enable_nested_fields?: boolean;\n metadata?: object;\n voice_query_model?: {\n model_name?: string;\n };\n}\n\nexport interface CollectionCreateOptions {\n src_name?: string;\n}\n\nexport interface CollectionsRetrieveOptions {\n exclude_fields?: string;\n}\n\nconst RESOURCEPATH = \"/collections\";\n\nexport default class Collections {\n constructor(private apiCall: ApiCall) {}\n\n async create(\n schema: CollectionCreateSchema,\n options: CollectionCreateOptions = {},\n ): Promise {\n return this.apiCall.post(RESOURCEPATH, schema, options);\n }\n\n async retrieve(\n options: CollectionsRetrieveOptions = {},\n ): Promise {\n return this.apiCall.get(RESOURCEPATH, options);\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import * as logger from \"loglevel\";\nimport { Logger, LogLevelDesc } from \"loglevel\";\nimport { MissingConfigurationError } from \"./Errors\";\nimport type { Agent as HTTPAgent } from \"http\";\nimport type { Agent as HTTPSAgent } from \"https\";\n\nexport interface NodeConfiguration {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n url?: string;\n}\n\nexport interface NodeConfigurationWithHostname {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n}\n\nexport interface NodeConfigurationWithUrl {\n url: string;\n}\n\nexport interface ConfigurationOptions {\n apiKey: string;\n nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n randomizeNodes?: boolean;\n /**\n * @deprecated\n * masterNode is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n masterNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n /**\n * @deprecated\n * readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n readReplicaNodes?:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n connectionTimeoutSeconds?: number;\n timeoutSeconds?: number;\n healthcheckIntervalSeconds?: number;\n numRetries?: number;\n retryIntervalSeconds?: number;\n sendApiKeyAsQueryParam?: boolean | undefined;\n useServerSideSearchCache?: boolean;\n cacheSearchResultsForSeconds?: number;\n additionalHeaders?: Record;\n\n logLevel?: LogLevelDesc;\n logger?: Logger;\n\n /**\n * Set a custom HTTP Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPAgent } = require(\"http\");\n * ...\n * httpAgent: new HTTPAgent({ keepAlive: true }),\n * @type {HTTPAgent}\n */\n httpAgent?: HTTPAgent;\n\n /**\n * Set a custom HTTPS Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPSAgent } = require(\"https\");\n * ...\n * httpsAgent: new HTTPSAgent({ keepAlive: true }),\n * @type {HTTPSAgent}\n */\n httpsAgent?: HTTPSAgent;\n\n /**\n * Set a custom paramsSerializer\n *\n * See axios documentation for more information on how to use this parameter: https://axios-http.com/docs/req_config\n * This is helpful for handling React Native issues like this: https://github.com/axios/axios/issues/6102#issuecomment-2085301397\n * @type {any}\n */\n paramsSerializer?: any;\n}\n\nexport default class Configuration {\n readonly nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n readonly nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n readonly connectionTimeoutSeconds: number;\n readonly healthcheckIntervalSeconds: number;\n readonly numRetries: number;\n readonly retryIntervalSeconds: number;\n readonly apiKey: string;\n readonly sendApiKeyAsQueryParam?: boolean;\n readonly cacheSearchResultsForSeconds: number;\n readonly useServerSideSearchCache: boolean;\n readonly logger: Logger;\n readonly logLevel: LogLevelDesc;\n readonly additionalHeaders?: Record;\n readonly httpAgent?: HTTPAgent;\n readonly httpsAgent?: HTTPSAgent;\n readonly paramsSerializer?: any;\n\n constructor(options: ConfigurationOptions) {\n this.nodes = options.nodes || [];\n this.nodes = this.nodes\n .map((node) => this.setDefaultPathInNode(node))\n .map((node) => this.setDefaultPortInNode(node))\n .map((node) => ({ ...node })) as NodeConfiguration[]; // Make a deep copy\n\n if (options.randomizeNodes == null) {\n options.randomizeNodes = true;\n }\n\n if (options.randomizeNodes === true) {\n this.shuffleArray(this.nodes);\n }\n\n this.nearestNode = options.nearestNode;\n this.nearestNode = this.setDefaultPathInNode(this.nearestNode);\n this.nearestNode = this.setDefaultPortInNode(this.nearestNode);\n\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\n this.apiKey = options.apiKey;\n this.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam; // We will set a default for this in Client and SearchClient\n\n this.cacheSearchResultsForSeconds =\n options.cacheSearchResultsForSeconds || 0; // Disable client-side cache by default\n this.useServerSideSearchCache = options.useServerSideSearchCache || false;\n\n this.logger = options.logger || logger;\n this.logLevel = options.logLevel || \"warn\";\n this.logger.setLevel(this.logLevel);\n\n this.additionalHeaders = options.additionalHeaders;\n\n this.httpAgent = options.httpAgent;\n this.httpsAgent = options.httpsAgent;\n\n this.paramsSerializer = options.paramsSerializer;\n\n this.showDeprecationWarnings(options);\n this.validate();\n }\n\n validate(): boolean {\n if (this.nodes == null || this.nodes.length === 0 || this.validateNodes()) {\n throw new MissingConfigurationError(\n \"Ensure that nodes[].protocol, nodes[].host and nodes[].port are set\",\n );\n }\n\n if (\n this.nearestNode != null &&\n this.isNodeMissingAnyParameters(this.nearestNode)\n ) {\n throw new MissingConfigurationError(\n \"Ensure that nearestNodes.protocol, nearestNodes.host and nearestNodes.port are set\",\n );\n }\n\n if (this.apiKey == null) {\n throw new MissingConfigurationError(\"Ensure that apiKey is set\");\n }\n\n return true;\n }\n\n private validateNodes(): boolean {\n return this.nodes.some((node) => {\n return this.isNodeMissingAnyParameters(node);\n });\n }\n\n private isNodeMissingAnyParameters(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl,\n ): boolean {\n return (\n ![\"protocol\", \"host\", \"port\", \"path\"].every((key) => {\n return node.hasOwnProperty(key);\n }) && node[\"url\"] == null\n );\n }\n\n private setDefaultPathInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (node != null && !node.hasOwnProperty(\"path\")) {\n node[\"path\"] = \"\";\n }\n return node;\n }\n\n private setDefaultPortInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (\n node != null &&\n !node.hasOwnProperty(\"port\") &&\n node.hasOwnProperty(\"protocol\")\n ) {\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\n private showDeprecationWarnings(options: ConfigurationOptions): void {\n if (options.timeoutSeconds) {\n this.logger.warn(\n \"Deprecation warning: timeoutSeconds is now renamed to connectionTimeoutSeconds\",\n );\n }\n if (options.masterNode) {\n this.logger.warn(\n \"Deprecation warning: masterNode is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n if (options.readReplicaNodes) {\n this.logger.warn(\n \"Deprecation warning: readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n }\n\n private shuffleArray(array) {\n for (let i = array.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [array[i], array[j]] = [array[j], array[i]];\n }\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Conversations from \"./Conversations\";\n\nexport interface ConversationDeleteSchema {\n id: number;\n}\n\nexport interface ConversationUpdateSchema {\n ttl: number;\n}\n\nexport interface ConversationSchema {\n id: number;\n conversation: object[];\n last_updated: number;\n ttl: number;\n}\n\nexport default class Conversation {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(\n params: ConversationUpdateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Conversations.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\n\nexport interface ConversationModelCreateSchema {\n id?: string;\n model_name: string;\n api_key?: string;\n system_prompt?: string;\n max_bytes: number;\n history_collection?: string;\n}\n\nexport interface ConversationModelDeleteSchema {\n id: string;\n}\n\nexport interface ConversationModelSchema extends ConversationModelCreateSchema {\n id: string;\n}\n\nexport default class ConversationModel {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async update(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(\n this.endpointPath(),\n );\n }\n\n private endpointPath(): string {\n return `${ConversationModels.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n ConversationModelCreateSchema,\n ConversationModelSchema,\n} from \"./ConversationModel\";\n\nconst RESOURCEPATH = \"/conversations/models\";\n\nexport default class ConversationModels {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(\n this.endpointPath(),\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${ConversationModels.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\nimport ConversationModel from \"./ConversationModel\";\nimport { ConversationSchema } from \"./Conversation\";\n\nconst RESOURCEPATH = \"/conversations\";\n\nexport interface ConversationsRetrieveSchema {\n conversations: ConversationSchema[];\n}\n\nexport default class Conversations {\n private readonly _conversationsModels: ConversationModels;\n private readonly individualConversationModels: Record<\n string,\n ConversationModel\n > = {};\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._conversationsModels = new ConversationModels(this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n models(): ConversationModels;\n models(id: string): ConversationModel;\n models(id?: string): ConversationModels | ConversationModel {\n if (id === undefined) {\n return this._conversationsModels;\n } else {\n if (this.individualConversationModels[id] === undefined) {\n this.individualConversationModels[id] = new ConversationModel(\n id,\n this.apiCall,\n );\n }\n return this.individualConversationModels[id];\n }\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/debug\";\n\nexport interface DebugResponseSchema {\n state: number;\n version: string;\n}\n\nexport default class Debug {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Documents, {\n DeleteQuery,\n DocumentSchema,\n DocumentWriteParameters,\n} from \"./Documents\";\n\nexport class Document {\n constructor(\n private collectionName: string,\n private documentId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(options?: DeleteQuery): Promise {\n return this.apiCall.delete(this.endpointPath(), options);\n }\n\n async update(\n partialDocument: Partial,\n options: DocumentWriteParameters = {}\n ): Promise {\n return this.apiCall.patch(this.endpointPath(), partialDocument, options);\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Documents.RESOURCEPATH}/${encodeURIComponent(this.documentId)}`;\n }\n}\n","import type { ReadStream } from \"fs\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport { ImportError } from \"./Errors\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\n// Todo: use generic to extract filter_by values\nexport interface DeleteQuery {\n filter_by?: string;\n batch_size?: number;\n ignore_not_found?: boolean;\n}\n\nexport interface DeleteResponse {\n num_deleted: number;\n}\n\ninterface ImportResponseSuccess {\n success: true;\n}\n\nexport interface ImportResponseFail {\n success: false;\n error: string;\n document: DocumentSchema;\n code: number;\n}\n\nexport type ImportResponse = ImportResponseSuccess | ImportResponseFail;\n\nexport type DocumentSchema = Record;\n\nexport interface SearchParamsWithPreset extends Partial {\n preset: string;\n}\n\ntype DropTokensMode =\n | \"right_to_left\"\n | \"left_to_right\"\n | \"both_sides:3\";\n\ntype OperationMode = \"off\" | \"always\" | \"fallback\";\nexport interface SearchParams {\n // From https://typesense.org/docs/latest/api/documents.html#arguments\n q?: string;\n query_by?: string | string[];\n query_by_weights?: string | number[];\n prefix?: string | boolean | boolean[]; // default: true\n filter_by?: string;\n enable_lazy_filter?: boolean; // default: false\n sort_by?: string | string[]; // default: text match desc\n facet_by?: string | string[];\n max_facet_values?: number;\n facet_sample_threshold?: number;\n facet_sample_percent?: number;\n facet_query?: string;\n facet_query_num_typos?: number;\n facet_return_parent?: string;\n page?: number; // default: 1\n per_page?: number; // default: 10, max 250\n group_by?: string | string[];\n group_limit?: number; // default:\n group_missing_values?: boolean;\n include_fields?: string | string[];\n exclude_fields?: string | string[];\n highlight_fields?: string | string[]; // default: all queried fields\n highlight_full_fields?: string | string[]; // default: all fields\n highlight_affix_num_tokens?: number; // default: 4\n highlight_start_tag?: string; // default: \n highlight_end_tag?: string; // default: \n enable_highlight_v1?: boolean;\n snippet_threshold?: number; // default: 30\n num_typos?: string | number | number[]; // default: 2\n min_len_1typo?: number;\n min_len_2typo?: number;\n split_join_tokens?: OperationMode;\n exhaustive_search?: boolean;\n drop_tokens_threshold?: number; // default: 10\n drop_tokens_mode?: DropTokensMode;\n typo_tokens_threshold?: number; // default: 100\n pinned_hits?: string | string[];\n hidden_hits?: string | string[];\n limit_hits?: number; // default: no limit\n pre_segmented_query?: boolean;\n enable_overrides?: boolean;\n prioritize_exact_match?: boolean; // default: true\n prioritize_token_position?: boolean;\n prioritize_num_matching_fields?: boolean;\n search_cutoff_ms?: number;\n use_cache?: boolean;\n max_candidates?: number;\n infix?: OperationMode | OperationMode[];\n preset?: string;\n text_match_type?: \"max_score\" | \"max_weight\";\n vector_query?: string;\n \"x-typesense-api-key\"?: string;\n \"x-typesense-user-id\"?: string;\n offset?: number;\n limit?: number;\n stopwords?: string;\n conversation?: boolean;\n conversation_model_id?: string;\n conversation_id?: string;\n voice_query?: string;\n}\n\ntype SearchResponseHighlightObject = {\n matched_tokens?: string[];\n snippet?: string;\n value?: string;\n};\n\nexport type SearchResponseHighlight = T extends string | number\n ? SearchResponseHighlightObject\n : {\n [TAttribute in keyof T]?: SearchResponseHighlight;\n };\n\nexport interface SearchResponseHit {\n curated?: true;\n highlights?: [\n {\n field: keyof T;\n snippet?: string;\n value?: string;\n snippets?: string[];\n indices?: number[];\n matched_tokens: string[][] | string[];\n },\n ];\n highlight: SearchResponseHighlight;\n document: T;\n text_match: number;\n text_match_info?: {\n best_field_score: string; // To prevent scores from being truncated by JSON spec\n best_field_weight: number;\n fields_matched: number;\n score: string; // To prevent scores from being truncated by JSON spec\n tokens_matched: number;\n };\n}\n\nexport interface SearchResponseFacetCountSchema {\n counts: {\n count: number;\n highlighted: string;\n value: string;\n }[];\n field_name: keyof T;\n stats: {\n avg?: number;\n max?: number;\n min?: number;\n sum?: number;\n };\n}\n\nexport interface SearchResponseRequestParams {\n collection_name?: string;\n q?: string;\n page?: number;\n per_page?: number;\n first_q?: string;\n voice_query?: {\n transcribed_query?: string;\n };\n}\n\n// Todo: we could infer whether this is a grouped response by adding the search params as a generic\nexport interface SearchResponse {\n facet_counts?: SearchResponseFacetCountSchema[];\n found: number;\n found_docs?: number;\n out_of: number;\n page: number;\n request_params: SearchResponseRequestParams;\n search_time_ms: number;\n search_cutoff?: boolean;\n hits?: SearchResponseHit[];\n grouped_hits?: {\n group_key: string[];\n hits: SearchResponseHit[];\n found?: number;\n }[];\n conversation?: {\n answer: string;\n conversation_history: {\n conversation: object[];\n id: string;\n last_updated: number;\n ttl: number;\n };\n conversation_id: string;\n query: string;\n };\n error?: string;\n code?: number;\n}\n\nexport interface DocumentWriteParameters {\n dirty_values?: \"coerce_or_reject\" | \"coerce_or_drop\" | \"drop\" | \"reject\";\n action?: \"create\" | \"update\" | \"upsert\" | \"emplace\";\n}\n\nexport interface UpdateByFilterParameters {\n filter_by?: string;\n}\n\nexport interface UpdateByFilterResponse {\n num_updated: number;\n}\n\nexport interface DocumentImportParameters extends DocumentWriteParameters {\n batch_size?: number;\n return_doc?: boolean;\n return_id?: boolean;\n}\n\nexport interface DocumentsExportParameters {\n filter_by?: string;\n include_fields?: string;\n exclude_fields?: string;\n}\n\nexport interface SearchableDocuments {\n search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n options: SearchOptions,\n ): Promise>;\n clearCache(): void;\n}\n\nexport interface WriteableDocuments {\n create(document: T, options: DocumentWriteParameters): Promise;\n upsert(document: T, options: DocumentWriteParameters): Promise;\n update(document: T, options: DocumentWriteParameters): Promise;\n delete(query: DeleteQuery): Promise;\n import(\n documents: T[] | string,\n options: DocumentWriteParameters,\n ): Promise;\n export(options: DocumentsExportParameters): Promise;\n}\n\nexport interface SearchOptions {\n cacheSearchResultsForSeconds?: number;\n abortSignal?: AbortSignal | null;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class Documents\n extends SearchOnlyDocuments\n implements WriteableDocuments\n{\n constructor(\n collectionName: string,\n apiCall: ApiCall,\n configuration: Configuration,\n ) {\n super(collectionName, apiCall, configuration);\n }\n\n async create(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(this.endpointPath(), document, options);\n }\n\n async upsert(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"upsert\" }),\n );\n }\n\n async update(\n document: T,\n options: UpdateByFilterParameters,\n ): Promise;\n async update(document: T, options: DocumentWriteParameters): Promise;\n async update(\n document: T,\n options: DocumentWriteParameters | UpdateByFilterParameters = {},\n ): Promise {\n if (!document) throw new Error(\"No document provided\");\n\n if (options[\"filter_by\"] != null) {\n return this.apiCall.patch(\n this.endpointPath(),\n document,\n Object.assign({}, options),\n );\n } else {\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"update\" }),\n );\n }\n }\n\n async delete(\n query: DeleteQuery = {} as DeleteQuery,\n ): Promise {\n return this.apiCall.delete(this.endpointPath(), query);\n }\n\n async createMany(documents: T[], options: DocumentImportParameters = {}) {\n this.configuration.logger.warn(\n \"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 );\n return this.import(documents, options);\n }\n\n /**\n * Import a set of documents in a batch.\n * @param {string|Array} documents - Can be a JSONL string of documents or an array of document objects.\n * @param options\n * @return {string|Array} Returns a JSONL string if the input was a JSONL string, otherwise it returns an array of results.\n */\n async import(\n documents: string,\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[],\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[] | string,\n options: DocumentImportParameters = {},\n ): Promise {\n let documentsInJSONLFormat;\n if (Array.isArray(documents)) {\n try {\n documentsInJSONLFormat = documents\n .map((document) => JSON.stringify(document))\n .join(\"\\n\");\n } catch (error: any) {\n // if rangeerror, throw custom error message\n if (\n error instanceof RangeError &&\n error.message.includes(\"Too many properties to enumerate\")\n ) {\n throw new Error(`${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\n // else, throw the non-range error anyways\n throw new Error(error);\n }\n } else {\n documentsInJSONLFormat = documents;\n }\n\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n if (Array.isArray(documents)) {\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter(\n (r) => r.success === false,\n );\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n } else {\n return resultsInJSONLFormat as string;\n }\n }\n /**\n * Imports documents from a NodeJS readable stream of JSONL.\n */\n async importStream(\n readableStream: ReadStream,\n options: DocumentImportParameters = {},\n ): Promise {\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\n queryParameters: options,\n bodyParameters: readableStream,\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter((r) => r.success === false);\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n }\n\n /**\n * Returns a JSONL string for all the documents in this collection\n */\n async export(options: DocumentsExportParameters = {}): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options);\n }\n\n /**\n * Returns a NodeJS readable stream of JSONL for all the documents in this collection.\n */\n async exportStream(\n options: DocumentsExportParameters = {},\n ): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options, {\n responseType: \"stream\",\n });\n }\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class HTTPError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\nimport { ImportResponse } from \"../Documents\";\n\nexport default class ImportError extends TypesenseError {\n importResults: ImportResponse[];\n constructor(message: string, importResults: ImportResponse[]) {\n super(message);\n this.importResults = importResults;\n }\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class MissingConfigurationError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectAlreadyExists extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectNotFound extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectUnprocessable extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestMalformed extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestUnauthorized extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ServerError extends TypesenseError {}\n","export default class TypesenseError extends Error {\n httpStatus?: number;\n\n // Source: https://stackoverflow.com/a/58417721/123545\n constructor(message?: string) {\n super(message);\n this.name = new.target.name;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n","import HTTPError from \"./HTTPError\";\nimport MissingConfigurationError from \"./MissingConfigurationError\";\nimport ObjectAlreadyExists from \"./ObjectAlreadyExists\";\nimport ObjectNotFound from \"./ObjectNotFound\";\nimport ObjectUnprocessable from \"./ObjectUnprocessable\";\nimport RequestMalformed from \"./RequestMalformed\";\nimport RequestUnauthorized from \"./RequestUnauthorized\";\nimport ServerError from \"./ServerError\";\nimport ImportError from \"./ImportError\";\nimport TypesenseError from \"./TypesenseError\";\n\nexport {\n HTTPError,\n MissingConfigurationError,\n ObjectAlreadyExists,\n ObjectNotFound,\n ObjectUnprocessable,\n RequestMalformed,\n RequestUnauthorized,\n ServerError,\n TypesenseError,\n ImportError,\n};\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/health\";\n\nexport interface HealthResponse {\n ok: boolean;\n}\n\nexport default class Health {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Keys from \"./Keys\";\n\nexport interface KeyCreateSchema {\n actions: string[];\n collections: string[];\n description?: string;\n value?: string;\n value_prefix?: string;\n expires_at?: number;\n}\n\nexport interface KeyDeleteSchema {\n id: number;\n}\n\nexport interface KeySchema extends KeyCreateSchema {\n id: number;\n}\n\nexport default class Key {\n constructor(private id: number, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Keys.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import { createHmac } from \"crypto\";\nimport ApiCall from \"./ApiCall\";\nimport { KeyCreateSchema, KeySchema } from \"./Key\";\nimport { SearchParams } from \"./Documents\";\n\nconst RESOURCEPATH = \"/keys\";\n\nexport interface KeysRetrieveSchema {\n keys: KeySchema[];\n}\n\nexport interface GenerateScopedSearchKeyParams extends Partial {\n expires_at?: number;\n cache_ttl?: number;\n limit_multi_searches?: number;\n}\n\nexport default class Keys {\n constructor(private apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(params: KeyCreateSchema): Promise {\n return this.apiCall.post(Keys.RESOURCEPATH, params);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n generateScopedSearchKey(\n searchKey: string,\n parameters: GenerateScopedSearchKeyParams\n ): string {\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 const paramsJSON = JSON.stringify(parameters);\n const digest = Buffer.from(\n createHmac(\"sha256\", searchKey).update(paramsJSON).digest(\"base64\")\n );\n const keyPrefix = searchKey.substr(0, 4);\n const rawScopedKey = `${digest}${keyPrefix}${paramsJSON}`;\n\n return Buffer.from(rawScopedKey).toString(\"base64\");\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/metrics.json\";\n\nexport interface MetricsResponse {\n [key: `system_cpu${number}_active_percentage`]: string;\n system_cpu_active_percentage: string;\n system_disk_total_bytes: string;\n system_disk_used_bytes: string;\n system_memory_total_bytes: string;\n system_memory_total_swap_bytes?: string;\n system_memory_used_bytes: string;\n system_memory_used_swap_bytes?: string;\n system_network_received_bytes: string;\n system_network_sent_bytes: string;\n typesense_memory_active_bytes: string;\n typesense_memory_allocated_bytes: string;\n typesense_memory_fragmentation_ratio: string;\n typesense_memory_mapped_bytes: string;\n typesense_memory_metadata_bytes: string;\n typesense_memory_resident_bytes: string;\n typesense_memory_retained_bytes: string;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport RequestWithCache from \"./RequestWithCache\";\nimport {\n DocumentSchema,\n SearchParams,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\n\nconst RESOURCEPATH = \"/multi_search\";\n\nexport interface MultiSearchRequestSchema extends SearchParams {\n collection?: string;\n \"x-typesense-api-key\"?: string;\n}\n\nexport interface MultiSearchRequestWithPresetSchema\n extends SearchParamsWithPreset {\n collection?: string;\n \"x-typesense-api-key\"?: string;\n}\n\nexport interface MultiSearchRequestsSchema {\n searches: (MultiSearchRequestSchema | MultiSearchRequestWithPresetSchema)[];\n}\n\nexport interface MultiSearchResponse {\n results: { [Index in keyof T]: SearchResponse } & {\n length: T[\"length\"];\n };\n}\n\nexport default class MultiSearch {\n private requestWithCache: RequestWithCache;\n\n constructor(\n private apiCall: ApiCall,\n private configuration: Configuration,\n private useTextContentType: boolean = false\n ) {\n this.requestWithCache = new RequestWithCache();\n }\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async perform(\n searchRequests: MultiSearchRequestsSchema,\n commonParams: Partial = {},\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n }: { cacheSearchResultsForSeconds?: number } = {}\n ): Promise> {\n const additionalHeaders = {};\n if (this.useTextContentType) {\n additionalHeaders[\"content-type\"] = \"text/plain\";\n }\n\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n const queryParams = Object.assign({}, commonParams, additionalQueryParams);\n\n return this.requestWithCache.perform(\n this.apiCall,\n this.apiCall.post,\n [RESOURCEPATH, searchRequests, queryParams, additionalHeaders],\n { cacheResponseForSeconds: cacheSearchResultsForSeconds }\n ) as Promise>;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/operations\";\n\nexport default class Operations {\n constructor(private apiCall: ApiCall) {}\n\n async perform(\n operationName: \"vote\" | \"snapshot\" | \"cache/clear\" | string,\n queryParameters: Record = {}\n ): Promise {\n return this.apiCall.post(\n `${RESOURCEPATH}/${operationName}`,\n {},\n queryParameters\n );\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Overrides, { OverrideCreateSchema } from \"./Overrides\";\n\nexport interface OverrideSchema extends OverrideCreateSchema {\n id: string;\n}\n\nexport interface OverrideDeleteSchema {\n id: string;\n}\n\nexport default class Override {\n constructor(\n private collectionName: string,\n private overrideId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Overrides.RESOURCEPATH}/${encodeURIComponent(this.overrideId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { OverrideSchema } from \"./Override\";\n\nconst RESOURCEPATH = \"/overrides\";\n\nexport interface OverrideRuleQuerySchema {\n query?: string;\n match?: \"exact\" | \"contains\";\n}\n\nexport interface OverrideRuleFilterSchema {\n filter_by?: string;\n}\n\nexport interface OverrideRuleTagsSchema {\n tags?: string[];\n}\n\nexport interface OverrideCreateSchema {\n rule: OverrideRuleQuerySchema &\n OverrideRuleFilterSchema &\n OverrideRuleTagsSchema;\n filter_by?: string;\n sort_by?: string;\n remove_matched_tokens?: boolean;\n replace_query?: string;\n includes?: Array<{\n id: string;\n position: number;\n }>;\n excludes?: Array<{ id: string }>;\n filter_curated_hits?: boolean;\n effective_from_ts?: number;\n effective_to_ts?: number;\n stop_processing?: boolean;\n metadata?: object;\n}\n\nexport interface OverridesRetrieveSchema {\n overrides: OverrideSchema[];\n}\n\nexport default class Overrides {\n constructor(\n private collectionName: string,\n private apiCall: ApiCall,\n ) {}\n\n async upsert(\n overrideId: string,\n params: OverrideCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(overrideId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${\n Overrides.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Presets, { PresetCreateSchema } from \"./Presets\";\n\nexport interface PresetSchema extends PresetCreateSchema {\n name: string;\n}\n\nexport interface PresetDeleteSchema {\n name: string;\n}\n\nexport default class Preset {\n constructor(private presetId: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Presets.RESOURCEPATH}/${encodeURIComponent(this.presetId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { PresetSchema } from \"./Preset\";\nimport { SearchParams } from \"./Documents\";\nimport { MultiSearchRequestsSchema } from \"./MultiSearch\";\n\nconst RESOURCEPATH = \"/presets\";\n\nexport interface PresetCreateSchema {\n value: SearchParams | MultiSearchRequestsSchema;\n}\n\nexport interface PresetsRetrieveSchema {\n presets: PresetSchema[];\n}\n\nexport default class Presets {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n presetId: string,\n params: PresetCreateSchema\n ): Promise {\n return this.apiCall.put(this.endpointPath(presetId), params);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Presets.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","const defaultCacheResponseForSeconds = 2 * 60;\nconst defaultMaxSize = 100;\n\nexport default class RequestWithCache {\n private responseCache: Map = new Map();\n private responsePromiseCache: Map = new Map();\n\n clearCache() {\n this.responseCache = new Map();\n this.responsePromiseCache = new Map();\n }\n\n // Todo: should probably be passed a callback instead, or an apiCall instance. Types are messy this way\n async perform(\n requestContext: any,\n requestFunction: (...params: any) => unknown,\n requestFunctionArguments: any[],\n cacheOptions: CacheOptions\n ): Promise {\n const {\n cacheResponseForSeconds = defaultCacheResponseForSeconds,\n maxSize = defaultMaxSize,\n } = cacheOptions;\n const isCacheDisabled = cacheResponseForSeconds <= 0 || maxSize <= 0;\n\n if (isCacheDisabled) {\n return requestFunction.call(requestContext, ...requestFunctionArguments);\n }\n\n const requestFunctionArgumentsJSON = JSON.stringify(\n requestFunctionArguments\n );\n const cacheEntry = this.responseCache.get(requestFunctionArgumentsJSON);\n const now = Date.now();\n\n if (cacheEntry) {\n const isEntryValid =\n now - cacheEntry.requestTimestamp < cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n this.responseCache.set(requestFunctionArgumentsJSON, cacheEntry);\n return Promise.resolve(cacheEntry.response);\n } else {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n\n const cachePromiseEntry = this.responsePromiseCache.get(\n requestFunctionArgumentsJSON\n );\n\n if (cachePromiseEntry) {\n const isEntryValid =\n now - cachePromiseEntry.requestTimestamp <\n cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n this.responsePromiseCache.set(\n requestFunctionArgumentsJSON,\n cachePromiseEntry\n );\n return cachePromiseEntry.responsePromise;\n } else {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n\n const responsePromise = requestFunction.call(\n requestContext,\n ...requestFunctionArguments\n );\n this.responsePromiseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n responsePromise,\n });\n\n const response = await responsePromise;\n this.responseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n response,\n });\n\n const isCacheOverMaxSize = this.responseCache.size > maxSize;\n if (isCacheOverMaxSize) {\n const oldestEntry = this.responseCache.keys().next().value;\n this.responseCache.delete(oldestEntry);\n }\n const isResponsePromiseCacheOverMaxSize =\n this.responsePromiseCache.size > maxSize;\n if (isResponsePromiseCacheOverMaxSize) {\n const oldestEntry = this.responsePromiseCache.keys().next().value;\n this.responsePromiseCache.delete(oldestEntry);\n }\n return response as T;\n }\n}\n\ninterface CacheOptions {\n cacheResponseForSeconds?: number;\n maxSize?: number;\n}\n","import Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport MultiSearch from \"./MultiSearch\";\nimport { DocumentSchema } from \"./Documents\";\nimport { SearchOnlyCollection } from \"./SearchOnlyCollection\";\n\nexport default class SearchClient {\n public readonly multiSearch: MultiSearch;\n private readonly configuration: Configuration;\n private readonly apiCall: ApiCall;\n private readonly individualCollections: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? true;\n if (\n options.sendApiKeyAsQueryParam === true &&\n (options.apiKey || \"\").length > 2000\n ) {\n console.warn(\n \"[typesense] API Key is longer than 2000 characters which is over the allowed limit, so disabling sending it as a query parameter.\"\n );\n options.sendApiKeyAsQueryParam = false;\n }\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration, true);\n this.individualCollections = {};\n }\n\n clearCache() {\n this.multiSearch.clearCache();\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Object.entries(this.individualCollections).forEach(([_, collection]) => {\n collection.documents().clearCache();\n });\n }\n\n collections(\n collectionName: string\n ): SearchOnlyCollection | SearchOnlyCollection {\n if (!collectionName) {\n throw new Error(\n \"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(\n collectionName,\n this.apiCall,\n this.configuration\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n}\n","import { DocumentSchema, SearchableDocuments } from \"./Documents\";\nimport ApiCall from \"./ApiCall\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\nexport class SearchOnlyCollection {\n private readonly _documents: SearchableDocuments;\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any\n ) {\n this._documents = new SearchOnlyDocuments(\n this.name,\n this.apiCall,\n this.configuration\n );\n }\n\n documents(): SearchableDocuments {\n return this._documents;\n }\n}\n","import RequestWithCache from \"./RequestWithCache\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport Collections from \"./Collections\";\nimport type {\n DocumentSchema,\n SearchableDocuments,\n SearchOptions,\n SearchParams,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\n\nconst RESOURCEPATH = \"/documents\";\n\nexport class SearchOnlyDocuments\n implements SearchableDocuments\n{\n protected requestWithCache: RequestWithCache = new RequestWithCache();\n\n constructor(\n protected collectionName: string,\n protected apiCall: ApiCall,\n protected configuration: Configuration\n ) {}\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n abortSignal = null,\n }: SearchOptions = {}\n ): Promise> {\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n for (const key in searchParameters) {\n if (Array.isArray(searchParameters[key])) {\n additionalQueryParams[key] = searchParameters[key].join(\",\");\n }\n }\n const queryParams = Object.assign(\n {},\n searchParameters,\n additionalQueryParams\n );\n\n return this.requestWithCache.perform(\n this.apiCall,\n this.apiCall.get,\n [this.endpointPath(\"search\"), queryParams, { abortSignal }],\n {\n cacheResponseForSeconds: cacheSearchResultsForSeconds,\n }\n ) as Promise>;\n }\n\n protected endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + operation\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/stats.json\";\n\nexport interface EndpointStats {\n [endpoint: string]: number;\n}\n\nexport interface StatsResponse {\n delete_latency_ms?: number;\n delete_requests_per_second?: number;\n import_latency_ms?: number;\n import_requests_per_second?: number;\n latency_ms?: EndpointStats;\n overloaded_requests_per_second?: number;\n pending_write_batches?: number;\n requests_per_second?: EndpointStats;\n search_latency_ms?: number;\n search_requests_per_second?: number;\n total_requests_per_second?: number;\n write_latency_ms?: number;\n write_requests_per_second?: number;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Stopwords, { StopwordCreateSchema } from \"./Stopwords\";\n\nexport interface StopwordSchema extends StopwordCreateSchema {\n id: string;\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordDeleteSchema {\n id: string;\n}\n\nexport default class Stopword {\n constructor(\n private stopwordId: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Stopwords.RESOURCEPATH}/${encodeURIComponent(this.stopwordId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { StopwordSchema } from \"./Stopword\";\n\nconst RESOURCEPATH = \"/stopwords\";\n\nexport interface StopwordCreateSchema {\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordsRetrieveSchema {\n stopwords: StopwordSchema[];\n}\n\nexport default class Stopwords {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n stopwordId: string,\n params: StopwordCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(stopwordId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Stopwords.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Synonyms, { SynonymCreateSchema } from \"./Synonyms\";\n\nexport interface SynonymSchema extends SynonymCreateSchema {\n id: string;\n}\n\nexport interface SynonymDeleteSchema {\n id: string;\n}\n\nexport default class Synonym {\n constructor(\n private collectionName: string,\n private synonymId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Synonyms.RESOURCEPATH}/${encodeURIComponent(this.synonymId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { SynonymSchema } from \"./Synonym\";\n\nconst RESOURCEPATH = \"/synonyms\";\n\nexport interface SynonymCreateSchema {\n synonyms: string[];\n root?: string;\n locale?: string;\n symbols_to_index?: string[];\n}\n\nexport interface SynonymsRetrieveSchema {\n synonyms: SynonymSchema[];\n}\n\nexport default class Synonyms {\n constructor(private collectionName: string, private apiCall: ApiCall) {}\n\n async upsert(\n synonymId: string,\n params: SynonymCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(synonymId),\n params\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${\n Synonyms.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\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 var _loggersByName = {};\n var defaultLogger = null;\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() {\n /*jshint validthis:true */\n var level = this.getLevel();\n\n // Replace the actual methods.\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, this.name);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n\n // Return any important warnings.\n if (typeof console === undefinedType && level < this.levels.SILENT) {\n return \"No console available for logging\";\n }\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) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this);\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, factory) {\n // Private instance variables.\n var self = this;\n /**\n * The level inherited from a parent logger (or a global default). We\n * cache this here rather than delegating to the parent so that it stays\n * in sync with the actual logging methods that we have installed (the\n * parent could change levels but we might not have rebuilt the loggers\n * in this child yet).\n * @type {number}\n */\n var inheritedLevel;\n /**\n * The default level for this logger, if any. If set, this overrides\n * `inheritedLevel`.\n * @type {number|null}\n */\n var defaultLevel;\n /**\n * A user-specific level for this logger. If set, this overrides\n * `defaultLevel`.\n * @type {number|null}\n */\n var userLevel;\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 cookieName = encodeURIComponent(storageKey);\n var location = cookie.indexOf(cookieName + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(\n cookie.slice(location + cookieName.length + 1)\n )[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 } 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 function normalizeLevel(input) {\n var level = input;\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 return level;\n } else {\n throw new TypeError(\"log.setLevel() called with invalid level: \" + input);\n }\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 if (userLevel != null) {\n return userLevel;\n } else if (defaultLevel != null) {\n return defaultLevel;\n } else {\n return inheritedLevel;\n }\n };\n\n self.setLevel = function (level, persist) {\n userLevel = normalizeLevel(level);\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(userLevel);\n }\n\n // NOTE: in v2, this should call rebuild(), which updates children.\n return replaceLoggingMethods.call(self);\n };\n\n self.setDefaultLevel = function (level) {\n defaultLevel = normalizeLevel(level);\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.resetLevel = function () {\n userLevel = null;\n clearPersistedLevel();\n replaceLoggingMethods.call(self);\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 self.rebuild = function () {\n if (defaultLogger !== self) {\n inheritedLevel = normalizeLevel(defaultLogger.getLevel());\n }\n replaceLoggingMethods.call(self);\n\n if (defaultLogger === self) {\n for (var childName in _loggersByName) {\n _loggersByName[childName].rebuild();\n }\n }\n };\n\n // Initialize all the internal levels.\n inheritedLevel = normalizeLevel(\n defaultLogger ? defaultLogger.getLevel() : \"WARN\"\n );\n var initialLevel = getPersistedLevel();\n if (initialLevel != null) {\n userLevel = normalizeLevel(initialLevel);\n }\n replaceLoggingMethods.call(self);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n defaultLogger = new Logger();\n\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,\n defaultLogger.methodFactory\n );\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","/* (ignored) */","/* (ignored) */","/* (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 e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw new Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\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}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\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 setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\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 _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _isNativeFunction(fn) {\n try {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n } catch (e) {\n return typeof fn === \"function\";\n }\n}","export default function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\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(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\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 _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\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(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\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 getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport progressEventReducer from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst fetchProgressDecorator = (total, fn) => {\n const lengthComputable = total != null;\n return (loaded) => setTimeout(() => fn({\n lengthComputable,\n total,\n loaded\n }));\n}\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst supportsRequestStream = isReadableStreamSupported && (() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n})();\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported && !!(()=> {\n try {\n return utils.isReadableStream(new Response('').body);\n } catch(err) {\n // return undefined\n }\n})();\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n return (await new Request(body).arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ?\n composeSignals([signal, cancelToken], timeout) : [];\n\n let finished, request;\n\n const onFinish = () => {\n !finished && setTimeout(() => {\n composedSignal && composedSignal.unsubscribe();\n });\n\n finished = true;\n }\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, fetchProgressDecorator(\n requestContentLength,\n progressEventReducer(onUploadProgress)\n ), null, encodeText);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'cors' : 'omit';\n }\n\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n withCredentials\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onDownloadProgress && fetchProgressDecorator(\n responseContentLength,\n progressEventReducer(onDownloadProgress, true)\n ), isStreamResponse && onFinish, encodeText),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && onFinish();\n\n stopTimeout && stopTimeout();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n onFinish();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport progressEventReducer from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType} = _config;\n let 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 let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, 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 const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n 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(new AxiosError('Request aborted', AxiosError.ECONNABORTED, _config, 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(new AxiosError('Network Error', AxiosError.ERR_NETWORK, _config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n _config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\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', progressEventReducer(_config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof _config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(_config.onUploadProgress));\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : 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 const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\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\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(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, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n 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\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const 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 */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(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 {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _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 const {transitional, paramsSerializer, headers} = config;\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 if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let 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 const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\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,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport utils from '../utils.js';\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 {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n 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: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\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 */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n 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 *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\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 *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\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 *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\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 *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(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 config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\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 config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\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 *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, 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(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const 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 withXSRFToken: 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 beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\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 *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\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\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\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 env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\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 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","export const VERSION = \"1.7.2\";","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\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 * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\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 *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst composeSignals = (signals, timeout) => {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (cancel) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = cancel instanceof Error ? cancel : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal &&\n (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort));\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = unsubscribe;\n\n return [signal, () => {\n timer && clearTimeout(timer);\n timer = null;\n }];\n}\n\nexport default composeSignals;\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default 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\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\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 const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let 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 const 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","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\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} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\n\nexport default (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n }, freq);\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\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\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\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 *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\n/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n const threshold = 1000 / freq;\n let timer = null;\n return function throttled() {\n const force = this === true;\n\n const now = Date.now();\n if (force || now - timestamp > threshold) {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n timestamp = now;\n return fn.apply(null, arguments);\n }\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n timestamp = Date.now();\n return fn.apply(null, arguments);\n }, threshold - (now - timestamp));\n }\n };\n}\n\nexport default throttle;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","\n\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize, encode) {\n for await (const chunk of iterable) {\n yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize);\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => {\n const iterator = readBytes(stream, chunkSize, encode);\n\n let bytes = 0;\n\n return new ReadableStream({\n type: 'bytes',\n\n async pull(controller) {\n const {done, value} = await iterator.next();\n\n if (done) {\n controller.close();\n onFinish();\n return;\n }\n\n let len = value.byteLength;\n onProgress && onProgress(bytes += len);\n controller.enqueue(new Uint8Array(value));\n },\n cancel(reason) {\n onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\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 *\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 (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\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 *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\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 *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = (\n (product) => {\n return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0\n })(typeof navigator !== 'undefined' && navigator.product);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\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 && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let 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 {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\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 *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\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 (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 const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\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 *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && 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 *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\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 *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\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))","// 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};","import Client from \"./Typesense/Client\";\nimport SearchClient from \"./Typesense/SearchClient\";\nimport * as Errors from \"./Typesense/Errors\";\n\nexport { Client, SearchClient, Errors };\nexport default { Client, SearchClient, Errors };\n"],"names":["Aliases","Alias","name","apiCall","_classCallCheck","_createClass","key","value","_retrieve","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","abrupt","get","endpointPath","stop","retrieve","apply","arguments","_delete2","_callee2","_callee2$","_context2","delete","_delete","concat","RESOURCEPATH","encodeURIComponent","default","_upsert","mapping","put","upsert","_x","_x2","aliasName","AnalyticsRules","AnalyticsRule","AnalyticsEvents","Analytics","_defineProperty","_analyticsRules","_analyticsEvents","rules","id","undefined","individualAnalyticsRules","events","_create","params","post","create","operation","axios","HTTPError","ObjectAlreadyExists","ObjectNotFound","ObjectUnprocessable","RequestMalformed","RequestUnauthorized","ServerError","TypesenseError","Agent","HTTPAgent","HTTPSAgent","APIKEYHEADERNAME","HEALTHY","UNHEALTHY","isNodeJSEnvironment","process","versions","node","ApiCall","configuration","apiKey","nodes","JSON","parse","stringify","nearestNode","connectionTimeoutSeconds","healthcheckIntervalSeconds","numRetriesPerRequest","numRetries","retryIntervalSeconds","sendApiKeyAsQueryParam","additionalUserHeaders","additionalHeaders","logger","initializeMetadataForNodes","currentNodeIndex","_get","endpoint","queryParameters","_ref","_ref$abortSignal","abortSignal","_ref$responseType","responseType","_args","length","performRequest","_args2","_post","_callee3","bodyParameters","_args3","_callee3$","_context3","_x3","_put","_callee4","_args4","_callee4$","_context4","_x4","_patch","_callee5","_args5","_callee5$","_context5","patch","_x5","_performRequest","_callee6","requestType","_ref2","_this","_ref2$queryParameters","_ref2$bodyParameters","_ref2$additionalHeade","_ref2$abortSignal","_ref2$responseType","_ref2$skipConnectionT","skipConnectionTimeout","_ref2$enableKeepAlive","enableKeepAlive","requestNumber","lastException","_loop","_ret","numTries","_callee6$","_context7","validate","Date","now","debug","toUpperCase","abortListener","requestOptions","cancelToken","source","response","_response$data","_response$data2","_error$response","_loop$","_context6","getNextNode","index","aborted","v","Promise","reject","Error","method","url","uriFor","headers","Object","assign","defaultHeaders","maxContentLength","Infinity","maxBodyLength","validateStatus","status","transformResponse","data","transformedData","startsWith","timeout","keys","httpAgent","warn","keepAlive","httpsAgent","paramsSerializer","_typeof","CancelToken","cancel","addEventListener","token","sent","setNodeHealthcheck","resolve","customErrorForResponse","message","t0","code","timer","removeEventListener","finish","delegateYield","_x6","_x7","_x8","isHealthy","nodeDueForHealthcheck","map","join","candidateNode","i","isDueForHealthcheck","lastAccessTimestamp","_this2","forEach","protocol","host","port","path","_timer","_callee7","seconds","_callee7$","_context8","setTimeout","_x9","messageFromServer","errorMessage","trim","error","httpStatus","Configuration","Collections","Collection","Keys","Key","Debug","Metrics","Stats","Health","Operations","MultiSearch","Presets","Preset","Stopwords","Stopword","Conversations","Conversation","Client","options","_options$sendApiKeyAs","metrics","stats","health","operations","multiSearch","_collections","individualCollections","_aliases","individualAliases","_keys","individualKeys","_presets","individualPresets","_stopwords","individualStopwords","analytics","_conversations","individualConversations","collections","collectionName","aliases","presets","stopwords","conversations","Documents","Overrides","Override","Synonyms","Synonym","Document","_documents","_overrides","_synonyms","_update","schema","update","_exists","exists","documents","documentId","individualDocuments","overrides","overrideId","individualOverrides","synonyms","synonymId","individualSynonyms","MissingConfigurationError","setDefaultPathInNode","setDefaultPortInNode","_objectSpread","randomizeNodes","shuffleArray","timeoutSeconds","cacheSearchResultsForSeconds","useServerSideSearchCache","logLevel","setLevel","showDeprecationWarnings","validateNodes","isNodeMissingAnyParameters","some","every","hasOwnProperty","masterNode","readReplicaNodes","array","j","Math","floor","random","ConversationModels","ConversationModel","_conversationsModels","models","individualConversationModels","partialDocument","ImportError","SearchOnlyDocuments","_inherits","_callSuper","document","action","query","_createMany","import","createMany","_import2","documentsInJSONLFormat","resultsInJSONLFormat","resultsInJSONFormat","failedItems","_args6","Array","isArray","RangeError","includes","split","r","filter","success","_import","_importStream","readableStream","_args7","importStream","_export2","_callee8","_args8","_callee8$","_export","_exportStream","_callee9","_args9","_callee9$","_context9","exportStream","_TypesenseError","importResults","_Error","constructor","setPrototypeOf","_assertThisInitialized","prototype","_wrapNativeSuper","createHmac","generateScopedSearchKey","searchKey","parameters","paramsJSON","digest","Buffer","from","keyPrefix","substr","rawScopedKey","toString","RequestWithCache","useTextContentType","requestWithCache","clearCache","_perform","searchRequests","commonParams","_ref$cacheSearchResul","additionalQueryParams","queryParams","perform","cacheResponseForSeconds","operationName","presetId","defaultCacheResponseForSeconds","defaultMaxSize","Map","responseCache","responsePromiseCache","requestContext","requestFunction","requestFunctionArguments","cacheOptions","_cacheOptions$cacheRe","_cacheOptions$maxSize","maxSize","isCacheDisabled","requestFunctionArgumentsJSON","cacheEntry","isEntryValid","cachePromiseEntry","_isEntryValid","responsePromise","isCacheOverMaxSize","oldestEntry","isResponsePromiseCacheOverMaxSize","_oldestEntry","call","_toConsumableArray","requestTimestamp","set","size","SearchOnlyCollection","SearchClient","console","entries","_slicedToArray","_","collection","_search","searchParameters","search","stopwordId","Errors"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/typesense.min.js.map b/dist/typesense.min.js.map index 2b315051..065f0dd3 100644 --- a/dist/typesense.min.js.map +++ b/dist/typesense.min.js.map @@ -1 +1 @@ -{"version":3,"file":"typesense.min.js","mappings":"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","sources":["webpack://Typesense/./node_modules/loglevel/lib/loglevel.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/regenerator/index.js","webpack://Typesense/webpack/bootstrap","webpack://Typesense/webpack/runtime/compat get default export","webpack://Typesense/webpack/runtime/define property getters","webpack://Typesense/webpack/runtime/hasOwnProperty shorthand","webpack://Typesense/webpack/runtime/make namespace object","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://Typesense/./src/Typesense/Errors/TypesenseError.ts","webpack://Typesense/./src/Typesense/Errors/MissingConfigurationError.ts","webpack://Typesense/./src/Typesense/Configuration.ts","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://Typesense/./node_modules/axios/lib/helpers/bind.js","webpack://Typesense/./node_modules/axios/lib/utils.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosError.js","webpack://Typesense/./node_modules/axios/lib/helpers/toFormData.js","webpack://Typesense/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/helpers/buildURL.js","webpack://Typesense/./node_modules/axios/lib/core/InterceptorManager.js","webpack://Typesense/./node_modules/axios/lib/defaults/transitional.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/index.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://Typesense/./node_modules/axios/lib/platform/common/utils.js","webpack://Typesense/./node_modules/axios/lib/platform/index.js","webpack://Typesense/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://Typesense/./node_modules/axios/lib/defaults/index.js","webpack://Typesense/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://Typesense/./node_modules/axios/lib/core/transformData.js","webpack://Typesense/./node_modules/axios/lib/cancel/isCancel.js","webpack://Typesense/./node_modules/axios/lib/cancel/CanceledError.js","webpack://Typesense/./node_modules/axios/lib/core/settle.js","webpack://Typesense/./node_modules/axios/lib/helpers/speedometer.js","webpack://Typesense/./node_modules/axios/lib/helpers/progressEventReducer.js","webpack://Typesense/./node_modules/axios/lib/helpers/throttle.js","webpack://Typesense/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://Typesense/./node_modules/axios/lib/helpers/cookies.js","webpack://Typesense/./node_modules/axios/lib/core/buildFullPath.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://Typesense/./node_modules/axios/lib/helpers/combineURLs.js","webpack://Typesense/./node_modules/axios/lib/core/mergeConfig.js","webpack://Typesense/./node_modules/axios/lib/helpers/resolveConfig.js","webpack://Typesense/./node_modules/axios/lib/adapters/xhr.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://Typesense/./node_modules/axios/lib/helpers/composeSignals.js","webpack://Typesense/./node_modules/axios/lib/helpers/trackStream.js","webpack://Typesense/./node_modules/axios/lib/adapters/fetch.js","webpack://Typesense/./node_modules/axios/lib/adapters/adapters.js","webpack://Typesense/./node_modules/axios/lib/helpers/null.js","webpack://Typesense/./node_modules/axios/lib/core/dispatchRequest.js","webpack://Typesense/./node_modules/axios/lib/env/data.js","webpack://Typesense/./node_modules/axios/lib/helpers/validator.js","webpack://Typesense/./node_modules/axios/lib/core/Axios.js","webpack://Typesense/./node_modules/axios/lib/cancel/CancelToken.js","webpack://Typesense/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://Typesense/./node_modules/axios/lib/axios.js","webpack://Typesense/./node_modules/axios/lib/helpers/spread.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://Typesense/./src/Typesense/Errors/RequestMalformed.ts","webpack://Typesense/./src/Typesense/Errors/RequestUnauthorized.ts","webpack://Typesense/./src/Typesense/Errors/ObjectNotFound.ts","webpack://Typesense/./src/Typesense/Errors/ObjectAlreadyExists.ts","webpack://Typesense/./src/Typesense/Errors/ObjectUnprocessable.ts","webpack://Typesense/./src/Typesense/Errors/ServerError.ts","webpack://Typesense/./src/Typesense/Errors/HTTPError.ts","webpack://Typesense/./src/Typesense/ApiCall.ts","webpack://Typesense/./src/Typesense/Collections.ts","webpack://Typesense/./src/Typesense/Errors/ImportError.ts","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://Typesense/./src/Typesense/RequestWithCache.ts","webpack://Typesense/./src/Typesense/SearchOnlyDocuments.ts","webpack://Typesense/./src/Typesense/Documents.ts","webpack://Typesense/./src/Typesense/Overrides.ts","webpack://Typesense/./src/Typesense/Override.ts","webpack://Typesense/./src/Typesense/Synonyms.ts","webpack://Typesense/./src/Typesense/Synonym.ts","webpack://Typesense/./src/Typesense/Document.ts","webpack://Typesense/./src/Typesense/Collection.ts","webpack://Typesense/./src/Typesense/Aliases.ts","webpack://Typesense/./src/Typesense/Alias.ts","webpack://Typesense/./src/Typesense/Keys.ts","webpack://Typesense/./src/Typesense/Key.ts","webpack://Typesense/./src/Typesense/Debug.ts","webpack://Typesense/./src/Typesense/Metrics.ts","webpack://Typesense/./src/Typesense/Stats.ts","webpack://Typesense/./src/Typesense/Health.ts","webpack://Typesense/./src/Typesense/Operations.ts","webpack://Typesense/./src/Typesense/MultiSearch.ts","webpack://Typesense/./src/Typesense/Presets.ts","webpack://Typesense/./src/Typesense/Preset.ts","webpack://Typesense/./src/Typesense/AnalyticsRules.ts","webpack://Typesense/./src/Typesense/AnalyticsRule.ts","webpack://Typesense/./src/Typesense/AnalyticsEvents.ts","webpack://Typesense/./src/Typesense/Analytics.ts","webpack://Typesense/./src/Typesense/Stopwords.ts","webpack://Typesense/./src/Typesense/Stopword.ts","webpack://Typesense/./src/Typesense/ConversationModels.ts","webpack://Typesense/./src/Typesense/ConversationModel.ts","webpack://Typesense/./src/Typesense/Conversations.ts","webpack://Typesense/./src/Typesense/Conversation.ts","webpack://Typesense/./src/Typesense/Client.ts","webpack://Typesense/./src/Typesense/SearchOnlyCollection.ts","webpack://Typesense/./src/Typesense/SearchClient.ts","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://Typesense/./src/Typesense.ts"],"sourcesContent":["/*\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 var _loggersByName = {};\n var defaultLogger = null;\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() {\n /*jshint validthis:true */\n var level = this.getLevel();\n\n // Replace the actual methods.\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, this.name);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n\n // Return any important warnings.\n if (typeof console === undefinedType && level < this.levels.SILENT) {\n return \"No console available for logging\";\n }\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) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this);\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, factory) {\n // Private instance variables.\n var self = this;\n /**\n * The level inherited from a parent logger (or a global default). We\n * cache this here rather than delegating to the parent so that it stays\n * in sync with the actual logging methods that we have installed (the\n * parent could change levels but we might not have rebuilt the loggers\n * in this child yet).\n * @type {number}\n */\n var inheritedLevel;\n /**\n * The default level for this logger, if any. If set, this overrides\n * `inheritedLevel`.\n * @type {number|null}\n */\n var defaultLevel;\n /**\n * A user-specific level for this logger. If set, this overrides\n * `defaultLevel`.\n * @type {number|null}\n */\n var userLevel;\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 cookieName = encodeURIComponent(storageKey);\n var location = cookie.indexOf(cookieName + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(\n cookie.slice(location + cookieName.length + 1)\n )[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 } 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 function normalizeLevel(input) {\n var level = input;\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 return level;\n } else {\n throw new TypeError(\"log.setLevel() called with invalid level: \" + input);\n }\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 if (userLevel != null) {\n return userLevel;\n } else if (defaultLevel != null) {\n return defaultLevel;\n } else {\n return inheritedLevel;\n }\n };\n\n self.setLevel = function (level, persist) {\n userLevel = normalizeLevel(level);\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(userLevel);\n }\n\n // NOTE: in v2, this should call rebuild(), which updates children.\n return replaceLoggingMethods.call(self);\n };\n\n self.setDefaultLevel = function (level) {\n defaultLevel = normalizeLevel(level);\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.resetLevel = function () {\n userLevel = null;\n clearPersistedLevel();\n replaceLoggingMethods.call(self);\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 self.rebuild = function () {\n if (defaultLogger !== self) {\n inheritedLevel = normalizeLevel(defaultLogger.getLevel());\n }\n replaceLoggingMethods.call(self);\n\n if (defaultLogger === self) {\n for (var childName in _loggersByName) {\n _loggersByName[childName].rebuild();\n }\n }\n };\n\n // Initialize all the internal levels.\n inheritedLevel = normalizeLevel(\n defaultLogger ? defaultLogger.getLevel() : \"WARN\"\n );\n var initialLevel = getPersistedLevel();\n if (initialLevel != null) {\n userLevel = normalizeLevel(initialLevel);\n }\n replaceLoggingMethods.call(self);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n defaultLogger = new Logger();\n\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,\n defaultLogger.methodFactory\n );\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","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 e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw new Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\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))","// 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};","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(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\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 _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n try {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n } catch (e) {\n return typeof fn === \"function\";\n }\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\n}","export default class TypesenseError extends Error {\n httpStatus?: number;\n\n // Source: https://stackoverflow.com/a/58417721/123545\n constructor(message?: string) {\n super(message);\n this.name = new.target.name;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class MissingConfigurationError extends TypesenseError {}\n","import * as logger from \"loglevel\";\nimport { Logger, LogLevelDesc } from \"loglevel\";\nimport { MissingConfigurationError } from \"./Errors\";\nimport type { Agent as HTTPAgent } from \"http\";\nimport type { Agent as HTTPSAgent } from \"https\";\n\nexport interface NodeConfiguration {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n url?: string;\n}\n\nexport interface NodeConfigurationWithHostname {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n}\n\nexport interface NodeConfigurationWithUrl {\n url: string;\n}\n\nexport interface ConfigurationOptions {\n apiKey: string;\n nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n randomizeNodes?: boolean;\n /**\n * @deprecated\n * masterNode is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n masterNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n /**\n * @deprecated\n * readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n readReplicaNodes?:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n connectionTimeoutSeconds?: number;\n timeoutSeconds?: number;\n healthcheckIntervalSeconds?: number;\n numRetries?: number;\n retryIntervalSeconds?: number;\n sendApiKeyAsQueryParam?: boolean | undefined;\n useServerSideSearchCache?: boolean;\n cacheSearchResultsForSeconds?: number;\n additionalHeaders?: Record;\n\n logLevel?: LogLevelDesc;\n logger?: Logger;\n\n /**\n * Set a custom HTTP Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPAgent } = require(\"http\");\n * ...\n * httpAgent: new HTTPAgent({ keepAlive: true }),\n * @type {HTTPAgent}\n */\n httpAgent?: HTTPAgent;\n\n /**\n * Set a custom HTTPS Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPSAgent } = require(\"https\");\n * ...\n * httpsAgent: new HTTPSAgent({ keepAlive: true }),\n * @type {HTTPSAgent}\n */\n httpsAgent?: HTTPSAgent;\n\n /**\n * Set a custom paramsSerializer\n *\n * See axios documentation for more information on how to use this parameter: https://axios-http.com/docs/req_config\n * This is helpful for handling React Native issues like this: https://github.com/axios/axios/issues/6102#issuecomment-2085301397\n * @type {any}\n */\n paramsSerializer?: any;\n}\n\nexport default class Configuration {\n readonly nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n readonly nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n readonly connectionTimeoutSeconds: number;\n readonly healthcheckIntervalSeconds: number;\n readonly numRetries: number;\n readonly retryIntervalSeconds: number;\n readonly apiKey: string;\n readonly sendApiKeyAsQueryParam?: boolean;\n readonly cacheSearchResultsForSeconds: number;\n readonly useServerSideSearchCache: boolean;\n readonly logger: Logger;\n readonly logLevel: LogLevelDesc;\n readonly additionalHeaders?: Record;\n readonly httpAgent?: HTTPAgent;\n readonly httpsAgent?: HTTPSAgent;\n readonly paramsSerializer?: any;\n\n constructor(options: ConfigurationOptions) {\n this.nodes = options.nodes || [];\n this.nodes = this.nodes\n .map((node) => this.setDefaultPathInNode(node))\n .map((node) => this.setDefaultPortInNode(node))\n .map((node) => ({ ...node })) as NodeConfiguration[]; // Make a deep copy\n\n if (options.randomizeNodes == null) {\n options.randomizeNodes = true;\n }\n\n if (options.randomizeNodes === true) {\n this.shuffleArray(this.nodes);\n }\n\n this.nearestNode = options.nearestNode;\n this.nearestNode = this.setDefaultPathInNode(this.nearestNode);\n this.nearestNode = this.setDefaultPortInNode(this.nearestNode);\n\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\n this.apiKey = options.apiKey;\n this.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam; // We will set a default for this in Client and SearchClient\n\n this.cacheSearchResultsForSeconds =\n options.cacheSearchResultsForSeconds || 0; // Disable client-side cache by default\n this.useServerSideSearchCache = options.useServerSideSearchCache || false;\n\n this.logger = options.logger || logger;\n this.logLevel = options.logLevel || \"warn\";\n this.logger.setLevel(this.logLevel);\n\n this.additionalHeaders = options.additionalHeaders;\n\n this.httpAgent = options.httpAgent;\n this.httpsAgent = options.httpsAgent;\n\n this.paramsSerializer = options.paramsSerializer;\n\n this.showDeprecationWarnings(options);\n this.validate();\n }\n\n validate(): boolean {\n if (this.nodes == null || this.nodes.length === 0 || this.validateNodes()) {\n throw new MissingConfigurationError(\n \"Ensure that nodes[].protocol, nodes[].host and nodes[].port are set\",\n );\n }\n\n if (\n this.nearestNode != null &&\n this.isNodeMissingAnyParameters(this.nearestNode)\n ) {\n throw new MissingConfigurationError(\n \"Ensure that nearestNodes.protocol, nearestNodes.host and nearestNodes.port are set\",\n );\n }\n\n if (this.apiKey == null) {\n throw new MissingConfigurationError(\"Ensure that apiKey is set\");\n }\n\n return true;\n }\n\n private validateNodes(): boolean {\n return this.nodes.some((node) => {\n return this.isNodeMissingAnyParameters(node);\n });\n }\n\n private isNodeMissingAnyParameters(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl,\n ): boolean {\n return (\n ![\"protocol\", \"host\", \"port\", \"path\"].every((key) => {\n return node.hasOwnProperty(key);\n }) && node[\"url\"] == null\n );\n }\n\n private setDefaultPathInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (node != null && !node.hasOwnProperty(\"path\")) {\n node[\"path\"] = \"\";\n }\n return node;\n }\n\n private setDefaultPortInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (\n node != null &&\n !node.hasOwnProperty(\"port\") &&\n node.hasOwnProperty(\"protocol\")\n ) {\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\n private showDeprecationWarnings(options: ConfigurationOptions): void {\n if (options.timeoutSeconds) {\n this.logger.warn(\n \"Deprecation warning: timeoutSeconds is now renamed to connectionTimeoutSeconds\",\n );\n }\n if (options.masterNode) {\n this.logger.warn(\n \"Deprecation warning: masterNode is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n if (options.readReplicaNodes) {\n this.logger.warn(\n \"Deprecation warning: readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n }\n\n private shuffleArray(array) {\n for (let i = array.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [array[i], array[j]] = [array[j], array[i]];\n }\n }\n}\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}","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\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 && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let 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 {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\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 *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\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 (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 const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\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 *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && 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 *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\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 *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","'use strict';\n\nimport utils from '../utils.js';\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 {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n 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: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\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 * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\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 */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n 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 *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\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 *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\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 *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = (\n (product) => {\n return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0\n })(typeof navigator !== 'undefined' && navigator.product);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\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\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\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 env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\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 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\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} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\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 *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\n\nexport default (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n }, freq);\n}\n","'use strict';\n\n/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n const threshold = 1000 / freq;\n let timer = null;\n return function throttled() {\n const force = this === true;\n\n const now = Date.now();\n if (force || now - timestamp > threshold) {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n timestamp = now;\n return fn.apply(null, arguments);\n }\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n timestamp = Date.now();\n return fn.apply(null, arguments);\n }, threshold - (now - timestamp));\n }\n };\n}\n\nexport default throttle;\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\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 const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let 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 const 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","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\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 *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default 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\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 *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\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 *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, 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(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const 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 withXSRFToken: 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 beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\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\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport progressEventReducer from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType} = _config;\n let 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 let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, 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 const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n 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(new AxiosError('Request aborted', AxiosError.ECONNABORTED, _config, 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(new AxiosError('Network Error', AxiosError.ERR_NETWORK, _config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n _config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\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', progressEventReducer(_config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof _config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(_config.onUploadProgress));\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : 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 const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst composeSignals = (signals, timeout) => {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (cancel) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = cancel instanceof Error ? cancel : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal &&\n (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort));\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = unsubscribe;\n\n return [signal, () => {\n timer && clearTimeout(timer);\n timer = null;\n }];\n}\n\nexport default composeSignals;\n","\n\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize, encode) {\n for await (const chunk of iterable) {\n yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize);\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => {\n const iterator = readBytes(stream, chunkSize, encode);\n\n let bytes = 0;\n\n return new ReadableStream({\n type: 'bytes',\n\n async pull(controller) {\n const {done, value} = await iterator.next();\n\n if (done) {\n controller.close();\n onFinish();\n return;\n }\n\n let len = value.byteLength;\n onProgress && onProgress(bytes += len);\n controller.enqueue(new Uint8Array(value));\n },\n cancel(reason) {\n onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport progressEventReducer from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst fetchProgressDecorator = (total, fn) => {\n const lengthComputable = total != null;\n return (loaded) => setTimeout(() => fn({\n lengthComputable,\n total,\n loaded\n }));\n}\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst supportsRequestStream = isReadableStreamSupported && (() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n})();\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported && !!(()=> {\n try {\n return utils.isReadableStream(new Response('').body);\n } catch(err) {\n // return undefined\n }\n})();\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n return (await new Request(body).arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ?\n composeSignals([signal, cancelToken], timeout) : [];\n\n let finished, request;\n\n const onFinish = () => {\n !finished && setTimeout(() => {\n composedSignal && composedSignal.unsubscribe();\n });\n\n finished = true;\n }\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, fetchProgressDecorator(\n requestContentLength,\n progressEventReducer(onUploadProgress)\n ), null, encodeText);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'cors' : 'omit';\n }\n\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n withCredentials\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onDownloadProgress && fetchProgressDecorator(\n responseContentLength,\n progressEventReducer(onDownloadProgress, true)\n ), isStreamResponse && onFinish, encodeText),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && onFinish();\n\n stopTimeout && stopTimeout();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n onFinish();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\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 *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(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 config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\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 config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.7.2\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\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 *\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 (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\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 *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(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 {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _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 const {transitional, paramsSerializer, headers} = config;\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 if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let 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 const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\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,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(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, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n 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\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const 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 */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\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\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\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 *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestMalformed extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestUnauthorized extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectNotFound extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectAlreadyExists extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectUnprocessable extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ServerError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class HTTPError extends TypesenseError {}\n","import axios, { AxiosRequestConfig, AxiosResponse, Method } from \"axios\";\nimport { Logger } from \"loglevel\";\nimport {\n HTTPError,\n ObjectAlreadyExists,\n ObjectNotFound,\n ObjectUnprocessable,\n RequestMalformed,\n RequestUnauthorized,\n ServerError,\n} from \"./Errors\";\nimport TypesenseError from \"./Errors/TypesenseError\";\nimport Configuration, { NodeConfiguration } from \"./Configuration\";\nimport { Agent as HTTPAgent } from \"http\";\nimport { Agent as HTTPSAgent } from \"https\";\n\nconst APIKEYHEADERNAME = \"X-TYPESENSE-API-KEY\";\nconst HEALTHY = true;\nconst UNHEALTHY = false;\n\ninterface Node extends NodeConfiguration {\n isHealthy: boolean;\n index: string | number;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class ApiCall {\n private readonly apiKey: string;\n private readonly nodes: Node[];\n private readonly nearestNode: Node;\n private readonly connectionTimeoutSeconds: number;\n private readonly healthcheckIntervalSeconds: number;\n private readonly retryIntervalSeconds: number;\n private readonly sendApiKeyAsQueryParam?: boolean;\n private readonly numRetriesPerRequest: number;\n private readonly additionalUserHeaders?: Record;\n\n private readonly logger: Logger;\n private currentNodeIndex: number;\n\n constructor(private 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\n this.logger = this.configuration.logger;\n\n this.initializeMetadataForNodes();\n this.currentNodeIndex = -1;\n }\n\n async get(\n endpoint: string,\n queryParameters: any = {},\n {\n abortSignal = null,\n responseType = undefined,\n }: {\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n } = {},\n ): Promise {\n return this.performRequest(\"get\", endpoint, {\n queryParameters,\n abortSignal,\n responseType,\n });\n }\n\n async delete(endpoint: string, queryParameters: any = {}): Promise {\n return this.performRequest(\"delete\", endpoint, { queryParameters });\n }\n\n async post(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n additionalHeaders: any = {},\n ): Promise {\n return this.performRequest(\"post\", endpoint, {\n queryParameters,\n bodyParameters,\n additionalHeaders,\n });\n }\n\n async put(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"put\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async patch(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"patch\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async performRequest(\n requestType: Method,\n endpoint: string,\n {\n queryParameters = null,\n bodyParameters = null,\n additionalHeaders = {},\n abortSignal = null,\n responseType = undefined,\n skipConnectionTimeout = false,\n enableKeepAlive = undefined,\n }: {\n queryParameters?: any;\n bodyParameters?: any;\n additionalHeaders?: any;\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n skipConnectionTimeout?: boolean;\n enableKeepAlive?: boolean | undefined;\n },\n ): Promise {\n this.configuration.validate();\n\n const requestNumber = Date.now();\n let lastException;\n this.logger.debug(\n `Request #${requestNumber}: Performing ${requestType.toUpperCase()} request: ${endpoint}`,\n );\n for (\n let numTries = 1;\n numTries <= this.numRetriesPerRequest + 1;\n numTries++\n ) {\n const node = this.getNextNode(requestNumber);\n this.logger.debug(\n `Request #${requestNumber}: Attempting ${requestType.toUpperCase()} request Try #${numTries} to Node ${\n node.index\n }`,\n );\n\n if (abortSignal && abortSignal.aborted) {\n return Promise.reject(new Error(\"Request aborted by caller.\"));\n }\n\n let abortListener;\n\n try {\n const requestOptions: AxiosRequestConfig = {\n method: requestType,\n url: this.uriFor(endpoint, node),\n headers: Object.assign(\n {},\n this.defaultHeaders(),\n additionalHeaders,\n this.additionalUserHeaders,\n ),\n maxContentLength: Infinity,\n maxBodyLength: Infinity,\n responseType,\n validateStatus: (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 (data, headers) => {\n let transformedData = data;\n if (\n headers !== undefined &&\n typeof data === \"string\" &&\n headers[\"content-type\"] &&\n headers[\"content-type\"].startsWith(\"application/json\")\n ) {\n transformedData = JSON.parse(data);\n }\n return transformedData;\n },\n ],\n };\n\n if (skipConnectionTimeout !== true) {\n requestOptions.timeout = this.connectionTimeoutSeconds * 1000;\n }\n\n if (queryParameters && Object.keys(queryParameters).length !== 0) {\n requestOptions.params = queryParameters;\n }\n\n if (this.sendApiKeyAsQueryParam) {\n requestOptions.params = requestOptions.params || {};\n requestOptions.params[\"x-typesense-api-key\"] = this.apiKey;\n }\n\n if (this.configuration.httpAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpAgent`,\n );\n requestOptions.httpAgent = this.configuration.httpAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling KeepAlive`);\n requestOptions.httpAgent = new HTTPAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.httpsAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpsAgent`,\n );\n requestOptions.httpsAgent = this.configuration.httpsAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling keepAlive`);\n requestOptions.httpsAgent = new HTTPSAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.paramsSerializer) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom paramsSerializer`,\n );\n requestOptions.paramsSerializer = this.configuration.paramsSerializer;\n }\n\n if (\n bodyParameters &&\n ((typeof bodyParameters === \"string\" &&\n bodyParameters.length !== 0) ||\n (typeof bodyParameters === \"object\" &&\n Object.keys(bodyParameters).length !== 0))\n ) {\n requestOptions.data = bodyParameters;\n }\n\n // Translate from user-provided AbortController to the Axios request cancel mechanism.\n if (abortSignal) {\n const cancelToken = axios.CancelToken;\n const source = cancelToken.source();\n abortListener = () => source.cancel();\n abortSignal.addEventListener(\"abort\", abortListener);\n requestOptions.cancelToken = source.token;\n }\n\n const response = await axios(requestOptions);\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.setNodeHealthcheck(node, HEALTHY);\n }\n this.logger.debug(\n `Request #${requestNumber}: Request to Node ${node.index} was made. Response Code was ${response.status}.`,\n );\n\n if (response.status >= 200 && response.status < 300) {\n // If response is 2xx return a resolved promise\n return Promise.resolve(response.data);\n } else if (response.status < 500) {\n // Next, if response is anything but 5xx, don't retry, return a custom error\n return Promise.reject(\n this.customErrorForResponse(response, response.data?.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.customErrorForResponse(response, response.data?.message);\n }\n } catch (error: any) {\n // This block handles retries for HTTPStatus > 500 and network layer issues like connection timeouts\n this.setNodeHealthcheck(node, UNHEALTHY);\n lastException = error;\n this.logger.warn(\n `Request #${requestNumber}: Request to Node ${\n node.index\n } failed due to \"${error.code} ${error.message}${\n error.response == null\n ? \"\"\n : \" - \" + JSON.stringify(error.response?.data)\n }\"`,\n );\n // this.logger.debug(error.stack)\n this.logger.warn(\n `Request #${requestNumber}: Sleeping for ${this.retryIntervalSeconds}s and then retrying request...`,\n );\n await this.timer(this.retryIntervalSeconds);\n } finally {\n if (abortSignal && abortListener) {\n abortSignal.removeEventListener(\"abort\", abortListener);\n }\n }\n }\n this.logger.debug(\n `Request #${requestNumber}: No retries left. Raising last error`,\n );\n return Promise.reject(lastException);\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 getNextNode(requestNumber = 0): Node {\n // Check if nearestNode is set and is healthy, if so return it\n if (this.nearestNode != null) {\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: Node ${\n this.nearestNode.index\n } is ${this.nearestNode.isHealthy === true ? \"Healthy\" : \"Unhealthy\"}`,\n );\n if (\n this.nearestNode.isHealthy === true ||\n this.nodeDueForHealthcheck(this.nearestNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${this.nearestNode.index}`,\n );\n return this.nearestNode;\n }\n this.logger.debug(\n `Request #${requestNumber}: Falling back to individual nodes`,\n );\n }\n\n // Fallback to nodes as usual\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: ${this.nodes\n .map(\n (node) =>\n `Node ${node.index} is ${\n node.isHealthy === true ? \"Healthy\" : \"Unhealthy\"\n }`,\n )\n .join(\" || \")}`,\n );\n let candidateNode: Node = this.nodes[0];\n for (let i = 0; i <= this.nodes.length; i++) {\n this.currentNodeIndex = (this.currentNodeIndex + 1) % this.nodes.length;\n candidateNode = this.nodes[this.currentNodeIndex];\n if (\n candidateNode.isHealthy === true ||\n this.nodeDueForHealthcheck(candidateNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\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(\n `Request #${requestNumber}: No healthy nodes were found. Returning the next node, Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\n\n nodeDueForHealthcheck(node, requestNumber = 0): boolean {\n const isDueForHealthcheck =\n Date.now() - node.lastAccessTimestamp >\n this.healthcheckIntervalSeconds * 1000;\n if (isDueForHealthcheck) {\n this.logger.debug(\n `Request #${requestNumber}: Node ${node.index} has exceeded healtcheckIntervalSeconds of ${this.healthcheckIntervalSeconds}. Adding it back into rotation.`,\n );\n }\n return isDueForHealthcheck;\n }\n\n initializeMetadataForNodes(): void {\n if (this.nearestNode != null) {\n this.nearestNode.index = \"nearestNode\";\n this.setNodeHealthcheck(this.nearestNode, HEALTHY);\n }\n\n this.nodes.forEach((node, i) => {\n node.index = i;\n this.setNodeHealthcheck(node, HEALTHY);\n });\n }\n\n setNodeHealthcheck(node, isHealthy): void {\n node.isHealthy = isHealthy;\n node.lastAccessTimestamp = Date.now();\n }\n\n uriFor(endpoint: string, node): string {\n if (node.url != null) {\n return `${node.url}${endpoint}`;\n }\n return `${node.protocol}://${node.host}:${node.port}${node.path}${endpoint}`;\n }\n\n defaultHeaders(): any {\n const defaultHeaders = {};\n if (!this.sendApiKeyAsQueryParam) {\n defaultHeaders[APIKEYHEADERNAME] = this.apiKey;\n }\n defaultHeaders[\"Content-Type\"] = \"application/json\";\n return defaultHeaders;\n }\n\n async timer(seconds): Promise {\n return new Promise((resolve) => setTimeout(resolve, seconds * 1000));\n }\n\n customErrorForResponse(\n response: AxiosResponse,\n messageFromServer: string,\n ): TypesenseError {\n let errorMessage = `Request failed with HTTP code ${response.status}`;\n if (\n typeof messageFromServer === \"string\" &&\n messageFromServer.trim() !== \"\"\n ) {\n errorMessage += ` | Server said: ${messageFromServer}`;\n }\n\n let error = new TypesenseError(errorMessage);\n\n if (response.status === 400) {\n error = new RequestMalformed(errorMessage);\n } else if (response.status === 401) {\n error = new RequestUnauthorized(errorMessage);\n } else if (response.status === 404) {\n error = new ObjectNotFound(errorMessage);\n } else if (response.status === 409) {\n error = new ObjectAlreadyExists(errorMessage);\n } else if (response.status === 422) {\n error = new ObjectUnprocessable(errorMessage);\n } else if (response.status >= 500 && response.status <= 599) {\n error = new ServerError(errorMessage);\n } else {\n error = new HTTPError(errorMessage);\n }\n\n error.httpStatus = response.status;\n\n return error;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { CollectionFieldSchema, CollectionSchema } from \"./Collection\";\n\nexport interface CollectionCreateSchema {\n name: string;\n default_sorting_field?: string;\n fields?: CollectionFieldSchema[];\n symbols_to_index?: string[];\n token_separators?: string[];\n enable_nested_fields?: boolean;\n metadata?: object;\n voice_query_model?: {\n model_name?: string;\n };\n}\n\nexport interface CollectionCreateOptions {\n src_name?: string;\n}\n\nexport interface CollectionsRetrieveOptions {\n exclude_fields?: string;\n}\n\nconst RESOURCEPATH = \"/collections\";\n\nexport default class Collections {\n constructor(private apiCall: ApiCall) {}\n\n async create(\n schema: CollectionCreateSchema,\n options: CollectionCreateOptions = {},\n ): Promise {\n return this.apiCall.post(RESOURCEPATH, schema, options);\n }\n\n async retrieve(\n options: CollectionsRetrieveOptions = {},\n ): Promise {\n return this.apiCall.get(RESOURCEPATH, options);\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import TypesenseError from \"./TypesenseError\";\nimport { ImportResponse } from \"../Documents\";\n\nexport default class ImportError extends TypesenseError {\n importResults: ImportResponse[];\n constructor(message: string, importResults: ImportResponse[]) {\n super(message);\n this.importResults = importResults;\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 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}","const defaultCacheResponseForSeconds = 2 * 60;\r\nconst defaultMaxSize = 100;\r\n\r\nexport default class RequestWithCache {\r\n private responseCache: Map = new Map();\r\n private responsePromiseCache: Map = new Map();\r\n\r\n clearCache() {\r\n this.responseCache = new Map();\r\n this.responsePromiseCache = new Map();\r\n }\r\n\r\n // Todo: should probably be passed a callback instead, or an apiCall instance. Types are messy this way\r\n async perform(\r\n requestContext: any,\r\n requestFunction: (...params: any) => unknown,\r\n requestFunctionArguments: any[],\r\n cacheOptions: CacheOptions\r\n ): Promise {\r\n const {\r\n cacheResponseForSeconds = defaultCacheResponseForSeconds,\r\n maxSize = defaultMaxSize,\r\n } = cacheOptions;\r\n const isCacheDisabled = cacheResponseForSeconds <= 0 || maxSize <= 0;\r\n\r\n if (isCacheDisabled) {\r\n return requestFunction.call(requestContext, ...requestFunctionArguments);\r\n }\r\n\r\n const requestFunctionArgumentsJSON = JSON.stringify(\r\n requestFunctionArguments\r\n );\r\n const cacheEntry = this.responseCache.get(requestFunctionArgumentsJSON);\r\n const now = Date.now();\r\n\r\n if (cacheEntry) {\r\n const isEntryValid =\r\n now - cacheEntry.requestTimestamp < cacheResponseForSeconds * 1000;\r\n if (isEntryValid) {\r\n this.responseCache.delete(requestFunctionArgumentsJSON);\r\n this.responseCache.set(requestFunctionArgumentsJSON, cacheEntry);\r\n return Promise.resolve(cacheEntry.response);\r\n } else {\r\n this.responseCache.delete(requestFunctionArgumentsJSON);\r\n }\r\n }\r\n\r\n const cachePromiseEntry = this.responsePromiseCache.get(\r\n requestFunctionArgumentsJSON\r\n );\r\n\r\n if (cachePromiseEntry) {\r\n const isEntryValid =\r\n now - cachePromiseEntry.requestTimestamp <\r\n cacheResponseForSeconds * 1000;\r\n if (isEntryValid) {\r\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\r\n this.responsePromiseCache.set(\r\n requestFunctionArgumentsJSON,\r\n cachePromiseEntry\r\n );\r\n return cachePromiseEntry.responsePromise;\r\n } else {\r\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\r\n }\r\n }\r\n\r\n const responsePromise = requestFunction.call(\r\n requestContext,\r\n ...requestFunctionArguments\r\n );\r\n this.responsePromiseCache.set(requestFunctionArgumentsJSON, {\r\n requestTimestamp: now,\r\n responsePromise,\r\n });\r\n\r\n const response = await responsePromise;\r\n this.responseCache.set(requestFunctionArgumentsJSON, {\r\n requestTimestamp: now,\r\n response,\r\n });\r\n\r\n const isCacheOverMaxSize = this.responseCache.size > maxSize;\r\n if (isCacheOverMaxSize) {\r\n const oldestEntry = this.responseCache.keys().next().value;\r\n this.responseCache.delete(oldestEntry);\r\n }\r\n const isResponsePromiseCacheOverMaxSize =\r\n this.responsePromiseCache.size > maxSize;\r\n if (isResponsePromiseCacheOverMaxSize) {\r\n const oldestEntry = this.responsePromiseCache.keys().next().value;\r\n this.responsePromiseCache.delete(oldestEntry);\r\n }\r\n return response as T;\r\n }\r\n}\r\n\r\ninterface CacheOptions {\r\n cacheResponseForSeconds?: number;\r\n maxSize?: number;\r\n}\r\n","import RequestWithCache from \"./RequestWithCache\";\r\nimport ApiCall from \"./ApiCall\";\r\nimport Configuration from \"./Configuration\";\r\nimport Collections from \"./Collections\";\r\nimport type {\r\n DocumentSchema,\r\n SearchableDocuments,\r\n SearchOptions,\r\n SearchParams,\r\n SearchParamsWithPreset,\r\n SearchResponse,\r\n} from \"./Documents\";\r\n\r\nconst RESOURCEPATH = \"/documents\";\r\n\r\nexport class SearchOnlyDocuments\r\n implements SearchableDocuments\r\n{\r\n protected requestWithCache: RequestWithCache = new RequestWithCache();\r\n\r\n constructor(\r\n protected collectionName: string,\r\n protected apiCall: ApiCall,\r\n protected configuration: Configuration\r\n ) {}\r\n\r\n clearCache() {\r\n this.requestWithCache.clearCache();\r\n }\r\n\r\n async search(\r\n searchParameters: SearchParams | SearchParamsWithPreset,\r\n {\r\n cacheSearchResultsForSeconds = this.configuration\r\n .cacheSearchResultsForSeconds,\r\n abortSignal = null,\r\n }: SearchOptions = {}\r\n ): Promise> {\r\n const additionalQueryParams = {};\r\n if (this.configuration.useServerSideSearchCache === true) {\r\n additionalQueryParams[\"use_cache\"] = true;\r\n }\r\n for (const key in searchParameters) {\r\n if (Array.isArray(searchParameters[key])) {\r\n additionalQueryParams[key] = searchParameters[key].join(\",\");\r\n }\r\n }\r\n const queryParams = Object.assign(\r\n {},\r\n searchParameters,\r\n additionalQueryParams\r\n );\r\n\r\n return this.requestWithCache.perform(\r\n this.apiCall,\r\n this.apiCall.get,\r\n [this.endpointPath(\"search\"), queryParams, { abortSignal }],\r\n {\r\n cacheResponseForSeconds: cacheSearchResultsForSeconds,\r\n }\r\n ) as Promise>;\r\n }\r\n\r\n protected endpointPath(operation?: string) {\r\n return `${Collections.RESOURCEPATH}/${this.collectionName}${RESOURCEPATH}${\r\n operation === undefined ? \"\" : \"/\" + operation\r\n }`;\r\n }\r\n\r\n static get RESOURCEPATH() {\r\n return RESOURCEPATH;\r\n }\r\n}\r\n","import type { ReadStream } from \"fs\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport { ImportError } from \"./Errors\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\n// Todo: use generic to extract filter_by values\nexport interface DeleteQuery {\n filter_by?: string;\n batch_size?: number;\n ignore_not_found?: boolean;\n}\n\nexport interface DeleteResponse {\n num_deleted: number;\n}\n\ninterface ImportResponseSuccess {\n success: true;\n}\n\nexport interface ImportResponseFail {\n success: false;\n error: string;\n document: DocumentSchema;\n code: number;\n}\n\nexport type ImportResponse = ImportResponseSuccess | ImportResponseFail;\n\nexport type DocumentSchema = Record;\n\nexport interface SearchParamsWithPreset extends Partial {\n preset: string;\n}\n\ntype OperationMode = \"off\" | \"always\" | \"fallback\";\nexport interface SearchParams {\n // From https://typesense.org/docs/latest/api/documents.html#arguments\n q?: string;\n query_by?: string | string[];\n query_by_weights?: string | number[];\n prefix?: string | boolean | boolean[]; // default: true\n filter_by?: string;\n enable_lazy_filter?: boolean; // default: false\n sort_by?: string | string[]; // default: text match desc\n facet_by?: string | string[];\n max_facet_values?: number;\n facet_sample_threshold?: number;\n facet_sample_percent?: number;\n facet_query?: string;\n facet_query_num_typos?: number;\n facet_return_parent?: string;\n page?: number; // default: 1\n per_page?: number; // default: 10, max 250\n group_by?: string | string[];\n group_limit?: number; // default:\n group_missing_values?: boolean;\n include_fields?: string | string[];\n exclude_fields?: string | string[];\n highlight_fields?: string | string[]; // default: all queried fields\n highlight_full_fields?: string | string[]; // default: all fields\n highlight_affix_num_tokens?: number; // default: 4\n highlight_start_tag?: string; // default: \n highlight_end_tag?: string; // default: \n enable_highlight_v1?: boolean;\n snippet_threshold?: number; // default: 30\n num_typos?: string | number | number[]; // default: 2\n min_len_1typo?: number;\n min_len_2typo?: number;\n split_join_tokens?: OperationMode;\n exhaustive_search?: boolean;\n drop_tokens_threshold?: number; // default: 10\n typo_tokens_threshold?: number; // default: 100\n pinned_hits?: string | string[];\n hidden_hits?: string | string[];\n limit_hits?: number; // default: no limit\n pre_segmented_query?: boolean;\n enable_overrides?: boolean;\n prioritize_exact_match?: boolean; // default: true\n prioritize_token_position?: boolean;\n prioritize_num_matching_fields?: boolean;\n search_cutoff_ms?: number;\n use_cache?: boolean;\n max_candidates?: number;\n infix?: OperationMode | OperationMode[];\n preset?: string;\n text_match_type?: \"max_score\" | \"max_weight\";\n vector_query?: string;\n \"x-typesense-api-key\"?: string;\n \"x-typesense-user-id\"?: string;\n offset?: number;\n limit?: number;\n stopwords?: string;\n conversation?: boolean;\n conversation_model_id?: string;\n conversation_id?: string;\n voice_query?: string;\n}\n\ntype SearchResponseHighlightObject = {\n matched_tokens?: string[];\n snippet?: string;\n value?: string;\n};\n\nexport type SearchResponseHighlight = T extends string | number\n ? SearchResponseHighlightObject\n : {\n [TAttribute in keyof T]?: SearchResponseHighlight;\n };\n\nexport interface SearchResponseHit {\n curated?: true;\n highlights?: [\n {\n field: keyof T;\n snippet?: string;\n value?: string;\n snippets?: string[];\n indices?: number[];\n matched_tokens: string[][] | string[];\n },\n ];\n highlight: SearchResponseHighlight;\n document: T;\n text_match: number;\n text_match_info?: {\n best_field_score: string; // To prevent scores from being truncated by JSON spec\n best_field_weight: number;\n fields_matched: number;\n score: string; // To prevent scores from being truncated by JSON spec\n tokens_matched: number;\n };\n}\n\nexport interface SearchResponseFacetCountSchema {\n counts: {\n count: number;\n highlighted: string;\n value: string;\n }[];\n field_name: keyof T;\n stats: {\n avg?: number;\n max?: number;\n min?: number;\n sum?: number;\n };\n}\n\nexport interface SearchResponseRequestParams {\n collection_name?: string;\n q?: string;\n page?: number;\n per_page?: number;\n first_q?: string;\n voice_query?: {\n transcribed_query?: string;\n };\n}\n\n// Todo: we could infer whether this is a grouped response by adding the search params as a generic\nexport interface SearchResponse {\n facet_counts?: SearchResponseFacetCountSchema[];\n found: number;\n found_docs?: number;\n out_of: number;\n page: number;\n request_params: SearchResponseRequestParams;\n search_time_ms: number;\n search_cutoff?: boolean;\n hits?: SearchResponseHit[];\n grouped_hits?: {\n group_key: string[];\n hits: SearchResponseHit[];\n found?: number;\n }[];\n conversation?: {\n answer: string;\n conversation_history: {\n conversation: object[];\n id: string;\n last_updated: number;\n ttl: number;\n };\n conversation_id: string;\n query: string;\n };\n error?: string;\n code?: number;\n}\n\nexport interface DocumentWriteParameters {\n dirty_values?: \"coerce_or_reject\" | \"coerce_or_drop\" | \"drop\" | \"reject\";\n action?: \"create\" | \"update\" | \"upsert\" | \"emplace\";\n}\n\nexport interface UpdateByFilterParameters {\n filter_by?: string;\n}\n\nexport interface UpdateByFilterResponse {\n num_updated: number;\n}\n\nexport interface DocumentImportParameters extends DocumentWriteParameters {\n batch_size?: number;\n return_doc?: boolean;\n return_id?: boolean;\n}\n\nexport interface DocumentsExportParameters {\n filter_by?: string;\n include_fields?: string;\n exclude_fields?: string;\n}\n\nexport interface SearchableDocuments {\n search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n options: SearchOptions,\n ): Promise>;\n clearCache(): void;\n}\n\nexport interface WriteableDocuments {\n create(document: T, options: DocumentWriteParameters): Promise;\n upsert(document: T, options: DocumentWriteParameters): Promise;\n update(document: T, options: DocumentWriteParameters): Promise;\n delete(query: DeleteQuery): Promise;\n import(\n documents: T[] | string,\n options: DocumentWriteParameters,\n ): Promise;\n export(options: DocumentsExportParameters): Promise;\n}\n\nexport interface SearchOptions {\n cacheSearchResultsForSeconds?: number;\n abortSignal?: AbortSignal | null;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class Documents\n extends SearchOnlyDocuments\n implements WriteableDocuments\n{\n constructor(\n collectionName: string,\n apiCall: ApiCall,\n configuration: Configuration,\n ) {\n super(collectionName, apiCall, configuration);\n }\n\n async create(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(this.endpointPath(), document, options);\n }\n\n async upsert(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"upsert\" }),\n );\n }\n\n async update(\n document: T,\n options: UpdateByFilterParameters,\n ): Promise;\n async update(document: T, options: DocumentWriteParameters): Promise;\n async update(\n document: T,\n options: DocumentWriteParameters | UpdateByFilterParameters = {},\n ): Promise {\n if (!document) throw new Error(\"No document provided\");\n\n if (options[\"filter_by\"] != null) {\n return this.apiCall.patch(\n this.endpointPath(),\n document,\n Object.assign({}, options),\n );\n } else {\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"update\" }),\n );\n }\n }\n\n async delete(\n query: DeleteQuery = {} as DeleteQuery,\n ): Promise {\n return this.apiCall.delete(this.endpointPath(), query);\n }\n\n async createMany(documents: T[], options: DocumentImportParameters = {}) {\n this.configuration.logger.warn(\n \"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 );\n return this.import(documents, options);\n }\n\n /**\n * Import a set of documents in a batch.\n * @param {string|Array} documents - Can be a JSONL string of documents or an array of document objects.\n * @param options\n * @return {string|Array} Returns a JSONL string if the input was a JSONL string, otherwise it returns an array of results.\n */\n async import(\n documents: string,\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[],\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[] | string,\n options: DocumentImportParameters = {},\n ): Promise {\n let documentsInJSONLFormat;\n if (Array.isArray(documents)) {\n try {\n documentsInJSONLFormat = documents\n .map((document) => JSON.stringify(document))\n .join(\"\\n\");\n } catch (error: any) {\n // if rangeerror, throw custom error message\n if (\n error instanceof RangeError &&\n error.message.includes(\"Too many properties to enumerate\")\n ) {\n throw new Error(`${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\n // else, throw the non-range error anyways\n throw new Error(error);\n }\n } else {\n documentsInJSONLFormat = documents;\n }\n\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n if (Array.isArray(documents)) {\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter(\n (r) => r.success === false,\n );\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n } else {\n return resultsInJSONLFormat as string;\n }\n }\n /**\n * Imports documents from a NodeJS readable stream of JSONL.\n */\n async importStream(\n readableStream: ReadStream,\n options: DocumentImportParameters = {},\n ): Promise {\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\n queryParameters: options,\n bodyParameters: readableStream,\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter((r) => r.success === false);\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n }\n\n /**\n * Returns a JSONL string for all the documents in this collection\n */\n async export(options: DocumentsExportParameters = {}): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options);\n }\n\n /**\n * Returns a NodeJS readable stream of JSONL for all the documents in this collection.\n */\n async exportStream(\n options: DocumentsExportParameters = {},\n ): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options, {\n responseType: \"stream\",\n });\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { OverrideSchema } from \"./Override\";\n\nconst RESOURCEPATH = \"/overrides\";\n\nexport interface OverrideRuleQuerySchema {\n query?: string;\n match?: \"exact\" | \"contains\";\n}\n\nexport interface OverrideRuleFilterSchema {\n filter_by?: string;\n}\n\nexport interface OverrideRuleTagsSchema {\n tags?: string[];\n}\n\nexport interface OverrideCreateSchema {\n rule: OverrideRuleQuerySchema &\n OverrideRuleFilterSchema &\n OverrideRuleTagsSchema;\n filter_by?: string;\n sort_by?: string;\n remove_matched_tokens?: boolean;\n replace_query?: string;\n includes?: Array<{\n id: string;\n position: number;\n }>;\n excludes?: Array<{ id: string }>;\n filter_curated_hits?: boolean;\n effective_from_ts?: number;\n effective_to_ts?: number;\n stop_processing?: boolean;\n metadata?: object;\n}\n\nexport interface OverridesRetrieveSchema {\n overrides: OverrideSchema[];\n}\n\nexport default class Overrides {\n constructor(\n private collectionName: string,\n private apiCall: ApiCall,\n ) {}\n\n async upsert(\n overrideId: string,\n params: OverrideCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(overrideId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${\n Overrides.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\r\nimport Collections from \"./Collections\";\r\nimport Overrides, { OverrideCreateSchema } from \"./Overrides\";\r\n\r\nexport interface OverrideSchema extends OverrideCreateSchema {\r\n id: string;\r\n}\r\n\r\nexport interface OverrideDeleteSchema {\r\n id: string;\r\n}\r\n\r\nexport default class Override {\r\n constructor(\r\n private collectionName: string,\r\n private overrideId: string,\r\n private apiCall: ApiCall\r\n ) {}\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(this.endpointPath());\r\n }\r\n\r\n async delete(): Promise {\r\n return this.apiCall.delete(this.endpointPath());\r\n }\r\n\r\n private endpointPath(): string {\r\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Overrides.RESOURCEPATH}/${encodeURIComponent(this.overrideId)}`;\r\n }\r\n}\r\n","import ApiCall from \"./ApiCall\";\r\nimport Collections from \"./Collections\";\r\nimport { SynonymSchema } from \"./Synonym\";\r\n\r\nconst RESOURCEPATH = \"/synonyms\";\r\n\r\nexport interface SynonymCreateSchema {\r\n synonyms: string[];\r\n root?: string;\r\n locale?: string;\r\n symbols_to_index?: string[];\r\n}\r\n\r\nexport interface SynonymsRetrieveSchema {\r\n synonyms: SynonymSchema[];\r\n}\r\n\r\nexport default class Synonyms {\r\n constructor(private collectionName: string, private apiCall: ApiCall) {}\r\n\r\n async upsert(\r\n synonymId: string,\r\n params: SynonymCreateSchema\r\n ): Promise {\r\n return this.apiCall.put(\r\n this.endpointPath(synonymId),\r\n params\r\n );\r\n }\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(this.endpointPath());\r\n }\r\n\r\n private endpointPath(operation?: string) {\r\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${\r\n Synonyms.RESOURCEPATH\r\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\r\n }\r\n\r\n static get RESOURCEPATH(): string {\r\n return RESOURCEPATH;\r\n }\r\n}\r\n","import ApiCall from \"./ApiCall\";\r\nimport Collections from \"./Collections\";\r\nimport Synonyms, { SynonymCreateSchema } from \"./Synonyms\";\r\n\r\nexport interface SynonymSchema extends SynonymCreateSchema {\r\n id: string;\r\n}\r\n\r\nexport interface SynonymDeleteSchema {\r\n id: string;\r\n}\r\n\r\nexport default class Synonym {\r\n constructor(\r\n private collectionName: string,\r\n private synonymId: string,\r\n private apiCall: ApiCall\r\n ) {}\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(this.endpointPath());\r\n }\r\n\r\n async delete(): Promise {\r\n return this.apiCall.delete(this.endpointPath());\r\n }\r\n\r\n private endpointPath(): string {\r\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Synonyms.RESOURCEPATH}/${encodeURIComponent(this.synonymId)}`;\r\n }\r\n}\r\n","import ApiCall from \"./ApiCall\";\r\nimport Collections from \"./Collections\";\r\nimport Documents, {\r\n DeleteQuery,\r\n DocumentSchema,\r\n DocumentWriteParameters,\r\n} from \"./Documents\";\r\n\r\nexport class Document {\r\n constructor(\r\n private collectionName: string,\r\n private documentId: string,\r\n private apiCall: ApiCall\r\n ) {}\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(this.endpointPath());\r\n }\r\n\r\n async delete(options?: DeleteQuery): Promise {\r\n return this.apiCall.delete(this.endpointPath(), options);\r\n }\r\n\r\n async update(\r\n partialDocument: Partial,\r\n options: DocumentWriteParameters = {}\r\n ): Promise {\r\n return this.apiCall.patch(this.endpointPath(), partialDocument, options);\r\n }\r\n\r\n private endpointPath(): string {\r\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Documents.RESOURCEPATH}/${encodeURIComponent(this.documentId)}`;\r\n }\r\n}\r\n","import ApiCall from \"./ApiCall\";\nimport Collections, { CollectionCreateSchema } from \"./Collections\";\nimport Documents, { DocumentSchema } from \"./Documents\";\nimport { ObjectNotFound } from \"./Errors\";\nimport Overrides from \"./Overrides\";\nimport Override from \"./Override\";\nimport Synonyms from \"./Synonyms\";\nimport Synonym from \"./Synonym\";\nimport { Document } from \"./Document\";\n\nexport type FieldType =\n | \"string\"\n | \"int32\"\n | \"int64\"\n | \"float\"\n | \"bool\"\n | \"geopoint\"\n | \"geopoint[]\"\n | \"string[]\"\n | \"int32[]\"\n | \"int64[]\"\n | \"float[]\"\n | \"bool[]\"\n | \"object\"\n | \"object[]\"\n | \"auto\"\n | \"string*\"\n | \"image\";\n\nexport interface CollectionFieldSchema {\n name: string;\n type: FieldType;\n optional?: boolean;\n facet?: boolean;\n index?: boolean;\n sort?: boolean;\n locale?: string;\n infix?: boolean;\n stem?: boolean;\n num_dim?: number;\n store?: boolean;\n [t: string]: unknown;\n}\n\nexport interface CollectionSchema extends CollectionCreateSchema {\n created_at: number;\n num_documents: number;\n num_memory_shards: number;\n}\n\nexport interface CollectionDropFieldSchema {\n name: string;\n drop: true;\n}\n\nexport interface CollectionUpdateSchema\n extends Partial> {\n fields?: (CollectionFieldSchema | CollectionDropFieldSchema)[];\n}\n\nexport default class Collection {\n private readonly _documents: Documents;\n private individualDocuments: Record> = {};\n private readonly _overrides: Overrides;\n private individualOverrides: Record = {};\n private readonly _synonyms: Synonyms;\n private individualSynonyms: Record = {};\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any,\n ) {\n this.name = name;\n this.apiCall = apiCall;\n this.configuration = configuration;\n\n this._documents = new Documents(\n this.name,\n this.apiCall,\n this.configuration,\n );\n this._overrides = new Overrides(this.name, this.apiCall);\n this._synonyms = new Synonyms(this.name, this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(schema: CollectionUpdateSchema): Promise {\n return this.apiCall.patch(this.endpointPath(), schema);\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n async exists(): Promise {\n try {\n await this.retrieve();\n return true;\n } catch (e) {\n if (e instanceof ObjectNotFound) return false;\n throw e;\n }\n }\n\n documents(): Documents;\n documents(documentId: string): Document;\n documents(documentId?: string): Document | Documents {\n if (!documentId) {\n return this._documents;\n } else {\n if (this.individualDocuments[documentId] === undefined) {\n this.individualDocuments[documentId] = new Document(\n this.name,\n documentId,\n this.apiCall,\n );\n }\n return this.individualDocuments[documentId];\n }\n }\n\n overrides(): Overrides;\n overrides(overrideId: string): Override;\n overrides(overrideId?: string): Overrides | Override {\n if (overrideId === undefined) {\n return this._overrides;\n } else {\n if (this.individualOverrides[overrideId] === undefined) {\n this.individualOverrides[overrideId] = new Override(\n this.name,\n overrideId,\n this.apiCall,\n );\n }\n return this.individualOverrides[overrideId];\n }\n }\n\n synonyms(): Synonyms;\n synonyms(synonymId: string): Synonym;\n synonyms(synonymId?: string): Synonyms | Synonym {\n if (synonymId === undefined) {\n return this._synonyms;\n } else {\n if (this.individualSynonyms[synonymId] === undefined) {\n this.individualSynonyms[synonymId] = new Synonym(\n this.name,\n synonymId,\n this.apiCall,\n );\n }\n return this.individualSynonyms[synonymId];\n }\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\r\n\r\nconst RESOURCEPATH = \"/aliases\";\r\n\r\nexport interface CollectionAliasCreateSchema {\r\n collection_name: string;\r\n}\r\n\r\nexport interface CollectionAliasSchema extends CollectionAliasCreateSchema {\r\n name: string;\r\n}\r\n\r\nexport interface CollectionAliasesResponseSchema {\r\n aliases: CollectionAliasSchema[];\r\n}\r\n\r\nexport default class Aliases {\r\n constructor(private apiCall: ApiCall) {}\r\n\r\n async upsert(\r\n name: string,\r\n mapping: CollectionAliasCreateSchema\r\n ): Promise {\r\n return this.apiCall.put(\r\n this.endpointPath(name),\r\n mapping\r\n );\r\n }\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(RESOURCEPATH);\r\n }\r\n\r\n private endpointPath(aliasName): string {\r\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(aliasName)}`;\r\n }\r\n\r\n static get RESOURCEPATH(): string {\r\n return RESOURCEPATH;\r\n }\r\n}\r\n","import Aliases, { CollectionAliasSchema } from \"./Aliases\";\r\nimport ApiCall from \"./ApiCall\";\r\n\r\nexport default class Alias {\r\n constructor(private name: string, private apiCall: ApiCall) {}\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(this.endpointPath());\r\n }\r\n\r\n async delete(): Promise {\r\n return this.apiCall.delete(this.endpointPath());\r\n }\r\n\r\n private endpointPath(): string {\r\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\r\n }\r\n}\r\n","import { createHmac } from \"crypto\";\r\nimport ApiCall from \"./ApiCall\";\r\nimport { KeyCreateSchema, KeySchema } from \"./Key\";\r\nimport { SearchParams } from \"./Documents\";\r\n\r\nconst RESOURCEPATH = \"/keys\";\r\n\r\nexport interface KeysRetrieveSchema {\r\n keys: KeySchema[];\r\n}\r\n\r\nexport interface GenerateScopedSearchKeyParams extends Partial {\r\n expires_at?: number;\r\n cache_ttl?: number;\r\n limit_multi_searches?: number;\r\n}\r\n\r\nexport default class Keys {\r\n constructor(private apiCall: ApiCall) {\r\n this.apiCall = apiCall;\r\n }\r\n\r\n async create(params: KeyCreateSchema): Promise {\r\n return this.apiCall.post(Keys.RESOURCEPATH, params);\r\n }\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(RESOURCEPATH);\r\n }\r\n\r\n generateScopedSearchKey(\r\n searchKey: string,\r\n parameters: GenerateScopedSearchKeyParams\r\n ): string {\r\n // Note: only a key generated with the `documents:search` action will be\r\n // accepted by the server, when usined with the search endpoint.\r\n const paramsJSON = JSON.stringify(parameters);\r\n const digest = Buffer.from(\r\n createHmac(\"sha256\", searchKey).update(paramsJSON).digest(\"base64\")\r\n );\r\n const keyPrefix = searchKey.substr(0, 4);\r\n const rawScopedKey = `${digest}${keyPrefix}${paramsJSON}`;\r\n\r\n return Buffer.from(rawScopedKey).toString(\"base64\");\r\n }\r\n\r\n static get RESOURCEPATH() {\r\n return RESOURCEPATH;\r\n }\r\n}\r\n","import ApiCall from \"./ApiCall\";\r\nimport Keys from \"./Keys\";\r\n\r\nexport interface KeyCreateSchema {\r\n actions: string[];\r\n collections: string[];\r\n description?: string;\r\n value?: string;\r\n value_prefix?: string;\r\n expires_at?: number;\r\n}\r\n\r\nexport interface KeyDeleteSchema {\r\n id: number;\r\n}\r\n\r\nexport interface KeySchema extends KeyCreateSchema {\r\n id: number;\r\n}\r\n\r\nexport default class Key {\r\n constructor(private id: number, private apiCall: ApiCall) {}\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(this.endpointPath());\r\n }\r\n\r\n async delete(): Promise {\r\n return this.apiCall.delete(this.endpointPath());\r\n }\r\n\r\n private endpointPath(): string {\r\n return `${Keys.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\r\n }\r\n}\r\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/debug\";\n\nexport interface DebugResponseSchema {\n state: number;\n version: string;\n}\n\nexport default class Debug {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/metrics.json\";\n\nexport interface MetricsResponse {\n [key: `system_cpu${number}_active_percentage`]: string;\n system_cpu_active_percentage: string;\n system_disk_total_bytes: string;\n system_disk_used_bytes: string;\n system_memory_total_bytes: string;\n system_memory_total_swap_bytes?: string;\n system_memory_used_bytes: string;\n system_memory_used_swap_bytes?: string;\n system_network_received_bytes: string;\n system_network_sent_bytes: string;\n typesense_memory_active_bytes: string;\n typesense_memory_allocated_bytes: string;\n typesense_memory_fragmentation_ratio: string;\n typesense_memory_mapped_bytes: string;\n typesense_memory_metadata_bytes: string;\n typesense_memory_resident_bytes: string;\n typesense_memory_retained_bytes: string;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/stats.json\";\n\nexport interface EndpointStats {\n [endpoint: string]: number;\n}\n\nexport interface StatsResponse {\n delete_latency_ms?: number;\n delete_requests_per_second?: number;\n import_latency_ms?: number;\n import_requests_per_second?: number;\n latency_ms?: EndpointStats;\n overloaded_requests_per_second?: number;\n pending_write_batches?: number;\n requests_per_second?: EndpointStats;\n search_latency_ms?: number;\n search_requests_per_second?: number;\n total_requests_per_second?: number;\n write_latency_ms?: number;\n write_requests_per_second?: number;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/health\";\n\nexport interface HealthResponse {\n ok: boolean;\n}\n\nexport default class Health {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\r\n\r\nconst RESOURCEPATH = \"/operations\";\r\n\r\nexport default class Operations {\r\n constructor(private apiCall: ApiCall) {}\r\n\r\n async perform(\r\n operationName: \"vote\" | \"snapshot\" | \"cache/clear\" | string,\r\n queryParameters: Record = {}\r\n ): Promise {\r\n return this.apiCall.post(\r\n `${RESOURCEPATH}/${operationName}`,\r\n {},\r\n queryParameters\r\n );\r\n }\r\n}\r\n","import ApiCall from \"./ApiCall\";\r\nimport Configuration from \"./Configuration\";\r\nimport RequestWithCache from \"./RequestWithCache\";\r\nimport {\r\n DocumentSchema,\r\n SearchParams,\r\n SearchParamsWithPreset,\r\n SearchResponse,\r\n} from \"./Documents\";\r\n\r\nconst RESOURCEPATH = \"/multi_search\";\r\n\r\nexport interface MultiSearchRequestSchema extends SearchParams {\r\n collection?: string;\r\n \"x-typesense-api-key\"?: string;\r\n}\r\n\r\nexport interface MultiSearchRequestWithPresetSchema\r\n extends SearchParamsWithPreset {\r\n collection?: string;\r\n \"x-typesense-api-key\"?: string;\r\n}\r\n\r\nexport interface MultiSearchRequestsSchema {\r\n searches: (MultiSearchRequestSchema | MultiSearchRequestWithPresetSchema)[];\r\n}\r\n\r\nexport interface MultiSearchResponse {\r\n results: { [Index in keyof T]: SearchResponse } & {\r\n length: T[\"length\"];\r\n };\r\n}\r\n\r\nexport default class MultiSearch {\r\n private requestWithCache: RequestWithCache;\r\n\r\n constructor(\r\n private apiCall: ApiCall,\r\n private configuration: Configuration,\r\n private useTextContentType: boolean = false\r\n ) {\r\n this.requestWithCache = new RequestWithCache();\r\n }\r\n\r\n clearCache() {\r\n this.requestWithCache.clearCache();\r\n }\r\n\r\n async perform(\r\n searchRequests: MultiSearchRequestsSchema,\r\n commonParams: Partial = {},\r\n {\r\n cacheSearchResultsForSeconds = this.configuration\r\n .cacheSearchResultsForSeconds,\r\n }: { cacheSearchResultsForSeconds?: number } = {}\r\n ): Promise> {\r\n const additionalHeaders = {};\r\n if (this.useTextContentType) {\r\n additionalHeaders[\"content-type\"] = \"text/plain\";\r\n }\r\n\r\n const additionalQueryParams = {};\r\n if (this.configuration.useServerSideSearchCache === true) {\r\n additionalQueryParams[\"use_cache\"] = true;\r\n }\r\n const queryParams = Object.assign({}, commonParams, additionalQueryParams);\r\n\r\n return this.requestWithCache.perform(\r\n this.apiCall,\r\n this.apiCall.post,\r\n [RESOURCEPATH, searchRequests, queryParams, additionalHeaders],\r\n { cacheResponseForSeconds: cacheSearchResultsForSeconds }\r\n ) as Promise>;\r\n }\r\n}\r\n","import ApiCall from \"./ApiCall\";\r\nimport { PresetSchema } from \"./Preset\";\r\nimport { SearchParams } from \"./Documents\";\r\nimport { MultiSearchRequestsSchema } from \"./MultiSearch\";\r\n\r\nconst RESOURCEPATH = \"/presets\";\r\n\r\nexport interface PresetCreateSchema {\r\n value: SearchParams | MultiSearchRequestsSchema;\r\n}\r\n\r\nexport interface PresetsRetrieveSchema {\r\n presets: PresetSchema[];\r\n}\r\n\r\nexport default class Presets {\r\n constructor(private apiCall: ApiCall) {}\r\n\r\n async upsert(\r\n presetId: string,\r\n params: PresetCreateSchema\r\n ): Promise {\r\n return this.apiCall.put(this.endpointPath(presetId), params);\r\n }\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(this.endpointPath());\r\n }\r\n\r\n private endpointPath(operation?: string): string {\r\n return `${Presets.RESOURCEPATH}${\r\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\r\n }`;\r\n }\r\n\r\n static get RESOURCEPATH(): string {\r\n return RESOURCEPATH;\r\n }\r\n}\r\n","import ApiCall from \"./ApiCall\";\r\nimport Presets, { PresetCreateSchema } from \"./Presets\";\r\n\r\nexport interface PresetSchema extends PresetCreateSchema {\r\n name: string;\r\n}\r\n\r\nexport interface PresetDeleteSchema {\r\n name: string;\r\n}\r\n\r\nexport default class Preset {\r\n constructor(private presetId: string, private apiCall: ApiCall) {}\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(this.endpointPath());\r\n }\r\n\r\n async delete(): Promise {\r\n return this.apiCall.delete(this.endpointPath());\r\n }\r\n\r\n private endpointPath(): string {\r\n return `${Presets.RESOURCEPATH}/${encodeURIComponent(this.presetId)}`;\r\n }\r\n}\r\n","import ApiCall from \"./ApiCall\";\r\nimport {\r\n AnalyticsRuleCreateSchema,\r\n AnalyticsRuleSchema,\r\n} from \"./AnalyticsRule\";\r\n\r\nexport interface AnalyticsRulesRetrieveSchema {\r\n rules: AnalyticsRuleSchema[];\r\n}\r\n\r\nconst RESOURCEPATH = \"/analytics/rules\";\r\n\r\nexport default class AnalyticsRules {\r\n constructor(private readonly apiCall: ApiCall) {\r\n this.apiCall = apiCall;\r\n }\r\n\r\n async upsert(\r\n name: string,\r\n params: AnalyticsRuleCreateSchema\r\n ): Promise {\r\n return this.apiCall.put(\r\n this.endpointPath(name),\r\n params\r\n );\r\n }\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(this.endpointPath());\r\n }\r\n\r\n private endpointPath(operation?: string): string {\r\n return `${AnalyticsRules.RESOURCEPATH}${\r\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\r\n }`;\r\n }\r\n\r\n static get RESOURCEPATH() {\r\n return RESOURCEPATH;\r\n }\r\n}\r\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\n\nexport interface AnalyticsRuleCreateSchema {\n type: \"popular_queries\" | \"nohits_queries\" | \"counter\";\n params: {\n source: {\n collections: string[];\n events?: Array<{\n type: string;\n weight: number;\n name: string;\n }>;\n };\n expand_query?: boolean;\n destination: {\n collection: string;\n counter_field?: string;\n };\n limit?: number;\n };\n}\n\nexport interface AnalyticsRuleDeleteSchema {\n name: string;\n}\n\nexport interface AnalyticsRuleSchema extends AnalyticsRuleCreateSchema {\n name: string;\n}\n\nexport default class AnalyticsRule {\n constructor(\n private name: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${AnalyticsRules.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { AnalyticsEventCreateSchema } from \"./AnalyticsEvent\";\n\nconst RESOURCEPATH = \"/analytics/events\";\n\nexport default class AnalyticsEvents {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: AnalyticsEventCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsEvents.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\nimport AnalyticsRule from \"./AnalyticsRule\";\nimport AnalyticsEvents from \"./AnalyticsEvents\";\n\nconst RESOURCEPATH = \"/analytics\";\n\nexport default class Analytics {\n private readonly _analyticsRules: AnalyticsRules;\n private readonly individualAnalyticsRules: Record = {};\n private readonly _analyticsEvents: AnalyticsEvents;\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._analyticsRules = new AnalyticsRules(this.apiCall);\n this._analyticsEvents = new AnalyticsEvents(this.apiCall);\n }\n\n rules(id?: string): AnalyticsRules | AnalyticsRule {\n if (id === undefined) {\n return this._analyticsRules;\n } else {\n if (this.individualAnalyticsRules[id] === undefined) {\n this.individualAnalyticsRules[id] = new AnalyticsRule(id, this.apiCall);\n }\n return this.individualAnalyticsRules[id];\n }\n }\n\n events(): AnalyticsEvents {\n return this._analyticsEvents;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { StopwordSchema } from \"./Stopword\";\n\nconst RESOURCEPATH = \"/stopwords\";\n\nexport interface StopwordCreateSchema {\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordsRetrieveSchema {\n stopwords: StopwordSchema[];\n}\n\nexport default class Stopwords {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n stopwordId: string,\n params: StopwordCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(stopwordId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Stopwords.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Stopwords, { StopwordCreateSchema } from \"./Stopwords\";\n\nexport interface StopwordSchema extends StopwordCreateSchema {\n id: string;\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordDeleteSchema {\n id: string;\n}\n\nexport default class Stopword {\n constructor(\n private stopwordId: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Stopwords.RESOURCEPATH}/${encodeURIComponent(this.stopwordId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\r\nimport {\r\n ConversationModelCreateSchema,\r\n ConversationModelSchema,\r\n} from \"./ConversationModel\";\r\n\r\nconst RESOURCEPATH = \"/conversations/models\";\r\n\r\nexport default class ConversationModels {\r\n constructor(private readonly apiCall: ApiCall) {\r\n this.apiCall = apiCall;\r\n }\r\n\r\n async create(\r\n params: ConversationModelCreateSchema,\r\n ): Promise {\r\n return this.apiCall.post(\r\n this.endpointPath(),\r\n params,\r\n );\r\n }\r\n\r\n async retrieve(): Promise {\r\n return this.apiCall.get(\r\n this.endpointPath(),\r\n );\r\n }\r\n\r\n private endpointPath(operation?: string): string {\r\n return `${ConversationModels.RESOURCEPATH}${\r\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\r\n }`;\r\n }\r\n\r\n static get RESOURCEPATH() {\r\n return RESOURCEPATH;\r\n }\r\n}\r\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\n\nexport interface ConversationModelCreateSchema {\n id?: string;\n model_name: string;\n api_key?: string;\n system_prompt?: string;\n max_bytes: number;\n history_collection?: string;\n}\n\nexport interface ConversationModelDeleteSchema {\n id: string;\n}\n\nexport interface ConversationModelSchema extends ConversationModelCreateSchema {\n id: string;\n}\n\nexport default class ConversationModel {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async update(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(\n this.endpointPath(),\n );\n }\n\n private endpointPath(): string {\n return `${ConversationModels.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\nimport ConversationModel from \"./ConversationModel\";\nimport { ConversationSchema } from \"./Conversation\";\n\nconst RESOURCEPATH = \"/conversations\";\n\nexport interface ConversationsRetrieveSchema {\n conversations: ConversationSchema[];\n}\n\nexport default class Conversations {\n private readonly _conversationsModels: ConversationModels;\n private readonly individualConversationModels: Record<\n string,\n ConversationModel\n > = {};\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._conversationsModels = new ConversationModels(this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n models(): ConversationModels;\n models(id: string): ConversationModel;\n models(id?: string): ConversationModels | ConversationModel {\n if (id === undefined) {\n return this._conversationsModels;\n } else {\n if (this.individualConversationModels[id] === undefined) {\n this.individualConversationModels[id] = new ConversationModel(\n id,\n this.apiCall,\n );\n }\n return this.individualConversationModels[id];\n }\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Conversations from \"./Conversations\";\n\nexport interface ConversationDeleteSchema {\n id: number;\n}\n\nexport interface ConversationUpdateSchema {\n ttl: number;\n}\n\nexport interface ConversationSchema {\n id: number;\n conversation: object[];\n last_updated: number;\n ttl: number;\n}\n\nexport default class Conversation {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(\n params: ConversationUpdateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Conversations.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","/* eslint-disable no-dupe-class-members */\n\nimport Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Collection from \"./Collection\";\nimport Aliases from \"./Aliases\";\nimport Alias from \"./Alias\";\nimport Keys from \"./Keys\";\nimport Key from \"./Key\";\nimport Debug from \"./Debug\";\nimport Metrics from \"./Metrics\";\nimport Stats from \"./Stats\";\nimport Health from \"./Health\";\nimport Operations from \"./Operations\";\nimport MultiSearch from \"./MultiSearch\";\nimport Presets from \"./Presets\";\nimport Preset from \"./Preset\";\nimport Analytics from \"./Analytics\";\nimport Stopwords from \"./Stopwords\";\nimport Stopword from \"./Stopword\";\nimport Conversations from \"./Conversations\";\nimport Conversation from \"./Conversation\";\n\nexport default class Client {\n configuration: Configuration;\n apiCall: ApiCall;\n debug: Debug;\n metrics: Metrics;\n stats: Stats;\n health: Health;\n operations: Operations;\n multiSearch: MultiSearch;\n analytics: Analytics;\n private readonly _collections: Collections;\n private readonly individualCollections: Record;\n private readonly _aliases: Aliases;\n private readonly individualAliases: Record;\n private readonly _keys: Keys;\n private readonly individualKeys: Record;\n private readonly _presets: Presets;\n private readonly individualPresets: Record;\n private readonly _stopwords: Stopwords;\n private readonly individualStopwords: Record;\n private readonly _conversations: Conversations;\n private readonly individualConversations: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? false;\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.debug = new Debug(this.apiCall);\n this.metrics = new Metrics(this.apiCall);\n this.stats = new Stats(this.apiCall);\n this.health = new Health(this.apiCall);\n this.operations = new Operations(this.apiCall);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration);\n this._collections = new Collections(this.apiCall);\n this.individualCollections = {};\n this._aliases = new Aliases(this.apiCall);\n this.individualAliases = {};\n this._keys = new Keys(this.apiCall);\n this.individualKeys = {};\n this._presets = new Presets(this.apiCall);\n this.individualPresets = {};\n this._stopwords = new Stopwords(this.apiCall);\n this.individualStopwords = {};\n this.analytics = new Analytics(this.apiCall);\n this._conversations = new Conversations(this.apiCall);\n this.individualConversations = {};\n }\n\n collections(): Collections;\n collections = object>(\n collectionName: string,\n ): Collection;\n collections(collectionName?: string): Collections | Collection {\n if (collectionName === undefined) {\n return this._collections;\n } else {\n if (this.individualCollections[collectionName] === undefined) {\n this.individualCollections[collectionName] = new Collection(\n collectionName,\n this.apiCall,\n this.configuration,\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n\n aliases(): Aliases;\n aliases(aliasName: string): Alias;\n aliases(aliasName?: string): Aliases | Alias {\n if (aliasName === undefined) {\n return this._aliases;\n } else {\n if (this.individualAliases[aliasName] === undefined) {\n this.individualAliases[aliasName] = new Alias(aliasName, this.apiCall);\n }\n return this.individualAliases[aliasName];\n }\n }\n\n keys(): Keys;\n keys(id: number): Key;\n keys(id?: number): Keys | Key {\n if (id === undefined) {\n return this._keys;\n } else {\n if (this.individualKeys[id] === undefined) {\n this.individualKeys[id] = new Key(id, this.apiCall);\n }\n return this.individualKeys[id];\n }\n }\n\n presets(): Presets;\n presets(id: string): Preset;\n presets(id?: string): Presets | Preset {\n if (id === undefined) {\n return this._presets;\n } else {\n if (this.individualPresets[id] === undefined) {\n this.individualPresets[id] = new Preset(id, this.apiCall);\n }\n return this.individualPresets[id];\n }\n }\n\n stopwords(): Stopwords;\n stopwords(id: string): Stopword;\n stopwords(id?: string): Stopwords | Stopword {\n if (id === undefined) {\n return this._stopwords;\n } else {\n if (this.individualStopwords[id] === undefined) {\n this.individualStopwords[id] = new Stopword(id, this.apiCall);\n }\n return this.individualStopwords[id];\n }\n }\n\n conversations(): Conversations;\n conversations(id: string): Conversation;\n conversations(id?: string): Conversations | Conversation {\n if (id === undefined) {\n return this._conversations;\n } else {\n if (this.individualConversations[id] === undefined) {\n this.individualConversations[id] = new Conversation(id, this.apiCall);\n }\n return this.individualConversations[id];\n }\n }\n}\n","import { DocumentSchema, SearchableDocuments } from \"./Documents\";\r\nimport ApiCall from \"./ApiCall\";\r\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\r\n\r\nexport class SearchOnlyCollection {\r\n private readonly _documents: SearchableDocuments;\r\n\r\n constructor(\r\n private readonly name: string,\r\n private readonly apiCall: ApiCall,\r\n private readonly configuration: any\r\n ) {\r\n this._documents = new SearchOnlyDocuments(\r\n this.name,\r\n this.apiCall,\r\n this.configuration\r\n );\r\n }\r\n\r\n documents(): SearchableDocuments {\r\n return this._documents;\r\n }\r\n}\r\n","import Configuration, { ConfigurationOptions } from \"./Configuration\";\r\nimport ApiCall from \"./ApiCall\";\r\nimport MultiSearch from \"./MultiSearch\";\r\nimport { DocumentSchema } from \"./Documents\";\r\nimport { SearchOnlyCollection } from \"./SearchOnlyCollection\";\r\n\r\nexport default class SearchClient {\r\n public readonly multiSearch: MultiSearch;\r\n private readonly configuration: Configuration;\r\n private readonly apiCall: ApiCall;\r\n private readonly individualCollections: Record;\r\n\r\n constructor(options: ConfigurationOptions) {\r\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? true;\r\n if (\r\n options.sendApiKeyAsQueryParam === true &&\r\n (options.apiKey || \"\").length > 2000\r\n ) {\r\n console.warn(\r\n \"[typesense] API Key is longer than 2000 characters which is over the allowed limit, so disabling sending it as a query parameter.\"\r\n );\r\n options.sendApiKeyAsQueryParam = false;\r\n }\r\n\r\n this.configuration = new Configuration(options);\r\n this.apiCall = new ApiCall(this.configuration);\r\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration, true);\r\n this.individualCollections = {};\r\n }\r\n\r\n clearCache() {\r\n this.multiSearch.clearCache();\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n Object.entries(this.individualCollections).forEach(([_, collection]) => {\r\n collection.documents().clearCache();\r\n });\r\n }\r\n\r\n collections(\r\n collectionName: string\r\n ): SearchOnlyCollection | SearchOnlyCollection {\r\n if (!collectionName) {\r\n throw new Error(\r\n \"Typesense.SearchClient only supports search operations, so the collectionName that needs to \" +\r\n \"be searched must be specified. Use Typesense.Client if you need to access the collection object.\"\r\n );\r\n } else {\r\n if (this.individualCollections[collectionName] === undefined) {\r\n this.individualCollections[collectionName] = new SearchOnlyCollection(\r\n collectionName,\r\n this.apiCall,\r\n this.configuration\r\n );\r\n }\r\n return this.individualCollections[collectionName];\r\n }\r\n }\r\n}\r\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(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\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}","import Client from \"./Typesense/Client\";\nimport SearchClient from \"./Typesense/SearchClient\";\nimport * as Errors from \"./Typesense/Errors\";\n\nexport { Client, SearchClient, Errors };\nexport default { Client, SearchClient, Errors };\n"],"names":["root","definition","noop","undefinedType","isIE","window","navigator","test","userAgent","logMethods","_loggersByName","defaultLogger","bindMethod","obj","methodName","method","bind","Function","prototype","call","e","apply","arguments","traceForIE","console","log","trace","replaceLoggingMethods","level","this","getLevel","i","length","methodFactory","name","debug","levels","SILENT","enableLoggingWhenConsoleArrives","defaultMethodFactory","_level","_loggerName","undefined","realMethod","Logger","factory","inheritedLevel","defaultLevel","userLevel","self","storageKey","getPersistedLevel","storedLevel","localStorage","ignore","cookie","document","cookieName","encodeURIComponent","location","indexOf","exec","slice","normalizeLevel","input","toUpperCase","TypeError","setLevel","persist","levelNum","levelName","persistLevelIfPossible","setDefaultLevel","resetLevel","removeItem","clearPersistedLevel","enableAll","TRACE","disableAll","rebuild","childName","initialLevel","getLogger","logger","_log","noConflict","getLoggers","_typeof","_regeneratorRuntime","module","exports","__esModule","t","r","Object","n","hasOwnProperty","o","defineProperty","value","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","constructor","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","stop","rval","handle","complete","finish","delegateYield","runtime","regeneratorRuntime","accidentalStrictMode","globalThis","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","key","get","prop","_classCallCheck","instance","Constructor","toPropertyKey","toPrimitive","String","_defineProperties","target","props","descriptor","_createClass","protoProps","staticProps","_defineProperty","_assertThisInitialized","ReferenceError","_possibleConstructorReturn","_getPrototypeOf","_setPrototypeOf","_inherits","subClass","superClass","_isNativeReflectConstruct","Boolean","valueOf","Reflect","construct","_wrapNativeSuper","Class","_cache","Map","fn","toString","has","set","Wrapper","TypesenseError","_Error","message","_this","_callSuper","MissingConfigurationError","_TypesenseError","Configuration","options","nodes","map","node","setDefaultPathInNode","setDefaultPortInNode","_objectSpread","randomizeNodes","shuffleArray","nearestNode","connectionTimeoutSeconds","timeoutSeconds","healthcheckIntervalSeconds","numRetries","retryIntervalSeconds","apiKey","sendApiKeyAsQueryParam","cacheSearchResultsForSeconds","useServerSideSearchCache","logLevel","additionalHeaders","httpAgent","httpsAgent","paramsSerializer","showDeprecationWarnings","validate","validateNodes","isNodeMissingAnyParameters","_this2","some","every","warn","masterNode","readReplicaNodes","array","j","Math","floor","random","_ref","asyncGeneratorStep","gen","reject","_next","_throw","info","error","_asyncToGenerator","args","err","thisArg","kindOf","cache","thing","str","toLowerCase","kindOfTest","typeOfTest","isArray","Array","isUndefined","isArrayBuffer","isString","isFunction","isNumber","isObject","isPlainObject","val","isDate","isFile","isBlob","isFileList","isURLSearchParams","isReadableStream","isRequest","isResponse","isHeaders","allOwnKeys","getOwnPropertyNames","len","findKey","_key","_global","global","isContextDefined","context","isTypedArray","TypedArray","Uint8Array","isHTMLForm","isRegExp","reduceDescriptors","reducer","descriptors","getOwnPropertyDescriptors","reducedDescriptors","ret","defineProperties","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","isAsyncFn","isBuffer","isFormData","kind","FormData","append","isArrayBufferView","result","ArrayBuffer","isView","buffer","isBoolean","isStream","pipe","merge","caseless","assignValue","targetKey","extend","b","trim","replace","stripBOM","content","charCodeAt","inherits","superConstructor","assign","toFlatObject","sourceObj","destObj","filter","propFilter","merged","endsWith","searchString","position","lastIndex","toArray","arr","forEachEntry","pair","matchAll","regExp","matches","hasOwnProp","freezeMethods","toObjectSet","arrayOrString","delimiter","split","toCamelCase","m","p1","p2","toFiniteNumber","defaultValue","Number","isFinite","generateString","size","alphabet","isSpecCompliantForm","toJSONObject","stack","visit","source","reducedValue","isThenable","catch","AxiosError","code","config","request","response","captureStackTrace","utils","toJSON","description","number","fileName","lineNumber","columnNumber","status","from","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","path","dots","concat","token","join","predicates","formData","metaTokens","indexes","option","visitor","defaultVisitor","useBlob","Blob","convertValue","toISOString","Buffer","JSON","stringify","isFlatArray","el","index","exposedHelpers","build","encode","charMap","match","AxiosURLSearchParams","params","_pairs","encoder","_encode","buildURL","url","serializeFn","serialize","serializedParams","hashmarkIndex","handlers","use","fulfilled","rejected","synchronous","runWhen","eject","id","clear","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","isBrowser","classes","URLSearchParams","protocols","hasBrowserEnv","hasStandardBrowserEnv","product","hasStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","origin","href","buildPath","isNumericKey","isLast","arrayToObject","entries","parsePropPath","defaults","transitional","adapter","transformRequest","data","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","setContentType","platform","helpers","isNode","toURLEncodedForm","formSerializer","_FormData","env","rawValue","parser","parse","stringifySafely","transformResponse","JSONRequested","responseType","strictJSONParsing","ERR_BAD_RESPONSE","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","ignoreDuplicateOf","$internals","normalizeHeader","header","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","rawHeaders","parsed","line","substring","parseHeaders","tokens","tokensRE","parseTokens","matcher","deleted","deleteHeader","normalize","format","normalized","w","char","formatHeader","targets","asStrings","first","computed","accessor","accessors","defineAccessor","accessorName","arg1","arg2","arg3","buildAccessors","mapped","headerValue","transformData","fns","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","settle","ERR_BAD_REQUEST","listener","isDownloadStream","freq","bytesNotified","_speedometer","samplesCount","min","bytes","timestamps","firstSampleTS","head","tail","chunkLength","now","Date","startedAt","bytesCount","passed","round","timestamp","threshold","timer","force","clearTimeout","setTimeout","loaded","total","lengthComputable","progressBytes","rate","progress","estimated","event","msie","urlParsingNode","createElement","originURL","resolveURL","setAttribute","protocol","host","search","hash","hostname","port","pathname","requestURL","write","expires","domain","secure","toGMTString","read","RegExp","decodeURIComponent","remove","buildFullPath","baseURL","requestedURL","relativeURL","combineURLs","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","withCredentials","withXSRFToken","onUploadProgress","onDownloadProgress","decompress","beforeRedirect","transport","cancelToken","socketPath","responseEncoding","configValue","newConfig","auth","btoa","username","password","unescape","isURLSameOrigin","xsrfValue","cookies","XMLHttpRequest","_config","resolveConfig","requestData","requestHeaders","onCanceled","unsubscribe","signal","removeEventListener","onloadend","responseHeaders","getAllResponseHeaders","responseText","statusText","open","onreadystatechange","readyState","responseURL","onabort","ECONNABORTED","onerror","ERR_NETWORK","ontimeout","timeoutErrorMessage","ETIMEDOUT","setRequestHeader","addEventListener","progressEventReducer","upload","cancel","abort","subscribe","aborted","parseProtocol","send","signals","controller","AbortController","reason","streamChunk","chunk","chunkSize","byteLength","end","pos","trackStream","stream","onProgress","onFinish","iterable","readBytes","ReadableStream","pull","close","enqueue","return","highWaterMark","fetchProgressDecorator","isFetchSupported","fetch","Request","Response","isReadableStreamSupported","encodeText","TextEncoder","arrayBuffer","supportsRequestStream","duplexAccessed","hasContentType","body","duplex","supportsResponseStream","resolvers","res","_","ERR_NOT_SUPPORT","knownAdapters","http","xhr","fetchOptions","finished","composedSignal","stopTimeout","requestContentLength","getContentLength","getBodyLength","resolveBodyLength","contentTypeHeader","_request","isStreamResponse","responseContentLength","responseData","renderReason","isResolvedHandle","adapters","nameOrAdapter","rejectedReasons","reasons","state","throwIfCancellationRequested","throwIfRequested","dispatchRequest","validators","deprecatedWarnings","validator","version","formatMessage","opt","desc","opts","ERR_DEPRECATED","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","Axios","instanceConfig","interceptors","configOrUrl","dummy","boolean","function","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","unshift","responseInterceptorChain","promise","chain","onFulfilled","onRejected","getUri","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","splice","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","axios","createInstance","defaultConfig","VERSION","toFormData","Cancel","all","promises","spread","callback","isAxiosError","payload","formToJSON","getAdapter","default","RequestMalformed","RequestUnauthorized","ObjectNotFound","ObjectAlreadyExists","ObjectUnprocessable","ServerError","HTTPError","HEALTHY","isNodeJSEnvironment","process","versions","ApiCall","configuration","numRetriesPerRequest","additionalUserHeaders","initializeMetadataForNodes","currentNodeIndex","_timer","_performRequest","_patch","_put","_post","_delete2","_get","_callee","endpoint","queryParameters","_ref$abortSignal","abortSignal","_ref$responseType","_args","_context","performRequest","_x","_callee2","_args2","_context2","_x2","_callee3","bodyParameters","_args3","_context3","_x3","_callee4","_args4","_context4","_x4","_callee5","_args5","_context5","_x5","_callee6","requestType","_ref2","_ref2$queryParameters","_ref2$bodyParameters","_ref2$additionalHeade","_ref2$abortSignal","_ref2$responseType","_ref2$skipConnectionT","skipConnectionTimeout","_ref2$enableKeepAlive","enableKeepAlive","requestNumber","lastException","_loop","_ret","numTries","_context7","abortListener","requestOptions","_response$data","_response$data2","_error$response","_context6","getNextNode","uriFor","defaultHeaders","Infinity","transformedData","startsWith","HTTPAgent","keepAlive","HTTPSAgent","setNodeHealthcheck","customErrorForResponse","t0","_x6","_x7","_x8","isHealthy","nodeDueForHealthcheck","candidateNode","isDueForHealthcheck","lastAccessTimestamp","_callee7","seconds","_context8","_x9","messageFromServer","errorMessage","httpStatus","RESOURCEPATH","Collections","apiCall","_retrieve","_create","post","ImportError","importResults","_arrayLikeToArray","arr2","_unsupportedIterableToArray","minLen","_toConsumableArray","iter","RequestWithCache","_perform","responseCache","responsePromiseCache","requestContext","requestFunction","requestFunctionArguments","cacheOptions","_cacheOptions$cacheRe","cacheResponseForSeconds","_cacheOptions$maxSize","maxSize","requestFunctionArgumentsJSON","cacheEntry","cachePromiseEntry","responsePromise","oldestEntry","_oldestEntry","requestTimestamp","delete","SearchOnlyDocuments","collectionName","_search","requestWithCache","clearCache","searchParameters","_ref$cacheSearchResul","additionalQueryParams","queryParams","perform","endpointPath","operation","Documents","_exportStream","_export2","_importStream","_import2","_createMany","_update","_upsert","action","patch","query","documents","import","documentsInJSONLFormat","resultsInJSONLFormat","resultsInJSONFormat","failedItems","_args6","RangeError","includes","success","readableStream","_args7","_callee8","_args8","_callee9","_args9","_context9","Overrides","overrideId","put","Override","Synonyms","synonymId","Synonym","Document","documentId","partialDocument","Collection","_documents","_overrides","_synonyms","_exists","retrieve","individualDocuments","individualOverrides","individualSynonyms","Aliases","mapping","aliasName","Alias","Keys","searchKey","parameters","paramsJSON","digest","createHmac","update","keyPrefix","substr","rawScopedKey","Key","Debug","Metrics","Health","Operations","operationName","MultiSearch","useTextContentType","searchRequests","commonParams","Presets","presetId","Preset","AnalyticsRules","AnalyticsRule","AnalyticsEvents","Analytics","_analyticsRules","_analyticsEvents","individualAnalyticsRules","Stopwords","stopwordId","Stopword","ConversationModels","ConversationModel","Conversations","_conversationsModels","individualConversationModels","Conversation","Client","_options$sendApiKeyAs","metrics","stats","Stats","health","operations","multiSearch","_collections","individualCollections","_aliases","individualAliases","_keys","individualKeys","_presets","individualPresets","_stopwords","individualStopwords","analytics","_conversations","individualConversations","SearchOnlyCollection","SearchClient","Errors"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"typesense.min.js","mappings":"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","sources":["webpack://Typesense/./node_modules/loglevel/lib/loglevel.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/regenerator/index.js","webpack://Typesense/webpack/bootstrap","webpack://Typesense/webpack/runtime/compat get default export","webpack://Typesense/webpack/runtime/define property getters","webpack://Typesense/webpack/runtime/hasOwnProperty shorthand","webpack://Typesense/webpack/runtime/make namespace object","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://Typesense/./src/Typesense/Errors/TypesenseError.ts","webpack://Typesense/./src/Typesense/Errors/MissingConfigurationError.ts","webpack://Typesense/./src/Typesense/Configuration.ts","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://Typesense/./node_modules/axios/lib/helpers/bind.js","webpack://Typesense/./node_modules/axios/lib/utils.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosError.js","webpack://Typesense/./node_modules/axios/lib/helpers/toFormData.js","webpack://Typesense/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/helpers/buildURL.js","webpack://Typesense/./node_modules/axios/lib/core/InterceptorManager.js","webpack://Typesense/./node_modules/axios/lib/defaults/transitional.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/index.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://Typesense/./node_modules/axios/lib/platform/common/utils.js","webpack://Typesense/./node_modules/axios/lib/platform/index.js","webpack://Typesense/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://Typesense/./node_modules/axios/lib/defaults/index.js","webpack://Typesense/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://Typesense/./node_modules/axios/lib/core/transformData.js","webpack://Typesense/./node_modules/axios/lib/cancel/isCancel.js","webpack://Typesense/./node_modules/axios/lib/cancel/CanceledError.js","webpack://Typesense/./node_modules/axios/lib/core/settle.js","webpack://Typesense/./node_modules/axios/lib/helpers/speedometer.js","webpack://Typesense/./node_modules/axios/lib/helpers/progressEventReducer.js","webpack://Typesense/./node_modules/axios/lib/helpers/throttle.js","webpack://Typesense/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://Typesense/./node_modules/axios/lib/helpers/cookies.js","webpack://Typesense/./node_modules/axios/lib/core/buildFullPath.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://Typesense/./node_modules/axios/lib/helpers/combineURLs.js","webpack://Typesense/./node_modules/axios/lib/core/mergeConfig.js","webpack://Typesense/./node_modules/axios/lib/helpers/resolveConfig.js","webpack://Typesense/./node_modules/axios/lib/adapters/xhr.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://Typesense/./node_modules/axios/lib/helpers/composeSignals.js","webpack://Typesense/./node_modules/axios/lib/helpers/trackStream.js","webpack://Typesense/./node_modules/axios/lib/adapters/fetch.js","webpack://Typesense/./node_modules/axios/lib/adapters/adapters.js","webpack://Typesense/./node_modules/axios/lib/helpers/null.js","webpack://Typesense/./node_modules/axios/lib/core/dispatchRequest.js","webpack://Typesense/./node_modules/axios/lib/env/data.js","webpack://Typesense/./node_modules/axios/lib/helpers/validator.js","webpack://Typesense/./node_modules/axios/lib/core/Axios.js","webpack://Typesense/./node_modules/axios/lib/cancel/CancelToken.js","webpack://Typesense/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://Typesense/./node_modules/axios/lib/axios.js","webpack://Typesense/./node_modules/axios/lib/helpers/spread.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://Typesense/./src/Typesense/Errors/RequestMalformed.ts","webpack://Typesense/./src/Typesense/Errors/RequestUnauthorized.ts","webpack://Typesense/./src/Typesense/Errors/ObjectNotFound.ts","webpack://Typesense/./src/Typesense/Errors/ObjectAlreadyExists.ts","webpack://Typesense/./src/Typesense/Errors/ObjectUnprocessable.ts","webpack://Typesense/./src/Typesense/Errors/ServerError.ts","webpack://Typesense/./src/Typesense/Errors/HTTPError.ts","webpack://Typesense/./src/Typesense/ApiCall.ts","webpack://Typesense/./src/Typesense/Collections.ts","webpack://Typesense/./src/Typesense/Errors/ImportError.ts","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://Typesense/./src/Typesense/RequestWithCache.ts","webpack://Typesense/./src/Typesense/SearchOnlyDocuments.ts","webpack://Typesense/./src/Typesense/Documents.ts","webpack://Typesense/./src/Typesense/Overrides.ts","webpack://Typesense/./src/Typesense/Override.ts","webpack://Typesense/./src/Typesense/Synonyms.ts","webpack://Typesense/./src/Typesense/Synonym.ts","webpack://Typesense/./src/Typesense/Document.ts","webpack://Typesense/./src/Typesense/Collection.ts","webpack://Typesense/./src/Typesense/Aliases.ts","webpack://Typesense/./src/Typesense/Alias.ts","webpack://Typesense/./src/Typesense/Keys.ts","webpack://Typesense/./src/Typesense/Key.ts","webpack://Typesense/./src/Typesense/Debug.ts","webpack://Typesense/./src/Typesense/Metrics.ts","webpack://Typesense/./src/Typesense/Stats.ts","webpack://Typesense/./src/Typesense/Health.ts","webpack://Typesense/./src/Typesense/Operations.ts","webpack://Typesense/./src/Typesense/MultiSearch.ts","webpack://Typesense/./src/Typesense/Presets.ts","webpack://Typesense/./src/Typesense/Preset.ts","webpack://Typesense/./src/Typesense/AnalyticsRules.ts","webpack://Typesense/./src/Typesense/AnalyticsRule.ts","webpack://Typesense/./src/Typesense/AnalyticsEvents.ts","webpack://Typesense/./src/Typesense/Analytics.ts","webpack://Typesense/./src/Typesense/Stopwords.ts","webpack://Typesense/./src/Typesense/Stopword.ts","webpack://Typesense/./src/Typesense/ConversationModels.ts","webpack://Typesense/./src/Typesense/ConversationModel.ts","webpack://Typesense/./src/Typesense/Conversations.ts","webpack://Typesense/./src/Typesense/Conversation.ts","webpack://Typesense/./src/Typesense/Client.ts","webpack://Typesense/./src/Typesense/SearchOnlyCollection.ts","webpack://Typesense/./src/Typesense/SearchClient.ts","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://Typesense/./src/Typesense.ts"],"sourcesContent":["/*\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 var _loggersByName = {};\n var defaultLogger = null;\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() {\n /*jshint validthis:true */\n var level = this.getLevel();\n\n // Replace the actual methods.\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, this.name);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n\n // Return any important warnings.\n if (typeof console === undefinedType && level < this.levels.SILENT) {\n return \"No console available for logging\";\n }\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) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this);\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, factory) {\n // Private instance variables.\n var self = this;\n /**\n * The level inherited from a parent logger (or a global default). We\n * cache this here rather than delegating to the parent so that it stays\n * in sync with the actual logging methods that we have installed (the\n * parent could change levels but we might not have rebuilt the loggers\n * in this child yet).\n * @type {number}\n */\n var inheritedLevel;\n /**\n * The default level for this logger, if any. If set, this overrides\n * `inheritedLevel`.\n * @type {number|null}\n */\n var defaultLevel;\n /**\n * A user-specific level for this logger. If set, this overrides\n * `defaultLevel`.\n * @type {number|null}\n */\n var userLevel;\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 cookieName = encodeURIComponent(storageKey);\n var location = cookie.indexOf(cookieName + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(\n cookie.slice(location + cookieName.length + 1)\n )[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 } 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 function normalizeLevel(input) {\n var level = input;\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 return level;\n } else {\n throw new TypeError(\"log.setLevel() called with invalid level: \" + input);\n }\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 if (userLevel != null) {\n return userLevel;\n } else if (defaultLevel != null) {\n return defaultLevel;\n } else {\n return inheritedLevel;\n }\n };\n\n self.setLevel = function (level, persist) {\n userLevel = normalizeLevel(level);\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(userLevel);\n }\n\n // NOTE: in v2, this should call rebuild(), which updates children.\n return replaceLoggingMethods.call(self);\n };\n\n self.setDefaultLevel = function (level) {\n defaultLevel = normalizeLevel(level);\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.resetLevel = function () {\n userLevel = null;\n clearPersistedLevel();\n replaceLoggingMethods.call(self);\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 self.rebuild = function () {\n if (defaultLogger !== self) {\n inheritedLevel = normalizeLevel(defaultLogger.getLevel());\n }\n replaceLoggingMethods.call(self);\n\n if (defaultLogger === self) {\n for (var childName in _loggersByName) {\n _loggersByName[childName].rebuild();\n }\n }\n };\n\n // Initialize all the internal levels.\n inheritedLevel = normalizeLevel(\n defaultLogger ? defaultLogger.getLevel() : \"WARN\"\n );\n var initialLevel = getPersistedLevel();\n if (initialLevel != null) {\n userLevel = normalizeLevel(initialLevel);\n }\n replaceLoggingMethods.call(self);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n defaultLogger = new Logger();\n\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,\n defaultLogger.methodFactory\n );\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","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 e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw new Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\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))","// 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};","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(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\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 _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n try {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n } catch (e) {\n return typeof fn === \"function\";\n }\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\n}","export default class TypesenseError extends Error {\n httpStatus?: number;\n\n // Source: https://stackoverflow.com/a/58417721/123545\n constructor(message?: string) {\n super(message);\n this.name = new.target.name;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class MissingConfigurationError extends TypesenseError {}\n","import * as logger from \"loglevel\";\nimport { Logger, LogLevelDesc } from \"loglevel\";\nimport { MissingConfigurationError } from \"./Errors\";\nimport type { Agent as HTTPAgent } from \"http\";\nimport type { Agent as HTTPSAgent } from \"https\";\n\nexport interface NodeConfiguration {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n url?: string;\n}\n\nexport interface NodeConfigurationWithHostname {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n}\n\nexport interface NodeConfigurationWithUrl {\n url: string;\n}\n\nexport interface ConfigurationOptions {\n apiKey: string;\n nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n randomizeNodes?: boolean;\n /**\n * @deprecated\n * masterNode is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n masterNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n /**\n * @deprecated\n * readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n readReplicaNodes?:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n connectionTimeoutSeconds?: number;\n timeoutSeconds?: number;\n healthcheckIntervalSeconds?: number;\n numRetries?: number;\n retryIntervalSeconds?: number;\n sendApiKeyAsQueryParam?: boolean | undefined;\n useServerSideSearchCache?: boolean;\n cacheSearchResultsForSeconds?: number;\n additionalHeaders?: Record;\n\n logLevel?: LogLevelDesc;\n logger?: Logger;\n\n /**\n * Set a custom HTTP Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPAgent } = require(\"http\");\n * ...\n * httpAgent: new HTTPAgent({ keepAlive: true }),\n * @type {HTTPAgent}\n */\n httpAgent?: HTTPAgent;\n\n /**\n * Set a custom HTTPS Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPSAgent } = require(\"https\");\n * ...\n * httpsAgent: new HTTPSAgent({ keepAlive: true }),\n * @type {HTTPSAgent}\n */\n httpsAgent?: HTTPSAgent;\n\n /**\n * Set a custom paramsSerializer\n *\n * See axios documentation for more information on how to use this parameter: https://axios-http.com/docs/req_config\n * This is helpful for handling React Native issues like this: https://github.com/axios/axios/issues/6102#issuecomment-2085301397\n * @type {any}\n */\n paramsSerializer?: any;\n}\n\nexport default class Configuration {\n readonly nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n readonly nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n readonly connectionTimeoutSeconds: number;\n readonly healthcheckIntervalSeconds: number;\n readonly numRetries: number;\n readonly retryIntervalSeconds: number;\n readonly apiKey: string;\n readonly sendApiKeyAsQueryParam?: boolean;\n readonly cacheSearchResultsForSeconds: number;\n readonly useServerSideSearchCache: boolean;\n readonly logger: Logger;\n readonly logLevel: LogLevelDesc;\n readonly additionalHeaders?: Record;\n readonly httpAgent?: HTTPAgent;\n readonly httpsAgent?: HTTPSAgent;\n readonly paramsSerializer?: any;\n\n constructor(options: ConfigurationOptions) {\n this.nodes = options.nodes || [];\n this.nodes = this.nodes\n .map((node) => this.setDefaultPathInNode(node))\n .map((node) => this.setDefaultPortInNode(node))\n .map((node) => ({ ...node })) as NodeConfiguration[]; // Make a deep copy\n\n if (options.randomizeNodes == null) {\n options.randomizeNodes = true;\n }\n\n if (options.randomizeNodes === true) {\n this.shuffleArray(this.nodes);\n }\n\n this.nearestNode = options.nearestNode;\n this.nearestNode = this.setDefaultPathInNode(this.nearestNode);\n this.nearestNode = this.setDefaultPortInNode(this.nearestNode);\n\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\n this.apiKey = options.apiKey;\n this.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam; // We will set a default for this in Client and SearchClient\n\n this.cacheSearchResultsForSeconds =\n options.cacheSearchResultsForSeconds || 0; // Disable client-side cache by default\n this.useServerSideSearchCache = options.useServerSideSearchCache || false;\n\n this.logger = options.logger || logger;\n this.logLevel = options.logLevel || \"warn\";\n this.logger.setLevel(this.logLevel);\n\n this.additionalHeaders = options.additionalHeaders;\n\n this.httpAgent = options.httpAgent;\n this.httpsAgent = options.httpsAgent;\n\n this.paramsSerializer = options.paramsSerializer;\n\n this.showDeprecationWarnings(options);\n this.validate();\n }\n\n validate(): boolean {\n if (this.nodes == null || this.nodes.length === 0 || this.validateNodes()) {\n throw new MissingConfigurationError(\n \"Ensure that nodes[].protocol, nodes[].host and nodes[].port are set\",\n );\n }\n\n if (\n this.nearestNode != null &&\n this.isNodeMissingAnyParameters(this.nearestNode)\n ) {\n throw new MissingConfigurationError(\n \"Ensure that nearestNodes.protocol, nearestNodes.host and nearestNodes.port are set\",\n );\n }\n\n if (this.apiKey == null) {\n throw new MissingConfigurationError(\"Ensure that apiKey is set\");\n }\n\n return true;\n }\n\n private validateNodes(): boolean {\n return this.nodes.some((node) => {\n return this.isNodeMissingAnyParameters(node);\n });\n }\n\n private isNodeMissingAnyParameters(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl,\n ): boolean {\n return (\n ![\"protocol\", \"host\", \"port\", \"path\"].every((key) => {\n return node.hasOwnProperty(key);\n }) && node[\"url\"] == null\n );\n }\n\n private setDefaultPathInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (node != null && !node.hasOwnProperty(\"path\")) {\n node[\"path\"] = \"\";\n }\n return node;\n }\n\n private setDefaultPortInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (\n node != null &&\n !node.hasOwnProperty(\"port\") &&\n node.hasOwnProperty(\"protocol\")\n ) {\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\n private showDeprecationWarnings(options: ConfigurationOptions): void {\n if (options.timeoutSeconds) {\n this.logger.warn(\n \"Deprecation warning: timeoutSeconds is now renamed to connectionTimeoutSeconds\",\n );\n }\n if (options.masterNode) {\n this.logger.warn(\n \"Deprecation warning: masterNode is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n if (options.readReplicaNodes) {\n this.logger.warn(\n \"Deprecation warning: readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n }\n\n private shuffleArray(array) {\n for (let i = array.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [array[i], array[j]] = [array[j], array[i]];\n }\n }\n}\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}","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\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 && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let 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 {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\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 *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\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 (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 const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\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 *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && 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 *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\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 *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","'use strict';\n\nimport utils from '../utils.js';\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 {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n 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: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\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 * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\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 */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n 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 *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\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 *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\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 *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = (\n (product) => {\n return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0\n })(typeof navigator !== 'undefined' && navigator.product);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\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\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\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 env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\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 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\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} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\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 *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\n\nexport default (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n }, freq);\n}\n","'use strict';\n\n/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n const threshold = 1000 / freq;\n let timer = null;\n return function throttled() {\n const force = this === true;\n\n const now = Date.now();\n if (force || now - timestamp > threshold) {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n timestamp = now;\n return fn.apply(null, arguments);\n }\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n timestamp = Date.now();\n return fn.apply(null, arguments);\n }, threshold - (now - timestamp));\n }\n };\n}\n\nexport default throttle;\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\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 const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let 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 const 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","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\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 *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default 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\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 *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\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 *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, 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(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const 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 withXSRFToken: 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 beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\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\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport progressEventReducer from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType} = _config;\n let 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 let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, 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 const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n 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(new AxiosError('Request aborted', AxiosError.ECONNABORTED, _config, 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(new AxiosError('Network Error', AxiosError.ERR_NETWORK, _config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n _config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\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', progressEventReducer(_config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof _config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(_config.onUploadProgress));\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : 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 const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst composeSignals = (signals, timeout) => {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (cancel) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = cancel instanceof Error ? cancel : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal &&\n (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort));\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = unsubscribe;\n\n return [signal, () => {\n timer && clearTimeout(timer);\n timer = null;\n }];\n}\n\nexport default composeSignals;\n","\n\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize, encode) {\n for await (const chunk of iterable) {\n yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize);\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => {\n const iterator = readBytes(stream, chunkSize, encode);\n\n let bytes = 0;\n\n return new ReadableStream({\n type: 'bytes',\n\n async pull(controller) {\n const {done, value} = await iterator.next();\n\n if (done) {\n controller.close();\n onFinish();\n return;\n }\n\n let len = value.byteLength;\n onProgress && onProgress(bytes += len);\n controller.enqueue(new Uint8Array(value));\n },\n cancel(reason) {\n onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport progressEventReducer from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst fetchProgressDecorator = (total, fn) => {\n const lengthComputable = total != null;\n return (loaded) => setTimeout(() => fn({\n lengthComputable,\n total,\n loaded\n }));\n}\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst supportsRequestStream = isReadableStreamSupported && (() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n})();\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported && !!(()=> {\n try {\n return utils.isReadableStream(new Response('').body);\n } catch(err) {\n // return undefined\n }\n})();\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n return (await new Request(body).arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ?\n composeSignals([signal, cancelToken], timeout) : [];\n\n let finished, request;\n\n const onFinish = () => {\n !finished && setTimeout(() => {\n composedSignal && composedSignal.unsubscribe();\n });\n\n finished = true;\n }\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, fetchProgressDecorator(\n requestContentLength,\n progressEventReducer(onUploadProgress)\n ), null, encodeText);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'cors' : 'omit';\n }\n\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n withCredentials\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onDownloadProgress && fetchProgressDecorator(\n responseContentLength,\n progressEventReducer(onDownloadProgress, true)\n ), isStreamResponse && onFinish, encodeText),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && onFinish();\n\n stopTimeout && stopTimeout();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n onFinish();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\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 *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(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 config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\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 config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.7.2\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\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 *\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 (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\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 *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(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 {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _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 const {transitional, paramsSerializer, headers} = config;\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 if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let 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 const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\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,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(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, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n 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\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const 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 */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\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\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\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 *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestMalformed extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestUnauthorized extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectNotFound extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectAlreadyExists extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectUnprocessable extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ServerError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class HTTPError extends TypesenseError {}\n","import axios, { AxiosRequestConfig, AxiosResponse, Method } from \"axios\";\nimport { Logger } from \"loglevel\";\nimport {\n HTTPError,\n ObjectAlreadyExists,\n ObjectNotFound,\n ObjectUnprocessable,\n RequestMalformed,\n RequestUnauthorized,\n ServerError,\n} from \"./Errors\";\nimport TypesenseError from \"./Errors/TypesenseError\";\nimport Configuration, { NodeConfiguration } from \"./Configuration\";\nimport { Agent as HTTPAgent } from \"http\";\nimport { Agent as HTTPSAgent } from \"https\";\n\nconst APIKEYHEADERNAME = \"X-TYPESENSE-API-KEY\";\nconst HEALTHY = true;\nconst UNHEALTHY = false;\n\ninterface Node extends NodeConfiguration {\n isHealthy: boolean;\n index: string | number;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class ApiCall {\n private readonly apiKey: string;\n private readonly nodes: Node[];\n private readonly nearestNode: Node;\n private readonly connectionTimeoutSeconds: number;\n private readonly healthcheckIntervalSeconds: number;\n private readonly retryIntervalSeconds: number;\n private readonly sendApiKeyAsQueryParam?: boolean;\n private readonly numRetriesPerRequest: number;\n private readonly additionalUserHeaders?: Record;\n\n private readonly logger: Logger;\n private currentNodeIndex: number;\n\n constructor(private 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\n this.logger = this.configuration.logger;\n\n this.initializeMetadataForNodes();\n this.currentNodeIndex = -1;\n }\n\n async get(\n endpoint: string,\n queryParameters: any = {},\n {\n abortSignal = null,\n responseType = undefined,\n }: {\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n } = {},\n ): Promise {\n return this.performRequest(\"get\", endpoint, {\n queryParameters,\n abortSignal,\n responseType,\n });\n }\n\n async delete(endpoint: string, queryParameters: any = {}): Promise {\n return this.performRequest(\"delete\", endpoint, { queryParameters });\n }\n\n async post(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n additionalHeaders: any = {},\n ): Promise {\n return this.performRequest(\"post\", endpoint, {\n queryParameters,\n bodyParameters,\n additionalHeaders,\n });\n }\n\n async put(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"put\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async patch(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"patch\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async performRequest(\n requestType: Method,\n endpoint: string,\n {\n queryParameters = null,\n bodyParameters = null,\n additionalHeaders = {},\n abortSignal = null,\n responseType = undefined,\n skipConnectionTimeout = false,\n enableKeepAlive = undefined,\n }: {\n queryParameters?: any;\n bodyParameters?: any;\n additionalHeaders?: any;\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n skipConnectionTimeout?: boolean;\n enableKeepAlive?: boolean | undefined;\n },\n ): Promise {\n this.configuration.validate();\n\n const requestNumber = Date.now();\n let lastException;\n this.logger.debug(\n `Request #${requestNumber}: Performing ${requestType.toUpperCase()} request: ${endpoint}`,\n );\n for (\n let numTries = 1;\n numTries <= this.numRetriesPerRequest + 1;\n numTries++\n ) {\n const node = this.getNextNode(requestNumber);\n this.logger.debug(\n `Request #${requestNumber}: Attempting ${requestType.toUpperCase()} request Try #${numTries} to Node ${\n node.index\n }`,\n );\n\n if (abortSignal && abortSignal.aborted) {\n return Promise.reject(new Error(\"Request aborted by caller.\"));\n }\n\n let abortListener;\n\n try {\n const requestOptions: AxiosRequestConfig = {\n method: requestType,\n url: this.uriFor(endpoint, node),\n headers: Object.assign(\n {},\n this.defaultHeaders(),\n additionalHeaders,\n this.additionalUserHeaders,\n ),\n maxContentLength: Infinity,\n maxBodyLength: Infinity,\n responseType,\n validateStatus: (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 (data, headers) => {\n let transformedData = data;\n if (\n headers !== undefined &&\n typeof data === \"string\" &&\n headers[\"content-type\"] &&\n headers[\"content-type\"].startsWith(\"application/json\")\n ) {\n transformedData = JSON.parse(data);\n }\n return transformedData;\n },\n ],\n };\n\n if (skipConnectionTimeout !== true) {\n requestOptions.timeout = this.connectionTimeoutSeconds * 1000;\n }\n\n if (queryParameters && Object.keys(queryParameters).length !== 0) {\n requestOptions.params = queryParameters;\n }\n\n if (this.sendApiKeyAsQueryParam) {\n requestOptions.params = requestOptions.params || {};\n requestOptions.params[\"x-typesense-api-key\"] = this.apiKey;\n }\n\n if (this.configuration.httpAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpAgent`,\n );\n requestOptions.httpAgent = this.configuration.httpAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling KeepAlive`);\n requestOptions.httpAgent = new HTTPAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.httpsAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpsAgent`,\n );\n requestOptions.httpsAgent = this.configuration.httpsAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling keepAlive`);\n requestOptions.httpsAgent = new HTTPSAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.paramsSerializer) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom paramsSerializer`,\n );\n requestOptions.paramsSerializer = this.configuration.paramsSerializer;\n }\n\n if (\n bodyParameters &&\n ((typeof bodyParameters === \"string\" &&\n bodyParameters.length !== 0) ||\n (typeof bodyParameters === \"object\" &&\n Object.keys(bodyParameters).length !== 0))\n ) {\n requestOptions.data = bodyParameters;\n }\n\n // Translate from user-provided AbortController to the Axios request cancel mechanism.\n if (abortSignal) {\n const cancelToken = axios.CancelToken;\n const source = cancelToken.source();\n abortListener = () => source.cancel();\n abortSignal.addEventListener(\"abort\", abortListener);\n requestOptions.cancelToken = source.token;\n }\n\n const response = await axios(requestOptions);\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.setNodeHealthcheck(node, HEALTHY);\n }\n this.logger.debug(\n `Request #${requestNumber}: Request to Node ${node.index} was made. Response Code was ${response.status}.`,\n );\n\n if (response.status >= 200 && response.status < 300) {\n // If response is 2xx return a resolved promise\n return Promise.resolve(response.data);\n } else if (response.status < 500) {\n // Next, if response is anything but 5xx, don't retry, return a custom error\n return Promise.reject(\n this.customErrorForResponse(response, response.data?.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.customErrorForResponse(response, response.data?.message);\n }\n } catch (error: any) {\n // This block handles retries for HTTPStatus > 500 and network layer issues like connection timeouts\n this.setNodeHealthcheck(node, UNHEALTHY);\n lastException = error;\n this.logger.warn(\n `Request #${requestNumber}: Request to Node ${\n node.index\n } failed due to \"${error.code} ${error.message}${\n error.response == null\n ? \"\"\n : \" - \" + JSON.stringify(error.response?.data)\n }\"`,\n );\n // this.logger.debug(error.stack)\n this.logger.warn(\n `Request #${requestNumber}: Sleeping for ${this.retryIntervalSeconds}s and then retrying request...`,\n );\n await this.timer(this.retryIntervalSeconds);\n } finally {\n if (abortSignal && abortListener) {\n abortSignal.removeEventListener(\"abort\", abortListener);\n }\n }\n }\n this.logger.debug(\n `Request #${requestNumber}: No retries left. Raising last error`,\n );\n return Promise.reject(lastException);\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 getNextNode(requestNumber = 0): Node {\n // Check if nearestNode is set and is healthy, if so return it\n if (this.nearestNode != null) {\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: Node ${\n this.nearestNode.index\n } is ${this.nearestNode.isHealthy === true ? \"Healthy\" : \"Unhealthy\"}`,\n );\n if (\n this.nearestNode.isHealthy === true ||\n this.nodeDueForHealthcheck(this.nearestNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${this.nearestNode.index}`,\n );\n return this.nearestNode;\n }\n this.logger.debug(\n `Request #${requestNumber}: Falling back to individual nodes`,\n );\n }\n\n // Fallback to nodes as usual\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: ${this.nodes\n .map(\n (node) =>\n `Node ${node.index} is ${\n node.isHealthy === true ? \"Healthy\" : \"Unhealthy\"\n }`,\n )\n .join(\" || \")}`,\n );\n let candidateNode: Node = this.nodes[0];\n for (let i = 0; i <= this.nodes.length; i++) {\n this.currentNodeIndex = (this.currentNodeIndex + 1) % this.nodes.length;\n candidateNode = this.nodes[this.currentNodeIndex];\n if (\n candidateNode.isHealthy === true ||\n this.nodeDueForHealthcheck(candidateNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\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(\n `Request #${requestNumber}: No healthy nodes were found. Returning the next node, Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\n\n nodeDueForHealthcheck(node, requestNumber = 0): boolean {\n const isDueForHealthcheck =\n Date.now() - node.lastAccessTimestamp >\n this.healthcheckIntervalSeconds * 1000;\n if (isDueForHealthcheck) {\n this.logger.debug(\n `Request #${requestNumber}: Node ${node.index} has exceeded healtcheckIntervalSeconds of ${this.healthcheckIntervalSeconds}. Adding it back into rotation.`,\n );\n }\n return isDueForHealthcheck;\n }\n\n initializeMetadataForNodes(): void {\n if (this.nearestNode != null) {\n this.nearestNode.index = \"nearestNode\";\n this.setNodeHealthcheck(this.nearestNode, HEALTHY);\n }\n\n this.nodes.forEach((node, i) => {\n node.index = i;\n this.setNodeHealthcheck(node, HEALTHY);\n });\n }\n\n setNodeHealthcheck(node, isHealthy): void {\n node.isHealthy = isHealthy;\n node.lastAccessTimestamp = Date.now();\n }\n\n uriFor(endpoint: string, node): string {\n if (node.url != null) {\n return `${node.url}${endpoint}`;\n }\n return `${node.protocol}://${node.host}:${node.port}${node.path}${endpoint}`;\n }\n\n defaultHeaders(): any {\n const defaultHeaders = {};\n if (!this.sendApiKeyAsQueryParam) {\n defaultHeaders[APIKEYHEADERNAME] = this.apiKey;\n }\n defaultHeaders[\"Content-Type\"] = \"application/json\";\n return defaultHeaders;\n }\n\n async timer(seconds): Promise {\n return new Promise((resolve) => setTimeout(resolve, seconds * 1000));\n }\n\n customErrorForResponse(\n response: AxiosResponse,\n messageFromServer: string,\n ): TypesenseError {\n let errorMessage = `Request failed with HTTP code ${response.status}`;\n if (\n typeof messageFromServer === \"string\" &&\n messageFromServer.trim() !== \"\"\n ) {\n errorMessage += ` | Server said: ${messageFromServer}`;\n }\n\n let error = new TypesenseError(errorMessage);\n\n if (response.status === 400) {\n error = new RequestMalformed(errorMessage);\n } else if (response.status === 401) {\n error = new RequestUnauthorized(errorMessage);\n } else if (response.status === 404) {\n error = new ObjectNotFound(errorMessage);\n } else if (response.status === 409) {\n error = new ObjectAlreadyExists(errorMessage);\n } else if (response.status === 422) {\n error = new ObjectUnprocessable(errorMessage);\n } else if (response.status >= 500 && response.status <= 599) {\n error = new ServerError(errorMessage);\n } else {\n error = new HTTPError(errorMessage);\n }\n\n error.httpStatus = response.status;\n\n return error;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { CollectionFieldSchema, CollectionSchema } from \"./Collection\";\n\nexport interface CollectionCreateSchema {\n name: string;\n default_sorting_field?: string;\n fields?: CollectionFieldSchema[];\n symbols_to_index?: string[];\n token_separators?: string[];\n enable_nested_fields?: boolean;\n metadata?: object;\n voice_query_model?: {\n model_name?: string;\n };\n}\n\nexport interface CollectionCreateOptions {\n src_name?: string;\n}\n\nexport interface CollectionsRetrieveOptions {\n exclude_fields?: string;\n}\n\nconst RESOURCEPATH = \"/collections\";\n\nexport default class Collections {\n constructor(private apiCall: ApiCall) {}\n\n async create(\n schema: CollectionCreateSchema,\n options: CollectionCreateOptions = {},\n ): Promise {\n return this.apiCall.post(RESOURCEPATH, schema, options);\n }\n\n async retrieve(\n options: CollectionsRetrieveOptions = {},\n ): Promise {\n return this.apiCall.get(RESOURCEPATH, options);\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import TypesenseError from \"./TypesenseError\";\nimport { ImportResponse } from \"../Documents\";\n\nexport default class ImportError extends TypesenseError {\n importResults: ImportResponse[];\n constructor(message: string, importResults: ImportResponse[]) {\n super(message);\n this.importResults = importResults;\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 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}","const defaultCacheResponseForSeconds = 2 * 60;\nconst defaultMaxSize = 100;\n\nexport default class RequestWithCache {\n private responseCache: Map = new Map();\n private responsePromiseCache: Map = new Map();\n\n clearCache() {\n this.responseCache = new Map();\n this.responsePromiseCache = new Map();\n }\n\n // Todo: should probably be passed a callback instead, or an apiCall instance. Types are messy this way\n async perform(\n requestContext: any,\n requestFunction: (...params: any) => unknown,\n requestFunctionArguments: any[],\n cacheOptions: CacheOptions\n ): Promise {\n const {\n cacheResponseForSeconds = defaultCacheResponseForSeconds,\n maxSize = defaultMaxSize,\n } = cacheOptions;\n const isCacheDisabled = cacheResponseForSeconds <= 0 || maxSize <= 0;\n\n if (isCacheDisabled) {\n return requestFunction.call(requestContext, ...requestFunctionArguments);\n }\n\n const requestFunctionArgumentsJSON = JSON.stringify(\n requestFunctionArguments\n );\n const cacheEntry = this.responseCache.get(requestFunctionArgumentsJSON);\n const now = Date.now();\n\n if (cacheEntry) {\n const isEntryValid =\n now - cacheEntry.requestTimestamp < cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n this.responseCache.set(requestFunctionArgumentsJSON, cacheEntry);\n return Promise.resolve(cacheEntry.response);\n } else {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n\n const cachePromiseEntry = this.responsePromiseCache.get(\n requestFunctionArgumentsJSON\n );\n\n if (cachePromiseEntry) {\n const isEntryValid =\n now - cachePromiseEntry.requestTimestamp <\n cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n this.responsePromiseCache.set(\n requestFunctionArgumentsJSON,\n cachePromiseEntry\n );\n return cachePromiseEntry.responsePromise;\n } else {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n\n const responsePromise = requestFunction.call(\n requestContext,\n ...requestFunctionArguments\n );\n this.responsePromiseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n responsePromise,\n });\n\n const response = await responsePromise;\n this.responseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n response,\n });\n\n const isCacheOverMaxSize = this.responseCache.size > maxSize;\n if (isCacheOverMaxSize) {\n const oldestEntry = this.responseCache.keys().next().value;\n this.responseCache.delete(oldestEntry);\n }\n const isResponsePromiseCacheOverMaxSize =\n this.responsePromiseCache.size > maxSize;\n if (isResponsePromiseCacheOverMaxSize) {\n const oldestEntry = this.responsePromiseCache.keys().next().value;\n this.responsePromiseCache.delete(oldestEntry);\n }\n return response as T;\n }\n}\n\ninterface CacheOptions {\n cacheResponseForSeconds?: number;\n maxSize?: number;\n}\n","import RequestWithCache from \"./RequestWithCache\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport Collections from \"./Collections\";\nimport type {\n DocumentSchema,\n SearchableDocuments,\n SearchOptions,\n SearchParams,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\n\nconst RESOURCEPATH = \"/documents\";\n\nexport class SearchOnlyDocuments\n implements SearchableDocuments\n{\n protected requestWithCache: RequestWithCache = new RequestWithCache();\n\n constructor(\n protected collectionName: string,\n protected apiCall: ApiCall,\n protected configuration: Configuration\n ) {}\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n abortSignal = null,\n }: SearchOptions = {}\n ): Promise> {\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n for (const key in searchParameters) {\n if (Array.isArray(searchParameters[key])) {\n additionalQueryParams[key] = searchParameters[key].join(\",\");\n }\n }\n const queryParams = Object.assign(\n {},\n searchParameters,\n additionalQueryParams\n );\n\n return this.requestWithCache.perform(\n this.apiCall,\n this.apiCall.get,\n [this.endpointPath(\"search\"), queryParams, { abortSignal }],\n {\n cacheResponseForSeconds: cacheSearchResultsForSeconds,\n }\n ) as Promise>;\n }\n\n protected endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + operation\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import type { ReadStream } from \"fs\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport { ImportError } from \"./Errors\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\n// Todo: use generic to extract filter_by values\nexport interface DeleteQuery {\n filter_by?: string;\n batch_size?: number;\n ignore_not_found?: boolean;\n}\n\nexport interface DeleteResponse {\n num_deleted: number;\n}\n\ninterface ImportResponseSuccess {\n success: true;\n}\n\nexport interface ImportResponseFail {\n success: false;\n error: string;\n document: DocumentSchema;\n code: number;\n}\n\nexport type ImportResponse = ImportResponseSuccess | ImportResponseFail;\n\nexport type DocumentSchema = Record;\n\nexport interface SearchParamsWithPreset extends Partial {\n preset: string;\n}\n\ntype DropTokensMode =\n | \"right_to_left\"\n | \"left_to_right\"\n | \"both_sides:3\";\n\ntype OperationMode = \"off\" | \"always\" | \"fallback\";\nexport interface SearchParams {\n // From https://typesense.org/docs/latest/api/documents.html#arguments\n q?: string;\n query_by?: string | string[];\n query_by_weights?: string | number[];\n prefix?: string | boolean | boolean[]; // default: true\n filter_by?: string;\n enable_lazy_filter?: boolean; // default: false\n sort_by?: string | string[]; // default: text match desc\n facet_by?: string | string[];\n max_facet_values?: number;\n facet_sample_threshold?: number;\n facet_sample_percent?: number;\n facet_query?: string;\n facet_query_num_typos?: number;\n facet_return_parent?: string;\n page?: number; // default: 1\n per_page?: number; // default: 10, max 250\n group_by?: string | string[];\n group_limit?: number; // default:\n group_missing_values?: boolean;\n include_fields?: string | string[];\n exclude_fields?: string | string[];\n highlight_fields?: string | string[]; // default: all queried fields\n highlight_full_fields?: string | string[]; // default: all fields\n highlight_affix_num_tokens?: number; // default: 4\n highlight_start_tag?: string; // default: \n highlight_end_tag?: string; // default: \n enable_highlight_v1?: boolean;\n snippet_threshold?: number; // default: 30\n num_typos?: string | number | number[]; // default: 2\n min_len_1typo?: number;\n min_len_2typo?: number;\n split_join_tokens?: OperationMode;\n exhaustive_search?: boolean;\n drop_tokens_threshold?: number; // default: 10\n drop_tokens_mode?: DropTokensMode;\n typo_tokens_threshold?: number; // default: 100\n pinned_hits?: string | string[];\n hidden_hits?: string | string[];\n limit_hits?: number; // default: no limit\n pre_segmented_query?: boolean;\n enable_overrides?: boolean;\n prioritize_exact_match?: boolean; // default: true\n prioritize_token_position?: boolean;\n prioritize_num_matching_fields?: boolean;\n search_cutoff_ms?: number;\n use_cache?: boolean;\n max_candidates?: number;\n infix?: OperationMode | OperationMode[];\n preset?: string;\n text_match_type?: \"max_score\" | \"max_weight\";\n vector_query?: string;\n \"x-typesense-api-key\"?: string;\n \"x-typesense-user-id\"?: string;\n offset?: number;\n limit?: number;\n stopwords?: string;\n conversation?: boolean;\n conversation_model_id?: string;\n conversation_id?: string;\n voice_query?: string;\n}\n\ntype SearchResponseHighlightObject = {\n matched_tokens?: string[];\n snippet?: string;\n value?: string;\n};\n\nexport type SearchResponseHighlight = T extends string | number\n ? SearchResponseHighlightObject\n : {\n [TAttribute in keyof T]?: SearchResponseHighlight;\n };\n\nexport interface SearchResponseHit {\n curated?: true;\n highlights?: [\n {\n field: keyof T;\n snippet?: string;\n value?: string;\n snippets?: string[];\n indices?: number[];\n matched_tokens: string[][] | string[];\n },\n ];\n highlight: SearchResponseHighlight;\n document: T;\n text_match: number;\n text_match_info?: {\n best_field_score: string; // To prevent scores from being truncated by JSON spec\n best_field_weight: number;\n fields_matched: number;\n score: string; // To prevent scores from being truncated by JSON spec\n tokens_matched: number;\n };\n}\n\nexport interface SearchResponseFacetCountSchema {\n counts: {\n count: number;\n highlighted: string;\n value: string;\n }[];\n field_name: keyof T;\n stats: {\n avg?: number;\n max?: number;\n min?: number;\n sum?: number;\n };\n}\n\nexport interface SearchResponseRequestParams {\n collection_name?: string;\n q?: string;\n page?: number;\n per_page?: number;\n first_q?: string;\n voice_query?: {\n transcribed_query?: string;\n };\n}\n\n// Todo: we could infer whether this is a grouped response by adding the search params as a generic\nexport interface SearchResponse {\n facet_counts?: SearchResponseFacetCountSchema[];\n found: number;\n found_docs?: number;\n out_of: number;\n page: number;\n request_params: SearchResponseRequestParams;\n search_time_ms: number;\n search_cutoff?: boolean;\n hits?: SearchResponseHit[];\n grouped_hits?: {\n group_key: string[];\n hits: SearchResponseHit[];\n found?: number;\n }[];\n conversation?: {\n answer: string;\n conversation_history: {\n conversation: object[];\n id: string;\n last_updated: number;\n ttl: number;\n };\n conversation_id: string;\n query: string;\n };\n error?: string;\n code?: number;\n}\n\nexport interface DocumentWriteParameters {\n dirty_values?: \"coerce_or_reject\" | \"coerce_or_drop\" | \"drop\" | \"reject\";\n action?: \"create\" | \"update\" | \"upsert\" | \"emplace\";\n}\n\nexport interface UpdateByFilterParameters {\n filter_by?: string;\n}\n\nexport interface UpdateByFilterResponse {\n num_updated: number;\n}\n\nexport interface DocumentImportParameters extends DocumentWriteParameters {\n batch_size?: number;\n return_doc?: boolean;\n return_id?: boolean;\n}\n\nexport interface DocumentsExportParameters {\n filter_by?: string;\n include_fields?: string;\n exclude_fields?: string;\n}\n\nexport interface SearchableDocuments {\n search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n options: SearchOptions,\n ): Promise>;\n clearCache(): void;\n}\n\nexport interface WriteableDocuments {\n create(document: T, options: DocumentWriteParameters): Promise;\n upsert(document: T, options: DocumentWriteParameters): Promise;\n update(document: T, options: DocumentWriteParameters): Promise;\n delete(query: DeleteQuery): Promise;\n import(\n documents: T[] | string,\n options: DocumentWriteParameters,\n ): Promise;\n export(options: DocumentsExportParameters): Promise;\n}\n\nexport interface SearchOptions {\n cacheSearchResultsForSeconds?: number;\n abortSignal?: AbortSignal | null;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class Documents\n extends SearchOnlyDocuments\n implements WriteableDocuments\n{\n constructor(\n collectionName: string,\n apiCall: ApiCall,\n configuration: Configuration,\n ) {\n super(collectionName, apiCall, configuration);\n }\n\n async create(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(this.endpointPath(), document, options);\n }\n\n async upsert(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"upsert\" }),\n );\n }\n\n async update(\n document: T,\n options: UpdateByFilterParameters,\n ): Promise;\n async update(document: T, options: DocumentWriteParameters): Promise;\n async update(\n document: T,\n options: DocumentWriteParameters | UpdateByFilterParameters = {},\n ): Promise {\n if (!document) throw new Error(\"No document provided\");\n\n if (options[\"filter_by\"] != null) {\n return this.apiCall.patch(\n this.endpointPath(),\n document,\n Object.assign({}, options),\n );\n } else {\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"update\" }),\n );\n }\n }\n\n async delete(\n query: DeleteQuery = {} as DeleteQuery,\n ): Promise {\n return this.apiCall.delete(this.endpointPath(), query);\n }\n\n async createMany(documents: T[], options: DocumentImportParameters = {}) {\n this.configuration.logger.warn(\n \"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 );\n return this.import(documents, options);\n }\n\n /**\n * Import a set of documents in a batch.\n * @param {string|Array} documents - Can be a JSONL string of documents or an array of document objects.\n * @param options\n * @return {string|Array} Returns a JSONL string if the input was a JSONL string, otherwise it returns an array of results.\n */\n async import(\n documents: string,\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[],\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[] | string,\n options: DocumentImportParameters = {},\n ): Promise {\n let documentsInJSONLFormat;\n if (Array.isArray(documents)) {\n try {\n documentsInJSONLFormat = documents\n .map((document) => JSON.stringify(document))\n .join(\"\\n\");\n } catch (error: any) {\n // if rangeerror, throw custom error message\n if (\n error instanceof RangeError &&\n error.message.includes(\"Too many properties to enumerate\")\n ) {\n throw new Error(`${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\n // else, throw the non-range error anyways\n throw new Error(error);\n }\n } else {\n documentsInJSONLFormat = documents;\n }\n\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n if (Array.isArray(documents)) {\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter(\n (r) => r.success === false,\n );\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n } else {\n return resultsInJSONLFormat as string;\n }\n }\n /**\n * Imports documents from a NodeJS readable stream of JSONL.\n */\n async importStream(\n readableStream: ReadStream,\n options: DocumentImportParameters = {},\n ): Promise {\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\n queryParameters: options,\n bodyParameters: readableStream,\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter((r) => r.success === false);\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n }\n\n /**\n * Returns a JSONL string for all the documents in this collection\n */\n async export(options: DocumentsExportParameters = {}): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options);\n }\n\n /**\n * Returns a NodeJS readable stream of JSONL for all the documents in this collection.\n */\n async exportStream(\n options: DocumentsExportParameters = {},\n ): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options, {\n responseType: \"stream\",\n });\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { OverrideSchema } from \"./Override\";\n\nconst RESOURCEPATH = \"/overrides\";\n\nexport interface OverrideRuleQuerySchema {\n query?: string;\n match?: \"exact\" | \"contains\";\n}\n\nexport interface OverrideRuleFilterSchema {\n filter_by?: string;\n}\n\nexport interface OverrideRuleTagsSchema {\n tags?: string[];\n}\n\nexport interface OverrideCreateSchema {\n rule: OverrideRuleQuerySchema &\n OverrideRuleFilterSchema &\n OverrideRuleTagsSchema;\n filter_by?: string;\n sort_by?: string;\n remove_matched_tokens?: boolean;\n replace_query?: string;\n includes?: Array<{\n id: string;\n position: number;\n }>;\n excludes?: Array<{ id: string }>;\n filter_curated_hits?: boolean;\n effective_from_ts?: number;\n effective_to_ts?: number;\n stop_processing?: boolean;\n metadata?: object;\n}\n\nexport interface OverridesRetrieveSchema {\n overrides: OverrideSchema[];\n}\n\nexport default class Overrides {\n constructor(\n private collectionName: string,\n private apiCall: ApiCall,\n ) {}\n\n async upsert(\n overrideId: string,\n params: OverrideCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(overrideId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${\n Overrides.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Overrides, { OverrideCreateSchema } from \"./Overrides\";\n\nexport interface OverrideSchema extends OverrideCreateSchema {\n id: string;\n}\n\nexport interface OverrideDeleteSchema {\n id: string;\n}\n\nexport default class Override {\n constructor(\n private collectionName: string,\n private overrideId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Overrides.RESOURCEPATH}/${encodeURIComponent(this.overrideId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { SynonymSchema } from \"./Synonym\";\n\nconst RESOURCEPATH = \"/synonyms\";\n\nexport interface SynonymCreateSchema {\n synonyms: string[];\n root?: string;\n locale?: string;\n symbols_to_index?: string[];\n}\n\nexport interface SynonymsRetrieveSchema {\n synonyms: SynonymSchema[];\n}\n\nexport default class Synonyms {\n constructor(private collectionName: string, private apiCall: ApiCall) {}\n\n async upsert(\n synonymId: string,\n params: SynonymCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(synonymId),\n params\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${\n Synonyms.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Synonyms, { SynonymCreateSchema } from \"./Synonyms\";\n\nexport interface SynonymSchema extends SynonymCreateSchema {\n id: string;\n}\n\nexport interface SynonymDeleteSchema {\n id: string;\n}\n\nexport default class Synonym {\n constructor(\n private collectionName: string,\n private synonymId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Synonyms.RESOURCEPATH}/${encodeURIComponent(this.synonymId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Documents, {\n DeleteQuery,\n DocumentSchema,\n DocumentWriteParameters,\n} from \"./Documents\";\n\nexport class Document {\n constructor(\n private collectionName: string,\n private documentId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(options?: DeleteQuery): Promise {\n return this.apiCall.delete(this.endpointPath(), options);\n }\n\n async update(\n partialDocument: Partial,\n options: DocumentWriteParameters = {}\n ): Promise {\n return this.apiCall.patch(this.endpointPath(), partialDocument, options);\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Documents.RESOURCEPATH}/${encodeURIComponent(this.documentId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections, { CollectionCreateSchema } from \"./Collections\";\nimport Documents, { DocumentSchema } from \"./Documents\";\nimport { ObjectNotFound } from \"./Errors\";\nimport Overrides from \"./Overrides\";\nimport Override from \"./Override\";\nimport Synonyms from \"./Synonyms\";\nimport Synonym from \"./Synonym\";\nimport { Document } from \"./Document\";\n\nexport type FieldType =\n | \"string\"\n | \"int32\"\n | \"int64\"\n | \"float\"\n | \"bool\"\n | \"geopoint\"\n | \"geopoint[]\"\n | \"string[]\"\n | \"int32[]\"\n | \"int64[]\"\n | \"float[]\"\n | \"bool[]\"\n | \"object\"\n | \"object[]\"\n | \"auto\"\n | \"string*\"\n | \"image\";\n\nexport interface CollectionFieldSchema {\n name: string;\n type: FieldType;\n optional?: boolean;\n facet?: boolean;\n index?: boolean;\n sort?: boolean;\n locale?: string;\n infix?: boolean;\n stem?: boolean;\n num_dim?: number;\n store?: boolean;\n [t: string]: unknown;\n}\n\nexport interface CollectionSchema extends CollectionCreateSchema {\n created_at: number;\n num_documents: number;\n num_memory_shards: number;\n}\n\nexport interface CollectionDropFieldSchema {\n name: string;\n drop: true;\n}\n\nexport interface CollectionUpdateSchema\n extends Partial> {\n fields?: (CollectionFieldSchema | CollectionDropFieldSchema)[];\n}\n\nexport default class Collection {\n private readonly _documents: Documents;\n private individualDocuments: Record> = {};\n private readonly _overrides: Overrides;\n private individualOverrides: Record = {};\n private readonly _synonyms: Synonyms;\n private individualSynonyms: Record = {};\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any,\n ) {\n this.name = name;\n this.apiCall = apiCall;\n this.configuration = configuration;\n\n this._documents = new Documents(\n this.name,\n this.apiCall,\n this.configuration,\n );\n this._overrides = new Overrides(this.name, this.apiCall);\n this._synonyms = new Synonyms(this.name, this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(schema: CollectionUpdateSchema): Promise {\n return this.apiCall.patch(this.endpointPath(), schema);\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n async exists(): Promise {\n try {\n await this.retrieve();\n return true;\n } catch (e) {\n if (e instanceof ObjectNotFound) return false;\n throw e;\n }\n }\n\n documents(): Documents;\n documents(documentId: string): Document;\n documents(documentId?: string): Document | Documents {\n if (!documentId) {\n return this._documents;\n } else {\n if (this.individualDocuments[documentId] === undefined) {\n this.individualDocuments[documentId] = new Document(\n this.name,\n documentId,\n this.apiCall,\n );\n }\n return this.individualDocuments[documentId];\n }\n }\n\n overrides(): Overrides;\n overrides(overrideId: string): Override;\n overrides(overrideId?: string): Overrides | Override {\n if (overrideId === undefined) {\n return this._overrides;\n } else {\n if (this.individualOverrides[overrideId] === undefined) {\n this.individualOverrides[overrideId] = new Override(\n this.name,\n overrideId,\n this.apiCall,\n );\n }\n return this.individualOverrides[overrideId];\n }\n }\n\n synonyms(): Synonyms;\n synonyms(synonymId: string): Synonym;\n synonyms(synonymId?: string): Synonyms | Synonym {\n if (synonymId === undefined) {\n return this._synonyms;\n } else {\n if (this.individualSynonyms[synonymId] === undefined) {\n this.individualSynonyms[synonymId] = new Synonym(\n this.name,\n synonymId,\n this.apiCall,\n );\n }\n return this.individualSynonyms[synonymId];\n }\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/aliases\";\n\nexport interface CollectionAliasCreateSchema {\n collection_name: string;\n}\n\nexport interface CollectionAliasSchema extends CollectionAliasCreateSchema {\n name: string;\n}\n\nexport interface CollectionAliasesResponseSchema {\n aliases: CollectionAliasSchema[];\n}\n\nexport default class Aliases {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n name: string,\n mapping: CollectionAliasCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(name),\n mapping\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n private endpointPath(aliasName): string {\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(aliasName)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import Aliases, { CollectionAliasSchema } from \"./Aliases\";\nimport ApiCall from \"./ApiCall\";\n\nexport default class Alias {\n constructor(private name: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import { createHmac } from \"crypto\";\nimport ApiCall from \"./ApiCall\";\nimport { KeyCreateSchema, KeySchema } from \"./Key\";\nimport { SearchParams } from \"./Documents\";\n\nconst RESOURCEPATH = \"/keys\";\n\nexport interface KeysRetrieveSchema {\n keys: KeySchema[];\n}\n\nexport interface GenerateScopedSearchKeyParams extends Partial {\n expires_at?: number;\n cache_ttl?: number;\n limit_multi_searches?: number;\n}\n\nexport default class Keys {\n constructor(private apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(params: KeyCreateSchema): Promise {\n return this.apiCall.post(Keys.RESOURCEPATH, params);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n generateScopedSearchKey(\n searchKey: string,\n parameters: GenerateScopedSearchKeyParams\n ): string {\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 const paramsJSON = JSON.stringify(parameters);\n const digest = Buffer.from(\n createHmac(\"sha256\", searchKey).update(paramsJSON).digest(\"base64\")\n );\n const keyPrefix = searchKey.substr(0, 4);\n const rawScopedKey = `${digest}${keyPrefix}${paramsJSON}`;\n\n return Buffer.from(rawScopedKey).toString(\"base64\");\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Keys from \"./Keys\";\n\nexport interface KeyCreateSchema {\n actions: string[];\n collections: string[];\n description?: string;\n value?: string;\n value_prefix?: string;\n expires_at?: number;\n}\n\nexport interface KeyDeleteSchema {\n id: number;\n}\n\nexport interface KeySchema extends KeyCreateSchema {\n id: number;\n}\n\nexport default class Key {\n constructor(private id: number, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Keys.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/debug\";\n\nexport interface DebugResponseSchema {\n state: number;\n version: string;\n}\n\nexport default class Debug {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/metrics.json\";\n\nexport interface MetricsResponse {\n [key: `system_cpu${number}_active_percentage`]: string;\n system_cpu_active_percentage: string;\n system_disk_total_bytes: string;\n system_disk_used_bytes: string;\n system_memory_total_bytes: string;\n system_memory_total_swap_bytes?: string;\n system_memory_used_bytes: string;\n system_memory_used_swap_bytes?: string;\n system_network_received_bytes: string;\n system_network_sent_bytes: string;\n typesense_memory_active_bytes: string;\n typesense_memory_allocated_bytes: string;\n typesense_memory_fragmentation_ratio: string;\n typesense_memory_mapped_bytes: string;\n typesense_memory_metadata_bytes: string;\n typesense_memory_resident_bytes: string;\n typesense_memory_retained_bytes: string;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/stats.json\";\n\nexport interface EndpointStats {\n [endpoint: string]: number;\n}\n\nexport interface StatsResponse {\n delete_latency_ms?: number;\n delete_requests_per_second?: number;\n import_latency_ms?: number;\n import_requests_per_second?: number;\n latency_ms?: EndpointStats;\n overloaded_requests_per_second?: number;\n pending_write_batches?: number;\n requests_per_second?: EndpointStats;\n search_latency_ms?: number;\n search_requests_per_second?: number;\n total_requests_per_second?: number;\n write_latency_ms?: number;\n write_requests_per_second?: number;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/health\";\n\nexport interface HealthResponse {\n ok: boolean;\n}\n\nexport default class Health {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/operations\";\n\nexport default class Operations {\n constructor(private apiCall: ApiCall) {}\n\n async perform(\n operationName: \"vote\" | \"snapshot\" | \"cache/clear\" | string,\n queryParameters: Record = {}\n ): Promise {\n return this.apiCall.post(\n `${RESOURCEPATH}/${operationName}`,\n {},\n queryParameters\n );\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport RequestWithCache from \"./RequestWithCache\";\nimport {\n DocumentSchema,\n SearchParams,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\n\nconst RESOURCEPATH = \"/multi_search\";\n\nexport interface MultiSearchRequestSchema extends SearchParams {\n collection?: string;\n \"x-typesense-api-key\"?: string;\n}\n\nexport interface MultiSearchRequestWithPresetSchema\n extends SearchParamsWithPreset {\n collection?: string;\n \"x-typesense-api-key\"?: string;\n}\n\nexport interface MultiSearchRequestsSchema {\n searches: (MultiSearchRequestSchema | MultiSearchRequestWithPresetSchema)[];\n}\n\nexport interface MultiSearchResponse {\n results: { [Index in keyof T]: SearchResponse } & {\n length: T[\"length\"];\n };\n}\n\nexport default class MultiSearch {\n private requestWithCache: RequestWithCache;\n\n constructor(\n private apiCall: ApiCall,\n private configuration: Configuration,\n private useTextContentType: boolean = false\n ) {\n this.requestWithCache = new RequestWithCache();\n }\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async perform(\n searchRequests: MultiSearchRequestsSchema,\n commonParams: Partial = {},\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n }: { cacheSearchResultsForSeconds?: number } = {}\n ): Promise> {\n const additionalHeaders = {};\n if (this.useTextContentType) {\n additionalHeaders[\"content-type\"] = \"text/plain\";\n }\n\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n const queryParams = Object.assign({}, commonParams, additionalQueryParams);\n\n return this.requestWithCache.perform(\n this.apiCall,\n this.apiCall.post,\n [RESOURCEPATH, searchRequests, queryParams, additionalHeaders],\n { cacheResponseForSeconds: cacheSearchResultsForSeconds }\n ) as Promise>;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { PresetSchema } from \"./Preset\";\nimport { SearchParams } from \"./Documents\";\nimport { MultiSearchRequestsSchema } from \"./MultiSearch\";\n\nconst RESOURCEPATH = \"/presets\";\n\nexport interface PresetCreateSchema {\n value: SearchParams | MultiSearchRequestsSchema;\n}\n\nexport interface PresetsRetrieveSchema {\n presets: PresetSchema[];\n}\n\nexport default class Presets {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n presetId: string,\n params: PresetCreateSchema\n ): Promise {\n return this.apiCall.put(this.endpointPath(presetId), params);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Presets.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Presets, { PresetCreateSchema } from \"./Presets\";\n\nexport interface PresetSchema extends PresetCreateSchema {\n name: string;\n}\n\nexport interface PresetDeleteSchema {\n name: string;\n}\n\nexport default class Preset {\n constructor(private presetId: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Presets.RESOURCEPATH}/${encodeURIComponent(this.presetId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n AnalyticsRuleCreateSchema,\n AnalyticsRuleSchema,\n} from \"./AnalyticsRule\";\n\nexport interface AnalyticsRulesRetrieveSchema {\n rules: AnalyticsRuleSchema[];\n}\n\nconst RESOURCEPATH = \"/analytics/rules\";\n\nexport default class AnalyticsRules {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async upsert(\n name: string,\n params: AnalyticsRuleCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(name),\n params\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsRules.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\n\nexport interface AnalyticsRuleCreateSchema {\n type: \"popular_queries\" | \"nohits_queries\" | \"counter\";\n params: {\n source: {\n collections: string[];\n events?: Array<{\n type: string;\n weight: number;\n name: string;\n }>;\n };\n expand_query?: boolean;\n destination: {\n collection: string;\n counter_field?: string;\n };\n limit?: number;\n };\n}\n\nexport interface AnalyticsRuleDeleteSchema {\n name: string;\n}\n\nexport interface AnalyticsRuleSchema extends AnalyticsRuleCreateSchema {\n name: string;\n}\n\nexport default class AnalyticsRule {\n constructor(\n private name: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${AnalyticsRules.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { AnalyticsEventCreateSchema } from \"./AnalyticsEvent\";\n\nconst RESOURCEPATH = \"/analytics/events\";\n\nexport default class AnalyticsEvents {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: AnalyticsEventCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsEvents.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\nimport AnalyticsRule from \"./AnalyticsRule\";\nimport AnalyticsEvents from \"./AnalyticsEvents\";\n\nconst RESOURCEPATH = \"/analytics\";\n\nexport default class Analytics {\n private readonly _analyticsRules: AnalyticsRules;\n private readonly individualAnalyticsRules: Record = {};\n private readonly _analyticsEvents: AnalyticsEvents;\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._analyticsRules = new AnalyticsRules(this.apiCall);\n this._analyticsEvents = new AnalyticsEvents(this.apiCall);\n }\n\n rules(id?: string): AnalyticsRules | AnalyticsRule {\n if (id === undefined) {\n return this._analyticsRules;\n } else {\n if (this.individualAnalyticsRules[id] === undefined) {\n this.individualAnalyticsRules[id] = new AnalyticsRule(id, this.apiCall);\n }\n return this.individualAnalyticsRules[id];\n }\n }\n\n events(): AnalyticsEvents {\n return this._analyticsEvents;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { StopwordSchema } from \"./Stopword\";\n\nconst RESOURCEPATH = \"/stopwords\";\n\nexport interface StopwordCreateSchema {\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordsRetrieveSchema {\n stopwords: StopwordSchema[];\n}\n\nexport default class Stopwords {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n stopwordId: string,\n params: StopwordCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(stopwordId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Stopwords.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Stopwords, { StopwordCreateSchema } from \"./Stopwords\";\n\nexport interface StopwordSchema extends StopwordCreateSchema {\n id: string;\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordDeleteSchema {\n id: string;\n}\n\nexport default class Stopword {\n constructor(\n private stopwordId: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Stopwords.RESOURCEPATH}/${encodeURIComponent(this.stopwordId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n ConversationModelCreateSchema,\n ConversationModelSchema,\n} from \"./ConversationModel\";\n\nconst RESOURCEPATH = \"/conversations/models\";\n\nexport default class ConversationModels {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(\n this.endpointPath(),\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${ConversationModels.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\n\nexport interface ConversationModelCreateSchema {\n id?: string;\n model_name: string;\n api_key?: string;\n system_prompt?: string;\n max_bytes: number;\n history_collection?: string;\n}\n\nexport interface ConversationModelDeleteSchema {\n id: string;\n}\n\nexport interface ConversationModelSchema extends ConversationModelCreateSchema {\n id: string;\n}\n\nexport default class ConversationModel {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async update(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(\n this.endpointPath(),\n );\n }\n\n private endpointPath(): string {\n return `${ConversationModels.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\nimport ConversationModel from \"./ConversationModel\";\nimport { ConversationSchema } from \"./Conversation\";\n\nconst RESOURCEPATH = \"/conversations\";\n\nexport interface ConversationsRetrieveSchema {\n conversations: ConversationSchema[];\n}\n\nexport default class Conversations {\n private readonly _conversationsModels: ConversationModels;\n private readonly individualConversationModels: Record<\n string,\n ConversationModel\n > = {};\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._conversationsModels = new ConversationModels(this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n models(): ConversationModels;\n models(id: string): ConversationModel;\n models(id?: string): ConversationModels | ConversationModel {\n if (id === undefined) {\n return this._conversationsModels;\n } else {\n if (this.individualConversationModels[id] === undefined) {\n this.individualConversationModels[id] = new ConversationModel(\n id,\n this.apiCall,\n );\n }\n return this.individualConversationModels[id];\n }\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Conversations from \"./Conversations\";\n\nexport interface ConversationDeleteSchema {\n id: number;\n}\n\nexport interface ConversationUpdateSchema {\n ttl: number;\n}\n\nexport interface ConversationSchema {\n id: number;\n conversation: object[];\n last_updated: number;\n ttl: number;\n}\n\nexport default class Conversation {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(\n params: ConversationUpdateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Conversations.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","/* eslint-disable no-dupe-class-members */\n\nimport Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Collection from \"./Collection\";\nimport Aliases from \"./Aliases\";\nimport Alias from \"./Alias\";\nimport Keys from \"./Keys\";\nimport Key from \"./Key\";\nimport Debug from \"./Debug\";\nimport Metrics from \"./Metrics\";\nimport Stats from \"./Stats\";\nimport Health from \"./Health\";\nimport Operations from \"./Operations\";\nimport MultiSearch from \"./MultiSearch\";\nimport Presets from \"./Presets\";\nimport Preset from \"./Preset\";\nimport Analytics from \"./Analytics\";\nimport Stopwords from \"./Stopwords\";\nimport Stopword from \"./Stopword\";\nimport Conversations from \"./Conversations\";\nimport Conversation from \"./Conversation\";\n\nexport default class Client {\n configuration: Configuration;\n apiCall: ApiCall;\n debug: Debug;\n metrics: Metrics;\n stats: Stats;\n health: Health;\n operations: Operations;\n multiSearch: MultiSearch;\n analytics: Analytics;\n private readonly _collections: Collections;\n private readonly individualCollections: Record;\n private readonly _aliases: Aliases;\n private readonly individualAliases: Record;\n private readonly _keys: Keys;\n private readonly individualKeys: Record;\n private readonly _presets: Presets;\n private readonly individualPresets: Record;\n private readonly _stopwords: Stopwords;\n private readonly individualStopwords: Record;\n private readonly _conversations: Conversations;\n private readonly individualConversations: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? false;\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.debug = new Debug(this.apiCall);\n this.metrics = new Metrics(this.apiCall);\n this.stats = new Stats(this.apiCall);\n this.health = new Health(this.apiCall);\n this.operations = new Operations(this.apiCall);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration);\n this._collections = new Collections(this.apiCall);\n this.individualCollections = {};\n this._aliases = new Aliases(this.apiCall);\n this.individualAliases = {};\n this._keys = new Keys(this.apiCall);\n this.individualKeys = {};\n this._presets = new Presets(this.apiCall);\n this.individualPresets = {};\n this._stopwords = new Stopwords(this.apiCall);\n this.individualStopwords = {};\n this.analytics = new Analytics(this.apiCall);\n this._conversations = new Conversations(this.apiCall);\n this.individualConversations = {};\n }\n\n collections(): Collections;\n collections = object>(\n collectionName: string,\n ): Collection;\n collections(collectionName?: string): Collections | Collection {\n if (collectionName === undefined) {\n return this._collections;\n } else {\n if (this.individualCollections[collectionName] === undefined) {\n this.individualCollections[collectionName] = new Collection(\n collectionName,\n this.apiCall,\n this.configuration,\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n\n aliases(): Aliases;\n aliases(aliasName: string): Alias;\n aliases(aliasName?: string): Aliases | Alias {\n if (aliasName === undefined) {\n return this._aliases;\n } else {\n if (this.individualAliases[aliasName] === undefined) {\n this.individualAliases[aliasName] = new Alias(aliasName, this.apiCall);\n }\n return this.individualAliases[aliasName];\n }\n }\n\n keys(): Keys;\n keys(id: number): Key;\n keys(id?: number): Keys | Key {\n if (id === undefined) {\n return this._keys;\n } else {\n if (this.individualKeys[id] === undefined) {\n this.individualKeys[id] = new Key(id, this.apiCall);\n }\n return this.individualKeys[id];\n }\n }\n\n presets(): Presets;\n presets(id: string): Preset;\n presets(id?: string): Presets | Preset {\n if (id === undefined) {\n return this._presets;\n } else {\n if (this.individualPresets[id] === undefined) {\n this.individualPresets[id] = new Preset(id, this.apiCall);\n }\n return this.individualPresets[id];\n }\n }\n\n stopwords(): Stopwords;\n stopwords(id: string): Stopword;\n stopwords(id?: string): Stopwords | Stopword {\n if (id === undefined) {\n return this._stopwords;\n } else {\n if (this.individualStopwords[id] === undefined) {\n this.individualStopwords[id] = new Stopword(id, this.apiCall);\n }\n return this.individualStopwords[id];\n }\n }\n\n conversations(): Conversations;\n conversations(id: string): Conversation;\n conversations(id?: string): Conversations | Conversation {\n if (id === undefined) {\n return this._conversations;\n } else {\n if (this.individualConversations[id] === undefined) {\n this.individualConversations[id] = new Conversation(id, this.apiCall);\n }\n return this.individualConversations[id];\n }\n }\n}\n","import { DocumentSchema, SearchableDocuments } from \"./Documents\";\nimport ApiCall from \"./ApiCall\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\nexport class SearchOnlyCollection {\n private readonly _documents: SearchableDocuments;\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any\n ) {\n this._documents = new SearchOnlyDocuments(\n this.name,\n this.apiCall,\n this.configuration\n );\n }\n\n documents(): SearchableDocuments {\n return this._documents;\n }\n}\n","import Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport MultiSearch from \"./MultiSearch\";\nimport { DocumentSchema } from \"./Documents\";\nimport { SearchOnlyCollection } from \"./SearchOnlyCollection\";\n\nexport default class SearchClient {\n public readonly multiSearch: MultiSearch;\n private readonly configuration: Configuration;\n private readonly apiCall: ApiCall;\n private readonly individualCollections: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? true;\n if (\n options.sendApiKeyAsQueryParam === true &&\n (options.apiKey || \"\").length > 2000\n ) {\n console.warn(\n \"[typesense] API Key is longer than 2000 characters which is over the allowed limit, so disabling sending it as a query parameter.\"\n );\n options.sendApiKeyAsQueryParam = false;\n }\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration, true);\n this.individualCollections = {};\n }\n\n clearCache() {\n this.multiSearch.clearCache();\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Object.entries(this.individualCollections).forEach(([_, collection]) => {\n collection.documents().clearCache();\n });\n }\n\n collections(\n collectionName: string\n ): SearchOnlyCollection | SearchOnlyCollection {\n if (!collectionName) {\n throw new Error(\n \"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(\n collectionName,\n this.apiCall,\n this.configuration\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n}\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(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\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}","import Client from \"./Typesense/Client\";\nimport SearchClient from \"./Typesense/SearchClient\";\nimport * as Errors from \"./Typesense/Errors\";\n\nexport { Client, SearchClient, Errors };\nexport default { Client, SearchClient, Errors };\n"],"names":["root","definition","noop","undefinedType","isIE","window","navigator","test","userAgent","logMethods","_loggersByName","defaultLogger","bindMethod","obj","methodName","method","bind","Function","prototype","call","e","apply","arguments","traceForIE","console","log","trace","replaceLoggingMethods","level","this","getLevel","i","length","methodFactory","name","debug","levels","SILENT","enableLoggingWhenConsoleArrives","defaultMethodFactory","_level","_loggerName","undefined","realMethod","Logger","factory","inheritedLevel","defaultLevel","userLevel","self","storageKey","getPersistedLevel","storedLevel","localStorage","ignore","cookie","document","cookieName","encodeURIComponent","location","indexOf","exec","slice","normalizeLevel","input","toUpperCase","TypeError","setLevel","persist","levelNum","levelName","persistLevelIfPossible","setDefaultLevel","resetLevel","removeItem","clearPersistedLevel","enableAll","TRACE","disableAll","rebuild","childName","initialLevel","getLogger","logger","_log","noConflict","getLoggers","_typeof","_regeneratorRuntime","module","exports","__esModule","t","r","Object","n","hasOwnProperty","o","defineProperty","value","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","constructor","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","stop","rval","handle","complete","finish","delegateYield","runtime","regeneratorRuntime","accidentalStrictMode","globalThis","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","key","get","prop","_classCallCheck","instance","Constructor","toPropertyKey","toPrimitive","String","_defineProperties","target","props","descriptor","_createClass","protoProps","staticProps","_defineProperty","_assertThisInitialized","ReferenceError","_possibleConstructorReturn","_getPrototypeOf","_setPrototypeOf","_inherits","subClass","superClass","_isNativeReflectConstruct","Boolean","valueOf","Reflect","construct","_wrapNativeSuper","Class","_cache","Map","fn","toString","has","set","Wrapper","TypesenseError","_Error","message","_this","_callSuper","MissingConfigurationError","_TypesenseError","Configuration","options","nodes","map","node","setDefaultPathInNode","setDefaultPortInNode","_objectSpread","randomizeNodes","shuffleArray","nearestNode","connectionTimeoutSeconds","timeoutSeconds","healthcheckIntervalSeconds","numRetries","retryIntervalSeconds","apiKey","sendApiKeyAsQueryParam","cacheSearchResultsForSeconds","useServerSideSearchCache","logLevel","additionalHeaders","httpAgent","httpsAgent","paramsSerializer","showDeprecationWarnings","validate","validateNodes","isNodeMissingAnyParameters","_this2","some","every","warn","masterNode","readReplicaNodes","array","j","Math","floor","random","_ref","asyncGeneratorStep","gen","reject","_next","_throw","info","error","_asyncToGenerator","args","err","thisArg","kindOf","cache","thing","str","toLowerCase","kindOfTest","typeOfTest","isArray","Array","isUndefined","isArrayBuffer","isString","isFunction","isNumber","isObject","isPlainObject","val","isDate","isFile","isBlob","isFileList","isURLSearchParams","isReadableStream","isRequest","isResponse","isHeaders","allOwnKeys","getOwnPropertyNames","len","findKey","_key","_global","global","isContextDefined","context","isTypedArray","TypedArray","Uint8Array","isHTMLForm","isRegExp","reduceDescriptors","reducer","descriptors","getOwnPropertyDescriptors","reducedDescriptors","ret","defineProperties","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","isAsyncFn","isBuffer","isFormData","kind","FormData","append","isArrayBufferView","result","ArrayBuffer","isView","buffer","isBoolean","isStream","pipe","merge","caseless","assignValue","targetKey","extend","b","trim","replace","stripBOM","content","charCodeAt","inherits","superConstructor","assign","toFlatObject","sourceObj","destObj","filter","propFilter","merged","endsWith","searchString","position","lastIndex","toArray","arr","forEachEntry","pair","matchAll","regExp","matches","hasOwnProp","freezeMethods","toObjectSet","arrayOrString","delimiter","split","toCamelCase","m","p1","p2","toFiniteNumber","defaultValue","Number","isFinite","generateString","size","alphabet","isSpecCompliantForm","toJSONObject","stack","visit","source","reducedValue","isThenable","catch","AxiosError","code","config","request","response","captureStackTrace","utils","toJSON","description","number","fileName","lineNumber","columnNumber","status","from","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","path","dots","concat","token","join","predicates","formData","metaTokens","indexes","option","visitor","defaultVisitor","useBlob","Blob","convertValue","toISOString","Buffer","JSON","stringify","isFlatArray","el","index","exposedHelpers","build","encode","charMap","match","AxiosURLSearchParams","params","_pairs","encoder","_encode","buildURL","url","serializeFn","serialize","serializedParams","hashmarkIndex","handlers","use","fulfilled","rejected","synchronous","runWhen","eject","id","clear","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","isBrowser","classes","URLSearchParams","protocols","hasBrowserEnv","hasStandardBrowserEnv","product","hasStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","origin","href","buildPath","isNumericKey","isLast","arrayToObject","entries","parsePropPath","defaults","transitional","adapter","transformRequest","data","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","setContentType","platform","helpers","isNode","toURLEncodedForm","formSerializer","_FormData","env","rawValue","parser","parse","stringifySafely","transformResponse","JSONRequested","responseType","strictJSONParsing","ERR_BAD_RESPONSE","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","ignoreDuplicateOf","$internals","normalizeHeader","header","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","rawHeaders","parsed","line","substring","parseHeaders","tokens","tokensRE","parseTokens","matcher","deleted","deleteHeader","normalize","format","normalized","w","char","formatHeader","targets","asStrings","first","computed","accessor","accessors","defineAccessor","accessorName","arg1","arg2","arg3","buildAccessors","mapped","headerValue","transformData","fns","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","settle","ERR_BAD_REQUEST","listener","isDownloadStream","freq","bytesNotified","_speedometer","samplesCount","min","bytes","timestamps","firstSampleTS","head","tail","chunkLength","now","Date","startedAt","bytesCount","passed","round","timestamp","threshold","timer","force","clearTimeout","setTimeout","loaded","total","lengthComputable","progressBytes","rate","progress","estimated","event","msie","urlParsingNode","createElement","originURL","resolveURL","setAttribute","protocol","host","search","hash","hostname","port","pathname","requestURL","write","expires","domain","secure","toGMTString","read","RegExp","decodeURIComponent","remove","buildFullPath","baseURL","requestedURL","relativeURL","combineURLs","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","withCredentials","withXSRFToken","onUploadProgress","onDownloadProgress","decompress","beforeRedirect","transport","cancelToken","socketPath","responseEncoding","configValue","newConfig","auth","btoa","username","password","unescape","isURLSameOrigin","xsrfValue","cookies","XMLHttpRequest","_config","resolveConfig","requestData","requestHeaders","onCanceled","unsubscribe","signal","removeEventListener","onloadend","responseHeaders","getAllResponseHeaders","responseText","statusText","open","onreadystatechange","readyState","responseURL","onabort","ECONNABORTED","onerror","ERR_NETWORK","ontimeout","timeoutErrorMessage","ETIMEDOUT","setRequestHeader","addEventListener","progressEventReducer","upload","cancel","abort","subscribe","aborted","parseProtocol","send","signals","controller","AbortController","reason","streamChunk","chunk","chunkSize","byteLength","end","pos","trackStream","stream","onProgress","onFinish","iterable","readBytes","ReadableStream","pull","close","enqueue","return","highWaterMark","fetchProgressDecorator","isFetchSupported","fetch","Request","Response","isReadableStreamSupported","encodeText","TextEncoder","arrayBuffer","supportsRequestStream","duplexAccessed","hasContentType","body","duplex","supportsResponseStream","resolvers","res","_","ERR_NOT_SUPPORT","knownAdapters","http","xhr","fetchOptions","finished","composedSignal","stopTimeout","requestContentLength","getContentLength","getBodyLength","resolveBodyLength","contentTypeHeader","_request","isStreamResponse","responseContentLength","responseData","renderReason","isResolvedHandle","adapters","nameOrAdapter","rejectedReasons","reasons","state","throwIfCancellationRequested","throwIfRequested","dispatchRequest","validators","deprecatedWarnings","validator","version","formatMessage","opt","desc","opts","ERR_DEPRECATED","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","Axios","instanceConfig","interceptors","configOrUrl","dummy","boolean","function","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","unshift","responseInterceptorChain","promise","chain","onFulfilled","onRejected","getUri","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","splice","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","axios","createInstance","defaultConfig","VERSION","toFormData","Cancel","all","promises","spread","callback","isAxiosError","payload","formToJSON","getAdapter","default","RequestMalformed","RequestUnauthorized","ObjectNotFound","ObjectAlreadyExists","ObjectUnprocessable","ServerError","HTTPError","HEALTHY","isNodeJSEnvironment","process","versions","ApiCall","configuration","numRetriesPerRequest","additionalUserHeaders","initializeMetadataForNodes","currentNodeIndex","_timer","_performRequest","_patch","_put","_post","_delete2","_get","_callee","endpoint","queryParameters","_ref$abortSignal","abortSignal","_ref$responseType","_args","_context","performRequest","_x","_callee2","_args2","_context2","_x2","_callee3","bodyParameters","_args3","_context3","_x3","_callee4","_args4","_context4","_x4","_callee5","_args5","_context5","_x5","_callee6","requestType","_ref2","_ref2$queryParameters","_ref2$bodyParameters","_ref2$additionalHeade","_ref2$abortSignal","_ref2$responseType","_ref2$skipConnectionT","skipConnectionTimeout","_ref2$enableKeepAlive","enableKeepAlive","requestNumber","lastException","_loop","_ret","numTries","_context7","abortListener","requestOptions","_response$data","_response$data2","_error$response","_context6","getNextNode","uriFor","defaultHeaders","Infinity","transformedData","startsWith","HTTPAgent","keepAlive","HTTPSAgent","setNodeHealthcheck","customErrorForResponse","t0","_x6","_x7","_x8","isHealthy","nodeDueForHealthcheck","candidateNode","isDueForHealthcheck","lastAccessTimestamp","_callee7","seconds","_context8","_x9","messageFromServer","errorMessage","httpStatus","RESOURCEPATH","Collections","apiCall","_retrieve","_create","post","ImportError","importResults","_arrayLikeToArray","arr2","_unsupportedIterableToArray","minLen","_toConsumableArray","iter","RequestWithCache","_perform","responseCache","responsePromiseCache","requestContext","requestFunction","requestFunctionArguments","cacheOptions","_cacheOptions$cacheRe","cacheResponseForSeconds","_cacheOptions$maxSize","maxSize","requestFunctionArgumentsJSON","cacheEntry","cachePromiseEntry","responsePromise","oldestEntry","_oldestEntry","requestTimestamp","delete","SearchOnlyDocuments","collectionName","_search","requestWithCache","clearCache","searchParameters","_ref$cacheSearchResul","additionalQueryParams","queryParams","perform","endpointPath","operation","Documents","_exportStream","_export2","_importStream","_import2","_createMany","_update","_upsert","action","patch","query","documents","import","documentsInJSONLFormat","resultsInJSONLFormat","resultsInJSONFormat","failedItems","_args6","RangeError","includes","success","readableStream","_args7","_callee8","_args8","_callee9","_args9","_context9","Overrides","overrideId","put","Override","Synonyms","synonymId","Synonym","Document","documentId","partialDocument","Collection","_documents","_overrides","_synonyms","_exists","retrieve","individualDocuments","individualOverrides","individualSynonyms","Aliases","mapping","aliasName","Alias","Keys","searchKey","parameters","paramsJSON","digest","createHmac","update","keyPrefix","substr","rawScopedKey","Key","Debug","Metrics","Health","Operations","operationName","MultiSearch","useTextContentType","searchRequests","commonParams","Presets","presetId","Preset","AnalyticsRules","AnalyticsRule","AnalyticsEvents","Analytics","_analyticsRules","_analyticsEvents","individualAnalyticsRules","Stopwords","stopwordId","Stopword","ConversationModels","ConversationModel","Conversations","_conversationsModels","individualConversationModels","Conversation","Client","_options$sendApiKeyAs","metrics","stats","Stats","health","operations","multiSearch","_collections","individualCollections","_aliases","individualAliases","_keys","individualKeys","_presets","individualPresets","_stopwords","individualStopwords","analytics","_conversations","individualConversations","SearchOnlyCollection","SearchClient","Errors"],"sourceRoot":""} \ No newline at end of file diff --git a/lib/Typesense/Documents.d.ts b/lib/Typesense/Documents.d.ts new file mode 100644 index 00000000..d862ea13 --- /dev/null +++ b/lib/Typesense/Documents.d.ts @@ -0,0 +1,241 @@ +/// +import type { ReadStream } from "fs"; +import ApiCall from "./ApiCall"; +import Configuration from "./Configuration"; +import { SearchOnlyDocuments } from "./SearchOnlyDocuments"; +export interface DeleteQuery { + filter_by?: string; + batch_size?: number; + ignore_not_found?: boolean; +} +export interface DeleteResponse { + num_deleted: number; +} +interface ImportResponseSuccess { + success: true; +} +export interface ImportResponseFail { + success: false; + error: string; + document: DocumentSchema; + code: number; +} +export type ImportResponse = ImportResponseSuccess | ImportResponseFail; +export type DocumentSchema = Record; +export interface SearchParamsWithPreset extends Partial { + preset: string; +} +type DropTokensMode = "right_to_left" | "left_to_right" | "both_sides:3"; +type OperationMode = "off" | "always" | "fallback"; +export interface SearchParams { + q?: string; + query_by?: string | string[]; + query_by_weights?: string | number[]; + prefix?: string | boolean | boolean[]; + filter_by?: string; + enable_lazy_filter?: boolean; + sort_by?: string | string[]; + facet_by?: string | string[]; + max_facet_values?: number; + facet_sample_threshold?: number; + facet_sample_percent?: number; + facet_query?: string; + facet_query_num_typos?: number; + facet_return_parent?: string; + page?: number; + per_page?: number; + group_by?: string | string[]; + group_limit?: number; + group_missing_values?: boolean; + include_fields?: string | string[]; + exclude_fields?: string | string[]; + highlight_fields?: string | string[]; + highlight_full_fields?: string | string[]; + highlight_affix_num_tokens?: number; + highlight_start_tag?: string; + highlight_end_tag?: string; + enable_highlight_v1?: boolean; + snippet_threshold?: number; + num_typos?: string | number | number[]; + min_len_1typo?: number; + min_len_2typo?: number; + split_join_tokens?: OperationMode; + exhaustive_search?: boolean; + drop_tokens_threshold?: number; + drop_tokens_mode?: DropTokensMode; + typo_tokens_threshold?: number; + pinned_hits?: string | string[]; + hidden_hits?: string | string[]; + limit_hits?: number; + pre_segmented_query?: boolean; + enable_overrides?: boolean; + prioritize_exact_match?: boolean; + prioritize_token_position?: boolean; + prioritize_num_matching_fields?: boolean; + search_cutoff_ms?: number; + use_cache?: boolean; + max_candidates?: number; + infix?: OperationMode | OperationMode[]; + preset?: string; + text_match_type?: "max_score" | "max_weight"; + vector_query?: string; + "x-typesense-api-key"?: string; + "x-typesense-user-id"?: string; + offset?: number; + limit?: number; + stopwords?: string; + conversation?: boolean; + conversation_model_id?: string; + conversation_id?: string; + voice_query?: string; +} +type SearchResponseHighlightObject = { + matched_tokens?: string[]; + snippet?: string; + value?: string; +}; +export type SearchResponseHighlight = T extends string | number ? SearchResponseHighlightObject : { + [TAttribute in keyof T]?: SearchResponseHighlight; +}; +export interface SearchResponseHit { + curated?: true; + highlights?: [ + { + field: keyof T; + snippet?: string; + value?: string; + snippets?: string[]; + indices?: number[]; + matched_tokens: string[][] | string[]; + } + ]; + highlight: SearchResponseHighlight; + document: T; + text_match: number; + text_match_info?: { + best_field_score: string; + best_field_weight: number; + fields_matched: number; + score: string; + tokens_matched: number; + }; +} +export interface SearchResponseFacetCountSchema { + counts: { + count: number; + highlighted: string; + value: string; + }[]; + field_name: keyof T; + stats: { + avg?: number; + max?: number; + min?: number; + sum?: number; + }; +} +export interface SearchResponseRequestParams { + collection_name?: string; + q?: string; + page?: number; + per_page?: number; + first_q?: string; + voice_query?: { + transcribed_query?: string; + }; +} +export interface SearchResponse { + facet_counts?: SearchResponseFacetCountSchema[]; + found: number; + found_docs?: number; + out_of: number; + page: number; + request_params: SearchResponseRequestParams; + search_time_ms: number; + search_cutoff?: boolean; + hits?: SearchResponseHit[]; + grouped_hits?: { + group_key: string[]; + hits: SearchResponseHit[]; + found?: number; + }[]; + conversation?: { + answer: string; + conversation_history: { + conversation: object[]; + id: string; + last_updated: number; + ttl: number; + }; + conversation_id: string; + query: string; + }; + error?: string; + code?: number; +} +export interface DocumentWriteParameters { + dirty_values?: "coerce_or_reject" | "coerce_or_drop" | "drop" | "reject"; + action?: "create" | "update" | "upsert" | "emplace"; +} +export interface UpdateByFilterParameters { + filter_by?: string; +} +export interface UpdateByFilterResponse { + num_updated: number; +} +export interface DocumentImportParameters extends DocumentWriteParameters { + batch_size?: number; + return_doc?: boolean; + return_id?: boolean; +} +export interface DocumentsExportParameters { + filter_by?: string; + include_fields?: string; + exclude_fields?: string; +} +export interface SearchableDocuments { + search(searchParameters: SearchParams | SearchParamsWithPreset, options: SearchOptions): Promise>; + clearCache(): void; +} +export interface WriteableDocuments { + create(document: T, options: DocumentWriteParameters): Promise; + upsert(document: T, options: DocumentWriteParameters): Promise; + update(document: T, options: DocumentWriteParameters): Promise; + delete(query: DeleteQuery): Promise; + import(documents: T[] | string, options: DocumentWriteParameters): Promise; + export(options: DocumentsExportParameters): Promise; +} +export interface SearchOptions { + cacheSearchResultsForSeconds?: number; + abortSignal?: AbortSignal | null; +} +export default class Documents extends SearchOnlyDocuments implements WriteableDocuments { + constructor(collectionName: string, apiCall: ApiCall, configuration: Configuration); + create(document: T, options?: DocumentWriteParameters): Promise; + upsert(document: T, options?: DocumentWriteParameters): Promise; + update(document: T, options: UpdateByFilterParameters): Promise; + update(document: T, options: DocumentWriteParameters): Promise; + delete(query?: DeleteQuery): Promise; + createMany(documents: T[], options?: DocumentImportParameters): Promise; + /** + * Import a set of documents in a batch. + * @param {string|Array} documents - Can be a JSONL string of documents or an array of document objects. + * @param options + * @return {string|Array} Returns a JSONL string if the input was a JSONL string, otherwise it returns an array of results. + */ + import(documents: string, options?: DocumentImportParameters): Promise; + import(documents: T[], options?: DocumentImportParameters): Promise; + /** + * Imports documents from a NodeJS readable stream of JSONL. + */ + importStream(readableStream: ReadStream, options?: DocumentImportParameters): Promise; + /** + * Returns a JSONL string for all the documents in this collection + */ + export(options?: DocumentsExportParameters): Promise; + /** + * Returns a NodeJS readable stream of JSONL for all the documents in this collection. + */ + exportStream(options?: DocumentsExportParameters): Promise; +} +export {}; diff --git a/lib/Typesense/Documents.js.map b/lib/Typesense/Documents.js.map new file mode 100644 index 00000000..da55836b --- /dev/null +++ b/lib/Typesense/Documents.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Documents.js","sourceRoot":"","sources":["../../src/Typesense/Documents.ts"],"names":[],"mappings":"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"} \ No newline at end of file From 9294f076de281208547adb0e7f6fa1b8a858488f Mon Sep 17 00:00:00 2001 From: Jason Bosco Date: Thu, 29 Aug 2024 11:34:35 -0500 Subject: [PATCH 13/21] Update dependencies --- dist/typesense.js | 268 +++++++++++++++++++++++++------------- dist/typesense.js.map | 2 +- dist/typesense.min.js | 2 +- dist/typesense.min.js.map | 2 +- package-lock.json | 149 ++++++++++----------- 5 files changed, 249 insertions(+), 174 deletions(-) diff --git a/dist/typesense.js b/dist/typesense.js index 638a29b8..d104c69e 100644 --- a/dist/typesense.js +++ b/dist/typesense.js @@ -5845,9 +5845,9 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); /* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); /* harmony import */ var _helpers_composeSignals_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../helpers/composeSignals.js */ "./node_modules/axios/lib/helpers/composeSignals.js"); -/* harmony import */ var _helpers_trackStream_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../helpers/trackStream.js */ "./node_modules/axios/lib/helpers/trackStream.js"); +/* harmony import */ var _helpers_trackStream_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../helpers/trackStream.js */ "./node_modules/axios/lib/helpers/trackStream.js"); /* harmony import */ var _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../core/AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); -/* harmony import */ var _helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../helpers/progressEventReducer.js */ "./node_modules/axios/lib/helpers/progressEventReducer.js"); +/* harmony import */ var _helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../helpers/progressEventReducer.js */ "./node_modules/axios/lib/helpers/progressEventReducer.js"); /* harmony import */ var _helpers_resolveConfig_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../helpers/resolveConfig.js */ "./node_modules/axios/lib/helpers/resolveConfig.js"); /* harmony import */ var _core_settle_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../core/settle.js */ "./node_modules/axios/lib/core/settle.js"); @@ -5860,15 +5860,6 @@ __webpack_require__.r(__webpack_exports__); -const fetchProgressDecorator = (total, fn) => { - const lengthComputable = total != null; - return (loaded) => setTimeout(() => fn({ - lengthComputable, - total, - loaded - })); -} - const isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function'; const isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function'; @@ -5878,7 +5869,15 @@ const encodeText = isFetchSupported && (typeof TextEncoder === 'function' ? async (str) => new Uint8Array(await new Response(str).arrayBuffer()) ); -const supportsRequestStream = isReadableStreamSupported && (() => { +const test = (fn, ...args) => { + try { + return !!fn(...args); + } catch (e) { + return false + } +} + +const supportsRequestStream = isReadableStreamSupported && test(() => { let duplexAccessed = false; const hasContentType = new Request(_platform_index_js__WEBPACK_IMPORTED_MODULE_0__["default"].origin, { @@ -5891,17 +5890,13 @@ const supportsRequestStream = isReadableStreamSupported && (() => { }).headers.has('Content-Type'); return duplexAccessed && !hasContentType; -})(); +}); const DEFAULT_CHUNK_SIZE = 64 * 1024; -const supportsResponseStream = isReadableStreamSupported && !!(()=> { - try { - return _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isReadableStream(new Response('').body); - } catch(err) { - // return undefined - } -})(); +const supportsResponseStream = isReadableStreamSupported && + test(() => _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isReadableStream(new Response('').body)); + const resolvers = { stream: supportsResponseStream && ((res) => res.body) @@ -5929,7 +5924,7 @@ const getBodyLength = async (body) => { return (await new Request(body).arrayBuffer()).byteLength; } - if(_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isArrayBufferView(body)) { + if(_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isArrayBufferView(body) || _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isArrayBuffer(body)) { return body.byteLength; } @@ -5999,17 +5994,22 @@ const resolveBodyLength = async (headers, body) => { } if (_request.body) { - data = (0,_helpers_trackStream_js__WEBPACK_IMPORTED_MODULE_5__.trackStream)(_request.body, DEFAULT_CHUNK_SIZE, fetchProgressDecorator( + const [onProgress, flush] = (0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_5__.progressEventDecorator)( requestContentLength, - (0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_6__["default"])(onUploadProgress) - ), null, encodeText); + (0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_5__.progressEventReducer)((0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_5__.asyncDecorator)(onUploadProgress)) + ); + + data = (0,_helpers_trackStream_js__WEBPACK_IMPORTED_MODULE_6__.trackStream)(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush, encodeText); } } if (!_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isString(withCredentials)) { - withCredentials = withCredentials ? 'cors' : 'omit'; + withCredentials = withCredentials ? 'include' : 'omit'; } + // Cloudflare Workers throws when credentials are defined + // see https://github.com/cloudflare/workerd/issues/902 + const isCredentialsSupported = "credentials" in Request.prototype; request = new Request(url, { ...fetchOptions, signal: composedSignal, @@ -6017,7 +6017,7 @@ const resolveBodyLength = async (headers, body) => { headers: headers.normalize().toJSON(), body: data, duplex: "half", - withCredentials + credentials: isCredentialsSupported ? withCredentials : undefined }); let response = await fetch(request); @@ -6033,11 +6033,16 @@ const resolveBodyLength = async (headers, body) => { const responseContentLength = _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].toFiniteNumber(response.headers.get('content-length')); + const [onProgress, flush] = onDownloadProgress && (0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_5__.progressEventDecorator)( + responseContentLength, + (0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_5__.progressEventReducer)((0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_5__.asyncDecorator)(onDownloadProgress), true) + ) || []; + response = new Response( - (0,_helpers_trackStream_js__WEBPACK_IMPORTED_MODULE_5__.trackStream)(response.body, DEFAULT_CHUNK_SIZE, onDownloadProgress && fetchProgressDecorator( - responseContentLength, - (0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_6__["default"])(onDownloadProgress, true) - ), isStreamResponse && onFinish, encodeText), + (0,_helpers_trackStream_js__WEBPACK_IMPORTED_MODULE_6__.trackStream)(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => { + flush && flush(); + isStreamResponse && onFinish(); + }, encodeText), options ); } @@ -6120,16 +6125,18 @@ const isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined'; const _config = (0,_helpers_resolveConfig_js__WEBPACK_IMPORTED_MODULE_0__["default"])(config); let requestData = _config.data; const requestHeaders = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"].from(_config.headers).normalize(); - let {responseType} = _config; + let {responseType, onUploadProgress, onDownloadProgress} = _config; let onCanceled; + let uploadThrottled, downloadThrottled; + let flushUpload, flushDownload; + function done() { - if (_config.cancelToken) { - _config.cancelToken.unsubscribe(onCanceled); - } + flushUpload && flushUpload(); // flush events + flushDownload && flushDownload(); // flush events - if (_config.signal) { - _config.signal.removeEventListener('abort', onCanceled); - } + _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled); + + _config.signal && _config.signal.removeEventListener('abort', onCanceled); } let request = new XMLHttpRequest(); @@ -6199,7 +6206,7 @@ const isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined'; return; } - reject(new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"]('Request aborted', _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"].ECONNABORTED, _config, request)); + reject(new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"]('Request aborted', _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"].ECONNABORTED, config, request)); // Clean up request request = null; @@ -6209,7 +6216,7 @@ const isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined'; request.onerror = function handleError() { // Real errors are hidden from us by the browser // onerror should only fire if it's a network error - reject(new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"]('Network Error', _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"].ERR_NETWORK, _config, request)); + reject(new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"]('Network Error', _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"].ERR_NETWORK, config, request)); // Clean up request request = null; @@ -6225,7 +6232,7 @@ const isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined'; reject(new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"]( timeoutErrorMessage, transitional.clarifyTimeoutError ? _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"].ETIMEDOUT : _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"].ECONNABORTED, - _config, + config, request)); // Clean up request @@ -6253,13 +6260,18 @@ const isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined'; } // Handle progress if needed - if (typeof _config.onDownloadProgress === 'function') { - request.addEventListener('progress', (0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_6__["default"])(_config.onDownloadProgress, true)); + if (onDownloadProgress) { + ([downloadThrottled, flushDownload] = (0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_6__.progressEventReducer)(onDownloadProgress, true)); + request.addEventListener('progress', downloadThrottled); } // Not all browsers support upload events - if (typeof _config.onUploadProgress === 'function' && request.upload) { - request.upload.addEventListener('progress', (0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_6__["default"])(_config.onUploadProgress)); + if (onUploadProgress && request.upload) { + ([uploadThrottled, flushUpload] = (0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_6__.progressEventReducer)(onUploadProgress)); + + request.upload.addEventListener('progress', uploadThrottled); + + request.upload.addEventListener('loadend', flushUpload); } if (_config.cancelToken || _config.signal) { @@ -6908,7 +6920,10 @@ function AxiosError(message, code, config, request, response) { code && (this.code = code); config && (this.config = config); request && (this.request = request); - response && (this.response = response); + if (response) { + this.response = response; + this.status = response.status ? response.status : null; + } } _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].inherits(AxiosError, Error, { @@ -6928,7 +6943,7 @@ _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].inherits(AxiosError, Error, { // Axios config: _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toJSONObject(this.config), code: this.code, - status: this.response && this.response.status ? this.response.status : null + status: this.status }; } }); @@ -7957,7 +7972,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ VERSION: () => (/* binding */ VERSION) /* harmony export */ }); -const VERSION = "1.7.2"; +const VERSION = "1.7.5"; /***/ }), @@ -8569,7 +8584,7 @@ __webpack_require__.r(__webpack_exports__); // Standard browser envs have full support of the APIs needed to test // whether the request URL is of the same origin as current location. (function standardBrowserEnv() { - const msie = /(msie|trident)/i.test(navigator.userAgent); + const msie = _platform_index_js__WEBPACK_IMPORTED_MODULE_0__["default"].navigator && /(msie|trident)/i.test(_platform_index_js__WEBPACK_IMPORTED_MODULE_0__["default"].navigator.userAgent); const urlParsingNode = document.createElement('a'); let originURL; @@ -8748,14 +8763,18 @@ function parseProtocol(url) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ asyncDecorator: () => (/* binding */ asyncDecorator), +/* harmony export */ progressEventDecorator: () => (/* binding */ progressEventDecorator), +/* harmony export */ progressEventReducer: () => (/* binding */ progressEventReducer) /* harmony export */ }); /* harmony import */ var _speedometer_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./speedometer.js */ "./node_modules/axios/lib/helpers/speedometer.js"); /* harmony import */ var _throttle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./throttle.js */ "./node_modules/axios/lib/helpers/throttle.js"); +/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); + -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((listener, isDownloadStream, freq = 3) => { +const progressEventReducer = (listener, isDownloadStream, freq = 3) => { let bytesNotified = 0; const _speedometer = (0,_speedometer_js__WEBPACK_IMPORTED_MODULE_0__["default"])(50, 250); @@ -8776,14 +8795,25 @@ __webpack_require__.r(__webpack_exports__); rate: rate ? rate : undefined, estimated: rate && total && inRange ? (total - loaded) / rate : undefined, event: e, - lengthComputable: total != null + lengthComputable: total != null, + [isDownloadStream ? 'download' : 'upload']: true }; - data[isDownloadStream ? 'download' : 'upload'] = true; - listener(data); }, freq); -}); +} + +const progressEventDecorator = (total, throttled) => { + const lengthComputable = total != null; + + return [(loaded) => throttled[0]({ + lengthComputable, + total, + loaded + }), throttled[1]]; +} + +const asyncDecorator = (fn) => (...args) => _utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].asap(() => fn(...args)); /***/ }), @@ -8992,8 +9022,6 @@ __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); - - /** * Throttle decorator * @param {Function} fn @@ -9002,28 +9030,39 @@ __webpack_require__.r(__webpack_exports__); */ function throttle(fn, freq) { let timestamp = 0; - const threshold = 1000 / freq; - let timer = null; - return function throttled() { - const force = this === true; + let threshold = 1000 / freq; + let lastArgs; + let timer; + + const invoke = (args, now = Date.now()) => { + timestamp = now; + lastArgs = null; + if (timer) { + clearTimeout(timer); + timer = null; + } + fn.apply(null, args); + } + const throttled = (...args) => { const now = Date.now(); - if (force || now - timestamp > threshold) { - if (timer) { - clearTimeout(timer); - timer = null; + const passed = now - timestamp; + if ( passed >= threshold) { + invoke(args, now); + } else { + lastArgs = args; + if (!timer) { + timer = setTimeout(() => { + timer = null; + invoke(lastArgs) + }, threshold - passed); } - timestamp = now; - return fn.apply(null, arguments); - } - if (!timer) { - timer = setTimeout(() => { - timer = null; - timestamp = Date.now(); - return fn.apply(null, arguments); - }, threshold - (now - timestamp)); } - }; + } + + const flush = () => lastArgs && invoke(lastArgs); + + return [throttled, flush]; } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (throttle); @@ -9318,7 +9357,6 @@ __webpack_require__.r(__webpack_exports__); /* harmony export */ trackStream: () => (/* binding */ trackStream) /* harmony export */ }); - const streamChunk = function* (chunk, chunkSize) { let len = chunk.byteLength; @@ -9347,25 +9385,38 @@ const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => { const iterator = readBytes(stream, chunkSize, encode); let bytes = 0; + let done; + let _onFinish = (e) => { + if (!done) { + done = true; + onFinish && onFinish(e); + } + } return new ReadableStream({ - type: 'bytes', - async pull(controller) { - const {done, value} = await iterator.next(); + try { + const {done, value} = await iterator.next(); - if (done) { - controller.close(); - onFinish(); - return; - } + if (done) { + _onFinish(); + controller.close(); + return; + } - let len = value.byteLength; - onProgress && onProgress(bytes += len); - controller.enqueue(new Uint8Array(value)); + let len = value.byteLength; + if (onProgress) { + let loadedBytes = bytes += len; + onProgress(loadedBytes); + } + controller.enqueue(new Uint8Array(value)); + } catch (err) { + _onFinish(err); + throw err; + } }, cancel(reason) { - onFinish(reason); + _onFinish(reason); return iterator.return(); } }, { @@ -9583,10 +9634,13 @@ __webpack_require__.r(__webpack_exports__); /* harmony export */ hasBrowserEnv: () => (/* binding */ hasBrowserEnv), /* harmony export */ hasStandardBrowserEnv: () => (/* binding */ hasStandardBrowserEnv), /* harmony export */ hasStandardBrowserWebWorkerEnv: () => (/* binding */ hasStandardBrowserWebWorkerEnv), +/* harmony export */ navigator: () => (/* binding */ _navigator), /* harmony export */ origin: () => (/* binding */ origin) /* harmony export */ }); const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined'; +const _navigator = typeof navigator === 'object' && navigator || undefined; + /** * Determine if we're running in a standard browser environment * @@ -9604,10 +9658,8 @@ const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'unde * * @returns {boolean} */ -const hasStandardBrowserEnv = ( - (product) => { - return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0 - })(typeof navigator !== 'undefined' && navigator.product); +const hasStandardBrowserEnv = hasBrowserEnv && + (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0); /** * Determine if we're running in a standard browser webWorker environment @@ -10341,6 +10393,36 @@ const isAsyncFn = kindOfTest('AsyncFunction'); const isThenable = (thing) => thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch); +// original code +// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34 + +const _setImmediate = ((setImmediateSupported, postMessageSupported) => { + if (setImmediateSupported) { + return setImmediate; + } + + return postMessageSupported ? ((token, callbacks) => { + _global.addEventListener("message", ({source, data}) => { + if (source === _global && data === token) { + callbacks.length && callbacks.shift()(); + } + }, false); + + return (cb) => { + callbacks.push(cb); + _global.postMessage(token, "*"); + } + })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb); +})( + typeof setImmediate === 'function', + isFunction(_global.postMessage) +); + +const asap = typeof queueMicrotask !== 'undefined' ? + queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate); + +// ********************* + /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ isArray, isArrayBuffer, @@ -10396,7 +10478,9 @@ const isThenable = (thing) => isSpecCompliantForm, toJSONObject, isAsyncFn, - isThenable + isThenable, + setImmediate: _setImmediate, + asap }); diff --git a/dist/typesense.js.map b/dist/typesense.js.map index d5079942..8e607910 100644 --- a/dist/typesense.js.map +++ b/dist/typesense.js.map @@ -1 +1 @@ -{"version":3,"file":"typesense.js","mappings":"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;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;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;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA,qDAAqD;AACrD,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,sBAAsB;AACtB;;AAEA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA,oCAAoC;AACpC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;;;;;;;;;;ACpWD;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA,cAAc,sGAAiC;AAC/C;AACA,gBAAgB;AAChB;AACA;AACA,GAAG,EAAE,yBAAyB,SAAS,yBAAyB;AAChE;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,KAAK;AACL,iDAAiD;AACjD;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;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;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;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,eAAe;AAClC;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,SAAS;AACtB;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;;;;;;;;;;;;;;;ACHe;AACf;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;ACLA;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;;;;;;;;;;;;;;;;;ACJiD;AACoB;AACtD;AACf,MAAM,wEAAwB;AAC9B;AACA;AACA;AACA,cAAc,8DAAc;AAC5B;;;;;;;;;;;;;;;;ACR+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;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACLiD;AAClC;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH,kBAAkB,8DAAc;AAChC;;;;;;;;;;;;;;;AChBe;AACf;AACA;AACA,IAAI;AACJ;AACA;AACA;;;;;;;;;;;;;;;ACNe;AACf;AACA,yFAAyF;AACzF,IAAI;AACJ;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;ACPe;AACf;AACA;;;;;;;;;;;;;;;ACFe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,YAAY,kEAAkE;AACtF,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;AC1Be;AACf;AACA;;;;;;;;;;;;;;;ACFe;AACf;AACA;;;;;;;;;;;;;;;;;ACFkC;AAC6B;AAChD;AACf,eAAe,sDAAO;AACtB;AACA,IAAI;AACJ;AACA;AACA,SAAS,qEAAqB;AAC9B;;;;;;;;;;;;;;;ACTe;AACf;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACNiD;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,kBAAkB,sDAAO;AACzB;AACA;AACA;AACA,oBAAoB,sDAAO;AAC3B;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACVkC;AACS;AAC5B;AACf,UAAU,2DAAW;AACrB,qBAAqB,sDAAO;AAC5B;;;;;;;;;;;;;;;ACLe;AACf;;AAEA;AACA;AACA,IAAI;AACJ;AACA,GAAG;AACH;;;;;;;;;;;;;;;;ACRqD;AACtC;AACf;AACA,oCAAoC,gEAAgB;AACpD;AACA;AACA;AACA,sFAAsF,gEAAgB;AACtG;;;;;;;;;;;;;;;;;;;ACRiD;AACA;AACI;AACd;AACxB;AACf;AACA;AACA,2BAA2B,gEAAgB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,yDAAS,mBAAmB,8DAAc;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,WAAW,8DAAc;AACzB;AACA;AACA;;;;;;;;;;;;;;;;;;;;AC7BgC;AACI;AACF;AACI;AACS;;AAE/C;AACA,QAAQ,gDAAW;AACnB,OAAO,+CAAU;AACjB,SAAS,iDAAY;AACrB;;AAEA,iDAAK;AACL;AACA;AACA,yCAAyC,MAAM;AAC/C,MAAM;AACN;AACA;AACA,8CAA8C,MAAM;AACpD;AACA,CAAC;;AAED,sCAAsC,OAAO;;AAE7C,sCAAsC,iDAAK;;AAE3C,iEAAe;AACf;AACA,eAAe,iDAAK;;AAEpB,WAAW,QAAQ;AACnB;AACA;;AAEA;;AAEA,oBAAoB,YAAY;AAChC;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,oBAAoB,2DAAU,qBAAqB,GAAG;AACtD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,yCAAyC,IAAI;AAC7C;AACA;;AAEA;AACA;AACA;;AAEA,gBAAgB,2DAAU;AAC1B;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;AC9E2C;AACZ;AACe;AACW;AACJ;AACH;AACmB;AACd;AACjB;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,qCAAqC,0DAAQ;AAC7C;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA,CAAC;;AAED;;AAEA;AACA;AACA,WAAW,iDAAK;AAChB,IAAI;AACJ;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA,2CAA2C,iDAAK;AAChD;AACA,kBAAkB,2DAAU,mBAAmB,KAAK,qBAAqB,2DAAU;AACnF,OAAO;AACP,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;;AAEA,KAAK,iDAAK;AACV;AACA;;AAEA,KAAK,iDAAK;AACV;AACA;;AAEA,KAAK,iDAAK;AACV;AACA;;AAEA,KAAK,iDAAK;AACV;AACA;;AAEA,KAAK,iDAAK;AACV;AACA;AACA;;AAEA;AACA,iBAAiB,iDAAK;;AAEtB;AACA;;AAEA,iEAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,EAAE,qEAAa;;AAEnB;;AAEA;AACA,IAAI,sEAAc;;AAElB;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;;AAEA,UAAU,iDAAK;AACf;AACA;;AAEA;AACA,eAAe,oEAAW;AAC1B;AACA,UAAU,4EAAoB;AAC9B;AACA;AACA;;AAEA,SAAS,iDAAK;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP,oCAAoC,iDAAK;;AAEzC;AACA,QAAQ,oEAAW;AACnB;AACA,UAAU,4EAAoB;AAC9B;AACA;AACA;AACA;;AAEA;;AAEA,uCAAuC,iDAAK;;AAE5C;;AAEA;;AAEA;AACA,MAAM,2DAAM;AACZ;AACA,iBAAiB,6DAAY;AAC7B;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,IAAI;AACJ;;AAEA;AACA;AACA,YAAY,2DAAU,kBAAkB,2DAAU;AAClD;AACA;AACA;AACA;AACA;;AAEA,UAAU,2DAAU;AACpB;AACA,CAAC,CAAC,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChO+B;AACO;AACsB;AAChB;AACQ;AACC;AACZ;AACO;AACmB;AACd;;AAExD;;AAEA,iEAAe;AACf;AACA,oBAAoB,qEAAa;AACjC;AACA,2BAA2B,6DAAY;AACvC,SAAS,cAAc;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,8BAA8B,6DAAY;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAM,2DAAM;AACZ;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,iBAAiB,2DAAU,oBAAoB,2DAAU;;AAEzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,2DAAU,kBAAkB,2DAAU;;AAEvD;AACA;AACA;;AAEA;AACA;AACA;AACA,mDAAmD,iEAAoB;AACvE;AACA;AACA;AACA,iBAAiB,2DAAU;AAC3B;AACA,2CAA2C,2DAAU,aAAa,2DAAU;AAC5E;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAM,iDAAK;AACX;AACA,OAAO;AACP;;AAEA;AACA,SAAS,iDAAK;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,2CAA2C,4EAAoB;AAC/D;;AAEA;AACA;AACA,kDAAkD,4EAAoB;AACtE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,gEAAa;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,qEAAa;;AAElC,oBAAoB,0DAAQ;AAC5B,iBAAiB,2DAAU,2CAA2C,2DAAU;AAChF;AACA;;;AAGA;AACA;AACA,GAAG;AACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7LY;;AAEkB;AACM;AACD;AACY;AACL;AACc;AACH;AACJ;AACN;AACN;AACW;AACH;AACL;AACY;AACH;AACJ;AACW;;AAEzD;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,OAAO;AACpB;AACA;AACA,sBAAsB,sDAAK;AAC3B,mBAAmB,4DAAI,CAAC,sDAAK;;AAE7B;AACA,EAAE,iDAAK,kBAAkB,sDAAK,sBAAsB,iBAAiB;;AAErE;AACA,EAAE,iDAAK,kCAAkC,iBAAiB;;AAE1D;AACA;AACA,0BAA0B,gEAAW;AACrC;;AAEA;AACA;;AAEA;AACA,6BAA6B,0DAAQ;;AAErC;AACA,cAAc,sDAAK;;AAEnB;AACA,sBAAsB,gEAAa;AACnC,oBAAoB,8DAAW;AAC/B,iBAAiB,2DAAQ;AACzB,gBAAgB,iDAAO;AACvB,mBAAmB,8DAAU;;AAE7B;AACA,mBAAmB,4DAAU;;AAE7B;AACA;;AAEA;AACA;AACA;AACA;;AAEA,eAAe,2DAAM;;AAErB;AACA,qBAAqB,iEAAY;;AAEjC;AACA,oBAAoB,4DAAW;;AAE/B,qBAAqB,8DAAY;;AAEjC,4BAA4B,uEAAc,CAAC,iDAAK;;AAEhD,mBAAmB,8DAAQ;;AAE3B,uBAAuB,mEAAc;;AAErC;;AAEA;AACA,iEAAe,KAAK;;;;;;;;;;;;;;;;;ACxFP;;AAEkC;;AAE/C;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,yDAAa;AACtC;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA,iEAAe,WAAW,EAAC;;;;;;;;;;;;;;;;;;ACxHd;;AAEkC;AACf;;AAEhC;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,aAAa,eAAe;AAC5B;AACA;AACA;AACA,EAAE,2DAAU,oDAAoD,2DAAU;AAC1E;AACA;;AAEA,iDAAK,yBAAyB,2DAAU;AACxC;AACA,CAAC;;AAED,iEAAe,aAAa,EAAC;;;;;;;;;;;;;;;;ACxBhB;;AAEE;AACf;AACA;;;;;;;;;;;;;;;;;;;;;;;;ACJa;;AAEqB;AACY;AACW;AACN;AACR;AACI;AACC;AACH;;AAE7C,mBAAmB,6DAAS;;AAE5B;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,mBAAmB,8DAAkB;AACrC,oBAAoB,8DAAkB;AACtC;AACA;;AAEA;AACA;AACA;AACA,aAAa,eAAe;AAC5B,aAAa,SAAS;AACtB;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA,oEAAoE;;AAEpE;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA,aAAa,2DAAW;;AAExB,WAAW,yCAAyC;;AAEpD;AACA,MAAM,6DAAS;AACf;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,UAAU,iDAAK;AACf;AACA;AACA;AACA,QAAQ;AACR,QAAQ,6DAAS;AACjB;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA,oCAAoC,iDAAK;AACzC;AACA;AACA;;AAEA,eAAe,iDAAK;AACpB;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,wDAAY;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA,qBAAqB,2DAAe;AACpC;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA,gBAAgB,2DAAe;AAC/B,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,aAAa,2DAAW;AACxB,qBAAqB,6DAAa;AAClC,WAAW,gEAAQ;AACnB;AACA;;AAEA;AACA,iDAAK;AACL;AACA;AACA,wBAAwB,2DAAW,aAAa;AAChD;AACA;AACA,yBAAyB;AACzB,KAAK;AACL;AACA,CAAC;;AAED,iDAAK;AACL;;AAEA;AACA;AACA,0BAA0B,2DAAW,aAAa;AAClD;AACA;AACA;AACA,UAAU,IAAI;AACd;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA,CAAC;;AAED,iEAAe,KAAK,EAAC;;;;;;;;;;;;;;;;;ACnOR;;AAEmB;;AAEhC;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,OAAO;AACpB;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iDAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,iDAAK;AACnB;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,CAAC;;AAED;AACA,kDAAkD,YAAY;;AAE9D;AACA;AACA;;AAEA,EAAE,iDAAK;AACP;AACA,GAAG;AACH;AACA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,iEAAe,UAAU,EAAC;;;;;;;;;;;;;;;;;;ACnGb;;AAEmB;AACsB;;AAEtD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS,iDAAK;AACd;;AAEA;AACA;AACA,2BAA2B,mBAAmB;AAC9C;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,MAAM,iDAAK;AACX;AACA;;AAEA;AACA;AACA;;AAEA,OAAO,iDAAK;;AAEZ,MAAM,iDAAK;AACX;AACA;;AAEA,MAAM,iDAAK;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,uBAAuB,iDAAK;;AAE5B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,iDAAK;;AAEvB;AACA;AACA;AACA;;AAEA;AACA,MAAM,iDAAK;;AAEX,QAAQ,iDAAK;AACb;AACA,MAAM,QAAQ,iDAAK;AACnB,iBAAiB,oEAAY;AAC7B,MAAM,SAAS,iDAAK;AACpB;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB,iDAAK;;AAEvB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,YAAY,iDAAK;AACjB;AACA;;AAEA,YAAY,iDAAK;AACjB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB,iDAAK;;AAEvB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,oBAAoB,iDAAK;;AAEzB;AACA;;AAEA;AACA;AACA;AACA;;AAEA,QAAQ,iDAAK;AACb;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,IAAI,iDAAK;AACT,kBAAkB,iDAAK;;AAEvB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,IAAI,iDAAK;AACT,sEAAsE,iDAAK;AAC3E,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,IAAI,iDAAK;;AAET;AACA;AACA;;AAEA;;AAEA;AACA,iDAAK,6CAA6C,MAAM;AACxD,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,iDAAK;;AAEL,iEAAe,YAAY,EAAC;;;;;;;;;;;;;;;;;AC7Sf;;AAEqB;;AAElC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB,aAAa,UAAU;AACvB;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,UAAU;AACvB;AACA,eAAe;AACf;AACA;AACA,IAAI,iDAAK;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,iEAAe,kBAAkB,EAAC;;;;;;;;;;;;;;;;;;ACtErB;;AAE2C;AACJ;;AAEpD;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf,kBAAkB,qEAAa;AAC/B,WAAW,mEAAW;AACtB;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;ACpBa;;AAEkC;AACF;AACD;AACW;AACJ;AACJ;;AAE/C;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,gEAAa;AAC3B;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACe;AACf;;AAEA,mBAAmB,6DAAY;;AAE/B;AACA,gBAAgB,yDAAa;AAC7B;AACA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,6DAAQ,8BAA8B,0DAAQ;;AAEhE;AACA;;AAEA;AACA,oBAAoB,yDAAa;AACjC;AACA;AACA;AACA;;AAEA,uBAAuB,6DAAY;;AAEnC;AACA,GAAG;AACH,SAAS,+DAAQ;AACjB;;AAEA;AACA;AACA,+BAA+B,yDAAa;AAC5C;AACA;AACA;AACA;AACA,kCAAkC,6DAAY;AAC9C;AACA;;AAEA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;AChFa;;AAEmB;AACa;;AAE7C,oDAAoD,wDAAY,KAAK,WAAW;;AAEhF;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;;AAEA;AACA,QAAQ,iDAAK,0BAA0B,iDAAK;AAC5C,aAAa,iDAAK,aAAa,SAAS;AACxC,MAAM,SAAS,iDAAK;AACpB,aAAa,iDAAK,SAAS;AAC3B,MAAM,SAAS,iDAAK;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS,iDAAK;AACd;AACA,MAAM,UAAU,iDAAK;AACrB;AACA;AACA;;AAEA;AACA;AACA,SAAS,iDAAK;AACd;AACA;AACA;;AAEA;AACA;AACA,SAAS,iDAAK;AACd;AACA,MAAM,UAAU,iDAAK;AACrB;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;AACA;AACA;AACA;;AAEA,EAAE,iDAAK,qCAAqC;AAC5C;AACA;AACA,KAAK,iDAAK;AACV,GAAG;;AAEH;AACA;;;;;;;;;;;;;;;;;ACzGa;;AAE4B;;AAEzC;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;AACA,IAAI;AACJ,eAAe,sDAAU;AACzB;AACA,OAAO,sDAAU,kBAAkB,sDAAU;AAC7C;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;AC1Ba;;AAEqB;AACU;AACO;;AAEnD;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB;AACA,aAAa,GAAG;AAChB;AACe;AACf,yBAAyB,0DAAQ;AACjC;AACA,kBAAkB,6DAAY;AAC9B;;AAEA,EAAE,iDAAK;AACP;AACA,GAAG;;AAEH;;AAEA;AACA;;;;;;;;;;;;;;;;;;;;;;;AC3Ba;;AAEmB;AACe;AACM;AACH;AACY;AAClB;AACc;;AAE1D;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA,MAAM,iDAAK;AACX;AACA;AACA,aAAa,iDAAK;AAClB,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,gBAAgB,wDAAoB;;AAEpC;;AAEA;AACA;AACA;AACA,4BAA4B,iDAAK;;AAEjC,2BAA2B,iDAAK;AAChC;AACA;;AAEA,uBAAuB,iDAAK;;AAE5B;AACA,iDAAiD,sEAAc;AAC/D;;AAEA,QAAQ,iDAAK;AACb,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX;AACA;AACA;AACA,QAAQ,iDAAK;AACb;AACA;AACA,QAAQ,iDAAK;AACb,gEAAgE;AAChE;AACA;;AAEA;;AAEA;AACA;AACA,eAAe,wEAAgB;AAC/B;;AAEA,wBAAwB,iDAAK;AAC7B;;AAEA,eAAe,kEAAU;AACzB,wBAAwB,iBAAiB;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA,QAAQ,iDAAK,qBAAqB,iDAAK;AACvC;AACA;;AAEA,gBAAgB,iDAAK;AACrB;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA,kBAAkB,2DAAU,SAAS,2DAAU;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,cAAc,0DAAQ;AACtB,UAAU,0DAAQ;AAClB,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iDAAK;AACL;AACA,CAAC;;AAED,iEAAe,QAAQ,EAAC;;;;;;;;;;;;;;;;AChKX;;AAEb,iEAAe;AACf;AACA;AACA;AACA,CAAC,EAAC;;;;;;;;;;;;;;;;ACNK;;;;;;;;;;;;;;;;ACAM;;AAE4B;;AAEzC;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,WAAW,qBAAqB;AAChC,WAAW,qBAAqB;AAChC;AACA,aAAa;AACb;AACA;AACA;;AAEA,YAAY,0DAAU;AACtB;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA,GAAG;AACH;;AAEA,iEAAe,oBAAoB,EAAC;;;;;;;;;;;;;;;;ACzDpC;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;;AAEA;AACA;AACA,CAAC;;AAED,iEAAe,cAAc,EAAC;;;;;;;;;;;;;;;;ACtEjB;;AAEE;AACf;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACNa;;AAEmB;AACsC;;AAEtE;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,IAAI;AACJ,uBAAuB,iDAAK;AAC5B;AACA,UAAU,wEAAoB;AAC9B;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;AC9Da;;AAEb;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACduD;AACR;;AAE/C;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,sCAAsC,2DAAU,aAAa,gEAAa;AAC1E;AACA;;AAEA;AACA,gBAAgB,2DAAU,YAAY,SAAS,iBAAiB,2DAAU;AAC1E,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;;AAEA,SAAS,QAAQ;;AAEjB;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA,iEAAe,cAAc,EAAC;;;;;;;;;;;;;;;;;;AC7CI;AACU;;AAE5C,iEAAe,0DAAQ;;AAEvB;AACA;AACA;AACA;;AAEA,MAAM,iDAAK;;AAEX,MAAM,iDAAK;;AAEX,MAAM,iDAAK;;AAEX;;AAEA,uCAAuC;AACvC,KAAK;;AAEL;AACA,0DAA0D,wBAAwB;AAClF;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA,KAAK;AACL;AACA,GAAG,EAAC;;;;;;;;;;;;;;;;;;ACxCS;;AAEmB;;AAEhC;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,iDAAK;AACd;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,4BAA4B;AACzC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,oBAAoB,iDAAK;;AAEzB;AACA,UAAU,iDAAK;AACf;AACA,QAAQ;AACR;AACA;;AAEA;AACA;;AAEA,0BAA0B,iDAAK;AAC/B;AACA;;AAEA;;AAEA,kBAAkB,iDAAK;AACvB;AACA;;AAEA;AACA;;AAEA,MAAM,iDAAK,yBAAyB,iDAAK;AACzC;;AAEA,IAAI,iDAAK;AACT;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA,iEAAe,cAAc,EAAC;;;;;;;;;;;;;;;;AC9FjB;;AAEb;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACe;AACf;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACda;;AAEqB;;AAElC;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACe;AACf,SAAS,iDAAK;AACd;;;;;;;;;;;;;;;;;;ACba;;AAEqB;AACU;;AAE5C,iEAAe,0DAAQ;;AAEvB;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,sBAAsB,iDAAK;AAC3B;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAG,GAAG,EAAC;;;;;;;;;;;;;;;;AClEP;AACA,iEAAe,IAAI,EAAC;;;;;;;;;;;;;;;;;ACDP;;AAEqB;;AAElC;AACA;AACA,0BAA0B,iDAAK;AAC/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA,iEAAe;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,MAAM;AACN;AACA;AACA,GAAG;;AAEH;AACA,CAAC,EAAC;;;;;;;;;;;;;;;;ACtDW;;AAEE;AACf,0BAA0B,KAAK;AAC/B;AACA;;;;;;;;;;;;;;;;;;ACL2C;AACN;;AAErC,iEAAe;AACf;AACA,uBAAuB,2DAAW;;AAElC,SAAS,wDAAQ;AACjB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,GAAG;AACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;AC/B2C;AACZ;AACmB;AAChB;AACk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CtB;AACA;;;AAGA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,UAAU;AACrB;AACA,WAAW,SAAS;AACpB,aAAa;AACb;AACA,2BAA2B,oBAAoB,IAAI;AACnD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS;AAC5C,4BAA4B;AAC5B;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA,SAAS,UAAU;AACnB;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,kCAAkC;AAClC,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;;AAEA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA,gCAAgC,WAAW,IAAI;AAC/C;AACA;AACA,eAAe,4DAAI;AACnB,MAAM;AACN;AACA;AACA,GAAG,GAAG,WAAW;AACjB;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,kBAAkB;AAC7B,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,WAAW,kBAAkB;AAC7B,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B,eAAe;;AAEzC;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS,QAAQ;AACjB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA,iEAAe;AACf;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,EAAC;;;;;;;UCvtBF;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;;;;;;;ACNwC;AACY;AACP;AAEL;AACxC,iEAAe;EAAE9B,MAAM,EAANA,yDAAM;EAAEuL,YAAY,EAAZA,+DAAY;EAAEU,MAAM,EAANA,8CAAMA;AAAC,CAAC,E","sources":["webpack://Typesense/./src/Typesense/Alias.ts","webpack://Typesense/./src/Typesense/Aliases.ts","webpack://Typesense/./src/Typesense/Analytics.ts","webpack://Typesense/./src/Typesense/AnalyticsEvents.ts","webpack://Typesense/./src/Typesense/AnalyticsRule.ts","webpack://Typesense/./src/Typesense/AnalyticsRules.ts","webpack://Typesense/./src/Typesense/ApiCall.ts","webpack://Typesense/./src/Typesense/Client.ts","webpack://Typesense/./src/Typesense/Collection.ts","webpack://Typesense/./src/Typesense/Collections.ts","webpack://Typesense/./src/Typesense/Configuration.ts","webpack://Typesense/./src/Typesense/Conversation.ts","webpack://Typesense/./src/Typesense/ConversationModel.ts","webpack://Typesense/./src/Typesense/ConversationModels.ts","webpack://Typesense/./src/Typesense/Conversations.ts","webpack://Typesense/./src/Typesense/Debug.ts","webpack://Typesense/./src/Typesense/Document.ts","webpack://Typesense/./src/Typesense/Documents.ts","webpack://Typesense/./src/Typesense/Errors/HTTPError.ts","webpack://Typesense/./src/Typesense/Errors/ImportError.ts","webpack://Typesense/./src/Typesense/Errors/MissingConfigurationError.ts","webpack://Typesense/./src/Typesense/Errors/ObjectAlreadyExists.ts","webpack://Typesense/./src/Typesense/Errors/ObjectNotFound.ts","webpack://Typesense/./src/Typesense/Errors/ObjectUnprocessable.ts","webpack://Typesense/./src/Typesense/Errors/RequestMalformed.ts","webpack://Typesense/./src/Typesense/Errors/RequestUnauthorized.ts","webpack://Typesense/./src/Typesense/Errors/ServerError.ts","webpack://Typesense/./src/Typesense/Errors/TypesenseError.ts","webpack://Typesense/./src/Typesense/Errors/index.ts","webpack://Typesense/./src/Typesense/Health.ts","webpack://Typesense/./src/Typesense/Key.ts","webpack://Typesense/./src/Typesense/Keys.ts","webpack://Typesense/./src/Typesense/Metrics.ts","webpack://Typesense/./src/Typesense/MultiSearch.ts","webpack://Typesense/./src/Typesense/Operations.ts","webpack://Typesense/./src/Typesense/Override.ts","webpack://Typesense/./src/Typesense/Overrides.ts","webpack://Typesense/./src/Typesense/Preset.ts","webpack://Typesense/./src/Typesense/Presets.ts","webpack://Typesense/./src/Typesense/RequestWithCache.ts","webpack://Typesense/./src/Typesense/SearchClient.ts","webpack://Typesense/./src/Typesense/SearchOnlyCollection.ts","webpack://Typesense/./src/Typesense/SearchOnlyDocuments.ts","webpack://Typesense/./src/Typesense/Stats.ts","webpack://Typesense/./src/Typesense/Stopword.ts","webpack://Typesense/./src/Typesense/Stopwords.ts","webpack://Typesense/./src/Typesense/Synonym.ts","webpack://Typesense/./src/Typesense/Synonyms.ts","webpack://Typesense/./node_modules/loglevel/lib/loglevel.js","webpack://Typesense/ignored|/Users/jason/Programming/jprojs/typesense/typesense-js/src/Typesense|crypto","webpack://Typesense/ignored|/Users/jason/Programming/jprojs/typesense/typesense-js/src/Typesense|http","webpack://Typesense/ignored|/Users/jason/Programming/jprojs/typesense/typesense-js/src/Typesense|https","webpack://Typesense/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/regenerator/index.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://Typesense/./node_modules/axios/lib/adapters/adapters.js","webpack://Typesense/./node_modules/axios/lib/adapters/fetch.js","webpack://Typesense/./node_modules/axios/lib/adapters/xhr.js","webpack://Typesense/./node_modules/axios/lib/axios.js","webpack://Typesense/./node_modules/axios/lib/cancel/CancelToken.js","webpack://Typesense/./node_modules/axios/lib/cancel/CanceledError.js","webpack://Typesense/./node_modules/axios/lib/cancel/isCancel.js","webpack://Typesense/./node_modules/axios/lib/core/Axios.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosError.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://Typesense/./node_modules/axios/lib/core/InterceptorManager.js","webpack://Typesense/./node_modules/axios/lib/core/buildFullPath.js","webpack://Typesense/./node_modules/axios/lib/core/dispatchRequest.js","webpack://Typesense/./node_modules/axios/lib/core/mergeConfig.js","webpack://Typesense/./node_modules/axios/lib/core/settle.js","webpack://Typesense/./node_modules/axios/lib/core/transformData.js","webpack://Typesense/./node_modules/axios/lib/defaults/index.js","webpack://Typesense/./node_modules/axios/lib/defaults/transitional.js","webpack://Typesense/./node_modules/axios/lib/env/data.js","webpack://Typesense/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://Typesense/./node_modules/axios/lib/helpers/bind.js","webpack://Typesense/./node_modules/axios/lib/helpers/buildURL.js","webpack://Typesense/./node_modules/axios/lib/helpers/combineURLs.js","webpack://Typesense/./node_modules/axios/lib/helpers/composeSignals.js","webpack://Typesense/./node_modules/axios/lib/helpers/cookies.js","webpack://Typesense/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://Typesense/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://Typesense/./node_modules/axios/lib/helpers/null.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://Typesense/./node_modules/axios/lib/helpers/progressEventReducer.js","webpack://Typesense/./node_modules/axios/lib/helpers/resolveConfig.js","webpack://Typesense/./node_modules/axios/lib/helpers/speedometer.js","webpack://Typesense/./node_modules/axios/lib/helpers/spread.js","webpack://Typesense/./node_modules/axios/lib/helpers/throttle.js","webpack://Typesense/./node_modules/axios/lib/helpers/toFormData.js","webpack://Typesense/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://Typesense/./node_modules/axios/lib/helpers/trackStream.js","webpack://Typesense/./node_modules/axios/lib/helpers/validator.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/index.js","webpack://Typesense/./node_modules/axios/lib/platform/common/utils.js","webpack://Typesense/./node_modules/axios/lib/platform/index.js","webpack://Typesense/./node_modules/axios/lib/utils.js","webpack://Typesense/webpack/bootstrap","webpack://Typesense/webpack/runtime/compat get default export","webpack://Typesense/webpack/runtime/define property getters","webpack://Typesense/webpack/runtime/hasOwnProperty shorthand","webpack://Typesense/webpack/runtime/make namespace object","webpack://Typesense/./src/Typesense.ts"],"sourcesContent":["import Aliases, { CollectionAliasSchema } from \"./Aliases\";\nimport ApiCall from \"./ApiCall\";\n\nexport default class Alias {\n constructor(private name: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/aliases\";\n\nexport interface CollectionAliasCreateSchema {\n collection_name: string;\n}\n\nexport interface CollectionAliasSchema extends CollectionAliasCreateSchema {\n name: string;\n}\n\nexport interface CollectionAliasesResponseSchema {\n aliases: CollectionAliasSchema[];\n}\n\nexport default class Aliases {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n name: string,\n mapping: CollectionAliasCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(name),\n mapping\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n private endpointPath(aliasName): string {\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(aliasName)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\nimport AnalyticsRule from \"./AnalyticsRule\";\nimport AnalyticsEvents from \"./AnalyticsEvents\";\n\nconst RESOURCEPATH = \"/analytics\";\n\nexport default class Analytics {\n private readonly _analyticsRules: AnalyticsRules;\n private readonly individualAnalyticsRules: Record = {};\n private readonly _analyticsEvents: AnalyticsEvents;\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._analyticsRules = new AnalyticsRules(this.apiCall);\n this._analyticsEvents = new AnalyticsEvents(this.apiCall);\n }\n\n rules(id?: string): AnalyticsRules | AnalyticsRule {\n if (id === undefined) {\n return this._analyticsRules;\n } else {\n if (this.individualAnalyticsRules[id] === undefined) {\n this.individualAnalyticsRules[id] = new AnalyticsRule(id, this.apiCall);\n }\n return this.individualAnalyticsRules[id];\n }\n }\n\n events(): AnalyticsEvents {\n return this._analyticsEvents;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { AnalyticsEventCreateSchema } from \"./AnalyticsEvent\";\n\nconst RESOURCEPATH = \"/analytics/events\";\n\nexport default class AnalyticsEvents {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: AnalyticsEventCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsEvents.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\n\nexport interface AnalyticsRuleCreateSchema {\n type: \"popular_queries\" | \"nohits_queries\" | \"counter\";\n params: {\n source: {\n collections: string[];\n events?: Array<{\n type: string;\n weight: number;\n name: string;\n }>;\n };\n expand_query?: boolean;\n destination: {\n collection: string;\n counter_field?: string;\n };\n limit?: number;\n };\n}\n\nexport interface AnalyticsRuleDeleteSchema {\n name: string;\n}\n\nexport interface AnalyticsRuleSchema extends AnalyticsRuleCreateSchema {\n name: string;\n}\n\nexport default class AnalyticsRule {\n constructor(\n private name: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${AnalyticsRules.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n AnalyticsRuleCreateSchema,\n AnalyticsRuleSchema,\n} from \"./AnalyticsRule\";\n\nexport interface AnalyticsRulesRetrieveSchema {\n rules: AnalyticsRuleSchema[];\n}\n\nconst RESOURCEPATH = \"/analytics/rules\";\n\nexport default class AnalyticsRules {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async upsert(\n name: string,\n params: AnalyticsRuleCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(name),\n params\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsRules.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import axios, { AxiosRequestConfig, AxiosResponse, Method } from \"axios\";\nimport { Logger } from \"loglevel\";\nimport {\n HTTPError,\n ObjectAlreadyExists,\n ObjectNotFound,\n ObjectUnprocessable,\n RequestMalformed,\n RequestUnauthorized,\n ServerError,\n} from \"./Errors\";\nimport TypesenseError from \"./Errors/TypesenseError\";\nimport Configuration, { NodeConfiguration } from \"./Configuration\";\nimport { Agent as HTTPAgent } from \"http\";\nimport { Agent as HTTPSAgent } from \"https\";\n\nconst APIKEYHEADERNAME = \"X-TYPESENSE-API-KEY\";\nconst HEALTHY = true;\nconst UNHEALTHY = false;\n\ninterface Node extends NodeConfiguration {\n isHealthy: boolean;\n index: string | number;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class ApiCall {\n private readonly apiKey: string;\n private readonly nodes: Node[];\n private readonly nearestNode: Node;\n private readonly connectionTimeoutSeconds: number;\n private readonly healthcheckIntervalSeconds: number;\n private readonly retryIntervalSeconds: number;\n private readonly sendApiKeyAsQueryParam?: boolean;\n private readonly numRetriesPerRequest: number;\n private readonly additionalUserHeaders?: Record;\n\n private readonly logger: Logger;\n private currentNodeIndex: number;\n\n constructor(private 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\n this.logger = this.configuration.logger;\n\n this.initializeMetadataForNodes();\n this.currentNodeIndex = -1;\n }\n\n async get(\n endpoint: string,\n queryParameters: any = {},\n {\n abortSignal = null,\n responseType = undefined,\n }: {\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n } = {},\n ): Promise {\n return this.performRequest(\"get\", endpoint, {\n queryParameters,\n abortSignal,\n responseType,\n });\n }\n\n async delete(endpoint: string, queryParameters: any = {}): Promise {\n return this.performRequest(\"delete\", endpoint, { queryParameters });\n }\n\n async post(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n additionalHeaders: any = {},\n ): Promise {\n return this.performRequest(\"post\", endpoint, {\n queryParameters,\n bodyParameters,\n additionalHeaders,\n });\n }\n\n async put(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"put\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async patch(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"patch\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async performRequest(\n requestType: Method,\n endpoint: string,\n {\n queryParameters = null,\n bodyParameters = null,\n additionalHeaders = {},\n abortSignal = null,\n responseType = undefined,\n skipConnectionTimeout = false,\n enableKeepAlive = undefined,\n }: {\n queryParameters?: any;\n bodyParameters?: any;\n additionalHeaders?: any;\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n skipConnectionTimeout?: boolean;\n enableKeepAlive?: boolean | undefined;\n },\n ): Promise {\n this.configuration.validate();\n\n const requestNumber = Date.now();\n let lastException;\n this.logger.debug(\n `Request #${requestNumber}: Performing ${requestType.toUpperCase()} request: ${endpoint}`,\n );\n for (\n let numTries = 1;\n numTries <= this.numRetriesPerRequest + 1;\n numTries++\n ) {\n const node = this.getNextNode(requestNumber);\n this.logger.debug(\n `Request #${requestNumber}: Attempting ${requestType.toUpperCase()} request Try #${numTries} to Node ${\n node.index\n }`,\n );\n\n if (abortSignal && abortSignal.aborted) {\n return Promise.reject(new Error(\"Request aborted by caller.\"));\n }\n\n let abortListener;\n\n try {\n const requestOptions: AxiosRequestConfig = {\n method: requestType,\n url: this.uriFor(endpoint, node),\n headers: Object.assign(\n {},\n this.defaultHeaders(),\n additionalHeaders,\n this.additionalUserHeaders,\n ),\n maxContentLength: Infinity,\n maxBodyLength: Infinity,\n responseType,\n validateStatus: (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 (data, headers) => {\n let transformedData = data;\n if (\n headers !== undefined &&\n typeof data === \"string\" &&\n headers[\"content-type\"] &&\n headers[\"content-type\"].startsWith(\"application/json\")\n ) {\n transformedData = JSON.parse(data);\n }\n return transformedData;\n },\n ],\n };\n\n if (skipConnectionTimeout !== true) {\n requestOptions.timeout = this.connectionTimeoutSeconds * 1000;\n }\n\n if (queryParameters && Object.keys(queryParameters).length !== 0) {\n requestOptions.params = queryParameters;\n }\n\n if (this.sendApiKeyAsQueryParam) {\n requestOptions.params = requestOptions.params || {};\n requestOptions.params[\"x-typesense-api-key\"] = this.apiKey;\n }\n\n if (this.configuration.httpAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpAgent`,\n );\n requestOptions.httpAgent = this.configuration.httpAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling KeepAlive`);\n requestOptions.httpAgent = new HTTPAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.httpsAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpsAgent`,\n );\n requestOptions.httpsAgent = this.configuration.httpsAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling keepAlive`);\n requestOptions.httpsAgent = new HTTPSAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.paramsSerializer) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom paramsSerializer`,\n );\n requestOptions.paramsSerializer = this.configuration.paramsSerializer;\n }\n\n if (\n bodyParameters &&\n ((typeof bodyParameters === \"string\" &&\n bodyParameters.length !== 0) ||\n (typeof bodyParameters === \"object\" &&\n Object.keys(bodyParameters).length !== 0))\n ) {\n requestOptions.data = bodyParameters;\n }\n\n // Translate from user-provided AbortController to the Axios request cancel mechanism.\n if (abortSignal) {\n const cancelToken = axios.CancelToken;\n const source = cancelToken.source();\n abortListener = () => source.cancel();\n abortSignal.addEventListener(\"abort\", abortListener);\n requestOptions.cancelToken = source.token;\n }\n\n const response = await axios(requestOptions);\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.setNodeHealthcheck(node, HEALTHY);\n }\n this.logger.debug(\n `Request #${requestNumber}: Request to Node ${node.index} was made. Response Code was ${response.status}.`,\n );\n\n if (response.status >= 200 && response.status < 300) {\n // If response is 2xx return a resolved promise\n return Promise.resolve(response.data);\n } else if (response.status < 500) {\n // Next, if response is anything but 5xx, don't retry, return a custom error\n return Promise.reject(\n this.customErrorForResponse(response, response.data?.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.customErrorForResponse(response, response.data?.message);\n }\n } catch (error: any) {\n // This block handles retries for HTTPStatus > 500 and network layer issues like connection timeouts\n this.setNodeHealthcheck(node, UNHEALTHY);\n lastException = error;\n this.logger.warn(\n `Request #${requestNumber}: Request to Node ${\n node.index\n } failed due to \"${error.code} ${error.message}${\n error.response == null\n ? \"\"\n : \" - \" + JSON.stringify(error.response?.data)\n }\"`,\n );\n // this.logger.debug(error.stack)\n this.logger.warn(\n `Request #${requestNumber}: Sleeping for ${this.retryIntervalSeconds}s and then retrying request...`,\n );\n await this.timer(this.retryIntervalSeconds);\n } finally {\n if (abortSignal && abortListener) {\n abortSignal.removeEventListener(\"abort\", abortListener);\n }\n }\n }\n this.logger.debug(\n `Request #${requestNumber}: No retries left. Raising last error`,\n );\n return Promise.reject(lastException);\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 getNextNode(requestNumber = 0): Node {\n // Check if nearestNode is set and is healthy, if so return it\n if (this.nearestNode != null) {\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: Node ${\n this.nearestNode.index\n } is ${this.nearestNode.isHealthy === true ? \"Healthy\" : \"Unhealthy\"}`,\n );\n if (\n this.nearestNode.isHealthy === true ||\n this.nodeDueForHealthcheck(this.nearestNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${this.nearestNode.index}`,\n );\n return this.nearestNode;\n }\n this.logger.debug(\n `Request #${requestNumber}: Falling back to individual nodes`,\n );\n }\n\n // Fallback to nodes as usual\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: ${this.nodes\n .map(\n (node) =>\n `Node ${node.index} is ${\n node.isHealthy === true ? \"Healthy\" : \"Unhealthy\"\n }`,\n )\n .join(\" || \")}`,\n );\n let candidateNode: Node = this.nodes[0];\n for (let i = 0; i <= this.nodes.length; i++) {\n this.currentNodeIndex = (this.currentNodeIndex + 1) % this.nodes.length;\n candidateNode = this.nodes[this.currentNodeIndex];\n if (\n candidateNode.isHealthy === true ||\n this.nodeDueForHealthcheck(candidateNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\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(\n `Request #${requestNumber}: No healthy nodes were found. Returning the next node, Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\n\n nodeDueForHealthcheck(node, requestNumber = 0): boolean {\n const isDueForHealthcheck =\n Date.now() - node.lastAccessTimestamp >\n this.healthcheckIntervalSeconds * 1000;\n if (isDueForHealthcheck) {\n this.logger.debug(\n `Request #${requestNumber}: Node ${node.index} has exceeded healtcheckIntervalSeconds of ${this.healthcheckIntervalSeconds}. Adding it back into rotation.`,\n );\n }\n return isDueForHealthcheck;\n }\n\n initializeMetadataForNodes(): void {\n if (this.nearestNode != null) {\n this.nearestNode.index = \"nearestNode\";\n this.setNodeHealthcheck(this.nearestNode, HEALTHY);\n }\n\n this.nodes.forEach((node, i) => {\n node.index = i;\n this.setNodeHealthcheck(node, HEALTHY);\n });\n }\n\n setNodeHealthcheck(node, isHealthy): void {\n node.isHealthy = isHealthy;\n node.lastAccessTimestamp = Date.now();\n }\n\n uriFor(endpoint: string, node): string {\n if (node.url != null) {\n return `${node.url}${endpoint}`;\n }\n return `${node.protocol}://${node.host}:${node.port}${node.path}${endpoint}`;\n }\n\n defaultHeaders(): any {\n const defaultHeaders = {};\n if (!this.sendApiKeyAsQueryParam) {\n defaultHeaders[APIKEYHEADERNAME] = this.apiKey;\n }\n defaultHeaders[\"Content-Type\"] = \"application/json\";\n return defaultHeaders;\n }\n\n async timer(seconds): Promise {\n return new Promise((resolve) => setTimeout(resolve, seconds * 1000));\n }\n\n customErrorForResponse(\n response: AxiosResponse,\n messageFromServer: string,\n ): TypesenseError {\n let errorMessage = `Request failed with HTTP code ${response.status}`;\n if (\n typeof messageFromServer === \"string\" &&\n messageFromServer.trim() !== \"\"\n ) {\n errorMessage += ` | Server said: ${messageFromServer}`;\n }\n\n let error = new TypesenseError(errorMessage);\n\n if (response.status === 400) {\n error = new RequestMalformed(errorMessage);\n } else if (response.status === 401) {\n error = new RequestUnauthorized(errorMessage);\n } else if (response.status === 404) {\n error = new ObjectNotFound(errorMessage);\n } else if (response.status === 409) {\n error = new ObjectAlreadyExists(errorMessage);\n } else if (response.status === 422) {\n error = new ObjectUnprocessable(errorMessage);\n } else if (response.status >= 500 && response.status <= 599) {\n error = new ServerError(errorMessage);\n } else {\n error = new HTTPError(errorMessage);\n }\n\n error.httpStatus = response.status;\n\n return error;\n }\n}\n","/* eslint-disable no-dupe-class-members */\n\nimport Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Collection from \"./Collection\";\nimport Aliases from \"./Aliases\";\nimport Alias from \"./Alias\";\nimport Keys from \"./Keys\";\nimport Key from \"./Key\";\nimport Debug from \"./Debug\";\nimport Metrics from \"./Metrics\";\nimport Stats from \"./Stats\";\nimport Health from \"./Health\";\nimport Operations from \"./Operations\";\nimport MultiSearch from \"./MultiSearch\";\nimport Presets from \"./Presets\";\nimport Preset from \"./Preset\";\nimport Analytics from \"./Analytics\";\nimport Stopwords from \"./Stopwords\";\nimport Stopword from \"./Stopword\";\nimport Conversations from \"./Conversations\";\nimport Conversation from \"./Conversation\";\n\nexport default class Client {\n configuration: Configuration;\n apiCall: ApiCall;\n debug: Debug;\n metrics: Metrics;\n stats: Stats;\n health: Health;\n operations: Operations;\n multiSearch: MultiSearch;\n analytics: Analytics;\n private readonly _collections: Collections;\n private readonly individualCollections: Record;\n private readonly _aliases: Aliases;\n private readonly individualAliases: Record;\n private readonly _keys: Keys;\n private readonly individualKeys: Record;\n private readonly _presets: Presets;\n private readonly individualPresets: Record;\n private readonly _stopwords: Stopwords;\n private readonly individualStopwords: Record;\n private readonly _conversations: Conversations;\n private readonly individualConversations: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? false;\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.debug = new Debug(this.apiCall);\n this.metrics = new Metrics(this.apiCall);\n this.stats = new Stats(this.apiCall);\n this.health = new Health(this.apiCall);\n this.operations = new Operations(this.apiCall);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration);\n this._collections = new Collections(this.apiCall);\n this.individualCollections = {};\n this._aliases = new Aliases(this.apiCall);\n this.individualAliases = {};\n this._keys = new Keys(this.apiCall);\n this.individualKeys = {};\n this._presets = new Presets(this.apiCall);\n this.individualPresets = {};\n this._stopwords = new Stopwords(this.apiCall);\n this.individualStopwords = {};\n this.analytics = new Analytics(this.apiCall);\n this._conversations = new Conversations(this.apiCall);\n this.individualConversations = {};\n }\n\n collections(): Collections;\n collections = object>(\n collectionName: string,\n ): Collection;\n collections(collectionName?: string): Collections | Collection {\n if (collectionName === undefined) {\n return this._collections;\n } else {\n if (this.individualCollections[collectionName] === undefined) {\n this.individualCollections[collectionName] = new Collection(\n collectionName,\n this.apiCall,\n this.configuration,\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n\n aliases(): Aliases;\n aliases(aliasName: string): Alias;\n aliases(aliasName?: string): Aliases | Alias {\n if (aliasName === undefined) {\n return this._aliases;\n } else {\n if (this.individualAliases[aliasName] === undefined) {\n this.individualAliases[aliasName] = new Alias(aliasName, this.apiCall);\n }\n return this.individualAliases[aliasName];\n }\n }\n\n keys(): Keys;\n keys(id: number): Key;\n keys(id?: number): Keys | Key {\n if (id === undefined) {\n return this._keys;\n } else {\n if (this.individualKeys[id] === undefined) {\n this.individualKeys[id] = new Key(id, this.apiCall);\n }\n return this.individualKeys[id];\n }\n }\n\n presets(): Presets;\n presets(id: string): Preset;\n presets(id?: string): Presets | Preset {\n if (id === undefined) {\n return this._presets;\n } else {\n if (this.individualPresets[id] === undefined) {\n this.individualPresets[id] = new Preset(id, this.apiCall);\n }\n return this.individualPresets[id];\n }\n }\n\n stopwords(): Stopwords;\n stopwords(id: string): Stopword;\n stopwords(id?: string): Stopwords | Stopword {\n if (id === undefined) {\n return this._stopwords;\n } else {\n if (this.individualStopwords[id] === undefined) {\n this.individualStopwords[id] = new Stopword(id, this.apiCall);\n }\n return this.individualStopwords[id];\n }\n }\n\n conversations(): Conversations;\n conversations(id: string): Conversation;\n conversations(id?: string): Conversations | Conversation {\n if (id === undefined) {\n return this._conversations;\n } else {\n if (this.individualConversations[id] === undefined) {\n this.individualConversations[id] = new Conversation(id, this.apiCall);\n }\n return this.individualConversations[id];\n }\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections, { CollectionCreateSchema } from \"./Collections\";\nimport Documents, { DocumentSchema } from \"./Documents\";\nimport { ObjectNotFound } from \"./Errors\";\nimport Overrides from \"./Overrides\";\nimport Override from \"./Override\";\nimport Synonyms from \"./Synonyms\";\nimport Synonym from \"./Synonym\";\nimport { Document } from \"./Document\";\n\nexport type FieldType =\n | \"string\"\n | \"int32\"\n | \"int64\"\n | \"float\"\n | \"bool\"\n | \"geopoint\"\n | \"geopoint[]\"\n | \"string[]\"\n | \"int32[]\"\n | \"int64[]\"\n | \"float[]\"\n | \"bool[]\"\n | \"object\"\n | \"object[]\"\n | \"auto\"\n | \"string*\"\n | \"image\";\n\nexport interface CollectionFieldSchema {\n name: string;\n type: FieldType;\n optional?: boolean;\n facet?: boolean;\n index?: boolean;\n sort?: boolean;\n locale?: string;\n infix?: boolean;\n stem?: boolean;\n num_dim?: number;\n store?: boolean;\n [t: string]: unknown;\n}\n\nexport interface CollectionSchema extends CollectionCreateSchema {\n created_at: number;\n num_documents: number;\n num_memory_shards: number;\n}\n\nexport interface CollectionDropFieldSchema {\n name: string;\n drop: true;\n}\n\nexport interface CollectionUpdateSchema\n extends Partial> {\n fields?: (CollectionFieldSchema | CollectionDropFieldSchema)[];\n}\n\nexport default class Collection {\n private readonly _documents: Documents;\n private individualDocuments: Record> = {};\n private readonly _overrides: Overrides;\n private individualOverrides: Record = {};\n private readonly _synonyms: Synonyms;\n private individualSynonyms: Record = {};\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any,\n ) {\n this.name = name;\n this.apiCall = apiCall;\n this.configuration = configuration;\n\n this._documents = new Documents(\n this.name,\n this.apiCall,\n this.configuration,\n );\n this._overrides = new Overrides(this.name, this.apiCall);\n this._synonyms = new Synonyms(this.name, this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(schema: CollectionUpdateSchema): Promise {\n return this.apiCall.patch(this.endpointPath(), schema);\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n async exists(): Promise {\n try {\n await this.retrieve();\n return true;\n } catch (e) {\n if (e instanceof ObjectNotFound) return false;\n throw e;\n }\n }\n\n documents(): Documents;\n documents(documentId: string): Document;\n documents(documentId?: string): Document | Documents {\n if (!documentId) {\n return this._documents;\n } else {\n if (this.individualDocuments[documentId] === undefined) {\n this.individualDocuments[documentId] = new Document(\n this.name,\n documentId,\n this.apiCall,\n );\n }\n return this.individualDocuments[documentId];\n }\n }\n\n overrides(): Overrides;\n overrides(overrideId: string): Override;\n overrides(overrideId?: string): Overrides | Override {\n if (overrideId === undefined) {\n return this._overrides;\n } else {\n if (this.individualOverrides[overrideId] === undefined) {\n this.individualOverrides[overrideId] = new Override(\n this.name,\n overrideId,\n this.apiCall,\n );\n }\n return this.individualOverrides[overrideId];\n }\n }\n\n synonyms(): Synonyms;\n synonyms(synonymId: string): Synonym;\n synonyms(synonymId?: string): Synonyms | Synonym {\n if (synonymId === undefined) {\n return this._synonyms;\n } else {\n if (this.individualSynonyms[synonymId] === undefined) {\n this.individualSynonyms[synonymId] = new Synonym(\n this.name,\n synonymId,\n this.apiCall,\n );\n }\n return this.individualSynonyms[synonymId];\n }\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { CollectionFieldSchema, CollectionSchema } from \"./Collection\";\n\nexport interface CollectionCreateSchema {\n name: string;\n default_sorting_field?: string;\n fields?: CollectionFieldSchema[];\n symbols_to_index?: string[];\n token_separators?: string[];\n enable_nested_fields?: boolean;\n metadata?: object;\n voice_query_model?: {\n model_name?: string;\n };\n}\n\nexport interface CollectionCreateOptions {\n src_name?: string;\n}\n\nexport interface CollectionsRetrieveOptions {\n exclude_fields?: string;\n}\n\nconst RESOURCEPATH = \"/collections\";\n\nexport default class Collections {\n constructor(private apiCall: ApiCall) {}\n\n async create(\n schema: CollectionCreateSchema,\n options: CollectionCreateOptions = {},\n ): Promise {\n return this.apiCall.post(RESOURCEPATH, schema, options);\n }\n\n async retrieve(\n options: CollectionsRetrieveOptions = {},\n ): Promise {\n return this.apiCall.get(RESOURCEPATH, options);\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import * as logger from \"loglevel\";\nimport { Logger, LogLevelDesc } from \"loglevel\";\nimport { MissingConfigurationError } from \"./Errors\";\nimport type { Agent as HTTPAgent } from \"http\";\nimport type { Agent as HTTPSAgent } from \"https\";\n\nexport interface NodeConfiguration {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n url?: string;\n}\n\nexport interface NodeConfigurationWithHostname {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n}\n\nexport interface NodeConfigurationWithUrl {\n url: string;\n}\n\nexport interface ConfigurationOptions {\n apiKey: string;\n nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n randomizeNodes?: boolean;\n /**\n * @deprecated\n * masterNode is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n masterNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n /**\n * @deprecated\n * readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n readReplicaNodes?:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n connectionTimeoutSeconds?: number;\n timeoutSeconds?: number;\n healthcheckIntervalSeconds?: number;\n numRetries?: number;\n retryIntervalSeconds?: number;\n sendApiKeyAsQueryParam?: boolean | undefined;\n useServerSideSearchCache?: boolean;\n cacheSearchResultsForSeconds?: number;\n additionalHeaders?: Record;\n\n logLevel?: LogLevelDesc;\n logger?: Logger;\n\n /**\n * Set a custom HTTP Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPAgent } = require(\"http\");\n * ...\n * httpAgent: new HTTPAgent({ keepAlive: true }),\n * @type {HTTPAgent}\n */\n httpAgent?: HTTPAgent;\n\n /**\n * Set a custom HTTPS Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPSAgent } = require(\"https\");\n * ...\n * httpsAgent: new HTTPSAgent({ keepAlive: true }),\n * @type {HTTPSAgent}\n */\n httpsAgent?: HTTPSAgent;\n\n /**\n * Set a custom paramsSerializer\n *\n * See axios documentation for more information on how to use this parameter: https://axios-http.com/docs/req_config\n * This is helpful for handling React Native issues like this: https://github.com/axios/axios/issues/6102#issuecomment-2085301397\n * @type {any}\n */\n paramsSerializer?: any;\n}\n\nexport default class Configuration {\n readonly nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n readonly nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n readonly connectionTimeoutSeconds: number;\n readonly healthcheckIntervalSeconds: number;\n readonly numRetries: number;\n readonly retryIntervalSeconds: number;\n readonly apiKey: string;\n readonly sendApiKeyAsQueryParam?: boolean;\n readonly cacheSearchResultsForSeconds: number;\n readonly useServerSideSearchCache: boolean;\n readonly logger: Logger;\n readonly logLevel: LogLevelDesc;\n readonly additionalHeaders?: Record;\n readonly httpAgent?: HTTPAgent;\n readonly httpsAgent?: HTTPSAgent;\n readonly paramsSerializer?: any;\n\n constructor(options: ConfigurationOptions) {\n this.nodes = options.nodes || [];\n this.nodes = this.nodes\n .map((node) => this.setDefaultPathInNode(node))\n .map((node) => this.setDefaultPortInNode(node))\n .map((node) => ({ ...node })) as NodeConfiguration[]; // Make a deep copy\n\n if (options.randomizeNodes == null) {\n options.randomizeNodes = true;\n }\n\n if (options.randomizeNodes === true) {\n this.shuffleArray(this.nodes);\n }\n\n this.nearestNode = options.nearestNode;\n this.nearestNode = this.setDefaultPathInNode(this.nearestNode);\n this.nearestNode = this.setDefaultPortInNode(this.nearestNode);\n\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\n this.apiKey = options.apiKey;\n this.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam; // We will set a default for this in Client and SearchClient\n\n this.cacheSearchResultsForSeconds =\n options.cacheSearchResultsForSeconds || 0; // Disable client-side cache by default\n this.useServerSideSearchCache = options.useServerSideSearchCache || false;\n\n this.logger = options.logger || logger;\n this.logLevel = options.logLevel || \"warn\";\n this.logger.setLevel(this.logLevel);\n\n this.additionalHeaders = options.additionalHeaders;\n\n this.httpAgent = options.httpAgent;\n this.httpsAgent = options.httpsAgent;\n\n this.paramsSerializer = options.paramsSerializer;\n\n this.showDeprecationWarnings(options);\n this.validate();\n }\n\n validate(): boolean {\n if (this.nodes == null || this.nodes.length === 0 || this.validateNodes()) {\n throw new MissingConfigurationError(\n \"Ensure that nodes[].protocol, nodes[].host and nodes[].port are set\",\n );\n }\n\n if (\n this.nearestNode != null &&\n this.isNodeMissingAnyParameters(this.nearestNode)\n ) {\n throw new MissingConfigurationError(\n \"Ensure that nearestNodes.protocol, nearestNodes.host and nearestNodes.port are set\",\n );\n }\n\n if (this.apiKey == null) {\n throw new MissingConfigurationError(\"Ensure that apiKey is set\");\n }\n\n return true;\n }\n\n private validateNodes(): boolean {\n return this.nodes.some((node) => {\n return this.isNodeMissingAnyParameters(node);\n });\n }\n\n private isNodeMissingAnyParameters(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl,\n ): boolean {\n return (\n ![\"protocol\", \"host\", \"port\", \"path\"].every((key) => {\n return node.hasOwnProperty(key);\n }) && node[\"url\"] == null\n );\n }\n\n private setDefaultPathInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (node != null && !node.hasOwnProperty(\"path\")) {\n node[\"path\"] = \"\";\n }\n return node;\n }\n\n private setDefaultPortInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (\n node != null &&\n !node.hasOwnProperty(\"port\") &&\n node.hasOwnProperty(\"protocol\")\n ) {\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\n private showDeprecationWarnings(options: ConfigurationOptions): void {\n if (options.timeoutSeconds) {\n this.logger.warn(\n \"Deprecation warning: timeoutSeconds is now renamed to connectionTimeoutSeconds\",\n );\n }\n if (options.masterNode) {\n this.logger.warn(\n \"Deprecation warning: masterNode is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n if (options.readReplicaNodes) {\n this.logger.warn(\n \"Deprecation warning: readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n }\n\n private shuffleArray(array) {\n for (let i = array.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [array[i], array[j]] = [array[j], array[i]];\n }\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Conversations from \"./Conversations\";\n\nexport interface ConversationDeleteSchema {\n id: number;\n}\n\nexport interface ConversationUpdateSchema {\n ttl: number;\n}\n\nexport interface ConversationSchema {\n id: number;\n conversation: object[];\n last_updated: number;\n ttl: number;\n}\n\nexport default class Conversation {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(\n params: ConversationUpdateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Conversations.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\n\nexport interface ConversationModelCreateSchema {\n id?: string;\n model_name: string;\n api_key?: string;\n system_prompt?: string;\n max_bytes: number;\n history_collection?: string;\n}\n\nexport interface ConversationModelDeleteSchema {\n id: string;\n}\n\nexport interface ConversationModelSchema extends ConversationModelCreateSchema {\n id: string;\n}\n\nexport default class ConversationModel {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async update(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(\n this.endpointPath(),\n );\n }\n\n private endpointPath(): string {\n return `${ConversationModels.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n ConversationModelCreateSchema,\n ConversationModelSchema,\n} from \"./ConversationModel\";\n\nconst RESOURCEPATH = \"/conversations/models\";\n\nexport default class ConversationModels {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(\n this.endpointPath(),\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${ConversationModels.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\nimport ConversationModel from \"./ConversationModel\";\nimport { ConversationSchema } from \"./Conversation\";\n\nconst RESOURCEPATH = \"/conversations\";\n\nexport interface ConversationsRetrieveSchema {\n conversations: ConversationSchema[];\n}\n\nexport default class Conversations {\n private readonly _conversationsModels: ConversationModels;\n private readonly individualConversationModels: Record<\n string,\n ConversationModel\n > = {};\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._conversationsModels = new ConversationModels(this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n models(): ConversationModels;\n models(id: string): ConversationModel;\n models(id?: string): ConversationModels | ConversationModel {\n if (id === undefined) {\n return this._conversationsModels;\n } else {\n if (this.individualConversationModels[id] === undefined) {\n this.individualConversationModels[id] = new ConversationModel(\n id,\n this.apiCall,\n );\n }\n return this.individualConversationModels[id];\n }\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/debug\";\n\nexport interface DebugResponseSchema {\n state: number;\n version: string;\n}\n\nexport default class Debug {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Documents, {\n DeleteQuery,\n DocumentSchema,\n DocumentWriteParameters,\n} from \"./Documents\";\n\nexport class Document {\n constructor(\n private collectionName: string,\n private documentId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(options?: DeleteQuery): Promise {\n return this.apiCall.delete(this.endpointPath(), options);\n }\n\n async update(\n partialDocument: Partial,\n options: DocumentWriteParameters = {}\n ): Promise {\n return this.apiCall.patch(this.endpointPath(), partialDocument, options);\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Documents.RESOURCEPATH}/${encodeURIComponent(this.documentId)}`;\n }\n}\n","import type { ReadStream } from \"fs\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport { ImportError } from \"./Errors\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\n// Todo: use generic to extract filter_by values\nexport interface DeleteQuery {\n filter_by?: string;\n batch_size?: number;\n ignore_not_found?: boolean;\n}\n\nexport interface DeleteResponse {\n num_deleted: number;\n}\n\ninterface ImportResponseSuccess {\n success: true;\n}\n\nexport interface ImportResponseFail {\n success: false;\n error: string;\n document: DocumentSchema;\n code: number;\n}\n\nexport type ImportResponse = ImportResponseSuccess | ImportResponseFail;\n\nexport type DocumentSchema = Record;\n\nexport interface SearchParamsWithPreset extends Partial {\n preset: string;\n}\n\ntype DropTokensMode =\n | \"right_to_left\"\n | \"left_to_right\"\n | \"both_sides:3\";\n\ntype OperationMode = \"off\" | \"always\" | \"fallback\";\nexport interface SearchParams {\n // From https://typesense.org/docs/latest/api/documents.html#arguments\n q?: string;\n query_by?: string | string[];\n query_by_weights?: string | number[];\n prefix?: string | boolean | boolean[]; // default: true\n filter_by?: string;\n enable_lazy_filter?: boolean; // default: false\n sort_by?: string | string[]; // default: text match desc\n facet_by?: string | string[];\n max_facet_values?: number;\n facet_sample_threshold?: number;\n facet_sample_percent?: number;\n facet_query?: string;\n facet_query_num_typos?: number;\n facet_return_parent?: string;\n page?: number; // default: 1\n per_page?: number; // default: 10, max 250\n group_by?: string | string[];\n group_limit?: number; // default:\n group_missing_values?: boolean;\n include_fields?: string | string[];\n exclude_fields?: string | string[];\n highlight_fields?: string | string[]; // default: all queried fields\n highlight_full_fields?: string | string[]; // default: all fields\n highlight_affix_num_tokens?: number; // default: 4\n highlight_start_tag?: string; // default: \n highlight_end_tag?: string; // default: \n enable_highlight_v1?: boolean;\n snippet_threshold?: number; // default: 30\n num_typos?: string | number | number[]; // default: 2\n min_len_1typo?: number;\n min_len_2typo?: number;\n split_join_tokens?: OperationMode;\n exhaustive_search?: boolean;\n drop_tokens_threshold?: number; // default: 10\n drop_tokens_mode?: DropTokensMode;\n typo_tokens_threshold?: number; // default: 100\n pinned_hits?: string | string[];\n hidden_hits?: string | string[];\n limit_hits?: number; // default: no limit\n pre_segmented_query?: boolean;\n enable_overrides?: boolean;\n prioritize_exact_match?: boolean; // default: true\n prioritize_token_position?: boolean;\n prioritize_num_matching_fields?: boolean;\n search_cutoff_ms?: number;\n use_cache?: boolean;\n max_candidates?: number;\n infix?: OperationMode | OperationMode[];\n preset?: string;\n text_match_type?: \"max_score\" | \"max_weight\";\n vector_query?: string;\n \"x-typesense-api-key\"?: string;\n \"x-typesense-user-id\"?: string;\n offset?: number;\n limit?: number;\n stopwords?: string;\n conversation?: boolean;\n conversation_model_id?: string;\n conversation_id?: string;\n voice_query?: string;\n}\n\ntype SearchResponseHighlightObject = {\n matched_tokens?: string[];\n snippet?: string;\n value?: string;\n};\n\nexport type SearchResponseHighlight = T extends string | number\n ? SearchResponseHighlightObject\n : {\n [TAttribute in keyof T]?: SearchResponseHighlight;\n };\n\nexport interface SearchResponseHit {\n curated?: true;\n highlights?: [\n {\n field: keyof T;\n snippet?: string;\n value?: string;\n snippets?: string[];\n indices?: number[];\n matched_tokens: string[][] | string[];\n },\n ];\n highlight: SearchResponseHighlight;\n document: T;\n text_match: number;\n text_match_info?: {\n best_field_score: string; // To prevent scores from being truncated by JSON spec\n best_field_weight: number;\n fields_matched: number;\n score: string; // To prevent scores from being truncated by JSON spec\n tokens_matched: number;\n };\n}\n\nexport interface SearchResponseFacetCountSchema {\n counts: {\n count: number;\n highlighted: string;\n value: string;\n }[];\n field_name: keyof T;\n stats: {\n avg?: number;\n max?: number;\n min?: number;\n sum?: number;\n };\n}\n\nexport interface SearchResponseRequestParams {\n collection_name?: string;\n q?: string;\n page?: number;\n per_page?: number;\n first_q?: string;\n voice_query?: {\n transcribed_query?: string;\n };\n}\n\n// Todo: we could infer whether this is a grouped response by adding the search params as a generic\nexport interface SearchResponse {\n facet_counts?: SearchResponseFacetCountSchema[];\n found: number;\n found_docs?: number;\n out_of: number;\n page: number;\n request_params: SearchResponseRequestParams;\n search_time_ms: number;\n search_cutoff?: boolean;\n hits?: SearchResponseHit[];\n grouped_hits?: {\n group_key: string[];\n hits: SearchResponseHit[];\n found?: number;\n }[];\n conversation?: {\n answer: string;\n conversation_history: {\n conversation: object[];\n id: string;\n last_updated: number;\n ttl: number;\n };\n conversation_id: string;\n query: string;\n };\n error?: string;\n code?: number;\n}\n\nexport interface DocumentWriteParameters {\n dirty_values?: \"coerce_or_reject\" | \"coerce_or_drop\" | \"drop\" | \"reject\";\n action?: \"create\" | \"update\" | \"upsert\" | \"emplace\";\n}\n\nexport interface UpdateByFilterParameters {\n filter_by?: string;\n}\n\nexport interface UpdateByFilterResponse {\n num_updated: number;\n}\n\nexport interface DocumentImportParameters extends DocumentWriteParameters {\n batch_size?: number;\n return_doc?: boolean;\n return_id?: boolean;\n}\n\nexport interface DocumentsExportParameters {\n filter_by?: string;\n include_fields?: string;\n exclude_fields?: string;\n}\n\nexport interface SearchableDocuments {\n search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n options: SearchOptions,\n ): Promise>;\n clearCache(): void;\n}\n\nexport interface WriteableDocuments {\n create(document: T, options: DocumentWriteParameters): Promise;\n upsert(document: T, options: DocumentWriteParameters): Promise;\n update(document: T, options: DocumentWriteParameters): Promise;\n delete(query: DeleteQuery): Promise;\n import(\n documents: T[] | string,\n options: DocumentWriteParameters,\n ): Promise;\n export(options: DocumentsExportParameters): Promise;\n}\n\nexport interface SearchOptions {\n cacheSearchResultsForSeconds?: number;\n abortSignal?: AbortSignal | null;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class Documents\n extends SearchOnlyDocuments\n implements WriteableDocuments\n{\n constructor(\n collectionName: string,\n apiCall: ApiCall,\n configuration: Configuration,\n ) {\n super(collectionName, apiCall, configuration);\n }\n\n async create(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(this.endpointPath(), document, options);\n }\n\n async upsert(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"upsert\" }),\n );\n }\n\n async update(\n document: T,\n options: UpdateByFilterParameters,\n ): Promise;\n async update(document: T, options: DocumentWriteParameters): Promise;\n async update(\n document: T,\n options: DocumentWriteParameters | UpdateByFilterParameters = {},\n ): Promise {\n if (!document) throw new Error(\"No document provided\");\n\n if (options[\"filter_by\"] != null) {\n return this.apiCall.patch(\n this.endpointPath(),\n document,\n Object.assign({}, options),\n );\n } else {\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"update\" }),\n );\n }\n }\n\n async delete(\n query: DeleteQuery = {} as DeleteQuery,\n ): Promise {\n return this.apiCall.delete(this.endpointPath(), query);\n }\n\n async createMany(documents: T[], options: DocumentImportParameters = {}) {\n this.configuration.logger.warn(\n \"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 );\n return this.import(documents, options);\n }\n\n /**\n * Import a set of documents in a batch.\n * @param {string|Array} documents - Can be a JSONL string of documents or an array of document objects.\n * @param options\n * @return {string|Array} Returns a JSONL string if the input was a JSONL string, otherwise it returns an array of results.\n */\n async import(\n documents: string,\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[],\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[] | string,\n options: DocumentImportParameters = {},\n ): Promise {\n let documentsInJSONLFormat;\n if (Array.isArray(documents)) {\n try {\n documentsInJSONLFormat = documents\n .map((document) => JSON.stringify(document))\n .join(\"\\n\");\n } catch (error: any) {\n // if rangeerror, throw custom error message\n if (\n error instanceof RangeError &&\n error.message.includes(\"Too many properties to enumerate\")\n ) {\n throw new Error(`${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\n // else, throw the non-range error anyways\n throw new Error(error);\n }\n } else {\n documentsInJSONLFormat = documents;\n }\n\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n if (Array.isArray(documents)) {\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter(\n (r) => r.success === false,\n );\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n } else {\n return resultsInJSONLFormat as string;\n }\n }\n /**\n * Imports documents from a NodeJS readable stream of JSONL.\n */\n async importStream(\n readableStream: ReadStream,\n options: DocumentImportParameters = {},\n ): Promise {\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\n queryParameters: options,\n bodyParameters: readableStream,\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter((r) => r.success === false);\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n }\n\n /**\n * Returns a JSONL string for all the documents in this collection\n */\n async export(options: DocumentsExportParameters = {}): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options);\n }\n\n /**\n * Returns a NodeJS readable stream of JSONL for all the documents in this collection.\n */\n async exportStream(\n options: DocumentsExportParameters = {},\n ): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options, {\n responseType: \"stream\",\n });\n }\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class HTTPError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\nimport { ImportResponse } from \"../Documents\";\n\nexport default class ImportError extends TypesenseError {\n importResults: ImportResponse[];\n constructor(message: string, importResults: ImportResponse[]) {\n super(message);\n this.importResults = importResults;\n }\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class MissingConfigurationError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectAlreadyExists extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectNotFound extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectUnprocessable extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestMalformed extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestUnauthorized extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ServerError extends TypesenseError {}\n","export default class TypesenseError extends Error {\n httpStatus?: number;\n\n // Source: https://stackoverflow.com/a/58417721/123545\n constructor(message?: string) {\n super(message);\n this.name = new.target.name;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n","import HTTPError from \"./HTTPError\";\nimport MissingConfigurationError from \"./MissingConfigurationError\";\nimport ObjectAlreadyExists from \"./ObjectAlreadyExists\";\nimport ObjectNotFound from \"./ObjectNotFound\";\nimport ObjectUnprocessable from \"./ObjectUnprocessable\";\nimport RequestMalformed from \"./RequestMalformed\";\nimport RequestUnauthorized from \"./RequestUnauthorized\";\nimport ServerError from \"./ServerError\";\nimport ImportError from \"./ImportError\";\nimport TypesenseError from \"./TypesenseError\";\n\nexport {\n HTTPError,\n MissingConfigurationError,\n ObjectAlreadyExists,\n ObjectNotFound,\n ObjectUnprocessable,\n RequestMalformed,\n RequestUnauthorized,\n ServerError,\n TypesenseError,\n ImportError,\n};\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/health\";\n\nexport interface HealthResponse {\n ok: boolean;\n}\n\nexport default class Health {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Keys from \"./Keys\";\n\nexport interface KeyCreateSchema {\n actions: string[];\n collections: string[];\n description?: string;\n value?: string;\n value_prefix?: string;\n expires_at?: number;\n}\n\nexport interface KeyDeleteSchema {\n id: number;\n}\n\nexport interface KeySchema extends KeyCreateSchema {\n id: number;\n}\n\nexport default class Key {\n constructor(private id: number, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Keys.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import { createHmac } from \"crypto\";\nimport ApiCall from \"./ApiCall\";\nimport { KeyCreateSchema, KeySchema } from \"./Key\";\nimport { SearchParams } from \"./Documents\";\n\nconst RESOURCEPATH = \"/keys\";\n\nexport interface KeysRetrieveSchema {\n keys: KeySchema[];\n}\n\nexport interface GenerateScopedSearchKeyParams extends Partial {\n expires_at?: number;\n cache_ttl?: number;\n limit_multi_searches?: number;\n}\n\nexport default class Keys {\n constructor(private apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(params: KeyCreateSchema): Promise {\n return this.apiCall.post(Keys.RESOURCEPATH, params);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n generateScopedSearchKey(\n searchKey: string,\n parameters: GenerateScopedSearchKeyParams\n ): string {\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 const paramsJSON = JSON.stringify(parameters);\n const digest = Buffer.from(\n createHmac(\"sha256\", searchKey).update(paramsJSON).digest(\"base64\")\n );\n const keyPrefix = searchKey.substr(0, 4);\n const rawScopedKey = `${digest}${keyPrefix}${paramsJSON}`;\n\n return Buffer.from(rawScopedKey).toString(\"base64\");\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/metrics.json\";\n\nexport interface MetricsResponse {\n [key: `system_cpu${number}_active_percentage`]: string;\n system_cpu_active_percentage: string;\n system_disk_total_bytes: string;\n system_disk_used_bytes: string;\n system_memory_total_bytes: string;\n system_memory_total_swap_bytes?: string;\n system_memory_used_bytes: string;\n system_memory_used_swap_bytes?: string;\n system_network_received_bytes: string;\n system_network_sent_bytes: string;\n typesense_memory_active_bytes: string;\n typesense_memory_allocated_bytes: string;\n typesense_memory_fragmentation_ratio: string;\n typesense_memory_mapped_bytes: string;\n typesense_memory_metadata_bytes: string;\n typesense_memory_resident_bytes: string;\n typesense_memory_retained_bytes: string;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport RequestWithCache from \"./RequestWithCache\";\nimport {\n DocumentSchema,\n SearchParams,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\n\nconst RESOURCEPATH = \"/multi_search\";\n\nexport interface MultiSearchRequestSchema extends SearchParams {\n collection?: string;\n \"x-typesense-api-key\"?: string;\n}\n\nexport interface MultiSearchRequestWithPresetSchema\n extends SearchParamsWithPreset {\n collection?: string;\n \"x-typesense-api-key\"?: string;\n}\n\nexport interface MultiSearchRequestsSchema {\n searches: (MultiSearchRequestSchema | MultiSearchRequestWithPresetSchema)[];\n}\n\nexport interface MultiSearchResponse {\n results: { [Index in keyof T]: SearchResponse } & {\n length: T[\"length\"];\n };\n}\n\nexport default class MultiSearch {\n private requestWithCache: RequestWithCache;\n\n constructor(\n private apiCall: ApiCall,\n private configuration: Configuration,\n private useTextContentType: boolean = false\n ) {\n this.requestWithCache = new RequestWithCache();\n }\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async perform(\n searchRequests: MultiSearchRequestsSchema,\n commonParams: Partial = {},\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n }: { cacheSearchResultsForSeconds?: number } = {}\n ): Promise> {\n const additionalHeaders = {};\n if (this.useTextContentType) {\n additionalHeaders[\"content-type\"] = \"text/plain\";\n }\n\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n const queryParams = Object.assign({}, commonParams, additionalQueryParams);\n\n return this.requestWithCache.perform(\n this.apiCall,\n this.apiCall.post,\n [RESOURCEPATH, searchRequests, queryParams, additionalHeaders],\n { cacheResponseForSeconds: cacheSearchResultsForSeconds }\n ) as Promise>;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/operations\";\n\nexport default class Operations {\n constructor(private apiCall: ApiCall) {}\n\n async perform(\n operationName: \"vote\" | \"snapshot\" | \"cache/clear\" | string,\n queryParameters: Record = {}\n ): Promise {\n return this.apiCall.post(\n `${RESOURCEPATH}/${operationName}`,\n {},\n queryParameters\n );\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Overrides, { OverrideCreateSchema } from \"./Overrides\";\n\nexport interface OverrideSchema extends OverrideCreateSchema {\n id: string;\n}\n\nexport interface OverrideDeleteSchema {\n id: string;\n}\n\nexport default class Override {\n constructor(\n private collectionName: string,\n private overrideId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Overrides.RESOURCEPATH}/${encodeURIComponent(this.overrideId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { OverrideSchema } from \"./Override\";\n\nconst RESOURCEPATH = \"/overrides\";\n\nexport interface OverrideRuleQuerySchema {\n query?: string;\n match?: \"exact\" | \"contains\";\n}\n\nexport interface OverrideRuleFilterSchema {\n filter_by?: string;\n}\n\nexport interface OverrideRuleTagsSchema {\n tags?: string[];\n}\n\nexport interface OverrideCreateSchema {\n rule: OverrideRuleQuerySchema &\n OverrideRuleFilterSchema &\n OverrideRuleTagsSchema;\n filter_by?: string;\n sort_by?: string;\n remove_matched_tokens?: boolean;\n replace_query?: string;\n includes?: Array<{\n id: string;\n position: number;\n }>;\n excludes?: Array<{ id: string }>;\n filter_curated_hits?: boolean;\n effective_from_ts?: number;\n effective_to_ts?: number;\n stop_processing?: boolean;\n metadata?: object;\n}\n\nexport interface OverridesRetrieveSchema {\n overrides: OverrideSchema[];\n}\n\nexport default class Overrides {\n constructor(\n private collectionName: string,\n private apiCall: ApiCall,\n ) {}\n\n async upsert(\n overrideId: string,\n params: OverrideCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(overrideId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${\n Overrides.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Presets, { PresetCreateSchema } from \"./Presets\";\n\nexport interface PresetSchema extends PresetCreateSchema {\n name: string;\n}\n\nexport interface PresetDeleteSchema {\n name: string;\n}\n\nexport default class Preset {\n constructor(private presetId: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Presets.RESOURCEPATH}/${encodeURIComponent(this.presetId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { PresetSchema } from \"./Preset\";\nimport { SearchParams } from \"./Documents\";\nimport { MultiSearchRequestsSchema } from \"./MultiSearch\";\n\nconst RESOURCEPATH = \"/presets\";\n\nexport interface PresetCreateSchema {\n value: SearchParams | MultiSearchRequestsSchema;\n}\n\nexport interface PresetsRetrieveSchema {\n presets: PresetSchema[];\n}\n\nexport default class Presets {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n presetId: string,\n params: PresetCreateSchema\n ): Promise {\n return this.apiCall.put(this.endpointPath(presetId), params);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Presets.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","const defaultCacheResponseForSeconds = 2 * 60;\nconst defaultMaxSize = 100;\n\nexport default class RequestWithCache {\n private responseCache: Map = new Map();\n private responsePromiseCache: Map = new Map();\n\n clearCache() {\n this.responseCache = new Map();\n this.responsePromiseCache = new Map();\n }\n\n // Todo: should probably be passed a callback instead, or an apiCall instance. Types are messy this way\n async perform(\n requestContext: any,\n requestFunction: (...params: any) => unknown,\n requestFunctionArguments: any[],\n cacheOptions: CacheOptions\n ): Promise {\n const {\n cacheResponseForSeconds = defaultCacheResponseForSeconds,\n maxSize = defaultMaxSize,\n } = cacheOptions;\n const isCacheDisabled = cacheResponseForSeconds <= 0 || maxSize <= 0;\n\n if (isCacheDisabled) {\n return requestFunction.call(requestContext, ...requestFunctionArguments);\n }\n\n const requestFunctionArgumentsJSON = JSON.stringify(\n requestFunctionArguments\n );\n const cacheEntry = this.responseCache.get(requestFunctionArgumentsJSON);\n const now = Date.now();\n\n if (cacheEntry) {\n const isEntryValid =\n now - cacheEntry.requestTimestamp < cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n this.responseCache.set(requestFunctionArgumentsJSON, cacheEntry);\n return Promise.resolve(cacheEntry.response);\n } else {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n\n const cachePromiseEntry = this.responsePromiseCache.get(\n requestFunctionArgumentsJSON\n );\n\n if (cachePromiseEntry) {\n const isEntryValid =\n now - cachePromiseEntry.requestTimestamp <\n cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n this.responsePromiseCache.set(\n requestFunctionArgumentsJSON,\n cachePromiseEntry\n );\n return cachePromiseEntry.responsePromise;\n } else {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n\n const responsePromise = requestFunction.call(\n requestContext,\n ...requestFunctionArguments\n );\n this.responsePromiseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n responsePromise,\n });\n\n const response = await responsePromise;\n this.responseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n response,\n });\n\n const isCacheOverMaxSize = this.responseCache.size > maxSize;\n if (isCacheOverMaxSize) {\n const oldestEntry = this.responseCache.keys().next().value;\n this.responseCache.delete(oldestEntry);\n }\n const isResponsePromiseCacheOverMaxSize =\n this.responsePromiseCache.size > maxSize;\n if (isResponsePromiseCacheOverMaxSize) {\n const oldestEntry = this.responsePromiseCache.keys().next().value;\n this.responsePromiseCache.delete(oldestEntry);\n }\n return response as T;\n }\n}\n\ninterface CacheOptions {\n cacheResponseForSeconds?: number;\n maxSize?: number;\n}\n","import Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport MultiSearch from \"./MultiSearch\";\nimport { DocumentSchema } from \"./Documents\";\nimport { SearchOnlyCollection } from \"./SearchOnlyCollection\";\n\nexport default class SearchClient {\n public readonly multiSearch: MultiSearch;\n private readonly configuration: Configuration;\n private readonly apiCall: ApiCall;\n private readonly individualCollections: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? true;\n if (\n options.sendApiKeyAsQueryParam === true &&\n (options.apiKey || \"\").length > 2000\n ) {\n console.warn(\n \"[typesense] API Key is longer than 2000 characters which is over the allowed limit, so disabling sending it as a query parameter.\"\n );\n options.sendApiKeyAsQueryParam = false;\n }\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration, true);\n this.individualCollections = {};\n }\n\n clearCache() {\n this.multiSearch.clearCache();\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Object.entries(this.individualCollections).forEach(([_, collection]) => {\n collection.documents().clearCache();\n });\n }\n\n collections(\n collectionName: string\n ): SearchOnlyCollection | SearchOnlyCollection {\n if (!collectionName) {\n throw new Error(\n \"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(\n collectionName,\n this.apiCall,\n this.configuration\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n}\n","import { DocumentSchema, SearchableDocuments } from \"./Documents\";\nimport ApiCall from \"./ApiCall\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\nexport class SearchOnlyCollection {\n private readonly _documents: SearchableDocuments;\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any\n ) {\n this._documents = new SearchOnlyDocuments(\n this.name,\n this.apiCall,\n this.configuration\n );\n }\n\n documents(): SearchableDocuments {\n return this._documents;\n }\n}\n","import RequestWithCache from \"./RequestWithCache\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport Collections from \"./Collections\";\nimport type {\n DocumentSchema,\n SearchableDocuments,\n SearchOptions,\n SearchParams,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\n\nconst RESOURCEPATH = \"/documents\";\n\nexport class SearchOnlyDocuments\n implements SearchableDocuments\n{\n protected requestWithCache: RequestWithCache = new RequestWithCache();\n\n constructor(\n protected collectionName: string,\n protected apiCall: ApiCall,\n protected configuration: Configuration\n ) {}\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n abortSignal = null,\n }: SearchOptions = {}\n ): Promise> {\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n for (const key in searchParameters) {\n if (Array.isArray(searchParameters[key])) {\n additionalQueryParams[key] = searchParameters[key].join(\",\");\n }\n }\n const queryParams = Object.assign(\n {},\n searchParameters,\n additionalQueryParams\n );\n\n return this.requestWithCache.perform(\n this.apiCall,\n this.apiCall.get,\n [this.endpointPath(\"search\"), queryParams, { abortSignal }],\n {\n cacheResponseForSeconds: cacheSearchResultsForSeconds,\n }\n ) as Promise>;\n }\n\n protected endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + operation\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/stats.json\";\n\nexport interface EndpointStats {\n [endpoint: string]: number;\n}\n\nexport interface StatsResponse {\n delete_latency_ms?: number;\n delete_requests_per_second?: number;\n import_latency_ms?: number;\n import_requests_per_second?: number;\n latency_ms?: EndpointStats;\n overloaded_requests_per_second?: number;\n pending_write_batches?: number;\n requests_per_second?: EndpointStats;\n search_latency_ms?: number;\n search_requests_per_second?: number;\n total_requests_per_second?: number;\n write_latency_ms?: number;\n write_requests_per_second?: number;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Stopwords, { StopwordCreateSchema } from \"./Stopwords\";\n\nexport interface StopwordSchema extends StopwordCreateSchema {\n id: string;\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordDeleteSchema {\n id: string;\n}\n\nexport default class Stopword {\n constructor(\n private stopwordId: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Stopwords.RESOURCEPATH}/${encodeURIComponent(this.stopwordId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { StopwordSchema } from \"./Stopword\";\n\nconst RESOURCEPATH = \"/stopwords\";\n\nexport interface StopwordCreateSchema {\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordsRetrieveSchema {\n stopwords: StopwordSchema[];\n}\n\nexport default class Stopwords {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n stopwordId: string,\n params: StopwordCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(stopwordId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Stopwords.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Synonyms, { SynonymCreateSchema } from \"./Synonyms\";\n\nexport interface SynonymSchema extends SynonymCreateSchema {\n id: string;\n}\n\nexport interface SynonymDeleteSchema {\n id: string;\n}\n\nexport default class Synonym {\n constructor(\n private collectionName: string,\n private synonymId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Synonyms.RESOURCEPATH}/${encodeURIComponent(this.synonymId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { SynonymSchema } from \"./Synonym\";\n\nconst RESOURCEPATH = \"/synonyms\";\n\nexport interface SynonymCreateSchema {\n synonyms: string[];\n root?: string;\n locale?: string;\n symbols_to_index?: string[];\n}\n\nexport interface SynonymsRetrieveSchema {\n synonyms: SynonymSchema[];\n}\n\nexport default class Synonyms {\n constructor(private collectionName: string, private apiCall: ApiCall) {}\n\n async upsert(\n synonymId: string,\n params: SynonymCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(synonymId),\n params\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${\n Synonyms.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\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 var _loggersByName = {};\n var defaultLogger = null;\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() {\n /*jshint validthis:true */\n var level = this.getLevel();\n\n // Replace the actual methods.\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, this.name);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n\n // Return any important warnings.\n if (typeof console === undefinedType && level < this.levels.SILENT) {\n return \"No console available for logging\";\n }\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) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this);\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, factory) {\n // Private instance variables.\n var self = this;\n /**\n * The level inherited from a parent logger (or a global default). We\n * cache this here rather than delegating to the parent so that it stays\n * in sync with the actual logging methods that we have installed (the\n * parent could change levels but we might not have rebuilt the loggers\n * in this child yet).\n * @type {number}\n */\n var inheritedLevel;\n /**\n * The default level for this logger, if any. If set, this overrides\n * `inheritedLevel`.\n * @type {number|null}\n */\n var defaultLevel;\n /**\n * A user-specific level for this logger. If set, this overrides\n * `defaultLevel`.\n * @type {number|null}\n */\n var userLevel;\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 cookieName = encodeURIComponent(storageKey);\n var location = cookie.indexOf(cookieName + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(\n cookie.slice(location + cookieName.length + 1)\n )[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 } 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 function normalizeLevel(input) {\n var level = input;\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 return level;\n } else {\n throw new TypeError(\"log.setLevel() called with invalid level: \" + input);\n }\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 if (userLevel != null) {\n return userLevel;\n } else if (defaultLevel != null) {\n return defaultLevel;\n } else {\n return inheritedLevel;\n }\n };\n\n self.setLevel = function (level, persist) {\n userLevel = normalizeLevel(level);\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(userLevel);\n }\n\n // NOTE: in v2, this should call rebuild(), which updates children.\n return replaceLoggingMethods.call(self);\n };\n\n self.setDefaultLevel = function (level) {\n defaultLevel = normalizeLevel(level);\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.resetLevel = function () {\n userLevel = null;\n clearPersistedLevel();\n replaceLoggingMethods.call(self);\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 self.rebuild = function () {\n if (defaultLogger !== self) {\n inheritedLevel = normalizeLevel(defaultLogger.getLevel());\n }\n replaceLoggingMethods.call(self);\n\n if (defaultLogger === self) {\n for (var childName in _loggersByName) {\n _loggersByName[childName].rebuild();\n }\n }\n };\n\n // Initialize all the internal levels.\n inheritedLevel = normalizeLevel(\n defaultLogger ? defaultLogger.getLevel() : \"WARN\"\n );\n var initialLevel = getPersistedLevel();\n if (initialLevel != null) {\n userLevel = normalizeLevel(initialLevel);\n }\n replaceLoggingMethods.call(self);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n defaultLogger = new Logger();\n\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,\n defaultLogger.methodFactory\n );\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","/* (ignored) */","/* (ignored) */","/* (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 e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw new Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\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}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\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 setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\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 _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _isNativeFunction(fn) {\n try {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n } catch (e) {\n return typeof fn === \"function\";\n }\n}","export default function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\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(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\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 _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\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(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\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 getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport progressEventReducer from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst fetchProgressDecorator = (total, fn) => {\n const lengthComputable = total != null;\n return (loaded) => setTimeout(() => fn({\n lengthComputable,\n total,\n loaded\n }));\n}\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst supportsRequestStream = isReadableStreamSupported && (() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n})();\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported && !!(()=> {\n try {\n return utils.isReadableStream(new Response('').body);\n } catch(err) {\n // return undefined\n }\n})();\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n return (await new Request(body).arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ?\n composeSignals([signal, cancelToken], timeout) : [];\n\n let finished, request;\n\n const onFinish = () => {\n !finished && setTimeout(() => {\n composedSignal && composedSignal.unsubscribe();\n });\n\n finished = true;\n }\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, fetchProgressDecorator(\n requestContentLength,\n progressEventReducer(onUploadProgress)\n ), null, encodeText);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'cors' : 'omit';\n }\n\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n withCredentials\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onDownloadProgress && fetchProgressDecorator(\n responseContentLength,\n progressEventReducer(onDownloadProgress, true)\n ), isStreamResponse && onFinish, encodeText),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && onFinish();\n\n stopTimeout && stopTimeout();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n onFinish();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport progressEventReducer from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType} = _config;\n let 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 let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, 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 const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n 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(new AxiosError('Request aborted', AxiosError.ECONNABORTED, _config, 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(new AxiosError('Network Error', AxiosError.ERR_NETWORK, _config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n _config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\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', progressEventReducer(_config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof _config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(_config.onUploadProgress));\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : 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 const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\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\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(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, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n 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\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const 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 */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(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 {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _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 const {transitional, paramsSerializer, headers} = config;\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 if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let 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 const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\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,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport utils from '../utils.js';\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 {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n 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: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\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 */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n 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 *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\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 *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\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 *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\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 *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(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 config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\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 config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\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 *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, 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(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const 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 withXSRFToken: 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 beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\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 *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\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\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\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 env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\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 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","export const VERSION = \"1.7.2\";","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\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 * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\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 *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst composeSignals = (signals, timeout) => {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (cancel) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = cancel instanceof Error ? cancel : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal &&\n (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort));\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = unsubscribe;\n\n return [signal, () => {\n timer && clearTimeout(timer);\n timer = null;\n }];\n}\n\nexport default composeSignals;\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default 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\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\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 const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let 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 const 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","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\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} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\n\nexport default (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n }, freq);\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\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\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\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 *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\n/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n const threshold = 1000 / freq;\n let timer = null;\n return function throttled() {\n const force = this === true;\n\n const now = Date.now();\n if (force || now - timestamp > threshold) {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n timestamp = now;\n return fn.apply(null, arguments);\n }\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n timestamp = Date.now();\n return fn.apply(null, arguments);\n }, threshold - (now - timestamp));\n }\n };\n}\n\nexport default throttle;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","\n\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize, encode) {\n for await (const chunk of iterable) {\n yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize);\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => {\n const iterator = readBytes(stream, chunkSize, encode);\n\n let bytes = 0;\n\n return new ReadableStream({\n type: 'bytes',\n\n async pull(controller) {\n const {done, value} = await iterator.next();\n\n if (done) {\n controller.close();\n onFinish();\n return;\n }\n\n let len = value.byteLength;\n onProgress && onProgress(bytes += len);\n controller.enqueue(new Uint8Array(value));\n },\n cancel(reason) {\n onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\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 *\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 (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\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 *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\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 *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = (\n (product) => {\n return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0\n })(typeof navigator !== 'undefined' && navigator.product);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\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 && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let 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 {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\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 *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\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 (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 const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\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 *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && 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 *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\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 *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\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))","// 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};","import Client from \"./Typesense/Client\";\nimport SearchClient from \"./Typesense/SearchClient\";\nimport * as Errors from \"./Typesense/Errors\";\n\nexport { Client, SearchClient, Errors };\nexport default { Client, SearchClient, Errors };\n"],"names":["Aliases","Alias","name","apiCall","_classCallCheck","_createClass","key","value","_retrieve","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","abrupt","get","endpointPath","stop","retrieve","apply","arguments","_delete2","_callee2","_callee2$","_context2","delete","_delete","concat","RESOURCEPATH","encodeURIComponent","default","_upsert","mapping","put","upsert","_x","_x2","aliasName","AnalyticsRules","AnalyticsRule","AnalyticsEvents","Analytics","_defineProperty","_analyticsRules","_analyticsEvents","rules","id","undefined","individualAnalyticsRules","events","_create","params","post","create","operation","axios","HTTPError","ObjectAlreadyExists","ObjectNotFound","ObjectUnprocessable","RequestMalformed","RequestUnauthorized","ServerError","TypesenseError","Agent","HTTPAgent","HTTPSAgent","APIKEYHEADERNAME","HEALTHY","UNHEALTHY","isNodeJSEnvironment","process","versions","node","ApiCall","configuration","apiKey","nodes","JSON","parse","stringify","nearestNode","connectionTimeoutSeconds","healthcheckIntervalSeconds","numRetriesPerRequest","numRetries","retryIntervalSeconds","sendApiKeyAsQueryParam","additionalUserHeaders","additionalHeaders","logger","initializeMetadataForNodes","currentNodeIndex","_get","endpoint","queryParameters","_ref","_ref$abortSignal","abortSignal","_ref$responseType","responseType","_args","length","performRequest","_args2","_post","_callee3","bodyParameters","_args3","_callee3$","_context3","_x3","_put","_callee4","_args4","_callee4$","_context4","_x4","_patch","_callee5","_args5","_callee5$","_context5","patch","_x5","_performRequest","_callee6","requestType","_ref2","_this","_ref2$queryParameters","_ref2$bodyParameters","_ref2$additionalHeade","_ref2$abortSignal","_ref2$responseType","_ref2$skipConnectionT","skipConnectionTimeout","_ref2$enableKeepAlive","enableKeepAlive","requestNumber","lastException","_loop","_ret","numTries","_callee6$","_context7","validate","Date","now","debug","toUpperCase","abortListener","requestOptions","cancelToken","source","response","_response$data","_response$data2","_error$response","_loop$","_context6","getNextNode","index","aborted","v","Promise","reject","Error","method","url","uriFor","headers","Object","assign","defaultHeaders","maxContentLength","Infinity","maxBodyLength","validateStatus","status","transformResponse","data","transformedData","startsWith","timeout","keys","httpAgent","warn","keepAlive","httpsAgent","paramsSerializer","_typeof","CancelToken","cancel","addEventListener","token","sent","setNodeHealthcheck","resolve","customErrorForResponse","message","t0","code","timer","removeEventListener","finish","delegateYield","_x6","_x7","_x8","isHealthy","nodeDueForHealthcheck","map","join","candidateNode","i","isDueForHealthcheck","lastAccessTimestamp","_this2","forEach","protocol","host","port","path","_timer","_callee7","seconds","_callee7$","_context8","setTimeout","_x9","messageFromServer","errorMessage","trim","error","httpStatus","Configuration","Collections","Collection","Keys","Key","Debug","Metrics","Stats","Health","Operations","MultiSearch","Presets","Preset","Stopwords","Stopword","Conversations","Conversation","Client","options","_options$sendApiKeyAs","metrics","stats","health","operations","multiSearch","_collections","individualCollections","_aliases","individualAliases","_keys","individualKeys","_presets","individualPresets","_stopwords","individualStopwords","analytics","_conversations","individualConversations","collections","collectionName","aliases","presets","stopwords","conversations","Documents","Overrides","Override","Synonyms","Synonym","Document","_documents","_overrides","_synonyms","_update","schema","update","_exists","exists","documents","documentId","individualDocuments","overrides","overrideId","individualOverrides","synonyms","synonymId","individualSynonyms","MissingConfigurationError","setDefaultPathInNode","setDefaultPortInNode","_objectSpread","randomizeNodes","shuffleArray","timeoutSeconds","cacheSearchResultsForSeconds","useServerSideSearchCache","logLevel","setLevel","showDeprecationWarnings","validateNodes","isNodeMissingAnyParameters","some","every","hasOwnProperty","masterNode","readReplicaNodes","array","j","Math","floor","random","ConversationModels","ConversationModel","_conversationsModels","models","individualConversationModels","partialDocument","ImportError","SearchOnlyDocuments","_inherits","_callSuper","document","action","query","_createMany","import","createMany","_import2","documentsInJSONLFormat","resultsInJSONLFormat","resultsInJSONFormat","failedItems","_args6","Array","isArray","RangeError","includes","split","r","filter","success","_import","_importStream","readableStream","_args7","importStream","_export2","_callee8","_args8","_callee8$","_export","_exportStream","_callee9","_args9","_callee9$","_context9","exportStream","_TypesenseError","importResults","_Error","constructor","setPrototypeOf","_assertThisInitialized","prototype","_wrapNativeSuper","createHmac","generateScopedSearchKey","searchKey","parameters","paramsJSON","digest","Buffer","from","keyPrefix","substr","rawScopedKey","toString","RequestWithCache","useTextContentType","requestWithCache","clearCache","_perform","searchRequests","commonParams","_ref$cacheSearchResul","additionalQueryParams","queryParams","perform","cacheResponseForSeconds","operationName","presetId","defaultCacheResponseForSeconds","defaultMaxSize","Map","responseCache","responsePromiseCache","requestContext","requestFunction","requestFunctionArguments","cacheOptions","_cacheOptions$cacheRe","_cacheOptions$maxSize","maxSize","isCacheDisabled","requestFunctionArgumentsJSON","cacheEntry","isEntryValid","cachePromiseEntry","_isEntryValid","responsePromise","isCacheOverMaxSize","oldestEntry","isResponsePromiseCacheOverMaxSize","_oldestEntry","call","_toConsumableArray","requestTimestamp","set","size","SearchOnlyCollection","SearchClient","console","entries","_slicedToArray","_","collection","_search","searchParameters","search","stopwordId","Errors"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"typesense.js","mappings":"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;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;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;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA,qDAAqD;AACrD,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,sBAAsB;AACtB;;AAEA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA,oCAAoC;AACpC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;;;;;;;;;;ACpWD;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA,cAAc,sGAAiC;AAC/C;AACA,gBAAgB;AAChB;AACA;AACA,GAAG,EAAE,yBAAyB,SAAS,yBAAyB;AAChE;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,KAAK;AACL,iDAAiD;AACjD;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;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;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;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,eAAe;AAClC;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,SAAS;AACtB;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;;;;;;;;;;;;;;;ACHe;AACf;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;ACLA;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;;;;;;;;;;;;;;;;;ACJiD;AACoB;AACtD;AACf,MAAM,wEAAwB;AAC9B;AACA;AACA;AACA,cAAc,8DAAc;AAC5B;;;;;;;;;;;;;;;;ACR+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;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACLiD;AAClC;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH,kBAAkB,8DAAc;AAChC;;;;;;;;;;;;;;;AChBe;AACf;AACA;AACA,IAAI;AACJ;AACA;AACA;;;;;;;;;;;;;;;ACNe;AACf;AACA,yFAAyF;AACzF,IAAI;AACJ;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;ACPe;AACf;AACA;;;;;;;;;;;;;;;ACFe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,YAAY,kEAAkE;AACtF,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;AC1Be;AACf;AACA;;;;;;;;;;;;;;;ACFe;AACf;AACA;;;;;;;;;;;;;;;;;ACFkC;AAC6B;AAChD;AACf,eAAe,sDAAO;AACtB;AACA,IAAI;AACJ;AACA;AACA,S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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP,oCAAoC,iDAAK;;AAEzC,wDAAwD,wFAAsB;AAC9E;AACA,QAAQ,sFAAoB,CAAC,gFAAc;AAC3C;;AAEA;AACA,QAAQ,oEAAW;AACnB;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA,uCAAuC,iDAAK;;AAE5C;;AAEA;;AAEA;AACA,MAAM,2DAAM;AACZ;AACA,iBAAiB,6DAAY;AAC7B;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,IAAI;AACJ;;AAEA;AACA;AACA,YAAY,2DAAU,kBAAkB,2DAAU;AAClD;AACA;AACA;AACA;AACA;;AAEA,UAAU,2DAAU;AACpB;AACA,CAAC,CAAC,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrO+B;AACO;AACsB;AAChB;AACQ;AACC;AACZ;AACO;AACqB;AAChB;;AAExD;;AAEA,iEAAe;AACf;AACA,oBAAoB,qEAAa;AACjC;AACA,2BAA2B,6DAAY;AACvC,SAAS,oDAAoD;AAC7D;AACA;AACA;;AAEA;AACA,oCAAoC;AACpC,wCAAwC;;AAExC;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,8BAA8B,6DAAY;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAM,2DAAM;AACZ;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,iBAAiB,2DAAU,oBAAoB,2DAAU;;AAEzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,2DAAU,kBAAkB,2DAAU;;AAEvD;AACA;AACA;;AAEA;AACA;AACA;AACA,mDAAmD,iEAAoB;AACvE;AACA;AACA;AACA,iBAAiB,2DAAU;AAC3B;AACA,2CAA2C,2DAAU,aAAa,2DAAU;AAC5E;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAM,iDAAK;AACX;AACA,OAAO;AACP;;AAEA;AACA,SAAS,iDAAK;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,4CAA4C,sFAAoB;AAChE;AACA;;AAEA;AACA;AACA,wCAAwC,sFAAoB;;AAE5D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,gEAAa;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,qEAAa;;AAElC,oBAAoB,0DAAQ;AAC5B,iBAAiB,2DAAU,2CAA2C,2DAAU;AAChF;AACA;;;AAGA;AACA;AACA,GAAG;AACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpMY;;AAEkB;AACM;AACD;AACY;AACL;AACc;AACH;AACJ;AACN;AACN;AACW;AACH;AACL;AACY;AACH;AACJ;AACW;;AAEzD;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,OAAO;AACpB;AACA;AACA,sBAAsB,sDAAK;AAC3B,mBAAmB,4DAAI,CAAC,sDAAK;;AAE7B;AACA,EAAE,iDAAK,kBAAkB,sDAAK,sBAAsB,iBAAiB;;AAErE;AACA,EAAE,iDAAK,kCAAkC,iBAAiB;;AAE1D;AACA;AACA,0BAA0B,gEAAW;AACrC;;AAEA;AACA;;AAEA;AACA,6BAA6B,0DAAQ;;AAErC;AACA,cAAc,sDAAK;;AAEnB;AACA,sBAAsB,gEAAa;AACnC,oBAAoB,8DAAW;AAC/B,iBAAiB,2DAAQ;AACzB,gBAAgB,iDAAO;AACvB,mBAAmB,8DAAU;;AAE7B;AACA,mBAAmB,4DAAU;;AAE7B;AACA;;AAEA;AACA;AACA;AACA;;AAEA,eAAe,2DAAM;;AAErB;AACA,qBAAqB,iEAAY;;AAEjC;AACA,oBAAoB,4DAAW;;AAE/B,qBAAqB,8DAAY;;AAEjC,4BAA4B,uEAAc,CAAC,iDAAK;;AAEhD,mBAAmB,8DAAQ;;AAE3B,uBAAuB,mEAAc;;AAErC;;AAEA;AACA,iEAAe,KAAK;;;;;;;;;;;;;;;;;ACxFP;;AAEkC;;AAE/C;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,yDAAa;AACtC;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA,iEAAe,WAAW,EAAC;;;;;;;;;;;;;;;;;;ACxHd;;AAEkC;AACf;;AAEhC;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,aAAa,eAAe;AAC5B;AACA;AACA;AACA,EAAE,2DAAU,oDAAoD,2DAAU;AAC1E;AACA;;AAEA,iDAAK,yBAAyB,2DAAU;AACxC;AACA,CAAC;;AAED,iEAAe,aAAa,EAAC;;;;;;;;;;;;;;;;ACxBhB;;AAEE;AACf;AACA;;;;;;;;;;;;;;;;;;;;;;;;ACJa;;AAEqB;AACY;AACW;AACN;AACR;AACI;AACC;AACH;;AAE7C,mBAAmB,6DAAS;;AAE5B;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,mBAAmB,8DAAkB;AACrC,oBAAoB,8DAAkB;AACtC;AACA;;AAEA;AACA;AACA;AACA,aAAa,eAAe;AAC5B,aAAa,SAAS;AACtB;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA,oEAAoE;;AAEpE;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA,aAAa,2DAAW;;AAExB,WAAW,yCAAyC;;AAEpD;AACA,MAAM,6DAAS;AACf;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,UAAU,iDAAK;AACf;AACA;AACA;AACA,QAAQ;AACR,QAAQ,6DAAS;AACjB;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA,oCAAoC,iDAAK;AACzC;AACA;AACA;;AAEA,eAAe,iDAAK;AACpB;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,wDAAY;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA,qBAAqB,2DAAe;AACpC;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA,gBAAgB,2DAAe;AAC/B,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,aAAa,2DAAW;AACxB,qBAAqB,6DAAa;AAClC,WAAW,gEAAQ;AACnB;AACA;;AAEA;AACA,iDAAK;AACL;AACA;AACA,wBAAwB,2DAAW,aAAa;AAChD;AACA;AACA,yBAAyB;AACzB,KAAK;AACL;AACA,CAAC;;AAED,iDAAK;AACL;;AAEA;AACA;AACA,0BAA0B,2DAAW,aAAa;AAClD;AACA;AACA;AACA,UAAU,IAAI;AACd;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA,CAAC;;AAED,iEAAe,KAAK,EAAC;;;;;;;;;;;;;;;;;ACnOR;;AAEmB;;AAEhC;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,OAAO;AACpB;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iDAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,iDAAK;AACnB;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,CAAC;;AAED;AACA,kDAAkD,YAAY;;AAE9D;AACA;AACA;;AAEA,EAAE,iDAAK;AACP;AACA,GAAG;AACH;AACA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,iEAAe,UAAU,EAAC;;;;;;;;;;;;;;;;;;ACtGb;;AAEmB;AACsB;;AAEtD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS,iDAAK;AACd;;AAEA;AACA;AACA,2BAA2B,mBAAmB;AAC9C;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,MAAM,iDAAK;AACX;AACA;;AAEA;AACA;AACA;;AAEA,OAAO,iDAAK;;AAEZ,MAAM,iDAAK;AACX;AACA;;AAEA,MAAM,iDAAK;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,uBAAuB,iDAAK;;AAE5B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,iDAAK;;AAEvB;AACA;AACA;AACA;;AAEA;AACA,MAAM,iDAAK;;AAEX,QAAQ,iDAAK;AACb;AACA,MAAM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e;AACf;AACA;AACA;;AAEA;AACA,QAAQ,iDAAK,0BAA0B,iDAAK;AAC5C,aAAa,iDAAK,aAAa,SAAS;AACxC,MAAM,SAAS,iDAAK;AACpB,aAAa,iDAAK,SAAS;AAC3B,MAAM,SAAS,iDAAK;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS,iDAAK;AACd;AACA,MAAM,UAAU,iDAAK;AACrB;AACA;AACA;;AAEA;AACA;AACA,SAAS,iDAAK;AACd;AACA;AACA;;AAEA;AACA;AACA,SAAS,iDAAK;AACd;AACA,MAAM,UAAU,iDAAK;AACrB;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;AACA;AACA;AACA;;AAEA,EAAE,iDAAK,qCAAqC;AAC5C;AACA;AACA,KAAK,iDAAK;AACV,GAAG;;AAEH;AACA;;;;;;;;;;;;;;;;;ACzGa;;AAE4B;;AAEzC;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;AACA,IAAI;AACJ,eAAe,sDAAU;AACzB;AACA,OAAO,sDAAU,kBAAkB,sDAAU;AAC7C;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;AC1Ba;;AAEqB;AACU;AACO;;AAEnD;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB;AACA,aAAa,GAAG;AAChB;AACe;AACf,yBAAyB,0DAAQ;AACjC;AACA,kBAAkB,6DAAY;AAC9B;;AAEA,EAAE,iDAAK;AACP;AACA,GAAG;;AAEH;;AAEA;AACA;;;;;;;;;;;;;;;;;;;;;;;AC3Ba;;AAEmB;AACe;AACM;AACH;AACY;AAClB;AACc;;AAE1D;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA,MAAM,iDAAK;AACX;AACA;AACA,aAAa,iDAAK;AAClB,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,gBAAgB,wDAAoB;;AAEpC;;AAEA;AACA;AACA;AACA,4BAA4B,iDAAK;;AAEjC,2BAA2B,iDAAK;AAChC;AACA;;AAEA,uBAAuB,iDAAK;;AAE5B;AACA,iDAAiD,sEAAc;AAC/D;;AAEA,QAAQ,iDAAK;AACb,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX;AACA;AACA;AACA,QAAQ,iDAAK;AACb;AACA;AACA,QAAQ,iDAAK;AACb,gEAAgE;AAChE;AACA;;AAEA;;AAEA;AACA;AACA,eAAe,wEAAgB;AAC/B;;AAEA,wBAAwB,iDAAK;AAC7B;;AAEA,eAAe,kEAAU;AACzB,wBAAwB,iBAAiB;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA,QAAQ,iDAAK,qBAAqB,iDAAK;AACvC;AACA;;AAEA,gBAAgB,iDAAK;AACrB;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA,kBAAkB,2DAAU,SAAS,2DAAU;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,cAAc,0DAAQ;AACtB,UAAU,0DAAQ;AAClB,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iDAAK;AACL;AACA,CAAC;;AAED,iEAAe,QAAQ,EAAC;;;;;;;;;;;;;;;;AChKX;;AAEb,iEAAe;AACf;AACA;AACA;AACA,CAAC,EAAC;;;;;;;;;;;;;;;;ACNK;;;;;;;;;;;;;;;;ACAM;;AAE4B;;AAEzC;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,WAAW,qBAAqB;AAChC,WAAW,qBAAqB;AAChC;AACA,aAAa;AACb;AACA;AACA;;AAEA,YAAY,0DAAU;AACtB;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA,GAAG;AACH;;AAEA,iEAAe,oBAAoB,EAAC;;;;;;;;;;;;;;;;ACzDpC;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;;AAEA;AACA;AACA,CAAC;;AAED,iEAAe,cAAc,EAAC;;;;;;;;;;;;;;;;ACtEjB;;AAEE;AACf;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACNa;;AAEmB;AACsC;;AAEtE;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,IAAI;AACJ,uBAAuB,iDAAK;AAC5B;AACA,UAAU,wEAAoB;AAC9B;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;AC9Da;;AAEb;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AA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AgB;;AAEvB;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACA,OAAO,SAAS;;AAEhB;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;;AAGA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,UAAU;AACrB;AACA,WAAW,SAAS;AACpB,aAAa;AACb;AACA,2BAA2B,oBAAoB,IAAI;AACnD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS;AAC5C,4BAA4B;AAC5B;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA,SAAS,UAAU;AACnB;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,kCAAkC;AAClC,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;;AAEA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA,gCAAgC,WAAW,IAAI;AAC/C;AACA;AACA,eAAe,4DAAI;AACnB,MAAM;AACN;AACA;AACA,GAAG,GAAG,WAAW;AACjB;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,kBAAkB;AAC7B,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,WAAW,kBAAkB;AAC7B,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B,eAAe;;AAEzC;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS,QAAQ;AACjB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,0CAA0C,aAAa;AACvD;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,GAAG,WAAW,cAAc;AAC5B,CAAC;AACD;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,iEAAe;AACf;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,EAAC;;;;;;;UCvvBF;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;;;;;;;ACNwC;AACY;AACP;AAEL;AACxC,iEAAe;EAAE9B,MAAM,EAANA,yDAAM;EAAEuL,YAAY,EAAZA,+DAAY;EAAEU,MAAM,EAANA,8CAAMA;AAAC,CAAC,E","sources":["webpack://Typesense/./src/Typesense/Alias.ts","webpack://Typesense/./src/Typesense/Aliases.ts","webpack://Typesense/./src/Typesense/Analytics.ts","webpack://Typesense/./src/Typesense/AnalyticsEvents.ts","webpack://Typesense/./src/Typesense/AnalyticsRule.ts","webpack://Typesense/./src/Typesense/AnalyticsRules.ts","webpack://Typesense/./src/Typesense/ApiCall.ts","webpack://Typesense/./src/Typesense/Client.ts","webpack://Typesense/./src/Typesense/Collection.ts","webpack://Typesense/./src/Typesense/Collections.ts","webpack://Typesense/./src/Typesense/Configuration.ts","webpack://Typesense/./src/Typesense/Conversation.ts","webpack://Typesense/./src/Typesense/ConversationModel.ts","webpack://Typesense/./src/Typesense/ConversationModels.ts","webpack://Typesense/./src/Typesense/Conversations.ts","webpack://Typesense/./src/Typesense/Debug.ts","webpack://Typesense/./src/Typesense/Document.ts","webpack://Typesense/./src/Typesense/Documents.ts","webpack://Typesense/./src/Typesense/Errors/HTTPError.ts","webpack://Typesense/./src/Typesense/Errors/ImportError.ts","webpack://Typesense/./src/Typesense/Errors/MissingConfigurationError.ts","webpack://Typesense/./src/Typesense/Errors/ObjectAlreadyExists.ts","webpack://Typesense/./src/Typesense/Errors/ObjectNotFound.ts","webpack://Typesense/./src/Typesense/Errors/ObjectUnprocessable.ts","webpack://Typesense/./src/Typesense/Errors/RequestMalformed.ts","webpack://Typesense/./src/Typesense/Errors/RequestUnauthorized.ts","webpack://Typesense/./src/Typesense/Errors/ServerError.ts","webpack://Typesense/./src/Typesense/Errors/TypesenseError.ts","webpack://Typesense/./src/Typesense/Errors/index.ts","webpack://Typesense/./src/Typesense/Health.ts","webpack://Typesense/./src/Typesense/Key.ts","webpack://Typesense/./src/Typesense/Keys.ts","webpack://Typesense/./src/Typesense/Metrics.ts","webpack://Typesense/./src/Typesense/MultiSearch.ts","webpack://Typesense/./src/Typesense/Operations.ts","webpack://Typesense/./src/Typesense/Override.ts","webpack://Typesense/./src/Typesense/Overrides.ts","webpack://Typesense/./src/Typesense/Preset.ts","webpack://Typesense/./src/Typesense/Presets.ts","webpack://Typesense/./src/Typesense/RequestWithCache.ts","webpack://Typesense/./src/Typesense/SearchClient.ts","webpack://Typesense/./src/Typesense/SearchOnlyCollection.ts","webpack://Typesense/./src/Typesense/SearchOnlyDocuments.ts","webpack://Typesense/./src/Typesense/Stats.ts","webpack://Typesense/./src/Typesense/Stopword.ts","webpack://Typesense/./src/Typesense/Stopwords.ts","webpack://Typesense/./src/Typesense/Synonym.ts","webpack://Typesense/./src/Typesense/Synonyms.ts","webpack://Typesense/./node_modules/loglevel/lib/loglevel.js","webpack://Typesense/ignored|/Users/jason/Programming/jprojs/typesense/typesense-js/src/Typesense|crypto","webpack://Typesense/ignored|/Users/jason/Programming/jprojs/typesense/typesense-js/src/Typesense|http","webpack://Typesense/ignored|/Users/jason/Programming/jprojs/typesense/typesense-js/src/Typesense|https","webpack://Typesense/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/regenerator/index.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://Typesense/./node_modules/axios/lib/adapters/adapters.js","webpack://Typesense/./node_modules/axios/lib/adapters/fetch.js","webpack://Typesense/./node_modules/axios/lib/adapters/xhr.js","webpack://Typesense/./node_modules/axios/lib/axios.js","webpack://Typesense/./node_modules/axios/lib/cancel/CancelToken.js","webpack://Typesense/./node_modules/axios/lib/cancel/CanceledError.js","webpack://Typesense/./node_modules/axios/lib/cancel/isCancel.js","webpack://Typesense/./node_modules/axios/lib/core/Axios.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosError.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://Typesense/./node_modules/axios/lib/core/InterceptorManager.js","webpack://Typesense/./node_modules/axios/lib/core/buildFullPath.js","webpack://Typesense/./node_modules/axios/lib/core/dispatchRequest.js","webpack://Typesense/./node_modules/axios/lib/core/mergeConfig.js","webpack://Typesense/./node_modules/axios/lib/core/settle.js","webpack://Typesense/./node_modules/axios/lib/core/transformData.js","webpack://Typesense/./node_modules/axios/lib/defaults/index.js","webpack://Typesense/./node_modules/axios/lib/defaults/transitional.js","webpack://Typesense/./node_modules/axios/lib/env/data.js","webpack://Typesense/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://Typesense/./node_modules/axios/lib/helpers/bind.js","webpack://Typesense/./node_modules/axios/lib/helpers/buildURL.js","webpack://Typesense/./node_modules/axios/lib/helpers/combineURLs.js","webpack://Typesense/./node_modules/axios/lib/helpers/composeSignals.js","webpack://Typesense/./node_modules/axios/lib/helpers/cookies.js","webpack://Typesense/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://Typesense/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://Typesense/./node_modules/axios/lib/helpers/null.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://Typesense/./node_modules/axios/lib/helpers/progressEventReducer.js","webpack://Typesense/./node_modules/axios/lib/helpers/resolveConfig.js","webpack://Typesense/./node_modules/axios/lib/helpers/speedometer.js","webpack://Typesense/./node_modules/axios/lib/helpers/spread.js","webpack://Typesense/./node_modules/axios/lib/helpers/throttle.js","webpack://Typesense/./node_modules/axios/lib/helpers/toFormData.js","webpack://Typesense/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://Typesense/./node_modules/axios/lib/helpers/trackStream.js","webpack://Typesense/./node_modules/axios/lib/helpers/validator.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/index.js","webpack://Typesense/./node_modules/axios/lib/platform/common/utils.js","webpack://Typesense/./node_modules/axios/lib/platform/index.js","webpack://Typesense/./node_modules/axios/lib/utils.js","webpack://Typesense/webpack/bootstrap","webpack://Typesense/webpack/runtime/compat get default export","webpack://Typesense/webpack/runtime/define property getters","webpack://Typesense/webpack/runtime/hasOwnProperty shorthand","webpack://Typesense/webpack/runtime/make namespace object","webpack://Typesense/./src/Typesense.ts"],"sourcesContent":["import Aliases, { CollectionAliasSchema } from \"./Aliases\";\nimport ApiCall from \"./ApiCall\";\n\nexport default class Alias {\n constructor(private name: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/aliases\";\n\nexport interface CollectionAliasCreateSchema {\n collection_name: string;\n}\n\nexport interface CollectionAliasSchema extends CollectionAliasCreateSchema {\n name: string;\n}\n\nexport interface CollectionAliasesResponseSchema {\n aliases: CollectionAliasSchema[];\n}\n\nexport default class Aliases {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n name: string,\n mapping: CollectionAliasCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(name),\n mapping\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n private endpointPath(aliasName): string {\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(aliasName)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\nimport AnalyticsRule from \"./AnalyticsRule\";\nimport AnalyticsEvents from \"./AnalyticsEvents\";\n\nconst RESOURCEPATH = \"/analytics\";\n\nexport default class Analytics {\n private readonly _analyticsRules: AnalyticsRules;\n private readonly individualAnalyticsRules: Record = {};\n private readonly _analyticsEvents: AnalyticsEvents;\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._analyticsRules = new AnalyticsRules(this.apiCall);\n this._analyticsEvents = new AnalyticsEvents(this.apiCall);\n }\n\n rules(id?: string): AnalyticsRules | AnalyticsRule {\n if (id === undefined) {\n return this._analyticsRules;\n } else {\n if (this.individualAnalyticsRules[id] === undefined) {\n this.individualAnalyticsRules[id] = new AnalyticsRule(id, this.apiCall);\n }\n return this.individualAnalyticsRules[id];\n }\n }\n\n events(): AnalyticsEvents {\n return this._analyticsEvents;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { AnalyticsEventCreateSchema } from \"./AnalyticsEvent\";\n\nconst RESOURCEPATH = \"/analytics/events\";\n\nexport default class AnalyticsEvents {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: AnalyticsEventCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsEvents.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\n\nexport interface AnalyticsRuleCreateSchema {\n type: \"popular_queries\" | \"nohits_queries\" | \"counter\";\n params: {\n source: {\n collections: string[];\n events?: Array<{\n type: string;\n weight: number;\n name: string;\n }>;\n };\n expand_query?: boolean;\n destination: {\n collection: string;\n counter_field?: string;\n };\n limit?: number;\n };\n}\n\nexport interface AnalyticsRuleDeleteSchema {\n name: string;\n}\n\nexport interface AnalyticsRuleSchema extends AnalyticsRuleCreateSchema {\n name: string;\n}\n\nexport default class AnalyticsRule {\n constructor(\n private name: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${AnalyticsRules.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n AnalyticsRuleCreateSchema,\n AnalyticsRuleSchema,\n} from \"./AnalyticsRule\";\n\nexport interface AnalyticsRulesRetrieveSchema {\n rules: AnalyticsRuleSchema[];\n}\n\nconst RESOURCEPATH = \"/analytics/rules\";\n\nexport default class AnalyticsRules {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async upsert(\n name: string,\n params: AnalyticsRuleCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(name),\n params\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsRules.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import axios, { AxiosRequestConfig, AxiosResponse, Method } from \"axios\";\nimport { Logger } from \"loglevel\";\nimport {\n HTTPError,\n ObjectAlreadyExists,\n ObjectNotFound,\n ObjectUnprocessable,\n RequestMalformed,\n RequestUnauthorized,\n ServerError,\n} from \"./Errors\";\nimport TypesenseError from \"./Errors/TypesenseError\";\nimport Configuration, { NodeConfiguration } from \"./Configuration\";\nimport { Agent as HTTPAgent } from \"http\";\nimport { Agent as HTTPSAgent } from \"https\";\n\nconst APIKEYHEADERNAME = \"X-TYPESENSE-API-KEY\";\nconst HEALTHY = true;\nconst UNHEALTHY = false;\n\ninterface Node extends NodeConfiguration {\n isHealthy: boolean;\n index: string | number;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class ApiCall {\n private readonly apiKey: string;\n private readonly nodes: Node[];\n private readonly nearestNode: Node;\n private readonly connectionTimeoutSeconds: number;\n private readonly healthcheckIntervalSeconds: number;\n private readonly retryIntervalSeconds: number;\n private readonly sendApiKeyAsQueryParam?: boolean;\n private readonly numRetriesPerRequest: number;\n private readonly additionalUserHeaders?: Record;\n\n private readonly logger: Logger;\n private currentNodeIndex: number;\n\n constructor(private 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\n this.logger = this.configuration.logger;\n\n this.initializeMetadataForNodes();\n this.currentNodeIndex = -1;\n }\n\n async get(\n endpoint: string,\n queryParameters: any = {},\n {\n abortSignal = null,\n responseType = undefined,\n }: {\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n } = {},\n ): Promise {\n return this.performRequest(\"get\", endpoint, {\n queryParameters,\n abortSignal,\n responseType,\n });\n }\n\n async delete(endpoint: string, queryParameters: any = {}): Promise {\n return this.performRequest(\"delete\", endpoint, { queryParameters });\n }\n\n async post(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n additionalHeaders: any = {},\n ): Promise {\n return this.performRequest(\"post\", endpoint, {\n queryParameters,\n bodyParameters,\n additionalHeaders,\n });\n }\n\n async put(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"put\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async patch(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"patch\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async performRequest(\n requestType: Method,\n endpoint: string,\n {\n queryParameters = null,\n bodyParameters = null,\n additionalHeaders = {},\n abortSignal = null,\n responseType = undefined,\n skipConnectionTimeout = false,\n enableKeepAlive = undefined,\n }: {\n queryParameters?: any;\n bodyParameters?: any;\n additionalHeaders?: any;\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n skipConnectionTimeout?: boolean;\n enableKeepAlive?: boolean | undefined;\n },\n ): Promise {\n this.configuration.validate();\n\n const requestNumber = Date.now();\n let lastException;\n this.logger.debug(\n `Request #${requestNumber}: Performing ${requestType.toUpperCase()} request: ${endpoint}`,\n );\n for (\n let numTries = 1;\n numTries <= this.numRetriesPerRequest + 1;\n numTries++\n ) {\n const node = this.getNextNode(requestNumber);\n this.logger.debug(\n `Request #${requestNumber}: Attempting ${requestType.toUpperCase()} request Try #${numTries} to Node ${\n node.index\n }`,\n );\n\n if (abortSignal && abortSignal.aborted) {\n return Promise.reject(new Error(\"Request aborted by caller.\"));\n }\n\n let abortListener;\n\n try {\n const requestOptions: AxiosRequestConfig = {\n method: requestType,\n url: this.uriFor(endpoint, node),\n headers: Object.assign(\n {},\n this.defaultHeaders(),\n additionalHeaders,\n this.additionalUserHeaders,\n ),\n maxContentLength: Infinity,\n maxBodyLength: Infinity,\n responseType,\n validateStatus: (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 (data, headers) => {\n let transformedData = data;\n if (\n headers !== undefined &&\n typeof data === \"string\" &&\n headers[\"content-type\"] &&\n headers[\"content-type\"].startsWith(\"application/json\")\n ) {\n transformedData = JSON.parse(data);\n }\n return transformedData;\n },\n ],\n };\n\n if (skipConnectionTimeout !== true) {\n requestOptions.timeout = this.connectionTimeoutSeconds * 1000;\n }\n\n if (queryParameters && Object.keys(queryParameters).length !== 0) {\n requestOptions.params = queryParameters;\n }\n\n if (this.sendApiKeyAsQueryParam) {\n requestOptions.params = requestOptions.params || {};\n requestOptions.params[\"x-typesense-api-key\"] = this.apiKey;\n }\n\n if (this.configuration.httpAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpAgent`,\n );\n requestOptions.httpAgent = this.configuration.httpAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling KeepAlive`);\n requestOptions.httpAgent = new HTTPAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.httpsAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpsAgent`,\n );\n requestOptions.httpsAgent = this.configuration.httpsAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling keepAlive`);\n requestOptions.httpsAgent = new HTTPSAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.paramsSerializer) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom paramsSerializer`,\n );\n requestOptions.paramsSerializer = this.configuration.paramsSerializer;\n }\n\n if (\n bodyParameters &&\n ((typeof bodyParameters === \"string\" &&\n bodyParameters.length !== 0) ||\n (typeof bodyParameters === \"object\" &&\n Object.keys(bodyParameters).length !== 0))\n ) {\n requestOptions.data = bodyParameters;\n }\n\n // Translate from user-provided AbortController to the Axios request cancel mechanism.\n if (abortSignal) {\n const cancelToken = axios.CancelToken;\n const source = cancelToken.source();\n abortListener = () => source.cancel();\n abortSignal.addEventListener(\"abort\", abortListener);\n requestOptions.cancelToken = source.token;\n }\n\n const response = await axios(requestOptions);\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.setNodeHealthcheck(node, HEALTHY);\n }\n this.logger.debug(\n `Request #${requestNumber}: Request to Node ${node.index} was made. Response Code was ${response.status}.`,\n );\n\n if (response.status >= 200 && response.status < 300) {\n // If response is 2xx return a resolved promise\n return Promise.resolve(response.data);\n } else if (response.status < 500) {\n // Next, if response is anything but 5xx, don't retry, return a custom error\n return Promise.reject(\n this.customErrorForResponse(response, response.data?.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.customErrorForResponse(response, response.data?.message);\n }\n } catch (error: any) {\n // This block handles retries for HTTPStatus > 500 and network layer issues like connection timeouts\n this.setNodeHealthcheck(node, UNHEALTHY);\n lastException = error;\n this.logger.warn(\n `Request #${requestNumber}: Request to Node ${\n node.index\n } failed due to \"${error.code} ${error.message}${\n error.response == null\n ? \"\"\n : \" - \" + JSON.stringify(error.response?.data)\n }\"`,\n );\n // this.logger.debug(error.stack)\n this.logger.warn(\n `Request #${requestNumber}: Sleeping for ${this.retryIntervalSeconds}s and then retrying request...`,\n );\n await this.timer(this.retryIntervalSeconds);\n } finally {\n if (abortSignal && abortListener) {\n abortSignal.removeEventListener(\"abort\", abortListener);\n }\n }\n }\n this.logger.debug(\n `Request #${requestNumber}: No retries left. Raising last error`,\n );\n return Promise.reject(lastException);\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 getNextNode(requestNumber = 0): Node {\n // Check if nearestNode is set and is healthy, if so return it\n if (this.nearestNode != null) {\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: Node ${\n this.nearestNode.index\n } is ${this.nearestNode.isHealthy === true ? \"Healthy\" : \"Unhealthy\"}`,\n );\n if (\n this.nearestNode.isHealthy === true ||\n this.nodeDueForHealthcheck(this.nearestNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${this.nearestNode.index}`,\n );\n return this.nearestNode;\n }\n this.logger.debug(\n `Request #${requestNumber}: Falling back to individual nodes`,\n );\n }\n\n // Fallback to nodes as usual\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: ${this.nodes\n .map(\n (node) =>\n `Node ${node.index} is ${\n node.isHealthy === true ? \"Healthy\" : \"Unhealthy\"\n }`,\n )\n .join(\" || \")}`,\n );\n let candidateNode: Node = this.nodes[0];\n for (let i = 0; i <= this.nodes.length; i++) {\n this.currentNodeIndex = (this.currentNodeIndex + 1) % this.nodes.length;\n candidateNode = this.nodes[this.currentNodeIndex];\n if (\n candidateNode.isHealthy === true ||\n this.nodeDueForHealthcheck(candidateNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\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(\n `Request #${requestNumber}: No healthy nodes were found. Returning the next node, Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\n\n nodeDueForHealthcheck(node, requestNumber = 0): boolean {\n const isDueForHealthcheck =\n Date.now() - node.lastAccessTimestamp >\n this.healthcheckIntervalSeconds * 1000;\n if (isDueForHealthcheck) {\n this.logger.debug(\n `Request #${requestNumber}: Node ${node.index} has exceeded healtcheckIntervalSeconds of ${this.healthcheckIntervalSeconds}. Adding it back into rotation.`,\n );\n }\n return isDueForHealthcheck;\n }\n\n initializeMetadataForNodes(): void {\n if (this.nearestNode != null) {\n this.nearestNode.index = \"nearestNode\";\n this.setNodeHealthcheck(this.nearestNode, HEALTHY);\n }\n\n this.nodes.forEach((node, i) => {\n node.index = i;\n this.setNodeHealthcheck(node, HEALTHY);\n });\n }\n\n setNodeHealthcheck(node, isHealthy): void {\n node.isHealthy = isHealthy;\n node.lastAccessTimestamp = Date.now();\n }\n\n uriFor(endpoint: string, node): string {\n if (node.url != null) {\n return `${node.url}${endpoint}`;\n }\n return `${node.protocol}://${node.host}:${node.port}${node.path}${endpoint}`;\n }\n\n defaultHeaders(): any {\n const defaultHeaders = {};\n if (!this.sendApiKeyAsQueryParam) {\n defaultHeaders[APIKEYHEADERNAME] = this.apiKey;\n }\n defaultHeaders[\"Content-Type\"] = \"application/json\";\n return defaultHeaders;\n }\n\n async timer(seconds): Promise {\n return new Promise((resolve) => setTimeout(resolve, seconds * 1000));\n }\n\n customErrorForResponse(\n response: AxiosResponse,\n messageFromServer: string,\n ): TypesenseError {\n let errorMessage = `Request failed with HTTP code ${response.status}`;\n if (\n typeof messageFromServer === \"string\" &&\n messageFromServer.trim() !== \"\"\n ) {\n errorMessage += ` | Server said: ${messageFromServer}`;\n }\n\n let error = new TypesenseError(errorMessage);\n\n if (response.status === 400) {\n error = new RequestMalformed(errorMessage);\n } else if (response.status === 401) {\n error = new RequestUnauthorized(errorMessage);\n } else if (response.status === 404) {\n error = new ObjectNotFound(errorMessage);\n } else if (response.status === 409) {\n error = new ObjectAlreadyExists(errorMessage);\n } else if (response.status === 422) {\n error = new ObjectUnprocessable(errorMessage);\n } else if (response.status >= 500 && response.status <= 599) {\n error = new ServerError(errorMessage);\n } else {\n error = new HTTPError(errorMessage);\n }\n\n error.httpStatus = response.status;\n\n return error;\n }\n}\n","/* eslint-disable no-dupe-class-members */\n\nimport Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Collection from \"./Collection\";\nimport Aliases from \"./Aliases\";\nimport Alias from \"./Alias\";\nimport Keys from \"./Keys\";\nimport Key from \"./Key\";\nimport Debug from \"./Debug\";\nimport Metrics from \"./Metrics\";\nimport Stats from \"./Stats\";\nimport Health from \"./Health\";\nimport Operations from \"./Operations\";\nimport MultiSearch from \"./MultiSearch\";\nimport Presets from \"./Presets\";\nimport Preset from \"./Preset\";\nimport Analytics from \"./Analytics\";\nimport Stopwords from \"./Stopwords\";\nimport Stopword from \"./Stopword\";\nimport Conversations from \"./Conversations\";\nimport Conversation from \"./Conversation\";\n\nexport default class Client {\n configuration: Configuration;\n apiCall: ApiCall;\n debug: Debug;\n metrics: Metrics;\n stats: Stats;\n health: Health;\n operations: Operations;\n multiSearch: MultiSearch;\n analytics: Analytics;\n private readonly _collections: Collections;\n private readonly individualCollections: Record;\n private readonly _aliases: Aliases;\n private readonly individualAliases: Record;\n private readonly _keys: Keys;\n private readonly individualKeys: Record;\n private readonly _presets: Presets;\n private readonly individualPresets: Record;\n private readonly _stopwords: Stopwords;\n private readonly individualStopwords: Record;\n private readonly _conversations: Conversations;\n private readonly individualConversations: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? false;\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.debug = new Debug(this.apiCall);\n this.metrics = new Metrics(this.apiCall);\n this.stats = new Stats(this.apiCall);\n this.health = new Health(this.apiCall);\n this.operations = new Operations(this.apiCall);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration);\n this._collections = new Collections(this.apiCall);\n this.individualCollections = {};\n this._aliases = new Aliases(this.apiCall);\n this.individualAliases = {};\n this._keys = new Keys(this.apiCall);\n this.individualKeys = {};\n this._presets = new Presets(this.apiCall);\n this.individualPresets = {};\n this._stopwords = new Stopwords(this.apiCall);\n this.individualStopwords = {};\n this.analytics = new Analytics(this.apiCall);\n this._conversations = new Conversations(this.apiCall);\n this.individualConversations = {};\n }\n\n collections(): Collections;\n collections = object>(\n collectionName: string,\n ): Collection;\n collections(collectionName?: string): Collections | Collection {\n if (collectionName === undefined) {\n return this._collections;\n } else {\n if (this.individualCollections[collectionName] === undefined) {\n this.individualCollections[collectionName] = new Collection(\n collectionName,\n this.apiCall,\n this.configuration,\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n\n aliases(): Aliases;\n aliases(aliasName: string): Alias;\n aliases(aliasName?: string): Aliases | Alias {\n if (aliasName === undefined) {\n return this._aliases;\n } else {\n if (this.individualAliases[aliasName] === undefined) {\n this.individualAliases[aliasName] = new Alias(aliasName, this.apiCall);\n }\n return this.individualAliases[aliasName];\n }\n }\n\n keys(): Keys;\n keys(id: number): Key;\n keys(id?: number): Keys | Key {\n if (id === undefined) {\n return this._keys;\n } else {\n if (this.individualKeys[id] === undefined) {\n this.individualKeys[id] = new Key(id, this.apiCall);\n }\n return this.individualKeys[id];\n }\n }\n\n presets(): Presets;\n presets(id: string): Preset;\n presets(id?: string): Presets | Preset {\n if (id === undefined) {\n return this._presets;\n } else {\n if (this.individualPresets[id] === undefined) {\n this.individualPresets[id] = new Preset(id, this.apiCall);\n }\n return this.individualPresets[id];\n }\n }\n\n stopwords(): Stopwords;\n stopwords(id: string): Stopword;\n stopwords(id?: string): Stopwords | Stopword {\n if (id === undefined) {\n return this._stopwords;\n } else {\n if (this.individualStopwords[id] === undefined) {\n this.individualStopwords[id] = new Stopword(id, this.apiCall);\n }\n return this.individualStopwords[id];\n }\n }\n\n conversations(): Conversations;\n conversations(id: string): Conversation;\n conversations(id?: string): Conversations | Conversation {\n if (id === undefined) {\n return this._conversations;\n } else {\n if (this.individualConversations[id] === undefined) {\n this.individualConversations[id] = new Conversation(id, this.apiCall);\n }\n return this.individualConversations[id];\n }\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections, { CollectionCreateSchema } from \"./Collections\";\nimport Documents, { DocumentSchema } from \"./Documents\";\nimport { ObjectNotFound } from \"./Errors\";\nimport Overrides from \"./Overrides\";\nimport Override from \"./Override\";\nimport Synonyms from \"./Synonyms\";\nimport Synonym from \"./Synonym\";\nimport { Document } from \"./Document\";\n\nexport type FieldType =\n | \"string\"\n | \"int32\"\n | \"int64\"\n | \"float\"\n | \"bool\"\n | \"geopoint\"\n | \"geopoint[]\"\n | \"string[]\"\n | \"int32[]\"\n | \"int64[]\"\n | \"float[]\"\n | \"bool[]\"\n | \"object\"\n | \"object[]\"\n | \"auto\"\n | \"string*\"\n | \"image\";\n\nexport interface CollectionFieldSchema {\n name: string;\n type: FieldType;\n optional?: boolean;\n facet?: boolean;\n index?: boolean;\n sort?: boolean;\n locale?: string;\n infix?: boolean;\n stem?: boolean;\n num_dim?: number;\n store?: boolean;\n [t: string]: unknown;\n}\n\nexport interface CollectionSchema extends CollectionCreateSchema {\n created_at: number;\n num_documents: number;\n num_memory_shards: number;\n}\n\nexport interface CollectionDropFieldSchema {\n name: string;\n drop: true;\n}\n\nexport interface CollectionUpdateSchema\n extends Partial> {\n fields?: (CollectionFieldSchema | CollectionDropFieldSchema)[];\n}\n\nexport default class Collection {\n private readonly _documents: Documents;\n private individualDocuments: Record> = {};\n private readonly _overrides: Overrides;\n private individualOverrides: Record = {};\n private readonly _synonyms: Synonyms;\n private individualSynonyms: Record = {};\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any,\n ) {\n this.name = name;\n this.apiCall = apiCall;\n this.configuration = configuration;\n\n this._documents = new Documents(\n this.name,\n this.apiCall,\n this.configuration,\n );\n this._overrides = new Overrides(this.name, this.apiCall);\n this._synonyms = new Synonyms(this.name, this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(schema: CollectionUpdateSchema): Promise {\n return this.apiCall.patch(this.endpointPath(), schema);\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n async exists(): Promise {\n try {\n await this.retrieve();\n return true;\n } catch (e) {\n if (e instanceof ObjectNotFound) return false;\n throw e;\n }\n }\n\n documents(): Documents;\n documents(documentId: string): Document;\n documents(documentId?: string): Document | Documents {\n if (!documentId) {\n return this._documents;\n } else {\n if (this.individualDocuments[documentId] === undefined) {\n this.individualDocuments[documentId] = new Document(\n this.name,\n documentId,\n this.apiCall,\n );\n }\n return this.individualDocuments[documentId];\n }\n }\n\n overrides(): Overrides;\n overrides(overrideId: string): Override;\n overrides(overrideId?: string): Overrides | Override {\n if (overrideId === undefined) {\n return this._overrides;\n } else {\n if (this.individualOverrides[overrideId] === undefined) {\n this.individualOverrides[overrideId] = new Override(\n this.name,\n overrideId,\n this.apiCall,\n );\n }\n return this.individualOverrides[overrideId];\n }\n }\n\n synonyms(): Synonyms;\n synonyms(synonymId: string): Synonym;\n synonyms(synonymId?: string): Synonyms | Synonym {\n if (synonymId === undefined) {\n return this._synonyms;\n } else {\n if (this.individualSynonyms[synonymId] === undefined) {\n this.individualSynonyms[synonymId] = new Synonym(\n this.name,\n synonymId,\n this.apiCall,\n );\n }\n return this.individualSynonyms[synonymId];\n }\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { CollectionFieldSchema, CollectionSchema } from \"./Collection\";\n\nexport interface CollectionCreateSchema {\n name: string;\n default_sorting_field?: string;\n fields?: CollectionFieldSchema[];\n symbols_to_index?: string[];\n token_separators?: string[];\n enable_nested_fields?: boolean;\n metadata?: object;\n voice_query_model?: {\n model_name?: string;\n };\n}\n\nexport interface CollectionCreateOptions {\n src_name?: string;\n}\n\nexport interface CollectionsRetrieveOptions {\n exclude_fields?: string;\n}\n\nconst RESOURCEPATH = \"/collections\";\n\nexport default class Collections {\n constructor(private apiCall: ApiCall) {}\n\n async create(\n schema: CollectionCreateSchema,\n options: CollectionCreateOptions = {},\n ): Promise {\n return this.apiCall.post(RESOURCEPATH, schema, options);\n }\n\n async retrieve(\n options: CollectionsRetrieveOptions = {},\n ): Promise {\n return this.apiCall.get(RESOURCEPATH, options);\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import * as logger from \"loglevel\";\nimport { Logger, LogLevelDesc } from \"loglevel\";\nimport { MissingConfigurationError } from \"./Errors\";\nimport type { Agent as HTTPAgent } from \"http\";\nimport type { Agent as HTTPSAgent } from \"https\";\n\nexport interface NodeConfiguration {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n url?: string;\n}\n\nexport interface NodeConfigurationWithHostname {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n}\n\nexport interface NodeConfigurationWithUrl {\n url: string;\n}\n\nexport interface ConfigurationOptions {\n apiKey: string;\n nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n randomizeNodes?: boolean;\n /**\n * @deprecated\n * masterNode is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n masterNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n /**\n * @deprecated\n * readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n readReplicaNodes?:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n connectionTimeoutSeconds?: number;\n timeoutSeconds?: number;\n healthcheckIntervalSeconds?: number;\n numRetries?: number;\n retryIntervalSeconds?: number;\n sendApiKeyAsQueryParam?: boolean | undefined;\n useServerSideSearchCache?: boolean;\n cacheSearchResultsForSeconds?: number;\n additionalHeaders?: Record;\n\n logLevel?: LogLevelDesc;\n logger?: Logger;\n\n /**\n * Set a custom HTTP Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPAgent } = require(\"http\");\n * ...\n * httpAgent: new HTTPAgent({ keepAlive: true }),\n * @type {HTTPAgent}\n */\n httpAgent?: HTTPAgent;\n\n /**\n * Set a custom HTTPS Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPSAgent } = require(\"https\");\n * ...\n * httpsAgent: new HTTPSAgent({ keepAlive: true }),\n * @type {HTTPSAgent}\n */\n httpsAgent?: HTTPSAgent;\n\n /**\n * Set a custom paramsSerializer\n *\n * See axios documentation for more information on how to use this parameter: https://axios-http.com/docs/req_config\n * This is helpful for handling React Native issues like this: https://github.com/axios/axios/issues/6102#issuecomment-2085301397\n * @type {any}\n */\n paramsSerializer?: any;\n}\n\nexport default class Configuration {\n readonly nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n readonly nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n readonly connectionTimeoutSeconds: number;\n readonly healthcheckIntervalSeconds: number;\n readonly numRetries: number;\n readonly retryIntervalSeconds: number;\n readonly apiKey: string;\n readonly sendApiKeyAsQueryParam?: boolean;\n readonly cacheSearchResultsForSeconds: number;\n readonly useServerSideSearchCache: boolean;\n readonly logger: Logger;\n readonly logLevel: LogLevelDesc;\n readonly additionalHeaders?: Record;\n readonly httpAgent?: HTTPAgent;\n readonly httpsAgent?: HTTPSAgent;\n readonly paramsSerializer?: any;\n\n constructor(options: ConfigurationOptions) {\n this.nodes = options.nodes || [];\n this.nodes = this.nodes\n .map((node) => this.setDefaultPathInNode(node))\n .map((node) => this.setDefaultPortInNode(node))\n .map((node) => ({ ...node })) as NodeConfiguration[]; // Make a deep copy\n\n if (options.randomizeNodes == null) {\n options.randomizeNodes = true;\n }\n\n if (options.randomizeNodes === true) {\n this.shuffleArray(this.nodes);\n }\n\n this.nearestNode = options.nearestNode;\n this.nearestNode = this.setDefaultPathInNode(this.nearestNode);\n this.nearestNode = this.setDefaultPortInNode(this.nearestNode);\n\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\n this.apiKey = options.apiKey;\n this.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam; // We will set a default for this in Client and SearchClient\n\n this.cacheSearchResultsForSeconds =\n options.cacheSearchResultsForSeconds || 0; // Disable client-side cache by default\n this.useServerSideSearchCache = options.useServerSideSearchCache || false;\n\n this.logger = options.logger || logger;\n this.logLevel = options.logLevel || \"warn\";\n this.logger.setLevel(this.logLevel);\n\n this.additionalHeaders = options.additionalHeaders;\n\n this.httpAgent = options.httpAgent;\n this.httpsAgent = options.httpsAgent;\n\n this.paramsSerializer = options.paramsSerializer;\n\n this.showDeprecationWarnings(options);\n this.validate();\n }\n\n validate(): boolean {\n if (this.nodes == null || this.nodes.length === 0 || this.validateNodes()) {\n throw new MissingConfigurationError(\n \"Ensure that nodes[].protocol, nodes[].host and nodes[].port are set\",\n );\n }\n\n if (\n this.nearestNode != null &&\n this.isNodeMissingAnyParameters(this.nearestNode)\n ) {\n throw new MissingConfigurationError(\n \"Ensure that nearestNodes.protocol, nearestNodes.host and nearestNodes.port are set\",\n );\n }\n\n if (this.apiKey == null) {\n throw new MissingConfigurationError(\"Ensure that apiKey is set\");\n }\n\n return true;\n }\n\n private validateNodes(): boolean {\n return this.nodes.some((node) => {\n return this.isNodeMissingAnyParameters(node);\n });\n }\n\n private isNodeMissingAnyParameters(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl,\n ): boolean {\n return (\n ![\"protocol\", \"host\", \"port\", \"path\"].every((key) => {\n return node.hasOwnProperty(key);\n }) && node[\"url\"] == null\n );\n }\n\n private setDefaultPathInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (node != null && !node.hasOwnProperty(\"path\")) {\n node[\"path\"] = \"\";\n }\n return node;\n }\n\n private setDefaultPortInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (\n node != null &&\n !node.hasOwnProperty(\"port\") &&\n node.hasOwnProperty(\"protocol\")\n ) {\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\n private showDeprecationWarnings(options: ConfigurationOptions): void {\n if (options.timeoutSeconds) {\n this.logger.warn(\n \"Deprecation warning: timeoutSeconds is now renamed to connectionTimeoutSeconds\",\n );\n }\n if (options.masterNode) {\n this.logger.warn(\n \"Deprecation warning: masterNode is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n if (options.readReplicaNodes) {\n this.logger.warn(\n \"Deprecation warning: readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n }\n\n private shuffleArray(array) {\n for (let i = array.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [array[i], array[j]] = [array[j], array[i]];\n }\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Conversations from \"./Conversations\";\n\nexport interface ConversationDeleteSchema {\n id: number;\n}\n\nexport interface ConversationUpdateSchema {\n ttl: number;\n}\n\nexport interface ConversationSchema {\n id: number;\n conversation: object[];\n last_updated: number;\n ttl: number;\n}\n\nexport default class Conversation {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(\n params: ConversationUpdateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Conversations.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\n\nexport interface ConversationModelCreateSchema {\n id?: string;\n model_name: string;\n api_key?: string;\n system_prompt?: string;\n max_bytes: number;\n history_collection?: string;\n}\n\nexport interface ConversationModelDeleteSchema {\n id: string;\n}\n\nexport interface ConversationModelSchema extends ConversationModelCreateSchema {\n id: string;\n}\n\nexport default class ConversationModel {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async update(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(\n this.endpointPath(),\n );\n }\n\n private endpointPath(): string {\n return `${ConversationModels.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n ConversationModelCreateSchema,\n ConversationModelSchema,\n} from \"./ConversationModel\";\n\nconst RESOURCEPATH = \"/conversations/models\";\n\nexport default class ConversationModels {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(\n this.endpointPath(),\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${ConversationModels.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\nimport ConversationModel from \"./ConversationModel\";\nimport { ConversationSchema } from \"./Conversation\";\n\nconst RESOURCEPATH = \"/conversations\";\n\nexport interface ConversationsRetrieveSchema {\n conversations: ConversationSchema[];\n}\n\nexport default class Conversations {\n private readonly _conversationsModels: ConversationModels;\n private readonly individualConversationModels: Record<\n string,\n ConversationModel\n > = {};\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._conversationsModels = new ConversationModels(this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n models(): ConversationModels;\n models(id: string): ConversationModel;\n models(id?: string): ConversationModels | ConversationModel {\n if (id === undefined) {\n return this._conversationsModels;\n } else {\n if (this.individualConversationModels[id] === undefined) {\n this.individualConversationModels[id] = new ConversationModel(\n id,\n this.apiCall,\n );\n }\n return this.individualConversationModels[id];\n }\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/debug\";\n\nexport interface DebugResponseSchema {\n state: number;\n version: string;\n}\n\nexport default class Debug {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Documents, {\n DeleteQuery,\n DocumentSchema,\n DocumentWriteParameters,\n} from \"./Documents\";\n\nexport class Document {\n constructor(\n private collectionName: string,\n private documentId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(options?: DeleteQuery): Promise {\n return this.apiCall.delete(this.endpointPath(), options);\n }\n\n async update(\n partialDocument: Partial,\n options: DocumentWriteParameters = {}\n ): Promise {\n return this.apiCall.patch(this.endpointPath(), partialDocument, options);\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Documents.RESOURCEPATH}/${encodeURIComponent(this.documentId)}`;\n }\n}\n","import type { ReadStream } from \"fs\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport { ImportError } from \"./Errors\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\n// Todo: use generic to extract filter_by values\nexport interface DeleteQuery {\n filter_by?: string;\n batch_size?: number;\n ignore_not_found?: boolean;\n}\n\nexport interface DeleteResponse {\n num_deleted: number;\n}\n\ninterface ImportResponseSuccess {\n success: true;\n}\n\nexport interface ImportResponseFail {\n success: false;\n error: string;\n document: DocumentSchema;\n code: number;\n}\n\nexport type ImportResponse = ImportResponseSuccess | ImportResponseFail;\n\nexport type DocumentSchema = Record;\n\nexport interface SearchParamsWithPreset extends Partial {\n preset: string;\n}\n\ntype DropTokensMode =\n | \"right_to_left\"\n | \"left_to_right\"\n | \"both_sides:3\";\n\ntype OperationMode = \"off\" | \"always\" | \"fallback\";\nexport interface SearchParams {\n // From https://typesense.org/docs/latest/api/documents.html#arguments\n q?: string;\n query_by?: string | string[];\n query_by_weights?: string | number[];\n prefix?: string | boolean | boolean[]; // default: true\n filter_by?: string;\n enable_lazy_filter?: boolean; // default: false\n sort_by?: string | string[]; // default: text match desc\n facet_by?: string | string[];\n max_facet_values?: number;\n facet_sample_threshold?: number;\n facet_sample_percent?: number;\n facet_query?: string;\n facet_query_num_typos?: number;\n facet_return_parent?: string;\n page?: number; // default: 1\n per_page?: number; // default: 10, max 250\n group_by?: string | string[];\n group_limit?: number; // default:\n group_missing_values?: boolean;\n include_fields?: string | string[];\n exclude_fields?: string | string[];\n highlight_fields?: string | string[]; // default: all queried fields\n highlight_full_fields?: string | string[]; // default: all fields\n highlight_affix_num_tokens?: number; // default: 4\n highlight_start_tag?: string; // default: \n highlight_end_tag?: string; // default: \n enable_highlight_v1?: boolean;\n snippet_threshold?: number; // default: 30\n num_typos?: string | number | number[]; // default: 2\n min_len_1typo?: number;\n min_len_2typo?: number;\n split_join_tokens?: OperationMode;\n exhaustive_search?: boolean;\n drop_tokens_threshold?: number; // default: 10\n drop_tokens_mode?: DropTokensMode;\n typo_tokens_threshold?: number; // default: 100\n pinned_hits?: string | string[];\n hidden_hits?: string | string[];\n limit_hits?: number; // default: no limit\n pre_segmented_query?: boolean;\n enable_overrides?: boolean;\n prioritize_exact_match?: boolean; // default: true\n prioritize_token_position?: boolean;\n prioritize_num_matching_fields?: boolean;\n search_cutoff_ms?: number;\n use_cache?: boolean;\n max_candidates?: number;\n infix?: OperationMode | OperationMode[];\n preset?: string;\n text_match_type?: \"max_score\" | \"max_weight\";\n vector_query?: string;\n \"x-typesense-api-key\"?: string;\n \"x-typesense-user-id\"?: string;\n offset?: number;\n limit?: number;\n stopwords?: string;\n conversation?: boolean;\n conversation_model_id?: string;\n conversation_id?: string;\n voice_query?: string;\n}\n\ntype SearchResponseHighlightObject = {\n matched_tokens?: string[];\n snippet?: string;\n value?: string;\n};\n\nexport type SearchResponseHighlight = T extends string | number\n ? SearchResponseHighlightObject\n : {\n [TAttribute in keyof T]?: SearchResponseHighlight;\n };\n\nexport interface SearchResponseHit {\n curated?: true;\n highlights?: [\n {\n field: keyof T;\n snippet?: string;\n value?: string;\n snippets?: string[];\n indices?: number[];\n matched_tokens: string[][] | string[];\n },\n ];\n highlight: SearchResponseHighlight;\n document: T;\n text_match: number;\n text_match_info?: {\n best_field_score: string; // To prevent scores from being truncated by JSON spec\n best_field_weight: number;\n fields_matched: number;\n score: string; // To prevent scores from being truncated by JSON spec\n tokens_matched: number;\n };\n}\n\nexport interface SearchResponseFacetCountSchema {\n counts: {\n count: number;\n highlighted: string;\n value: string;\n }[];\n field_name: keyof T;\n stats: {\n avg?: number;\n max?: number;\n min?: number;\n sum?: number;\n };\n}\n\nexport interface SearchResponseRequestParams {\n collection_name?: string;\n q?: string;\n page?: number;\n per_page?: number;\n first_q?: string;\n voice_query?: {\n transcribed_query?: string;\n };\n}\n\n// Todo: we could infer whether this is a grouped response by adding the search params as a generic\nexport interface SearchResponse {\n facet_counts?: SearchResponseFacetCountSchema[];\n found: number;\n found_docs?: number;\n out_of: number;\n page: number;\n request_params: SearchResponseRequestParams;\n search_time_ms: number;\n search_cutoff?: boolean;\n hits?: SearchResponseHit[];\n grouped_hits?: {\n group_key: string[];\n hits: SearchResponseHit[];\n found?: number;\n }[];\n conversation?: {\n answer: string;\n conversation_history: {\n conversation: object[];\n id: string;\n last_updated: number;\n ttl: number;\n };\n conversation_id: string;\n query: string;\n };\n error?: string;\n code?: number;\n}\n\nexport interface DocumentWriteParameters {\n dirty_values?: \"coerce_or_reject\" | \"coerce_or_drop\" | \"drop\" | \"reject\";\n action?: \"create\" | \"update\" | \"upsert\" | \"emplace\";\n}\n\nexport interface UpdateByFilterParameters {\n filter_by?: string;\n}\n\nexport interface UpdateByFilterResponse {\n num_updated: number;\n}\n\nexport interface DocumentImportParameters extends DocumentWriteParameters {\n batch_size?: number;\n return_doc?: boolean;\n return_id?: boolean;\n}\n\nexport interface DocumentsExportParameters {\n filter_by?: string;\n include_fields?: string;\n exclude_fields?: string;\n}\n\nexport interface SearchableDocuments {\n search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n options: SearchOptions,\n ): Promise>;\n clearCache(): void;\n}\n\nexport interface WriteableDocuments {\n create(document: T, options: DocumentWriteParameters): Promise;\n upsert(document: T, options: DocumentWriteParameters): Promise;\n update(document: T, options: DocumentWriteParameters): Promise;\n delete(query: DeleteQuery): Promise;\n import(\n documents: T[] | string,\n options: DocumentWriteParameters,\n ): Promise;\n export(options: DocumentsExportParameters): Promise;\n}\n\nexport interface SearchOptions {\n cacheSearchResultsForSeconds?: number;\n abortSignal?: AbortSignal | null;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class Documents\n extends SearchOnlyDocuments\n implements WriteableDocuments\n{\n constructor(\n collectionName: string,\n apiCall: ApiCall,\n configuration: Configuration,\n ) {\n super(collectionName, apiCall, configuration);\n }\n\n async create(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(this.endpointPath(), document, options);\n }\n\n async upsert(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"upsert\" }),\n );\n }\n\n async update(\n document: T,\n options: UpdateByFilterParameters,\n ): Promise;\n async update(document: T, options: DocumentWriteParameters): Promise;\n async update(\n document: T,\n options: DocumentWriteParameters | UpdateByFilterParameters = {},\n ): Promise {\n if (!document) throw new Error(\"No document provided\");\n\n if (options[\"filter_by\"] != null) {\n return this.apiCall.patch(\n this.endpointPath(),\n document,\n Object.assign({}, options),\n );\n } else {\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"update\" }),\n );\n }\n }\n\n async delete(\n query: DeleteQuery = {} as DeleteQuery,\n ): Promise {\n return this.apiCall.delete(this.endpointPath(), query);\n }\n\n async createMany(documents: T[], options: DocumentImportParameters = {}) {\n this.configuration.logger.warn(\n \"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 );\n return this.import(documents, options);\n }\n\n /**\n * Import a set of documents in a batch.\n * @param {string|Array} documents - Can be a JSONL string of documents or an array of document objects.\n * @param options\n * @return {string|Array} Returns a JSONL string if the input was a JSONL string, otherwise it returns an array of results.\n */\n async import(\n documents: string,\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[],\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[] | string,\n options: DocumentImportParameters = {},\n ): Promise {\n let documentsInJSONLFormat;\n if (Array.isArray(documents)) {\n try {\n documentsInJSONLFormat = documents\n .map((document) => JSON.stringify(document))\n .join(\"\\n\");\n } catch (error: any) {\n // if rangeerror, throw custom error message\n if (\n error instanceof RangeError &&\n error.message.includes(\"Too many properties to enumerate\")\n ) {\n throw new Error(`${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\n // else, throw the non-range error anyways\n throw new Error(error);\n }\n } else {\n documentsInJSONLFormat = documents;\n }\n\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n if (Array.isArray(documents)) {\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter(\n (r) => r.success === false,\n );\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n } else {\n return resultsInJSONLFormat as string;\n }\n }\n /**\n * Imports documents from a NodeJS readable stream of JSONL.\n */\n async importStream(\n readableStream: ReadStream,\n options: DocumentImportParameters = {},\n ): Promise {\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\n queryParameters: options,\n bodyParameters: readableStream,\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter((r) => r.success === false);\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n }\n\n /**\n * Returns a JSONL string for all the documents in this collection\n */\n async export(options: DocumentsExportParameters = {}): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options);\n }\n\n /**\n * Returns a NodeJS readable stream of JSONL for all the documents in this collection.\n */\n async exportStream(\n options: DocumentsExportParameters = {},\n ): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options, {\n responseType: \"stream\",\n });\n }\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class HTTPError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\nimport { ImportResponse } from \"../Documents\";\n\nexport default class ImportError extends TypesenseError {\n importResults: ImportResponse[];\n constructor(message: string, importResults: ImportResponse[]) {\n super(message);\n this.importResults = importResults;\n }\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class MissingConfigurationError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectAlreadyExists extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectNotFound extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectUnprocessable extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestMalformed extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestUnauthorized extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ServerError extends TypesenseError {}\n","export default class TypesenseError extends Error {\n httpStatus?: number;\n\n // Source: https://stackoverflow.com/a/58417721/123545\n constructor(message?: string) {\n super(message);\n this.name = new.target.name;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n","import HTTPError from \"./HTTPError\";\nimport MissingConfigurationError from \"./MissingConfigurationError\";\nimport ObjectAlreadyExists from \"./ObjectAlreadyExists\";\nimport ObjectNotFound from \"./ObjectNotFound\";\nimport ObjectUnprocessable from \"./ObjectUnprocessable\";\nimport RequestMalformed from \"./RequestMalformed\";\nimport RequestUnauthorized from \"./RequestUnauthorized\";\nimport ServerError from \"./ServerError\";\nimport ImportError from \"./ImportError\";\nimport TypesenseError from \"./TypesenseError\";\n\nexport {\n HTTPError,\n MissingConfigurationError,\n ObjectAlreadyExists,\n ObjectNotFound,\n ObjectUnprocessable,\n RequestMalformed,\n RequestUnauthorized,\n ServerError,\n TypesenseError,\n ImportError,\n};\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/health\";\n\nexport interface HealthResponse {\n ok: boolean;\n}\n\nexport default class Health {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Keys from \"./Keys\";\n\nexport interface KeyCreateSchema {\n actions: string[];\n collections: string[];\n description?: string;\n value?: string;\n value_prefix?: string;\n expires_at?: number;\n}\n\nexport interface KeyDeleteSchema {\n id: number;\n}\n\nexport interface KeySchema extends KeyCreateSchema {\n id: number;\n}\n\nexport default class Key {\n constructor(private id: number, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Keys.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import { createHmac } from \"crypto\";\nimport ApiCall from \"./ApiCall\";\nimport { KeyCreateSchema, KeySchema } from \"./Key\";\nimport { SearchParams } from \"./Documents\";\n\nconst RESOURCEPATH = \"/keys\";\n\nexport interface KeysRetrieveSchema {\n keys: KeySchema[];\n}\n\nexport interface GenerateScopedSearchKeyParams extends Partial {\n expires_at?: number;\n cache_ttl?: number;\n limit_multi_searches?: number;\n}\n\nexport default class Keys {\n constructor(private apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(params: KeyCreateSchema): Promise {\n return this.apiCall.post(Keys.RESOURCEPATH, params);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n generateScopedSearchKey(\n searchKey: string,\n parameters: GenerateScopedSearchKeyParams\n ): string {\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 const paramsJSON = JSON.stringify(parameters);\n const digest = Buffer.from(\n createHmac(\"sha256\", searchKey).update(paramsJSON).digest(\"base64\")\n );\n const keyPrefix = searchKey.substr(0, 4);\n const rawScopedKey = `${digest}${keyPrefix}${paramsJSON}`;\n\n return Buffer.from(rawScopedKey).toString(\"base64\");\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/metrics.json\";\n\nexport interface MetricsResponse {\n [key: `system_cpu${number}_active_percentage`]: string;\n system_cpu_active_percentage: string;\n system_disk_total_bytes: string;\n system_disk_used_bytes: string;\n system_memory_total_bytes: string;\n system_memory_total_swap_bytes?: string;\n system_memory_used_bytes: string;\n system_memory_used_swap_bytes?: string;\n system_network_received_bytes: string;\n system_network_sent_bytes: string;\n typesense_memory_active_bytes: string;\n typesense_memory_allocated_bytes: string;\n typesense_memory_fragmentation_ratio: string;\n typesense_memory_mapped_bytes: string;\n typesense_memory_metadata_bytes: string;\n typesense_memory_resident_bytes: string;\n typesense_memory_retained_bytes: string;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport RequestWithCache from \"./RequestWithCache\";\nimport {\n DocumentSchema,\n SearchParams,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\n\nconst RESOURCEPATH = \"/multi_search\";\n\nexport interface MultiSearchRequestSchema extends SearchParams {\n collection?: string;\n \"x-typesense-api-key\"?: string;\n}\n\nexport interface MultiSearchRequestWithPresetSchema\n extends SearchParamsWithPreset {\n collection?: string;\n \"x-typesense-api-key\"?: string;\n}\n\nexport interface MultiSearchRequestsSchema {\n searches: (MultiSearchRequestSchema | MultiSearchRequestWithPresetSchema)[];\n}\n\nexport interface MultiSearchResponse {\n results: { [Index in keyof T]: SearchResponse } & {\n length: T[\"length\"];\n };\n}\n\nexport default class MultiSearch {\n private requestWithCache: RequestWithCache;\n\n constructor(\n private apiCall: ApiCall,\n private configuration: Configuration,\n private useTextContentType: boolean = false\n ) {\n this.requestWithCache = new RequestWithCache();\n }\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async perform(\n searchRequests: MultiSearchRequestsSchema,\n commonParams: Partial = {},\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n }: { cacheSearchResultsForSeconds?: number } = {}\n ): Promise> {\n const additionalHeaders = {};\n if (this.useTextContentType) {\n additionalHeaders[\"content-type\"] = \"text/plain\";\n }\n\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n const queryParams = Object.assign({}, commonParams, additionalQueryParams);\n\n return this.requestWithCache.perform(\n this.apiCall,\n this.apiCall.post,\n [RESOURCEPATH, searchRequests, queryParams, additionalHeaders],\n { cacheResponseForSeconds: cacheSearchResultsForSeconds }\n ) as Promise>;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/operations\";\n\nexport default class Operations {\n constructor(private apiCall: ApiCall) {}\n\n async perform(\n operationName: \"vote\" | \"snapshot\" | \"cache/clear\" | string,\n queryParameters: Record = {}\n ): Promise {\n return this.apiCall.post(\n `${RESOURCEPATH}/${operationName}`,\n {},\n queryParameters\n );\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Overrides, { OverrideCreateSchema } from \"./Overrides\";\n\nexport interface OverrideSchema extends OverrideCreateSchema {\n id: string;\n}\n\nexport interface OverrideDeleteSchema {\n id: string;\n}\n\nexport default class Override {\n constructor(\n private collectionName: string,\n private overrideId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Overrides.RESOURCEPATH}/${encodeURIComponent(this.overrideId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { OverrideSchema } from \"./Override\";\n\nconst RESOURCEPATH = \"/overrides\";\n\nexport interface OverrideRuleQuerySchema {\n query?: string;\n match?: \"exact\" | \"contains\";\n}\n\nexport interface OverrideRuleFilterSchema {\n filter_by?: string;\n}\n\nexport interface OverrideRuleTagsSchema {\n tags?: string[];\n}\n\nexport interface OverrideCreateSchema {\n rule: OverrideRuleQuerySchema &\n OverrideRuleFilterSchema &\n OverrideRuleTagsSchema;\n filter_by?: string;\n sort_by?: string;\n remove_matched_tokens?: boolean;\n replace_query?: string;\n includes?: Array<{\n id: string;\n position: number;\n }>;\n excludes?: Array<{ id: string }>;\n filter_curated_hits?: boolean;\n effective_from_ts?: number;\n effective_to_ts?: number;\n stop_processing?: boolean;\n metadata?: object;\n}\n\nexport interface OverridesRetrieveSchema {\n overrides: OverrideSchema[];\n}\n\nexport default class Overrides {\n constructor(\n private collectionName: string,\n private apiCall: ApiCall,\n ) {}\n\n async upsert(\n overrideId: string,\n params: OverrideCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(overrideId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${\n Overrides.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Presets, { PresetCreateSchema } from \"./Presets\";\n\nexport interface PresetSchema extends PresetCreateSchema {\n name: string;\n}\n\nexport interface PresetDeleteSchema {\n name: string;\n}\n\nexport default class Preset {\n constructor(private presetId: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Presets.RESOURCEPATH}/${encodeURIComponent(this.presetId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { PresetSchema } from \"./Preset\";\nimport { SearchParams } from \"./Documents\";\nimport { MultiSearchRequestsSchema } from \"./MultiSearch\";\n\nconst RESOURCEPATH = \"/presets\";\n\nexport interface PresetCreateSchema {\n value: SearchParams | MultiSearchRequestsSchema;\n}\n\nexport interface PresetsRetrieveSchema {\n presets: PresetSchema[];\n}\n\nexport default class Presets {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n presetId: string,\n params: PresetCreateSchema\n ): Promise {\n return this.apiCall.put(this.endpointPath(presetId), params);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Presets.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","const defaultCacheResponseForSeconds = 2 * 60;\nconst defaultMaxSize = 100;\n\nexport default class RequestWithCache {\n private responseCache: Map = new Map();\n private responsePromiseCache: Map = new Map();\n\n clearCache() {\n this.responseCache = new Map();\n this.responsePromiseCache = new Map();\n }\n\n // Todo: should probably be passed a callback instead, or an apiCall instance. Types are messy this way\n async perform(\n requestContext: any,\n requestFunction: (...params: any) => unknown,\n requestFunctionArguments: any[],\n cacheOptions: CacheOptions\n ): Promise {\n const {\n cacheResponseForSeconds = defaultCacheResponseForSeconds,\n maxSize = defaultMaxSize,\n } = cacheOptions;\n const isCacheDisabled = cacheResponseForSeconds <= 0 || maxSize <= 0;\n\n if (isCacheDisabled) {\n return requestFunction.call(requestContext, ...requestFunctionArguments);\n }\n\n const requestFunctionArgumentsJSON = JSON.stringify(\n requestFunctionArguments\n );\n const cacheEntry = this.responseCache.get(requestFunctionArgumentsJSON);\n const now = Date.now();\n\n if (cacheEntry) {\n const isEntryValid =\n now - cacheEntry.requestTimestamp < cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n this.responseCache.set(requestFunctionArgumentsJSON, cacheEntry);\n return Promise.resolve(cacheEntry.response);\n } else {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n\n const cachePromiseEntry = this.responsePromiseCache.get(\n requestFunctionArgumentsJSON\n );\n\n if (cachePromiseEntry) {\n const isEntryValid =\n now - cachePromiseEntry.requestTimestamp <\n cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n this.responsePromiseCache.set(\n requestFunctionArgumentsJSON,\n cachePromiseEntry\n );\n return cachePromiseEntry.responsePromise;\n } else {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n\n const responsePromise = requestFunction.call(\n requestContext,\n ...requestFunctionArguments\n );\n this.responsePromiseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n responsePromise,\n });\n\n const response = await responsePromise;\n this.responseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n response,\n });\n\n const isCacheOverMaxSize = this.responseCache.size > maxSize;\n if (isCacheOverMaxSize) {\n const oldestEntry = this.responseCache.keys().next().value;\n this.responseCache.delete(oldestEntry);\n }\n const isResponsePromiseCacheOverMaxSize =\n this.responsePromiseCache.size > maxSize;\n if (isResponsePromiseCacheOverMaxSize) {\n const oldestEntry = this.responsePromiseCache.keys().next().value;\n this.responsePromiseCache.delete(oldestEntry);\n }\n return response as T;\n }\n}\n\ninterface CacheOptions {\n cacheResponseForSeconds?: number;\n maxSize?: number;\n}\n","import Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport MultiSearch from \"./MultiSearch\";\nimport { DocumentSchema } from \"./Documents\";\nimport { SearchOnlyCollection } from \"./SearchOnlyCollection\";\n\nexport default class SearchClient {\n public readonly multiSearch: MultiSearch;\n private readonly configuration: Configuration;\n private readonly apiCall: ApiCall;\n private readonly individualCollections: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? true;\n if (\n options.sendApiKeyAsQueryParam === true &&\n (options.apiKey || \"\").length > 2000\n ) {\n console.warn(\n \"[typesense] API Key is longer than 2000 characters which is over the allowed limit, so disabling sending it as a query parameter.\"\n );\n options.sendApiKeyAsQueryParam = false;\n }\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration, true);\n this.individualCollections = {};\n }\n\n clearCache() {\n this.multiSearch.clearCache();\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Object.entries(this.individualCollections).forEach(([_, collection]) => {\n collection.documents().clearCache();\n });\n }\n\n collections(\n collectionName: string\n ): SearchOnlyCollection | SearchOnlyCollection {\n if (!collectionName) {\n throw new Error(\n \"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(\n collectionName,\n this.apiCall,\n this.configuration\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n}\n","import { DocumentSchema, SearchableDocuments } from \"./Documents\";\nimport ApiCall from \"./ApiCall\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\nexport class SearchOnlyCollection {\n private readonly _documents: SearchableDocuments;\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any\n ) {\n this._documents = new SearchOnlyDocuments(\n this.name,\n this.apiCall,\n this.configuration\n );\n }\n\n documents(): SearchableDocuments {\n return this._documents;\n }\n}\n","import RequestWithCache from \"./RequestWithCache\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport Collections from \"./Collections\";\nimport type {\n DocumentSchema,\n SearchableDocuments,\n SearchOptions,\n SearchParams,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\n\nconst RESOURCEPATH = \"/documents\";\n\nexport class SearchOnlyDocuments\n implements SearchableDocuments\n{\n protected requestWithCache: RequestWithCache = new RequestWithCache();\n\n constructor(\n protected collectionName: string,\n protected apiCall: ApiCall,\n protected configuration: Configuration\n ) {}\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n abortSignal = null,\n }: SearchOptions = {}\n ): Promise> {\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n for (const key in searchParameters) {\n if (Array.isArray(searchParameters[key])) {\n additionalQueryParams[key] = searchParameters[key].join(\",\");\n }\n }\n const queryParams = Object.assign(\n {},\n searchParameters,\n additionalQueryParams\n );\n\n return this.requestWithCache.perform(\n this.apiCall,\n this.apiCall.get,\n [this.endpointPath(\"search\"), queryParams, { abortSignal }],\n {\n cacheResponseForSeconds: cacheSearchResultsForSeconds,\n }\n ) as Promise>;\n }\n\n protected endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + operation\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/stats.json\";\n\nexport interface EndpointStats {\n [endpoint: string]: number;\n}\n\nexport interface StatsResponse {\n delete_latency_ms?: number;\n delete_requests_per_second?: number;\n import_latency_ms?: number;\n import_requests_per_second?: number;\n latency_ms?: EndpointStats;\n overloaded_requests_per_second?: number;\n pending_write_batches?: number;\n requests_per_second?: EndpointStats;\n search_latency_ms?: number;\n search_requests_per_second?: number;\n total_requests_per_second?: number;\n write_latency_ms?: number;\n write_requests_per_second?: number;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Stopwords, { StopwordCreateSchema } from \"./Stopwords\";\n\nexport interface StopwordSchema extends StopwordCreateSchema {\n id: string;\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordDeleteSchema {\n id: string;\n}\n\nexport default class Stopword {\n constructor(\n private stopwordId: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Stopwords.RESOURCEPATH}/${encodeURIComponent(this.stopwordId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { StopwordSchema } from \"./Stopword\";\n\nconst RESOURCEPATH = \"/stopwords\";\n\nexport interface StopwordCreateSchema {\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordsRetrieveSchema {\n stopwords: StopwordSchema[];\n}\n\nexport default class Stopwords {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n stopwordId: string,\n params: StopwordCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(stopwordId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Stopwords.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Synonyms, { SynonymCreateSchema } from \"./Synonyms\";\n\nexport interface SynonymSchema extends SynonymCreateSchema {\n id: string;\n}\n\nexport interface SynonymDeleteSchema {\n id: string;\n}\n\nexport default class Synonym {\n constructor(\n private collectionName: string,\n private synonymId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Synonyms.RESOURCEPATH}/${encodeURIComponent(this.synonymId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { SynonymSchema } from \"./Synonym\";\n\nconst RESOURCEPATH = \"/synonyms\";\n\nexport interface SynonymCreateSchema {\n synonyms: string[];\n root?: string;\n locale?: string;\n symbols_to_index?: string[];\n}\n\nexport interface SynonymsRetrieveSchema {\n synonyms: SynonymSchema[];\n}\n\nexport default class Synonyms {\n constructor(private collectionName: string, private apiCall: ApiCall) {}\n\n async upsert(\n synonymId: string,\n params: SynonymCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(synonymId),\n params\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${\n Synonyms.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\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 var _loggersByName = {};\n var defaultLogger = null;\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() {\n /*jshint validthis:true */\n var level = this.getLevel();\n\n // Replace the actual methods.\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, this.name);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n\n // Return any important warnings.\n if (typeof console === undefinedType && level < this.levels.SILENT) {\n return \"No console available for logging\";\n }\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) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this);\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, factory) {\n // Private instance variables.\n var self = this;\n /**\n * The level inherited from a parent logger (or a global default). We\n * cache this here rather than delegating to the parent so that it stays\n * in sync with the actual logging methods that we have installed (the\n * parent could change levels but we might not have rebuilt the loggers\n * in this child yet).\n * @type {number}\n */\n var inheritedLevel;\n /**\n * The default level for this logger, if any. If set, this overrides\n * `inheritedLevel`.\n * @type {number|null}\n */\n var defaultLevel;\n /**\n * A user-specific level for this logger. If set, this overrides\n * `defaultLevel`.\n * @type {number|null}\n */\n var userLevel;\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 cookieName = encodeURIComponent(storageKey);\n var location = cookie.indexOf(cookieName + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(\n cookie.slice(location + cookieName.length + 1)\n )[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 } 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 function normalizeLevel(input) {\n var level = input;\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 return level;\n } else {\n throw new TypeError(\"log.setLevel() called with invalid level: \" + input);\n }\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 if (userLevel != null) {\n return userLevel;\n } else if (defaultLevel != null) {\n return defaultLevel;\n } else {\n return inheritedLevel;\n }\n };\n\n self.setLevel = function (level, persist) {\n userLevel = normalizeLevel(level);\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(userLevel);\n }\n\n // NOTE: in v2, this should call rebuild(), which updates children.\n return replaceLoggingMethods.call(self);\n };\n\n self.setDefaultLevel = function (level) {\n defaultLevel = normalizeLevel(level);\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.resetLevel = function () {\n userLevel = null;\n clearPersistedLevel();\n replaceLoggingMethods.call(self);\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 self.rebuild = function () {\n if (defaultLogger !== self) {\n inheritedLevel = normalizeLevel(defaultLogger.getLevel());\n }\n replaceLoggingMethods.call(self);\n\n if (defaultLogger === self) {\n for (var childName in _loggersByName) {\n _loggersByName[childName].rebuild();\n }\n }\n };\n\n // Initialize all the internal levels.\n inheritedLevel = normalizeLevel(\n defaultLogger ? defaultLogger.getLevel() : \"WARN\"\n );\n var initialLevel = getPersistedLevel();\n if (initialLevel != null) {\n userLevel = normalizeLevel(initialLevel);\n }\n replaceLoggingMethods.call(self);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n defaultLogger = new Logger();\n\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,\n defaultLogger.methodFactory\n );\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","/* (ignored) */","/* (ignored) */","/* (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 e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw new Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\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}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\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 setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\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 _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _isNativeFunction(fn) {\n try {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n } catch (e) {\n return typeof fn === \"function\";\n }\n}","export default function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\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(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\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 _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\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(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\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 getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst supportsRequestStream = isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n});\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n return (await new Request(body).arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ?\n composeSignals([signal, cancelToken], timeout) : [];\n\n let finished, request;\n\n const onFinish = () => {\n !finished && setTimeout(() => {\n composedSignal && composedSignal.unsubscribe();\n });\n\n finished = true;\n }\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush, encodeText);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = \"credentials\" in Request.prototype; \n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n isStreamResponse && onFinish();\n }, encodeText),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && onFinish();\n\n stopTimeout && stopTimeout();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n onFinish();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, 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 const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n 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(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, 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(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\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 (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : 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 const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\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\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(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, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n 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\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const 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 */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(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 {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _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 const {transitional, paramsSerializer, headers} = config;\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 if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let 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 const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\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,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport utils from '../utils.js';\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 {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n 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: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\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 */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n 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 *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\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 *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\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 *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\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 *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(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 config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\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 config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\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 *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, 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(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const 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 withXSRFToken: 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 beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\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 *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\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\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\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 env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\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 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","export const VERSION = \"1.7.5\";","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\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 * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\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 *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst composeSignals = (signals, timeout) => {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (cancel) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = cancel instanceof Error ? cancel : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal &&\n (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort));\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = unsubscribe;\n\n return [signal, () => {\n timer && clearTimeout(timer);\n timer = null;\n }];\n}\n\nexport default composeSignals;\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default 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\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\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 const msie = platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let 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 const 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","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\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} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\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\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\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 *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn.apply(null, args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize, encode) {\n for await (const chunk of iterable) {\n yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize);\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => {\n const iterator = readBytes(stream, chunkSize, encode);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\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 *\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 (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\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 *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\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 *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\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 && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let 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 {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\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 *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\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 (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 const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\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 *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && 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 *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\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 *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap\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))","// 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};","import Client from \"./Typesense/Client\";\nimport SearchClient from \"./Typesense/SearchClient\";\nimport * as Errors from \"./Typesense/Errors\";\n\nexport { Client, SearchClient, Errors };\nexport default { Client, SearchClient, Errors };\n"],"names":["Aliases","Alias","name","apiCall","_classCallCheck","_createClass","key","value","_retrieve","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","abrupt","get","endpointPath","stop","retrieve","apply","arguments","_delete2","_callee2","_callee2$","_context2","delete","_delete","concat","RESOURCEPATH","encodeURIComponent","default","_upsert","mapping","put","upsert","_x","_x2","aliasName","AnalyticsRules","AnalyticsRule","AnalyticsEvents","Analytics","_defineProperty","_analyticsRules","_analyticsEvents","rules","id","undefined","individualAnalyticsRules","events","_create","params","post","create","operation","axios","HTTPError","ObjectAlreadyExists","ObjectNotFound","ObjectUnprocessable","RequestMalformed","RequestUnauthorized","ServerError","TypesenseError","Agent","HTTPAgent","HTTPSAgent","APIKEYHEADERNAME","HEALTHY","UNHEALTHY","isNodeJSEnvironment","process","versions","node","ApiCall","configuration","apiKey","nodes","JSON","parse","stringify","nearestNode","connectionTimeoutSeconds","healthcheckIntervalSeconds","numRetriesPerRequest","numRetries","retryIntervalSeconds","sendApiKeyAsQueryParam","additionalUserHeaders","additionalHeaders","logger","initializeMetadataForNodes","currentNodeIndex","_get","endpoint","queryParameters","_ref","_ref$abortSignal","abortSignal","_ref$responseType","responseType","_args","length","performRequest","_args2","_post","_callee3","bodyParameters","_args3","_callee3$","_context3","_x3","_put","_callee4","_args4","_callee4$","_context4","_x4","_patch","_callee5","_args5","_callee5$","_context5","patch","_x5","_performRequest","_callee6","requestType","_ref2","_this","_ref2$queryParameters","_ref2$bodyParameters","_ref2$additionalHeade","_ref2$abortSignal","_ref2$responseType","_ref2$skipConnectionT","skipConnectionTimeout","_ref2$enableKeepAlive","enableKeepAlive","requestNumber","lastException","_loop","_ret","numTries","_callee6$","_context7","validate","Date","now","debug","toUpperCase","abortListener","requestOptions","cancelToken","source","response","_response$data","_response$data2","_error$response","_loop$","_context6","getNextNode","index","aborted","v","Promise","reject","Error","method","url","uriFor","headers","Object","assign","defaultHeaders","maxContentLength","Infinity","maxBodyLength","validateStatus","status","transformResponse","data","transformedData","startsWith","timeout","keys","httpAgent","warn","keepAlive","httpsAgent","paramsSerializer","_typeof","CancelToken","cancel","addEventListener","token","sent","setNodeHealthcheck","resolve","customErrorForResponse","message","t0","code","timer","removeEventListener","finish","delegateYield","_x6","_x7","_x8","isHealthy","nodeDueForHealthcheck","map","join","candidateNode","i","isDueForHealthcheck","lastAccessTimestamp","_this2","forEach","protocol","host","port","path","_timer","_callee7","seconds","_callee7$","_context8","setTimeout","_x9","messageFromServer","errorMessage","trim","error","httpStatus","Configuration","Collections","Collection","Keys","Key","Debug","Metrics","Stats","Health","Operations","MultiSearch","Presets","Preset","Stopwords","Stopword","Conversations","Conversation","Client","options","_options$sendApiKeyAs","metrics","stats","health","operations","multiSearch","_collections","individualCollections","_aliases","individualAliases","_keys","individualKeys","_presets","individualPresets","_stopwords","individualStopwords","analytics","_conversations","individualConversations","collections","collectionName","aliases","presets","stopwords","conversations","Documents","Overrides","Override","Synonyms","Synonym","Document","_documents","_overrides","_synonyms","_update","schema","update","_exists","exists","documents","documentId","individualDocuments","overrides","overrideId","individualOverrides","synonyms","synonymId","individualSynonyms","MissingConfigurationError","setDefaultPathInNode","setDefaultPortInNode","_objectSpread","randomizeNodes","shuffleArray","timeoutSeconds","cacheSearchResultsForSeconds","useServerSideSearchCache","logLevel","setLevel","showDeprecationWarnings","validateNodes","isNodeMissingAnyParameters","some","every","hasOwnProperty","masterNode","readReplicaNodes","array","j","Math","floor","random","ConversationModels","ConversationModel","_conversationsModels","models","individualConversationModels","partialDocument","ImportError","SearchOnlyDocuments","_inherits","_callSuper","document","action","query","_createMany","import","createMany","_import2","documentsInJSONLFormat","resultsInJSONLFormat","resultsInJSONFormat","failedItems","_args6","Array","isArray","RangeError","includes","split","r","filter","success","_import","_importStream","readableStream","_args7","importStream","_export2","_callee8","_args8","_callee8$","_export","_exportStream","_callee9","_args9","_callee9$","_context9","exportStream","_TypesenseError","importResults","_Error","constructor","setPrototypeOf","_assertThisInitialized","prototype","_wrapNativeSuper","createHmac","generateScopedSearchKey","searchKey","parameters","paramsJSON","digest","Buffer","from","keyPrefix","substr","rawScopedKey","toString","RequestWithCache","useTextContentType","requestWithCache","clearCache","_perform","searchRequests","commonParams","_ref$cacheSearchResul","additionalQueryParams","queryParams","perform","cacheResponseForSeconds","operationName","presetId","defaultCacheResponseForSeconds","defaultMaxSize","Map","responseCache","responsePromiseCache","requestContext","requestFunction","requestFunctionArguments","cacheOptions","_cacheOptions$cacheRe","_cacheOptions$maxSize","maxSize","isCacheDisabled","requestFunctionArgumentsJSON","cacheEntry","isEntryValid","cachePromiseEntry","_isEntryValid","responsePromise","isCacheOverMaxSize","oldestEntry","isResponsePromiseCacheOverMaxSize","_oldestEntry","call","_toConsumableArray","requestTimestamp","set","size","SearchOnlyCollection","SearchClient","console","entries","_slicedToArray","_","collection","_search","searchParameters","search","stopwordId","Errors"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/typesense.min.js b/dist/typesense.min.js index a5aa6ded..6ef6dd3c 100644 --- a/dist/typesense.min.js +++ b/dist/typesense.min.js @@ -1,3 +1,3 @@ /*! For license information please see typesense.min.js.LICENSE.txt */ -var Typesense;(()=>{var e={43:function(e,t,n){var r,o;!function(i,a){"use strict";r=function(){var e=function(){},t="undefined",n=typeof window!==t&&typeof window.navigator!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),r=["trace","debug","info","warn","error"],o={},i=null;function a(e,t){var n=e[t];if("function"==typeof n.bind)return n.bind(e);try{return Function.prototype.bind.call(n,e)}catch(t){return function(){return Function.prototype.apply.apply(n,[e,arguments])}}}function s(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function c(){for(var n=this.getLevel(),o=0;o=0&&t<=h.levels.SILENT)return t;throw new TypeError("log.setLevel() called with invalid level: "+e)}"string"==typeof e?p+=":"+e:"symbol"==typeof e&&(p=void 0),h.name=e,h.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},h.methodFactory=n||l,h.getLevel=function(){return null!=u?u:null!=s?s:a},h.setLevel=function(e,n){return u=d(e),!1!==n&&function(e){var n=(r[e]||"silent").toUpperCase();if(typeof window!==t&&p){try{return void(window.localStorage[p]=n)}catch(e){}try{window.document.cookie=encodeURIComponent(p)+"="+n+";"}catch(e){}}}(u),c.call(h)},h.setDefaultLevel=function(e){s=d(e),f()||h.setLevel(e,!1)},h.resetLevel=function(){u=null,function(){if(typeof window!==t&&p){try{window.localStorage.removeItem(p)}catch(e){}try{window.document.cookie=encodeURIComponent(p)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch(e){}}}(),c.call(h)},h.enableAll=function(e){h.setLevel(h.levels.TRACE,e)},h.disableAll=function(e){h.setLevel(h.levels.SILENT,e)},h.rebuild=function(){if(i!==h&&(a=d(i.getLevel())),c.call(h),i===h)for(var e in o)o[e].rebuild()},a=d(i?i.getLevel():"WARN");var y=f();null!=y&&(u=d(y)),c.call(h)}(i=new h).getLogger=function(e){if("symbol"!=typeof e&&"string"!=typeof e||""===e)throw new TypeError("You must supply a name when creating a logger.");var t=o[e];return t||(t=o[e]=new h(e,i.methodFactory)),t};var p=typeof window!==t?window.log:void 0;return i.noConflict=function(){return typeof window!==t&&window.log===i&&(window.log=p),i},i.getLoggers=function(){return o},i.default=i,i},void 0===(o=r.call(t,n,t,e))||(e.exports=o)}()},565:()=>{},337:()=>{},877:()=>{},61:(e,t,n)=>{var r=n(698).default;function o(){"use strict";e.exports=o=function(){return n},e.exports.__esModule=!0,e.exports.default=e.exports;var t,n={},i=Object.prototype,a=i.hasOwnProperty,s=Object.defineProperty||function(e,t,n){e[t]=n.value},c="function"==typeof Symbol?Symbol:{},u=c.iterator||"@@iterator",l=c.asyncIterator||"@@asyncIterator",h=c.toStringTag||"@@toStringTag";function p(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{p({},"")}catch(t){p=function(e,t,n){return e[t]=n}}function f(e,t,n,r){var o=t&&t.prototype instanceof b?t:b,i=Object.create(o.prototype),a=new U(r||[]);return s(i,"_invoke",{value:A(e,n,a)}),i}function d(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}n.wrap=f;var y="suspendedStart",v="suspendedYield",m="executing",g="completed",w={};function b(){}function C(){}function R(){}var k={};p(k,u,(function(){return this}));var E=Object.getPrototypeOf,S=E&&E(E(_([])));S&&S!==i&&a.call(S,u)&&(k=S);var O=R.prototype=b.prototype=Object.create(k);function P(e){["next","throw","return"].forEach((function(t){p(e,t,(function(e){return this._invoke(t,e)}))}))}function x(e,t){function n(o,i,s,c){var u=d(e[o],e,i);if("throw"!==u.type){var l=u.arg,h=l.value;return h&&"object"==r(h)&&a.call(h,"__await")?t.resolve(h.__await).then((function(e){n("next",e,s,c)}),(function(e){n("throw",e,s,c)})):t.resolve(h).then((function(e){l.value=e,s(l)}),(function(e){return n("throw",e,s,c)}))}c(u.arg)}var o;s(this,"_invoke",{value:function(e,r){function i(){return new t((function(t,o){n(e,r,t,o)}))}return o=o?o.then(i,i):i()}})}function A(e,n,r){var o=y;return function(i,a){if(o===m)throw new Error("Generator is already running");if(o===g){if("throw"===i)throw a;return{value:t,done:!0}}for(r.method=i,r.arg=a;;){var s=r.delegate;if(s){var c=T(s,r);if(c){if(c===w)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(o===y)throw o=g,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);o=m;var u=d(e,n,r);if("normal"===u.type){if(o=r.done?g:v,u.arg===w)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(o=g,r.method="throw",r.arg=u.arg)}}}function T(e,n){var r=n.method,o=e.iterator[r];if(o===t)return n.delegate=null,"throw"===r&&e.iterator.return&&(n.method="return",n.arg=t,T(e,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),w;var i=d(o,e.iterator,n.arg);if("throw"===i.type)return n.method="throw",n.arg=i.arg,n.delegate=null,w;var a=i.arg;return a?a.done?(n[e.resultName]=a.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,w):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,w)}function N(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function j(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function U(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(N,this),this.reset(!0)}function _(e){if(e||""===e){var n=e[u];if(n)return n.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function n(){for(;++o=0;--o){var i=this.tryEntries[o],s=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var c=a.call(i,"catchLoc"),u=a.call(i,"finallyLoc");if(c&&u){if(this.prev=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&a.call(r,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),j(n),w}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;j(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:_(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),w}},n}e.exports=o,e.exports.__esModule=!0,e.exports.default=e.exports},698:e=>{function t(n){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(n)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},687:(e,t,n)=>{var r=n(61)();e.exports=r;try{regeneratorRuntime=r}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=r:Function("r","regeneratorRuntime = r")(r)}}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r].call(i.exports,i,i.exports,n),i.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};(()=>{"use strict";n.r(r),n.d(r,{Client:()=>or,Errors:()=>t,SearchClient:()=>ar,default:()=>sr});var e={};n.r(e),n.d(e,{hasBrowserEnv:()=>Ue,hasStandardBrowserEnv:()=>_e,hasStandardBrowserWebWorkerEnv:()=>Ie,origin:()=>Fe});var t={};function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function a(e){var t=function(e,t){if("object"!=i(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=i(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==i(t)?t:String(t)}function s(e,t){for(var n=0;non,ImportError:()=>yn,MissingConfigurationError:()=>k,ObjectAlreadyExists:()=>Qt,ObjectNotFound:()=>Wt,ObjectUnprocessable:()=>Yt,RequestMalformed:()=>Dt,RequestUnauthorized:()=>Kt,ServerError:()=>tn,TypesenseError:()=>b});var l=n(43);function h(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function p(e,t){if(t&&("object"===i(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return h(e)}function f(e){return f=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},f(e)}function d(e,t){return d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},d(e,t)}function y(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&d(e,t)}function v(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(v=function(){return!!e})()}function m(e){var t="function"==typeof Map?new Map:void 0;return m=function(e){if(null===e||!function(e){try{return-1!==Function.toString.call(e).indexOf("[native code]")}catch(t){return"function"==typeof e}}(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return function(e,t,n){if(v())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,t);var o=new(e.bind.apply(e,r));return n&&d(o,n.prototype),o}(e,arguments,f(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),d(n,e)},m(e)}function g(e,t,n){return t=f(t),p(e,w()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function w(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(w=function(){return!!e})()}var b=function(e){function t(e){var n;return o(this,t),(n=g(this,t,[e])).name=(this instanceof t?this.constructor:void 0).name,Object.setPrototypeOf(h(n),(this instanceof t?this.constructor:void 0).prototype),n}return y(t,e),c(t)}(m(Error));function C(e,t,n){return t=f(t),p(e,R()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function R(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(R=function(){return!!e})()}var k=function(e){function t(){return o(this,t),C(this,t,arguments)}return y(t,e),c(t)}(b);function E(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var S=function(){function e(t){var n=this;o(this,e),this.nodes=t.nodes||[],this.nodes=this.nodes.map((function(e){return n.setDefaultPathInNode(e)})).map((function(e){return n.setDefaultPortInNode(e)})).map((function(e){return function(e){for(var t=1;t0;t--){var n=Math.floor(Math.random()*(t+1)),r=[e[n],e[t]];e[t]=r[0],e[n]=r[1]}}}]),e}();function O(e,t,n,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,o)}function P(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){O(i,r,o,a,s,"next",e)}function s(e){O(i,r,o,a,s,"throw",e)}a(void 0)}))}}var x=n(687),A=n.n(x);function T(e,t){return function(){return e.apply(t,arguments)}}const{toString:N}=Object.prototype,{getPrototypeOf:j}=Object,U=(_=Object.create(null),e=>{const t=N.call(e);return _[t]||(_[t]=t.slice(8,-1).toLowerCase())});var _;const L=e=>(e=e.toLowerCase(),t=>U(t)===e),I=e=>t=>typeof t===e,{isArray:F}=Array,q=I("undefined"),B=L("ArrayBuffer"),D=I("string"),H=I("function"),M=I("number"),K=e=>null!==e&&"object"==typeof e,z=e=>{if("object"!==U(e))return!1;const t=j(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||Symbol.toStringTag in e||Symbol.iterator in e)},J=L("Date"),W=L("File"),G=L("Blob"),V=L("FileList"),Q=L("URLSearchParams"),[$,X,Y,Z]=["ReadableStream","Request","Response","Headers"].map(L);function ee(e,t,{allOwnKeys:n=!1}={}){if(null==e)return;let r,o;if("object"!=typeof e&&(e=[e]),F(e))for(r=0,o=e.length;r0;)if(r=n[o],t===r.toLowerCase())return r;return null}const ne="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,re=e=>!q(e)&&e!==ne,oe=(ie="undefined"!=typeof Uint8Array&&j(Uint8Array),e=>ie&&e instanceof ie);var ie;const ae=L("HTMLFormElement"),se=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),ce=L("RegExp"),ue=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};ee(n,((n,o)=>{let i;!1!==(i=t(n,o,e))&&(r[o]=i||n)})),Object.defineProperties(e,r)},le="abcdefghijklmnopqrstuvwxyz",he="0123456789",pe={DIGIT:he,ALPHA:le,ALPHA_DIGIT:le+le.toUpperCase()+he},fe=L("AsyncFunction"),de={isArray:F,isArrayBuffer:B,isBuffer:function(e){return null!==e&&!q(e)&&null!==e.constructor&&!q(e.constructor)&&H(e.constructor.isBuffer)&&e.constructor.isBuffer(e)},isFormData:e=>{let t;return e&&("function"==typeof FormData&&e instanceof FormData||H(e.append)&&("formdata"===(t=U(e))||"object"===t&&H(e.toString)&&"[object FormData]"===e.toString()))},isArrayBufferView:function(e){let t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&B(e.buffer),t},isString:D,isNumber:M,isBoolean:e=>!0===e||!1===e,isObject:K,isPlainObject:z,isReadableStream:$,isRequest:X,isResponse:Y,isHeaders:Z,isUndefined:q,isDate:J,isFile:W,isBlob:G,isRegExp:ce,isFunction:H,isStream:e=>K(e)&&H(e.pipe),isURLSearchParams:Q,isTypedArray:oe,isFileList:V,forEach:ee,merge:function e(){const{caseless:t}=re(this)&&this||{},n={},r=(r,o)=>{const i=t&&te(n,o)||o;z(n[i])&&z(r)?n[i]=e(n[i],r):z(r)?n[i]=e({},r):F(r)?n[i]=r.slice():n[i]=r};for(let e=0,t=arguments.length;e(ee(t,((t,r)=>{n&&H(t)?e[r]=T(t,n):e[r]=t}),{allOwnKeys:r}),e),trim:e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),inherits:(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},toFlatObject:(e,t,n,r)=>{let o,i,a;const s={};if(t=t||{},null==e)return t;do{for(o=Object.getOwnPropertyNames(e),i=o.length;i-- >0;)a=o[i],r&&!r(a,e,t)||s[a]||(t[a]=e[a],s[a]=!0);e=!1!==n&&j(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},kindOf:U,kindOfTest:L,endsWith:(e,t,n)=>{e=String(e),(void 0===n||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return-1!==r&&r===n},toArray:e=>{if(!e)return null;if(F(e))return e;let t=e.length;if(!M(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},forEachEntry:(e,t)=>{const n=(e&&e[Symbol.iterator]).call(e);let r;for(;(r=n.next())&&!r.done;){const n=r.value;t.call(e,n[0],n[1])}},matchAll:(e,t)=>{let n;const r=[];for(;null!==(n=e.exec(t));)r.push(n);return r},isHTMLForm:ae,hasOwnProperty:se,hasOwnProp:se,reduceDescriptors:ue,freezeMethods:e=>{ue(e,((t,n)=>{if(H(e)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;const r=e[n];H(r)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}))}))},toObjectSet:(e,t)=>{const n={},r=e=>{e.forEach((e=>{n[e]=!0}))};return F(e)?r(e):r(String(e).split(t)),n},toCamelCase:e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(e,t,n){return t.toUpperCase()+n})),noop:()=>{},toFiniteNumber:(e,t)=>null!=e&&Number.isFinite(e=+e)?e:t,findKey:te,global:ne,isContextDefined:re,ALPHABET:pe,generateString:(e=16,t=pe.ALPHA_DIGIT)=>{let n="";const{length:r}=t;for(;e--;)n+=t[Math.random()*r|0];return n},isSpecCompliantForm:function(e){return!!(e&&H(e.append)&&"FormData"===e[Symbol.toStringTag]&&e[Symbol.iterator])},toJSONObject:e=>{const t=new Array(10),n=(e,r)=>{if(K(e)){if(t.indexOf(e)>=0)return;if(!("toJSON"in e)){t[r]=e;const o=F(e)?[]:{};return ee(e,((e,t)=>{const i=n(e,r+1);!q(i)&&(o[t]=i)})),t[r]=void 0,o}}return e};return n(e,0)},isAsyncFn:fe,isThenable:e=>e&&(K(e)||H(e))&&H(e.then)&&H(e.catch)};function ye(e,t,n,r,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),o&&(this.response=o)}de.inherits(ye,Error,{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:de.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const ve=ye.prototype,me={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((e=>{me[e]={value:e}})),Object.defineProperties(ye,me),Object.defineProperty(ve,"isAxiosError",{value:!0}),ye.from=(e,t,n,r,o,i)=>{const a=Object.create(ve);return de.toFlatObject(e,a,(function(e){return e!==Error.prototype}),(e=>"isAxiosError"!==e)),ye.call(a,e.message,t,n,r,o),a.cause=e,a.name=e.name,i&&Object.assign(a,i),a};const ge=ye;function we(e){return de.isPlainObject(e)||de.isArray(e)}function be(e){return de.endsWith(e,"[]")?e.slice(0,-2):e}function Ce(e,t,n){return e?e.concat(t).map((function(e,t){return e=be(e),!n&&t?"["+e+"]":e})).join(n?".":""):t}const Re=de.toFlatObject(de,{},null,(function(e){return/^is[A-Z]/.test(e)})),ke=function(e,t,n){if(!de.isObject(e))throw new TypeError("target must be an object");t=t||new FormData;const r=(n=de.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!de.isUndefined(t[e])}))).metaTokens,o=n.visitor||u,i=n.dots,a=n.indexes,s=(n.Blob||"undefined"!=typeof Blob&&Blob)&&de.isSpecCompliantForm(t);if(!de.isFunction(o))throw new TypeError("visitor must be a function");function c(e){if(null===e)return"";if(de.isDate(e))return e.toISOString();if(!s&&de.isBlob(e))throw new ge("Blob is not supported. Use a Buffer instead.");return de.isArrayBuffer(e)||de.isTypedArray(e)?s&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function u(e,n,o){let s=e;if(e&&!o&&"object"==typeof e)if(de.endsWith(n,"{}"))n=r?n:n.slice(0,-2),e=JSON.stringify(e);else if(de.isArray(e)&&function(e){return de.isArray(e)&&!e.some(we)}(e)||(de.isFileList(e)||de.endsWith(n,"[]"))&&(s=de.toArray(e)))return n=be(n),s.forEach((function(e,r){!de.isUndefined(e)&&null!==e&&t.append(!0===a?Ce([n],r,i):null===a?n:n+"[]",c(e))})),!1;return!!we(e)||(t.append(Ce(o,n,i),c(e)),!1)}const l=[],h=Object.assign(Re,{defaultVisitor:u,convertValue:c,isVisitable:we});if(!de.isObject(e))throw new TypeError("data must be an object");return function e(n,r){if(!de.isUndefined(n)){if(-1!==l.indexOf(n))throw Error("Circular reference detected in "+r.join("."));l.push(n),de.forEach(n,(function(n,i){!0===(!(de.isUndefined(n)||null===n)&&o.call(t,n,de.isString(i)?i.trim():i,r,h))&&e(n,r?r.concat(i):[i])})),l.pop()}}(e),t};function Ee(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function Se(e,t){this._pairs=[],e&&ke(e,this,t)}const Oe=Se.prototype;Oe.append=function(e,t){this._pairs.push([e,t])},Oe.toString=function(e){const t=e?function(t){return e.call(this,t,Ee)}:Ee;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};const Pe=Se;function xe(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Ae(e,t,n){if(!t)return e;const r=n&&n.encode||xe,o=n&&n.serialize;let i;if(i=o?o(t,n):de.isURLSearchParams(t)?t.toString():new Pe(t,n).toString(r),i){const t=e.indexOf("#");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf("?")?"?":"&")+i}return e}const Te=class{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){de.forEach(this.handlers,(function(t){null!==t&&e(t)}))}},Ne={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},je={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:Pe,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]},Ue="undefined"!=typeof window&&"undefined"!=typeof document,_e=(Le="undefined"!=typeof navigator&&navigator.product,Ue&&["ReactNative","NativeScript","NS"].indexOf(Le)<0);var Le;const Ie="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,Fe=Ue&&window.location.href||"http://localhost",qe={...e,...je},Be=function(e){function t(e,n,r,o){let i=e[o++];if("__proto__"===i)return!0;const a=Number.isFinite(+i),s=o>=e.length;return i=!i&&de.isArray(r)?r.length:i,s?(de.hasOwnProp(r,i)?r[i]=[r[i],n]:r[i]=n,!a):(r[i]&&de.isObject(r[i])||(r[i]=[]),t(e,n,r[i],o)&&de.isArray(r[i])&&(r[i]=function(e){const t={},n=Object.keys(e);let r;const o=n.length;let i;for(r=0;r{t(function(e){return de.matchAll(/\w+|\[(\w*)]/g,e).map((e=>"[]"===e[0]?"":e[1]||e[0]))}(e),r,n,0)})),n}return null},De={transitional:Ne,adapter:["xhr","http","fetch"],transformRequest:[function(e,t){const n=t.getContentType()||"",r=n.indexOf("application/json")>-1,o=de.isObject(e);if(o&&de.isHTMLForm(e)&&(e=new FormData(e)),de.isFormData(e))return r?JSON.stringify(Be(e)):e;if(de.isArrayBuffer(e)||de.isBuffer(e)||de.isStream(e)||de.isFile(e)||de.isBlob(e)||de.isReadableStream(e))return e;if(de.isArrayBufferView(e))return e.buffer;if(de.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let i;if(o){if(n.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return ke(e,new qe.classes.URLSearchParams,Object.assign({visitor:function(e,t,n,r){return qe.isNode&&de.isBuffer(e)?(this.append(t,e.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((i=de.isFileList(e))||n.indexOf("multipart/form-data")>-1){const t=this.env&&this.env.FormData;return ke(i?{"files[]":e}:e,t&&new t,this.formSerializer)}}return o||r?(t.setContentType("application/json",!1),function(e,t,n){if(de.isString(e))try{return(0,JSON.parse)(e),de.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(0,JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){const t=this.transitional||De.transitional,n=t&&t.forcedJSONParsing,r="json"===this.responseType;if(de.isResponse(e)||de.isReadableStream(e))return e;if(e&&de.isString(e)&&(n&&!this.responseType||r)){const n=!(t&&t.silentJSONParsing)&&r;try{return JSON.parse(e)}catch(e){if(n){if("SyntaxError"===e.name)throw ge.from(e,ge.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:qe.classes.FormData,Blob:qe.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};de.forEach(["delete","get","head","post","put","patch"],(e=>{De.headers[e]={}}));const He=De,Me=de.toObjectSet(["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"]),Ke=Symbol("internals");function ze(e){return e&&String(e).trim().toLowerCase()}function Je(e){return!1===e||null==e?e:de.isArray(e)?e.map(Je):String(e)}function We(e,t,n,r,o){return de.isFunction(r)?r.call(this,t,n):(o&&(t=n),de.isString(t)?de.isString(r)?-1!==t.indexOf(r):de.isRegExp(r)?r.test(t):void 0:void 0)}class Ge{constructor(e){e&&this.set(e)}set(e,t,n){const r=this;function o(e,t,n){const o=ze(t);if(!o)throw new Error("header name must be a non-empty string");const i=de.findKey(r,o);(!i||void 0===r[i]||!0===n||void 0===n&&!1!==r[i])&&(r[i||t]=Je(e))}const i=(e,t)=>de.forEach(e,((e,n)=>o(e,n,t)));if(de.isPlainObject(e)||e instanceof this.constructor)i(e,t);else if(de.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim()))i((e=>{const t={};let n,r,o;return e&&e.split("\n").forEach((function(e){o=e.indexOf(":"),n=e.substring(0,o).trim().toLowerCase(),r=e.substring(o+1).trim(),!n||t[n]&&Me[n]||("set-cookie"===n?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)})),t})(e),t);else if(de.isHeaders(e))for(const[t,r]of e.entries())o(r,t,n);else null!=e&&o(t,e,n);return this}get(e,t){if(e=ze(e)){const n=de.findKey(this,e);if(n){const e=this[n];if(!t)return e;if(!0===t)return function(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}(e);if(de.isFunction(t))return t.call(this,e,n);if(de.isRegExp(t))return t.exec(e);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=ze(e)){const n=de.findKey(this,e);return!(!n||void 0===this[n]||t&&!We(0,this[n],n,t))}return!1}delete(e,t){const n=this;let r=!1;function o(e){if(e=ze(e)){const o=de.findKey(n,e);!o||t&&!We(0,n[o],o,t)||(delete n[o],r=!0)}}return de.isArray(e)?e.forEach(o):o(e),r}clear(e){const t=Object.keys(this);let n=t.length,r=!1;for(;n--;){const o=t[n];e&&!We(0,this[o],o,e,!0)||(delete this[o],r=!0)}return r}normalize(e){const t=this,n={};return de.forEach(this,((r,o)=>{const i=de.findKey(n,o);if(i)return t[i]=Je(r),void delete t[o];const a=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((e,t,n)=>t.toUpperCase()+n))}(o):String(o).trim();a!==o&&delete t[o],t[a]=Je(r),n[a]=!0})),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return de.forEach(this,((n,r)=>{null!=n&&!1!==n&&(t[r]=e&&de.isArray(n)?n.join(", "):n)})),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([e,t])=>e+": "+t)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const n=new this(e);return t.forEach((e=>n.set(e))),n}static accessor(e){const t=(this[Ke]=this[Ke]={accessors:{}}).accessors,n=this.prototype;function r(e){const r=ze(e);t[r]||(function(e,t){const n=de.toCamelCase(" "+t);["get","set","has"].forEach((r=>{Object.defineProperty(e,r+n,{value:function(e,n,o){return this[r].call(this,t,e,n,o)},configurable:!0})}))}(n,e),t[r]=!0)}return de.isArray(e)?e.forEach(r):r(e),this}}Ge.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),de.reduceDescriptors(Ge.prototype,(({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[n]=e}}})),de.freezeMethods(Ge);const Ve=Ge;function Qe(e,t){const n=this||He,r=t||n,o=Ve.from(r.headers);let i=r.data;return de.forEach(e,(function(e){i=e.call(n,i,o.normalize(),t?t.status:void 0)})),o.normalize(),i}function $e(e){return!(!e||!e.__CANCEL__)}function Xe(e,t,n){ge.call(this,null==e?"canceled":e,ge.ERR_CANCELED,t,n),this.name="CanceledError"}de.inherits(Xe,ge,{__CANCEL__:!0});const Ye=Xe;function Ze(e,t,n){const r=n.config.validateStatus;n.status&&r&&!r(n.status)?t(new ge("Request failed with status code "+n.status,[ge.ERR_BAD_REQUEST,ge.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):e(n)}const et=(e,t,n=3)=>{let r=0;const o=function(e,t){e=e||10;const n=new Array(e),r=new Array(e);let o,i=0,a=0;return t=void 0!==t?t:1e3,function(s){const c=Date.now(),u=r[a];o||(o=c),n[i]=s,r[i]=c;let l=a,h=0;for(;l!==i;)h+=n[l++],l%=e;if(i=(i+1)%e,i===a&&(a=(a+1)%e),c-or)return o&&(clearTimeout(o),o=null),n=i,e.apply(null,arguments);o||(o=setTimeout((()=>(o=null,n=Date.now(),e.apply(null,arguments))),r-(i-n)))}}((n=>{const i=n.loaded,a=n.lengthComputable?n.total:void 0,s=i-r,c=o(s);r=i;const u={loaded:i,total:a,progress:a?i/a:void 0,bytes:s,rate:c||void 0,estimated:c&&a&&i<=a?(a-i)/c:void 0,event:n,lengthComputable:null!=a};u[t?"download":"upload"]=!0,e(u)}),n)},tt=qe.hasStandardBrowserEnv?function(){const e=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a");let n;function r(n){let r=n;return e&&(t.setAttribute("href",r),r=t.href),t.setAttribute("href",r),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:"/"===t.pathname.charAt(0)?t.pathname:"/"+t.pathname}}return n=r(window.location.href),function(e){const t=de.isString(e)?r(e):e;return t.protocol===n.protocol&&t.host===n.host}}():function(){return!0},nt=qe.hasStandardBrowserEnv?{write(e,t,n,r,o,i){const a=[e+"="+encodeURIComponent(t)];de.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),de.isString(r)&&a.push("path="+r),de.isString(o)&&a.push("domain="+o),!0===i&&a.push("secure"),document.cookie=a.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read:()=>null,remove(){}};function rt(e,t){return e&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)?function(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}(e,t):t}const ot=e=>e instanceof Ve?{...e}:e;function it(e,t){t=t||{};const n={};function r(e,t,n){return de.isPlainObject(e)&&de.isPlainObject(t)?de.merge.call({caseless:n},e,t):de.isPlainObject(t)?de.merge({},t):de.isArray(t)?t.slice():t}function o(e,t,n){return de.isUndefined(t)?de.isUndefined(e)?void 0:r(void 0,e,n):r(e,t,n)}function i(e,t){if(!de.isUndefined(t))return r(void 0,t)}function a(e,t){return de.isUndefined(t)?de.isUndefined(e)?void 0:r(void 0,e):r(void 0,t)}function s(n,o,i){return i in t?r(n,o):i in e?r(void 0,n):void 0}const c={url:i,method:i,data:i,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:s,headers:(e,t)=>o(ot(e),ot(t),!0)};return de.forEach(Object.keys(Object.assign({},e,t)),(function(r){const i=c[r]||o,a=i(e[r],t[r],r);de.isUndefined(a)&&i!==s||(n[r]=a)})),n}const at=e=>{const t=it({},e);let n,{data:r,withXSRFToken:o,xsrfHeaderName:i,xsrfCookieName:a,headers:s,auth:c}=t;if(t.headers=s=Ve.from(s),t.url=Ae(rt(t.baseURL,t.url),e.params,e.paramsSerializer),c&&s.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?unescape(encodeURIComponent(c.password)):""))),de.isFormData(r))if(qe.hasStandardBrowserEnv||qe.hasStandardBrowserWebWorkerEnv)s.setContentType(void 0);else if(!1!==(n=s.getContentType())){const[e,...t]=n?n.split(";").map((e=>e.trim())).filter(Boolean):[];s.setContentType([e||"multipart/form-data",...t].join("; "))}if(qe.hasStandardBrowserEnv&&(o&&de.isFunction(o)&&(o=o(t)),o||!1!==o&&tt(t.url))){const e=i&&a&&nt.read(a);e&&s.set(i,e)}return t},st="undefined"!=typeof XMLHttpRequest&&function(e){return new Promise((function(t,n){const r=at(e);let o=r.data;const i=Ve.from(r.headers).normalize();let a,{responseType:s}=r;function c(){r.cancelToken&&r.cancelToken.unsubscribe(a),r.signal&&r.signal.removeEventListener("abort",a)}let u=new XMLHttpRequest;function l(){if(!u)return;const r=Ve.from("getAllResponseHeaders"in u&&u.getAllResponseHeaders());Ze((function(e){t(e),c()}),(function(e){n(e),c()}),{data:s&&"text"!==s&&"json"!==s?u.response:u.responseText,status:u.status,statusText:u.statusText,headers:r,config:e,request:u}),u=null}u.open(r.method.toUpperCase(),r.url,!0),u.timeout=r.timeout,"onloadend"in u?u.onloadend=l:u.onreadystatechange=function(){u&&4===u.readyState&&(0!==u.status||u.responseURL&&0===u.responseURL.indexOf("file:"))&&setTimeout(l)},u.onabort=function(){u&&(n(new ge("Request aborted",ge.ECONNABORTED,r,u)),u=null)},u.onerror=function(){n(new ge("Network Error",ge.ERR_NETWORK,r,u)),u=null},u.ontimeout=function(){let e=r.timeout?"timeout of "+r.timeout+"ms exceeded":"timeout exceeded";const t=r.transitional||Ne;r.timeoutErrorMessage&&(e=r.timeoutErrorMessage),n(new ge(e,t.clarifyTimeoutError?ge.ETIMEDOUT:ge.ECONNABORTED,r,u)),u=null},void 0===o&&i.setContentType(null),"setRequestHeader"in u&&de.forEach(i.toJSON(),(function(e,t){u.setRequestHeader(t,e)})),de.isUndefined(r.withCredentials)||(u.withCredentials=!!r.withCredentials),s&&"json"!==s&&(u.responseType=r.responseType),"function"==typeof r.onDownloadProgress&&u.addEventListener("progress",et(r.onDownloadProgress,!0)),"function"==typeof r.onUploadProgress&&u.upload&&u.upload.addEventListener("progress",et(r.onUploadProgress)),(r.cancelToken||r.signal)&&(a=t=>{u&&(n(!t||t.type?new Ye(null,e,u):t),u.abort(),u=null)},r.cancelToken&&r.cancelToken.subscribe(a),r.signal&&(r.signal.aborted?a():r.signal.addEventListener("abort",a)));const h=function(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}(r.url);h&&-1===qe.protocols.indexOf(h)?n(new ge("Unsupported protocol "+h+":",ge.ERR_BAD_REQUEST,e)):u.send(o||null)}))},ct=(e,t)=>{let n,r=new AbortController;const o=function(e){if(!n){n=!0,a();const t=e instanceof Error?e:this.reason;r.abort(t instanceof ge?t:new Ye(t instanceof Error?t.message:t))}};let i=t&&setTimeout((()=>{o(new ge(`timeout ${t} of ms exceeded`,ge.ETIMEDOUT))}),t);const a=()=>{e&&(i&&clearTimeout(i),i=null,e.forEach((e=>{e&&(e.removeEventListener?e.removeEventListener("abort",o):e.unsubscribe(o))})),e=null)};e.forEach((e=>e&&e.addEventListener&&e.addEventListener("abort",o)));const{signal:s}=r;return s.unsubscribe=a,[s,()=>{i&&clearTimeout(i),i=null}]},ut=function*(e,t){let n=e.byteLength;if(!t||n{const i=async function*(e,t,n){for await(const r of e)yield*ut(ArrayBuffer.isView(r)?r:await n(String(r)),t)}(e,t,o);let a=0;return new ReadableStream({type:"bytes",async pull(e){const{done:t,value:o}=await i.next();if(t)return e.close(),void r();let s=o.byteLength;n&&n(a+=s),e.enqueue(new Uint8Array(o))},cancel:e=>(r(e),i.return())},{highWaterMark:2})},ht=(e,t)=>{const n=null!=e;return r=>setTimeout((()=>t({lengthComputable:n,total:e,loaded:r})))},pt="function"==typeof fetch&&"function"==typeof Request&&"function"==typeof Response,ft=pt&&"function"==typeof ReadableStream,dt=pt&&("function"==typeof TextEncoder?(yt=new TextEncoder,e=>yt.encode(e)):async e=>new Uint8Array(await new Response(e).arrayBuffer()));var yt;const vt=ft&&(()=>{let e=!1;const t=new Request(qe.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t})(),mt=ft&&!!(()=>{try{return de.isReadableStream(new Response("").body)}catch(e){}})(),gt={stream:mt&&(e=>e.body)};var wt;pt&&(wt=new Response,["text","arrayBuffer","blob","formData","stream"].forEach((e=>{!gt[e]&&(gt[e]=de.isFunction(wt[e])?t=>t[e]():(t,n)=>{throw new ge(`Response type '${e}' is not supported`,ge.ERR_NOT_SUPPORT,n)})})));const bt={http:null,xhr:st,fetch:pt&&(async e=>{let{url:t,method:n,data:r,signal:o,cancelToken:i,timeout:a,onDownloadProgress:s,onUploadProgress:c,responseType:u,headers:l,withCredentials:h="same-origin",fetchOptions:p}=at(e);u=u?(u+"").toLowerCase():"text";let f,d,[y,v]=o||i||a?ct([o,i],a):[];const m=()=>{!f&&setTimeout((()=>{y&&y.unsubscribe()})),f=!0};let g;try{if(c&&vt&&"get"!==n&&"head"!==n&&0!==(g=await(async(e,t)=>{const n=de.toFiniteNumber(e.getContentLength());return null==n?(async e=>null==e?0:de.isBlob(e)?e.size:de.isSpecCompliantForm(e)?(await new Request(e).arrayBuffer()).byteLength:de.isArrayBufferView(e)?e.byteLength:(de.isURLSearchParams(e)&&(e+=""),de.isString(e)?(await dt(e)).byteLength:void 0))(t):n})(l,r))){let e,n=new Request(t,{method:"POST",body:r,duplex:"half"});de.isFormData(r)&&(e=n.headers.get("content-type"))&&l.setContentType(e),n.body&&(r=lt(n.body,65536,ht(g,et(c)),null,dt))}de.isString(h)||(h=h?"cors":"omit"),d=new Request(t,{...p,signal:y,method:n.toUpperCase(),headers:l.normalize().toJSON(),body:r,duplex:"half",withCredentials:h});let o=await fetch(d);const i=mt&&("stream"===u||"response"===u);if(mt&&(s||i)){const e={};["status","statusText","headers"].forEach((t=>{e[t]=o[t]}));const t=de.toFiniteNumber(o.headers.get("content-length"));o=new Response(lt(o.body,65536,s&&ht(t,et(s,!0)),i&&m,dt),e)}u=u||"text";let a=await gt[de.findKey(gt,u)||"text"](o,e);return!i&&m(),v&&v(),await new Promise(((t,n)=>{Ze(t,n,{data:a,headers:Ve.from(o.headers),status:o.status,statusText:o.statusText,config:e,request:d})}))}catch(t){if(m(),t&&"TypeError"===t.name&&/fetch/i.test(t.message))throw Object.assign(new ge("Network Error",ge.ERR_NETWORK,e,d),{cause:t.cause||t});throw ge.from(t,t&&t.code,e,d)}})};de.forEach(bt,((e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch(e){}Object.defineProperty(e,"adapterName",{value:t})}}));const Ct=e=>`- ${e}`,Rt=e=>de.isFunction(e)||null===e||!1===e,kt=e=>{e=de.isArray(e)?e:[e];const{length:t}=e;let n,r;const o={};for(let i=0;i`adapter ${e} `+(!1===t?"is not supported by the environment":"is not available in the build")));let n=t?e.length>1?"since :\n"+e.map(Ct).join("\n"):" "+Ct(e[0]):"as no adapter specified";throw new ge("There is no suitable adapter to dispatch the request "+n,"ERR_NOT_SUPPORT")}return r};function Et(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Ye(null,e)}function St(e){return Et(e),e.headers=Ve.from(e.headers),e.data=Qe.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1),kt(e.adapter||He.adapter)(e).then((function(t){return Et(e),t.data=Qe.call(e,e.transformResponse,t),t.headers=Ve.from(t.headers),t}),(function(t){return $e(t)||(Et(e),t&&t.response&&(t.response.data=Qe.call(e,e.transformResponse,t.response),t.response.headers=Ve.from(t.response.headers))),Promise.reject(t)}))}const Ot={};["object","boolean","number","function","string","symbol"].forEach(((e,t)=>{Ot[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}}));const Pt={};Ot.transitional=function(e,t,n){function r(e,t){return"[Axios v1.7.2] Transitional option '"+e+"'"+t+(n?". "+n:"")}return(n,o,i)=>{if(!1===e)throw new ge(r(o," has been removed"+(t?" in "+t:"")),ge.ERR_DEPRECATED);return t&&!Pt[o]&&(Pt[o]=!0,console.warn(r(o," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(n,o,i)}};const xt={assertOptions:function(e,t,n){if("object"!=typeof e)throw new ge("options must be an object",ge.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let o=r.length;for(;o-- >0;){const i=r[o],a=t[i];if(a){const t=e[i],n=void 0===t||a(t,i,e);if(!0!==n)throw new ge("option "+i+" must be "+n,ge.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new ge("Unknown option "+i,ge.ERR_BAD_OPTION)}},validators:Ot},At=xt.validators;class Tt{constructor(e){this.defaults=e,this.interceptors={request:new Te,response:new Te}}async request(e,t){try{return await this._request(e,t)}catch(e){if(e instanceof Error){let t;Error.captureStackTrace?Error.captureStackTrace(t={}):t=new Error;const n=t.stack?t.stack.replace(/^.+\n/,""):"";try{e.stack?n&&!String(e.stack).endsWith(n.replace(/^.+\n.+\n/,""))&&(e.stack+="\n"+n):e.stack=n}catch(e){}}throw e}}_request(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{},t=it(this.defaults,t);const{transitional:n,paramsSerializer:r,headers:o}=t;void 0!==n&&xt.assertOptions(n,{silentJSONParsing:At.transitional(At.boolean),forcedJSONParsing:At.transitional(At.boolean),clarifyTimeoutError:At.transitional(At.boolean)},!1),null!=r&&(de.isFunction(r)?t.paramsSerializer={serialize:r}:xt.assertOptions(r,{encode:At.function,serialize:At.function},!0)),t.method=(t.method||this.defaults.method||"get").toLowerCase();let i=o&&de.merge(o.common,o[t.method]);o&&de.forEach(["delete","get","head","post","put","patch","common"],(e=>{delete o[e]})),t.headers=Ve.concat(i,o);const a=[];let s=!0;this.interceptors.request.forEach((function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(s=s&&e.synchronous,a.unshift(e.fulfilled,e.rejected))}));const c=[];let u;this.interceptors.response.forEach((function(e){c.push(e.fulfilled,e.rejected)}));let l,h=0;if(!s){const e=[St.bind(this),void 0];for(e.unshift.apply(e,a),e.push.apply(e,c),l=e.length,u=Promise.resolve(t);h{if(!n._listeners)return;let t=n._listeners.length;for(;t-- >0;)n._listeners[t](e);n._listeners=null})),this.promise.then=e=>{let t;const r=new Promise((e=>{n.subscribe(e),t=e})).then(e);return r.cancel=function(){n.unsubscribe(t)},r},e((function(e,r,o){n.reason||(n.reason=new Ye(e,r,o),t(n.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}static source(){let e;return{token:new jt((function(t){e=t})),cancel:e}}}const Ut=jt,_t={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(_t).forEach((([e,t])=>{_t[t]=e}));const Lt=_t,It=function e(t){const n=new Nt(t),r=T(Nt.prototype.request,n);return de.extend(r,Nt.prototype,n,{allOwnKeys:!0}),de.extend(r,n,null,{allOwnKeys:!0}),r.create=function(n){return e(it(t,n))},r}(He);It.Axios=Nt,It.CanceledError=Ye,It.CancelToken=Ut,It.isCancel=$e,It.VERSION="1.7.2",It.toFormData=ke,It.AxiosError=ge,It.Cancel=It.CanceledError,It.all=function(e){return Promise.all(e)},It.spread=function(e){return function(t){return e.apply(null,t)}},It.isAxiosError=function(e){return de.isObject(e)&&!0===e.isAxiosError},It.mergeConfig=it,It.AxiosHeaders=Ve,It.formToJSON=e=>Be(de.isHTMLForm(e)?new FormData(e):e),It.getAdapter=kt,It.HttpStatusCode=Lt,It.default=It;const Ft=It;function qt(e,t,n){return t=f(t),p(e,Bt()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function Bt(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Bt=function(){return!!e})()}var Dt=function(e){function t(){return o(this,t),qt(this,t,arguments)}return y(t,e),c(t)}(b);function Ht(e,t,n){return t=f(t),p(e,Mt()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function Mt(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Mt=function(){return!!e})()}var Kt=function(e){function t(){return o(this,t),Ht(this,t,arguments)}return y(t,e),c(t)}(b);function zt(e,t,n){return t=f(t),p(e,Jt()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function Jt(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Jt=function(){return!!e})()}var Wt=function(e){function t(){return o(this,t),zt(this,t,arguments)}return y(t,e),c(t)}(b);function Gt(e,t,n){return t=f(t),p(e,Vt()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function Vt(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Vt=function(){return!!e})()}var Qt=function(e){function t(){return o(this,t),Gt(this,t,arguments)}return y(t,e),c(t)}(b);function $t(e,t,n){return t=f(t),p(e,Xt()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function Xt(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Xt=function(){return!!e})()}var Yt=function(e){function t(){return o(this,t),$t(this,t,arguments)}return y(t,e),c(t)}(b);function Zt(e,t,n){return t=f(t),p(e,en()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function en(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(en=function(){return!!e})()}var tn=function(e){function t(){return o(this,t),Zt(this,t,arguments)}return y(t,e),c(t)}(b);function nn(e,t,n){return t=f(t),p(e,rn()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function rn(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(rn=function(){return!!e})()}var on=function(e){function t(){return o(this,t),nn(this,t,arguments)}return y(t,e),c(t)}(b),an=n(337),sn=n(877),cn=!0,un="undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node,ln=function(){function e(t){o(this,e),this.configuration=t,this.apiKey=this.configuration.apiKey,this.nodes=null==this.configuration.nodes?this.configuration.nodes:JSON.parse(JSON.stringify(this.configuration.nodes)),this.nearestNode=null==this.configuration.nearestNode?this.configuration.nearestNode:JSON.parse(JSON.stringify(this.configuration.nearestNode)),this.connectionTimeoutSeconds=this.configuration.connectionTimeoutSeconds,this.healthcheckIntervalSeconds=this.configuration.healthcheckIntervalSeconds,this.numRetriesPerRequest=this.configuration.numRetries,this.retryIntervalSeconds=this.configuration.retryIntervalSeconds,this.sendApiKeyAsQueryParam=this.configuration.sendApiKeyAsQueryParam,this.additionalUserHeaders=this.configuration.additionalHeaders,this.logger=this.configuration.logger,this.initializeMetadataForNodes(),this.currentNodeIndex=-1}var t,n,r,a,s,u,l;return c(e,[{key:"get",value:(l=P(A().mark((function e(t){var n,r,o,i,a,s,c=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=c.length>1&&void 0!==c[1]?c[1]:{},o=(r=c.length>2&&void 0!==c[2]?c[2]:{}).abortSignal,i=void 0===o?null:o,a=r.responseType,s=void 0===a?void 0:a,e.abrupt("return",this.performRequest("get",t,{queryParameters:n,abortSignal:i,responseType:s}));case 3:case"end":return e.stop()}}),e,this)}))),function(e){return l.apply(this,arguments)})},{key:"delete",value:(u=P(A().mark((function e(t){var n,r=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},e.abrupt("return",this.performRequest("delete",t,{queryParameters:n}));case 2:case"end":return e.stop()}}),e,this)}))),function(e){return u.apply(this,arguments)})},{key:"post",value:(s=P(A().mark((function e(t){var n,r,o,i=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=i.length>1&&void 0!==i[1]?i[1]:{},r=i.length>2&&void 0!==i[2]?i[2]:{},o=i.length>3&&void 0!==i[3]?i[3]:{},e.abrupt("return",this.performRequest("post",t,{queryParameters:r,bodyParameters:n,additionalHeaders:o}));case 4:case"end":return e.stop()}}),e,this)}))),function(e){return s.apply(this,arguments)})},{key:"put",value:(a=P(A().mark((function e(t){var n,r,o=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=o.length>1&&void 0!==o[1]?o[1]:{},r=o.length>2&&void 0!==o[2]?o[2]:{},e.abrupt("return",this.performRequest("put",t,{queryParameters:r,bodyParameters:n}));case 3:case"end":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})},{key:"patch",value:(r=P(A().mark((function e(t){var n,r,o=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=o.length>1&&void 0!==o[1]?o[1]:{},r=o.length>2&&void 0!==o[2]?o[2]:{},e.abrupt("return",this.performRequest("patch",t,{queryParameters:r,bodyParameters:n}));case 3:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"performRequest",value:(n=P(A().mark((function e(t,n,r){var o,a,s,c,u,l,h,p,f,d,y,v,m,g,w,b,C,R,k,E=this;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:o=r.queryParameters,a=void 0===o?null:o,s=r.bodyParameters,c=void 0===s?null:s,u=r.additionalHeaders,l=void 0===u?{}:u,h=r.abortSignal,p=void 0===h?null:h,f=r.responseType,d=void 0===f?void 0:f,y=r.skipConnectionTimeout,v=void 0!==y&&y,m=r.enableKeepAlive,g=void 0===m?void 0:m,this.configuration.validate(),w=Date.now(),this.logger.debug("Request #".concat(w,": Performing ").concat(t.toUpperCase()," request: ").concat(n)),C=A().mark((function e(){var r,o,s,u,h,f,y,m,C;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=E.getNextNode(w),E.logger.debug("Request #".concat(w,": Attempting ").concat(t.toUpperCase()," request Try #").concat(k," to Node ").concat(r.index)),!p||!p.aborted){e.next=4;break}return e.abrupt("return",{v:Promise.reject(new Error("Request aborted by caller."))});case 4:return e.prev=4,s={method:t,url:E.uriFor(n,r),headers:Object.assign({},E.defaultHeaders(),l,E.additionalUserHeaders),maxContentLength:1/0,maxBodyLength:1/0,responseType:d,validateStatus:function(e){return e>0},transformResponse:[function(e,t){var n=e;return void 0!==t&&"string"==typeof e&&t["content-type"]&&t["content-type"].startsWith("application/json")&&(n=JSON.parse(e)),n}]},!0!==v&&(s.timeout=1e3*E.connectionTimeoutSeconds),a&&0!==Object.keys(a).length&&(s.params=a),E.sendApiKeyAsQueryParam&&(s.params=s.params||{},s.params["x-typesense-api-key"]=E.apiKey),E.configuration.httpAgent?(E.logger.debug("Request #".concat(w,": Using custom httpAgent")),s.httpAgent=E.configuration.httpAgent):!0===g&&(un?(E.logger.debug("Request #".concat(w,": Enabling KeepAlive")),s.httpAgent=new an.Agent({keepAlive:!0})):E.logger.warn("Request #".concat(w,": Cannot use custom httpAgent in a browser environment to enable keepAlive"))),E.configuration.httpsAgent?(E.logger.debug("Request #".concat(w,": Using custom httpsAgent")),s.httpsAgent=E.configuration.httpsAgent):!0===g&&(un?(E.logger.debug("Request #".concat(w,": Enabling keepAlive")),s.httpsAgent=new sn.Agent({keepAlive:!0})):E.logger.warn("Request #".concat(w,": Cannot use custom httpAgent in a browser environment to enable keepAlive"))),E.configuration.paramsSerializer&&(E.logger.debug("Request #".concat(w,": Using custom paramsSerializer")),s.paramsSerializer=E.configuration.paramsSerializer),c&&("string"==typeof c&&0!==c.length||"object"===i(c)&&0!==Object.keys(c).length)&&(s.data=c),p&&(u=Ft.CancelToken,h=u.source(),o=function(){return h.cancel()},p.addEventListener("abort",o),s.cancelToken=h.token),e.next=16,Ft(s);case 16:if((f=e.sent).status>=1&&f.status<=499&&E.setNodeHealthcheck(r,cn),E.logger.debug("Request #".concat(w,": Request to Node ").concat(r.index," was made. Response Code was ").concat(f.status,".")),!(f.status>=200&&f.status<300)){e.next=23;break}return e.abrupt("return",{v:Promise.resolve(f.data)});case 23:if(!(f.status<500)){e.next=27;break}return e.abrupt("return",{v:Promise.reject(E.customErrorForResponse(f,null===(y=f.data)||void 0===y?void 0:y.message))});case 27:throw E.customErrorForResponse(f,null===(m=f.data)||void 0===m?void 0:m.message);case 28:e.next=38;break;case 30:return e.prev=30,e.t0=e.catch(4),E.setNodeHealthcheck(r,!1),b=e.t0,E.logger.warn("Request #".concat(w,": Request to Node ").concat(r.index,' failed due to "').concat(e.t0.code," ").concat(e.t0.message).concat(null==e.t0.response?"":" - "+JSON.stringify(null===(C=e.t0.response)||void 0===C?void 0:C.data),'"')),E.logger.warn("Request #".concat(w,": Sleeping for ").concat(E.retryIntervalSeconds,"s and then retrying request...")),e.next=38,E.timer(E.retryIntervalSeconds);case 38:return e.prev=38,p&&o&&p.removeEventListener("abort",o),e.finish(38);case 41:case"end":return e.stop()}}),e,null,[[4,30,38,41]])})),k=1;case 6:if(!(k<=this.numRetriesPerRequest+1)){e.next=14;break}return e.delegateYield(C(),"t0",8);case 8:if(!(R=e.t0)){e.next=11;break}return e.abrupt("return",R.v);case 11:k++,e.next=6;break;case 14:return this.logger.debug("Request #".concat(w,": No retries left. Raising last error")),e.abrupt("return",Promise.reject(b));case 16:case"end":return e.stop()}}),e,this)}))),function(e,t,r){return n.apply(this,arguments)})},{key:"getNextNode",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(null!=this.nearestNode){if(this.logger.debug("Request #".concat(e,": Nodes Health: Node ").concat(this.nearestNode.index," is ").concat(!0===this.nearestNode.isHealthy?"Healthy":"Unhealthy")),!0===this.nearestNode.isHealthy||this.nodeDueForHealthcheck(this.nearestNode,e))return this.logger.debug("Request #".concat(e,": Updated current node to Node ").concat(this.nearestNode.index)),this.nearestNode;this.logger.debug("Request #".concat(e,": Falling back to individual nodes"))}this.logger.debug("Request #".concat(e,": Nodes Health: ").concat(this.nodes.map((function(e){return"Node ".concat(e.index," is ").concat(!0===e.isHealthy?"Healthy":"Unhealthy")})).join(" || ")));for(var t=this.nodes[0],n=0;n<=this.nodes.length;n++)if(this.currentNodeIndex=(this.currentNodeIndex+1)%this.nodes.length,!0===(t=this.nodes[this.currentNodeIndex]).isHealthy||this.nodeDueForHealthcheck(t,e))return this.logger.debug("Request #".concat(e,": Updated current node to Node ").concat(t.index)),t;return this.logger.debug("Request #".concat(e,": No healthy nodes were found. Returning the next node, Node ").concat(t.index)),t}},{key:"nodeDueForHealthcheck",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=Date.now()-e.lastAccessTimestamp>1e3*this.healthcheckIntervalSeconds;return n&&this.logger.debug("Request #".concat(t,": Node ").concat(e.index," has exceeded healtcheckIntervalSeconds of ").concat(this.healthcheckIntervalSeconds,". Adding it back into rotation.")),n}},{key:"initializeMetadataForNodes",value:function(){var e=this;null!=this.nearestNode&&(this.nearestNode.index="nearestNode",this.setNodeHealthcheck(this.nearestNode,cn)),this.nodes.forEach((function(t,n){t.index=n,e.setNodeHealthcheck(t,cn)}))}},{key:"setNodeHealthcheck",value:function(e,t){e.isHealthy=t,e.lastAccessTimestamp=Date.now()}},{key:"uriFor",value:function(e,t){return null!=t.url?"".concat(t.url).concat(e):"".concat(t.protocol,"://").concat(t.host,":").concat(t.port).concat(t.path).concat(e)}},{key:"defaultHeaders",value:function(){var e={};return this.sendApiKeyAsQueryParam||(e["X-TYPESENSE-API-KEY"]=this.apiKey),e["Content-Type"]="application/json",e}},{key:"timer",value:(t=P(A().mark((function e(t){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e){return setTimeout(e,1e3*t)})));case 1:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})},{key:"customErrorForResponse",value:function(e,t){var n="Request failed with HTTP code ".concat(e.status);"string"==typeof t&&""!==t.trim()&&(n+=" | Server said: ".concat(t));var r=new b(n);return(r=400===e.status?new Dt(n):401===e.status?new Kt(n):404===e.status?new Wt(n):409===e.status?new Qt(n):422===e.status?new Yt(n):e.status>=500&&e.status<=599?new tn(n):new on(n)).httpStatus=e.status,r}}]),e}(),hn="/collections",pn=function(){function e(t){o(this,e),this.apiCall=t}var t,n;return c(e,[{key:"create",value:(n=P(A().mark((function e(t){var n,r=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},e.abrupt("return",this.apiCall.post(hn,t,n));case 2:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){var t,n=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.length>0&&void 0!==n[0]?n[0]:{},e.abrupt("return",this.apiCall.get(hn,t));case 2:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}],[{key:"RESOURCEPATH",get:function(){return hn}}]),e}();function fn(e,t,n){return t=f(t),p(e,dn()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function dn(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(dn=function(){return!!e})()}var yn=function(e){function t(e,n){var r;return o(this,t),(r=fn(this,t,[e])).importResults=n,r}return y(t,e),c(t)}(b);function vn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);nc&&(y=this.responseCache.keys().next().value,this.responseCache.delete(y)),this.responsePromiseCache.size>c&&(v=this.responsePromiseCache.keys().next().value,this.responsePromiseCache.delete(v)),e.abrupt("return",d);case 37:case"end":return e.stop()}}),e,this)}))),function(e,n,r,o){return t.apply(this,arguments)})}]),e}(),bn="/documents",Cn=function(){function e(t,n,r){o(this,e),u(this,"requestWithCache",new wn),this.collectionName=t,this.apiCall=n,this.configuration=r}var t;return c(e,[{key:"clearCache",value:function(){this.requestWithCache.clearCache()}},{key:"search",value:(t=P(A().mark((function e(t){var n,r,o,i,a,s,c,u,l=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(c in r=(n=l.length>1&&void 0!==l[1]?l[1]:{}).cacheSearchResultsForSeconds,o=void 0===r?this.configuration.cacheSearchResultsForSeconds:r,i=n.abortSignal,a=void 0===i?null:i,s={},!0===this.configuration.useServerSideSearchCache&&(s.use_cache=!0),t)Array.isArray(t[c])&&(s[c]=t[c].join(","));return u=Object.assign({},t,s),e.abrupt("return",this.requestWithCache.perform(this.apiCall,this.apiCall.get,[this.endpointPath("search"),u,{abortSignal:a}],{cacheResponseForSeconds:o}));case 6:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"endpointPath",value:function(e){return"".concat(pn.RESOURCEPATH,"/").concat(this.collectionName).concat(bn).concat(void 0===e?"":"/"+e)}}],[{key:"RESOURCEPATH",get:function(){return bn}}]),e}();function Rn(e,t,n){return t=f(t),p(e,kn()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function kn(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(kn=function(){return!!e})()}var En="undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node,Sn=function(e){function t(e,n,r){return o(this,t),Rn(this,t,[e,n,r])}var n,r,i,a,s,u,l,h,p;return y(t,e),c(t,[{key:"create",value:(p=P(A().mark((function e(t){var n,r=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=r.length>1&&void 0!==r[1]?r[1]:{},t){e.next=3;break}throw new Error("No document provided");case 3:return e.abrupt("return",this.apiCall.post(this.endpointPath(),t,n));case 4:case"end":return e.stop()}}),e,this)}))),function(e){return p.apply(this,arguments)})},{key:"upsert",value:(h=P(A().mark((function e(t){var n,r=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=r.length>1&&void 0!==r[1]?r[1]:{},t){e.next=3;break}throw new Error("No document provided");case 3:return e.abrupt("return",this.apiCall.post(this.endpointPath(),t,Object.assign({},n,{action:"upsert"})));case 4:case"end":return e.stop()}}),e,this)}))),function(e){return h.apply(this,arguments)})},{key:"update",value:(l=P(A().mark((function e(t){var n,r=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=r.length>1&&void 0!==r[1]?r[1]:{},t){e.next=3;break}throw new Error("No document provided");case 3:if(null==n.filter_by){e.next=7;break}return e.abrupt("return",this.apiCall.patch(this.endpointPath(),t,Object.assign({},n)));case 7:return e.abrupt("return",this.apiCall.post(this.endpointPath(),t,Object.assign({},n,{action:"update"})));case 8:case"end":return e.stop()}}),e,this)}))),function(e){return l.apply(this,arguments)})},{key:"delete",value:(u=P(A().mark((function e(){var t,n=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.length>0&&void 0!==n[0]?n[0]:{},e.abrupt("return",this.apiCall.delete(this.endpointPath(),t));case 2:case"end":return e.stop()}}),e,this)}))),function(){return u.apply(this,arguments)})},{key:"createMany",value:(s=P(A().mark((function e(t){var n,r=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},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"),e.abrupt("return",this.import(t,n));case 3:case"end":return e.stop()}}),e,this)}))),function(e){return s.apply(this,arguments)})},{key:"import",value:(a=P(A().mark((function e(t){var n,r,o,i,a,s=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=s.length>1&&void 0!==s[1]?s[1]:{},!Array.isArray(t)){e.next=13;break}e.prev=2,r=t.map((function(e){return JSON.stringify(e)})).join("\n"),e.next=11;break;case 6:if(e.prev=6,e.t0=e.catch(2),!(e.t0 instanceof RangeError&&e.t0.message.includes("Too many properties to enumerate"))){e.next=10;break}throw new Error("".concat(e.t0,"\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 "));case 10:throw new Error(e.t0);case 11:e.next=14;break;case 13:r=t;case 14:return e.next=16,this.apiCall.performRequest("post",this.endpointPath("import"),{queryParameters:n,bodyParameters:r,additionalHeaders:{"Content-Type":"text/plain"},skipConnectionTimeout:!0,enableKeepAlive:!!En});case 16:if(o=e.sent,!Array.isArray(t)){e.next=27;break}if(i=o.split("\n").map((function(e){return JSON.parse(e)})),!((a=i.filter((function(e){return!1===e.success}))).length>0)){e.next=24;break}throw new yn("".concat(i.length-a.length," documents imported successfully, ").concat(a.length," documents failed during import. Use `error.importResults` from the raised exception to get a detailed error reason for each document."),i);case 24:return e.abrupt("return",i);case 25:e.next=28;break;case 27:return e.abrupt("return",o);case 28:case"end":return e.stop()}}),e,this,[[2,6]])}))),function(e){return a.apply(this,arguments)})},{key:"importStream",value:(i=P(A().mark((function e(t){var n,r,o,i,a=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=a.length>1&&void 0!==a[1]?a[1]:{},e.next=3,this.apiCall.performRequest("post",this.endpointPath("import"),{queryParameters:n,bodyParameters:t,additionalHeaders:{"Content-Type":"text/plain"},skipConnectionTimeout:!0,enableKeepAlive:!!En});case 3:if(r=e.sent,o=r.split("\n").map((function(e){return JSON.parse(e)})),!((i=o.filter((function(e){return!1===e.success}))).length>0)){e.next=10;break}throw new yn("".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);case 10:return e.abrupt("return",o);case 11:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})},{key:"export",value:(r=P(A().mark((function e(){var t,n=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.length>0&&void 0!==n[0]?n[0]:{},e.abrupt("return",this.apiCall.get(this.endpointPath("export"),t));case 2:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"exportStream",value:(n=P(A().mark((function e(){var t,n=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.length>0&&void 0!==n[0]?n[0]:{},e.abrupt("return",this.apiCall.get(this.endpointPath("export"),t,{responseType:"stream"}));case 2:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})}]),t}(Cn),On=function(){function e(t,n){o(this,e),this.collectionName=t,this.apiCall=n}var t,n;return c(e,[{key:"upsert",value:(n=P(A().mark((function e(t,n){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.put(this.endpointPath(t),n));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(t){return"".concat(pn.RESOURCEPATH,"/").concat(this.collectionName).concat(e.RESOURCEPATH).concat(void 0===t?"":"/"+encodeURIComponent(t))}}],[{key:"RESOURCEPATH",get:function(){return"/overrides"}}]),e}(),Pn=function(){function e(t,n,r){o(this,e),this.collectionName=t,this.overrideId=n,this.apiCall=r}var t,n;return c(e,[{key:"retrieve",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(pn.RESOURCEPATH,"/").concat(encodeURIComponent(this.collectionName)).concat(On.RESOURCEPATH,"/").concat(encodeURIComponent(this.overrideId))}}]),e}(),xn=function(){function e(t,n){o(this,e),this.collectionName=t,this.apiCall=n}var t,n;return c(e,[{key:"upsert",value:(n=P(A().mark((function e(t,n){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.put(this.endpointPath(t),n));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(t){return"".concat(pn.RESOURCEPATH,"/").concat(encodeURIComponent(this.collectionName)).concat(e.RESOURCEPATH).concat(void 0===t?"":"/"+encodeURIComponent(t))}}],[{key:"RESOURCEPATH",get:function(){return"/synonyms"}}]),e}(),An=function(){function e(t,n,r){o(this,e),this.collectionName=t,this.synonymId=n,this.apiCall=r}var t,n;return c(e,[{key:"retrieve",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(pn.RESOURCEPATH,"/").concat(encodeURIComponent(this.collectionName)).concat(xn.RESOURCEPATH,"/").concat(encodeURIComponent(this.synonymId))}}]),e}(),Tn=function(){function e(t,n,r){o(this,e),this.collectionName=t,this.documentId=n,this.apiCall=r}var t,n,r;return c(e,[{key:"retrieve",value:(r=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"delete",value:(n=P(A().mark((function e(t){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath(),t));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"update",value:(t=P(A().mark((function e(t){var n,r=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},e.abrupt("return",this.apiCall.patch(this.endpointPath(),t,n));case 2:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(pn.RESOURCEPATH,"/").concat(encodeURIComponent(this.collectionName)).concat(Sn.RESOURCEPATH,"/").concat(encodeURIComponent(this.documentId))}}]),e}(),Nn=function(){function e(t,n,r){o(this,e),u(this,"individualDocuments",{}),u(this,"individualOverrides",{}),u(this,"individualSynonyms",{}),this.name=t,this.apiCall=n,this.configuration=r,this.name=t,this.apiCall=n,this.configuration=r,this._documents=new Sn(this.name,this.apiCall,this.configuration),this._overrides=new On(this.name,this.apiCall),this._synonyms=new xn(this.name,this.apiCall)}var t,n,r,i;return c(e,[{key:"retrieve",value:(i=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return i.apply(this,arguments)})},{key:"update",value:(r=P(A().mark((function e(t){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.patch(this.endpointPath(),t));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"delete",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"exists",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.retrieve();case 3:return e.abrupt("return",!0);case 6:if(e.prev=6,e.t0=e.catch(0),!(e.t0 instanceof Wt)){e.next=10;break}return e.abrupt("return",!1);case 10:throw e.t0;case 11:case"end":return e.stop()}}),e,this,[[0,6]])}))),function(){return t.apply(this,arguments)})},{key:"documents",value:function(e){return e?(void 0===this.individualDocuments[e]&&(this.individualDocuments[e]=new Tn(this.name,e,this.apiCall)),this.individualDocuments[e]):this._documents}},{key:"overrides",value:function(e){return void 0===e?this._overrides:(void 0===this.individualOverrides[e]&&(this.individualOverrides[e]=new Pn(this.name,e,this.apiCall)),this.individualOverrides[e])}},{key:"synonyms",value:function(e){return void 0===e?this._synonyms:(void 0===this.individualSynonyms[e]&&(this.individualSynonyms[e]=new An(this.name,e,this.apiCall)),this.individualSynonyms[e])}},{key:"endpointPath",value:function(){return"".concat(pn.RESOURCEPATH,"/").concat(encodeURIComponent(this.name))}}]),e}(),jn="/aliases",Un=function(){function e(t){o(this,e),this.apiCall=t}var t,n;return c(e,[{key:"upsert",value:(n=P(A().mark((function e(t,n){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.put(this.endpointPath(t),n));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(jn));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(t){return"".concat(e.RESOURCEPATH,"/").concat(encodeURIComponent(t))}}],[{key:"RESOURCEPATH",get:function(){return jn}}]),e}(),_n=function(){function e(t,n){o(this,e),this.name=t,this.apiCall=n}var t,n;return c(e,[{key:"retrieve",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(Un.RESOURCEPATH,"/").concat(encodeURIComponent(this.name))}}]),e}(),Ln=n(565),In="/keys",Fn=function(){function e(t){o(this,e),this.apiCall=t,this.apiCall=t}var t,n;return c(e,[{key:"create",value:(n=P(A().mark((function t(n){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.post(e.RESOURCEPATH,n));case 1:case"end":return t.stop()}}),t,this)}))),function(e){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(In));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"generateScopedSearchKey",value:function(e,t){var n=JSON.stringify(t),r=Buffer.from((0,Ln.createHmac)("sha256",e).update(n).digest("base64")),o=e.substr(0,4),i="".concat(r).concat(o).concat(n);return Buffer.from(i).toString("base64")}}],[{key:"RESOURCEPATH",get:function(){return In}}]),e}(),qn=function(){function e(t,n){o(this,e),this.id=t,this.apiCall=n}var t,n;return c(e,[{key:"retrieve",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(Fn.RESOURCEPATH,"/").concat(encodeURIComponent(this.id))}}]),e}(),Bn=function(){function e(t){o(this,e),this.apiCall=t}var t;return c(e,[{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get("/debug"));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}]),e}(),Dn=function(){function e(t){o(this,e),this.apiCall=t}var t;return c(e,[{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get("/metrics.json"));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}]),e}(),Hn=function(){function e(t){o(this,e),this.apiCall=t}var t;return c(e,[{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get("/stats.json"));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}]),e}(),Mn=function(){function e(t){o(this,e),this.apiCall=t}var t;return c(e,[{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get("/health"));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}]),e}(),Kn=function(){function e(t){o(this,e),this.apiCall=t}var t;return c(e,[{key:"perform",value:(t=P(A().mark((function e(t){var n,r=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},e.abrupt("return",this.apiCall.post("".concat("/operations","/").concat(t),{},n));case 2:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})}]),e}(),zn=function(){function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];o(this,e),this.apiCall=t,this.configuration=n,this.useTextContentType=r,this.requestWithCache=new wn}var t;return c(e,[{key:"clearCache",value:function(){this.requestWithCache.clearCache()}},{key:"perform",value:(t=P(A().mark((function e(t){var n,r,o,i,a,s,c=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=c.length>1&&void 0!==c[1]?c[1]:{},r=(c.length>2&&void 0!==c[2]?c[2]:{}).cacheSearchResultsForSeconds,o=void 0===r?this.configuration.cacheSearchResultsForSeconds:r,i={},this.useTextContentType&&(i["content-type"]="text/plain"),a={},!0===this.configuration.useServerSideSearchCache&&(a.use_cache=!0),s=Object.assign({},n,a),e.abrupt("return",this.requestWithCache.perform(this.apiCall,this.apiCall.post,["/multi_search",t,s,i],{cacheResponseForSeconds:o}));case 8:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})}]),e}(),Jn=function(){function e(t){o(this,e),this.apiCall=t}var t,n;return c(e,[{key:"upsert",value:(n=P(A().mark((function e(t,n){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.put(this.endpointPath(t),n));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(t){return"".concat(e.RESOURCEPATH).concat(void 0===t?"":"/"+encodeURIComponent(t))}}],[{key:"RESOURCEPATH",get:function(){return"/presets"}}]),e}(),Wn=function(){function e(t,n){o(this,e),this.presetId=t,this.apiCall=n}var t,n;return c(e,[{key:"retrieve",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(Jn.RESOURCEPATH,"/").concat(encodeURIComponent(this.presetId))}}]),e}(),Gn=function(){function e(t){o(this,e),this.apiCall=t,this.apiCall=t}var t,n;return c(e,[{key:"upsert",value:(n=P(A().mark((function e(t,n){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.put(this.endpointPath(t),n));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(t){return"".concat(e.RESOURCEPATH).concat(void 0===t?"":"/"+encodeURIComponent(t))}}],[{key:"RESOURCEPATH",get:function(){return"/analytics/rules"}}]),e}(),Vn=function(){function e(t,n){o(this,e),this.name=t,this.apiCall=n}var t,n;return c(e,[{key:"retrieve",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(Gn.RESOURCEPATH,"/").concat(encodeURIComponent(this.name))}}]),e}(),Qn=function(){function e(t){o(this,e),this.apiCall=t,this.apiCall=t}var t;return c(e,[{key:"create",value:(t=P(A().mark((function e(t){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.post(this.endpointPath(),t));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"endpointPath",value:function(t){return"".concat(e.RESOURCEPATH).concat(void 0===t?"":"/"+encodeURIComponent(t))}}],[{key:"RESOURCEPATH",get:function(){return"/analytics/events"}}]),e}(),$n=function(){function e(t){o(this,e),u(this,"individualAnalyticsRules",{}),this.apiCall=t,this.apiCall=t,this._analyticsRules=new Gn(this.apiCall),this._analyticsEvents=new Qn(this.apiCall)}return c(e,[{key:"rules",value:function(e){return void 0===e?this._analyticsRules:(void 0===this.individualAnalyticsRules[e]&&(this.individualAnalyticsRules[e]=new Vn(e,this.apiCall)),this.individualAnalyticsRules[e])}},{key:"events",value:function(){return this._analyticsEvents}}],[{key:"RESOURCEPATH",get:function(){return"/analytics"}}]),e}(),Xn=function(){function e(t){o(this,e),this.apiCall=t}var t,n;return c(e,[{key:"upsert",value:(n=P(A().mark((function e(t,n){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.put(this.endpointPath(t),n));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(t){return"".concat(e.RESOURCEPATH).concat(void 0===t?"":"/"+encodeURIComponent(t))}}],[{key:"RESOURCEPATH",get:function(){return"/stopwords"}}]),e}(),Yn=function(){function e(t,n){o(this,e),this.stopwordId=t,this.apiCall=n}var t,n;return c(e,[{key:"retrieve",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(Xn.RESOURCEPATH,"/").concat(encodeURIComponent(this.stopwordId))}}]),e}(),Zn=function(){function e(t){o(this,e),this.apiCall=t,this.apiCall=t}var t,n;return c(e,[{key:"create",value:(n=P(A().mark((function e(t){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.post(this.endpointPath(),t));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(t){return"".concat(e.RESOURCEPATH).concat(void 0===t?"":"/"+encodeURIComponent(t))}}],[{key:"RESOURCEPATH",get:function(){return"/conversations/models"}}]),e}(),er=function(){function e(t,n){o(this,e),this.id=t,this.apiCall=n}var t,n,r;return c(e,[{key:"update",value:(r=P(A().mark((function e(t){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.put(this.endpointPath(),t));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"retrieve",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(Zn.RESOURCEPATH,"/").concat(encodeURIComponent(this.id))}}]),e}(),tr="/conversations",nr=function(){function e(t){o(this,e),u(this,"individualConversationModels",{}),this.apiCall=t,this.apiCall=t,this._conversationsModels=new Zn(this.apiCall)}var t;return c(e,[{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(tr));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"models",value:function(e){return void 0===e?this._conversationsModels:(void 0===this.individualConversationModels[e]&&(this.individualConversationModels[e]=new er(e,this.apiCall)),this.individualConversationModels[e])}}],[{key:"RESOURCEPATH",get:function(){return tr}}]),e}(),rr=function(){function e(t,n){o(this,e),this.id=t,this.apiCall=n}var t,n,r;return c(e,[{key:"retrieve",value:(r=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"update",value:(n=P(A().mark((function e(t){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.put(this.endpointPath(),t));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(nr.RESOURCEPATH,"/").concat(encodeURIComponent(this.id))}}]),e}(),or=function(){function e(t){var n;o(this,e),t.sendApiKeyAsQueryParam=null!==(n=t.sendApiKeyAsQueryParam)&&void 0!==n&&n,this.configuration=new S(t),this.apiCall=new ln(this.configuration),this.debug=new Bn(this.apiCall),this.metrics=new Dn(this.apiCall),this.stats=new Hn(this.apiCall),this.health=new Mn(this.apiCall),this.operations=new Kn(this.apiCall),this.multiSearch=new zn(this.apiCall,this.configuration),this._collections=new pn(this.apiCall),this.individualCollections={},this._aliases=new Un(this.apiCall),this.individualAliases={},this._keys=new Fn(this.apiCall),this.individualKeys={},this._presets=new Jn(this.apiCall),this.individualPresets={},this._stopwords=new Xn(this.apiCall),this.individualStopwords={},this.analytics=new $n(this.apiCall),this._conversations=new nr(this.apiCall),this.individualConversations={}}return c(e,[{key:"collections",value:function(e){return void 0===e?this._collections:(void 0===this.individualCollections[e]&&(this.individualCollections[e]=new Nn(e,this.apiCall,this.configuration)),this.individualCollections[e])}},{key:"aliases",value:function(e){return void 0===e?this._aliases:(void 0===this.individualAliases[e]&&(this.individualAliases[e]=new _n(e,this.apiCall)),this.individualAliases[e])}},{key:"keys",value:function(e){return void 0===e?this._keys:(void 0===this.individualKeys[e]&&(this.individualKeys[e]=new qn(e,this.apiCall)),this.individualKeys[e])}},{key:"presets",value:function(e){return void 0===e?this._presets:(void 0===this.individualPresets[e]&&(this.individualPresets[e]=new Wn(e,this.apiCall)),this.individualPresets[e])}},{key:"stopwords",value:function(e){return void 0===e?this._stopwords:(void 0===this.individualStopwords[e]&&(this.individualStopwords[e]=new Yn(e,this.apiCall)),this.individualStopwords[e])}},{key:"conversations",value:function(e){return void 0===e?this._conversations:(void 0===this.individualConversations[e]&&(this.individualConversations[e]=new rr(e,this.apiCall)),this.individualConversations[e])}}]),e}();var ir=function(){function e(t,n,r){o(this,e),this.name=t,this.apiCall=n,this.configuration=r,this._documents=new Cn(this.name,this.apiCall,this.configuration)}return c(e,[{key:"documents",value:function(){return this._documents}}]),e}(),ar=function(){function e(t){var n;o(this,e),t.sendApiKeyAsQueryParam=null===(n=t.sendApiKeyAsQueryParam)||void 0===n||n,!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 S(t),this.apiCall=new ln(this.configuration),this.multiSearch=new zn(this.apiCall,this.configuration,!0),this.individualCollections={}}return c(e,[{key:"clearCache",value:function(){this.multiSearch.clearCache(),Object.entries(this.individualCollections).forEach((function(e){var t,n,r=(n=2,function(e){if(Array.isArray(e))return e}(t=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],c=!0,u=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}(t,n)||mn(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}());r[0],r[1].documents().clearCache()}))}},{key:"collections",value:function(e){if(e)return void 0===this.individualCollections[e]&&(this.individualCollections[e]=new ir(e,this.apiCall,this.configuration)),this.individualCollections[e];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.")}}]),e}();const sr={Client:or,SearchClient:ar,Errors:t}})(),Typesense=r})(); +var Typesense;(()=>{var e={65:function(e,t,n){var r,o;!function(i,a){"use strict";r=function(){var e=function(){},t="undefined",n=typeof window!==t&&typeof window.navigator!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),r=["trace","debug","info","warn","error"],o={},i=null;function a(e,t){var n=e[t];if("function"==typeof n.bind)return n.bind(e);try{return Function.prototype.bind.call(n,e)}catch(t){return function(){return Function.prototype.apply.apply(n,[e,arguments])}}}function s(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function c(){for(var n=this.getLevel(),o=0;o=0&&t<=h.levels.SILENT)return t;throw new TypeError("log.setLevel() called with invalid level: "+e)}"string"==typeof e?p+=":"+e:"symbol"==typeof e&&(p=void 0),h.name=e,h.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},h.methodFactory=n||l,h.getLevel=function(){return null!=u?u:null!=s?s:a},h.setLevel=function(e,n){return u=d(e),!1!==n&&function(e){var n=(r[e]||"silent").toUpperCase();if(typeof window!==t&&p){try{return void(window.localStorage[p]=n)}catch(e){}try{window.document.cookie=encodeURIComponent(p)+"="+n+";"}catch(e){}}}(u),c.call(h)},h.setDefaultLevel=function(e){s=d(e),f()||h.setLevel(e,!1)},h.resetLevel=function(){u=null,function(){if(typeof window!==t&&p){try{window.localStorage.removeItem(p)}catch(e){}try{window.document.cookie=encodeURIComponent(p)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch(e){}}}(),c.call(h)},h.enableAll=function(e){h.setLevel(h.levels.TRACE,e)},h.disableAll=function(e){h.setLevel(h.levels.SILENT,e)},h.rebuild=function(){if(i!==h&&(a=d(i.getLevel())),c.call(h),i===h)for(var e in o)o[e].rebuild()},a=d(i?i.getLevel():"WARN");var y=f();null!=y&&(u=d(y)),c.call(h)}(i=new h).getLogger=function(e){if("symbol"!=typeof e&&"string"!=typeof e||""===e)throw new TypeError("You must supply a name when creating a logger.");var t=o[e];return t||(t=o[e]=new h(e,i.methodFactory)),t};var p=typeof window!==t?window.log:void 0;return i.noConflict=function(){return typeof window!==t&&window.log===i&&(window.log=p),i},i.getLoggers=function(){return o},i.default=i,i},void 0===(o=r.call(t,n,t,e))||(e.exports=o)}()},612:()=>{},939:()=>{},82:()=>{},633:(e,t,n)=>{var r=n(738).default;function o(){"use strict";e.exports=o=function(){return n},e.exports.__esModule=!0,e.exports.default=e.exports;var t,n={},i=Object.prototype,a=i.hasOwnProperty,s=Object.defineProperty||function(e,t,n){e[t]=n.value},c="function"==typeof Symbol?Symbol:{},u=c.iterator||"@@iterator",l=c.asyncIterator||"@@asyncIterator",h=c.toStringTag||"@@toStringTag";function p(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{p({},"")}catch(t){p=function(e,t,n){return e[t]=n}}function f(e,t,n,r){var o=t&&t.prototype instanceof b?t:b,i=Object.create(o.prototype),a=new U(r||[]);return s(i,"_invoke",{value:A(e,n,a)}),i}function d(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}n.wrap=f;var y="suspendedStart",v="suspendedYield",m="executing",g="completed",w={};function b(){}function C(){}function R(){}var k={};p(k,u,(function(){return this}));var E=Object.getPrototypeOf,S=E&&E(E(_([])));S&&S!==i&&a.call(S,u)&&(k=S);var O=R.prototype=b.prototype=Object.create(k);function P(e){["next","throw","return"].forEach((function(t){p(e,t,(function(e){return this._invoke(t,e)}))}))}function x(e,t){function n(o,i,s,c){var u=d(e[o],e,i);if("throw"!==u.type){var l=u.arg,h=l.value;return h&&"object"==r(h)&&a.call(h,"__await")?t.resolve(h.__await).then((function(e){n("next",e,s,c)}),(function(e){n("throw",e,s,c)})):t.resolve(h).then((function(e){l.value=e,s(l)}),(function(e){return n("throw",e,s,c)}))}c(u.arg)}var o;s(this,"_invoke",{value:function(e,r){function i(){return new t((function(t,o){n(e,r,t,o)}))}return o=o?o.then(i,i):i()}})}function A(e,n,r){var o=y;return function(i,a){if(o===m)throw new Error("Generator is already running");if(o===g){if("throw"===i)throw a;return{value:t,done:!0}}for(r.method=i,r.arg=a;;){var s=r.delegate;if(s){var c=T(s,r);if(c){if(c===w)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(o===y)throw o=g,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);o=m;var u=d(e,n,r);if("normal"===u.type){if(o=r.done?g:v,u.arg===w)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(o=g,r.method="throw",r.arg=u.arg)}}}function T(e,n){var r=n.method,o=e.iterator[r];if(o===t)return n.delegate=null,"throw"===r&&e.iterator.return&&(n.method="return",n.arg=t,T(e,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),w;var i=d(o,e.iterator,n.arg);if("throw"===i.type)return n.method="throw",n.arg=i.arg,n.delegate=null,w;var a=i.arg;return a?a.done?(n[e.resultName]=a.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,w):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,w)}function N(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function j(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function U(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(N,this),this.reset(!0)}function _(e){if(e||""===e){var n=e[u];if(n)return n.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function n(){for(;++o=0;--o){var i=this.tryEntries[o],s=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var c=a.call(i,"catchLoc"),u=a.call(i,"finallyLoc");if(c&&u){if(this.prev=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&a.call(r,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),j(n),w}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;j(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:_(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),w}},n}e.exports=o,e.exports.__esModule=!0,e.exports.default=e.exports},738:e=>{function t(n){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(n)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},756:(e,t,n)=>{var r=n(633)();e.exports=r;try{regeneratorRuntime=r}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=r:Function("r","regeneratorRuntime = r")(r)}}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r].call(i.exports,i,i.exports,n),i.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};(()=>{"use strict";n.r(r),n.d(r,{Client:()=>pr,Errors:()=>t,SearchClient:()=>dr,default:()=>yr});var e={};n.r(e),n.d(e,{hasBrowserEnv:()=>Be,hasStandardBrowserEnv:()=>De,hasStandardBrowserWebWorkerEnv:()=>Me,navigator:()=>He,origin:()=>Ke});var t={};function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function a(e){var t=function(e,t){if("object"!=i(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=i(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==i(t)?t:String(t)}function s(e,t){for(var n=0;nfn,ImportError:()=>kn,MissingConfigurationError:()=>k,ObjectAlreadyExists:()=>rn,ObjectNotFound:()=>en,ObjectUnprocessable:()=>sn,RequestMalformed:()=>Vt,RequestUnauthorized:()=>Xt,ServerError:()=>ln,TypesenseError:()=>b});var l=n(65);function h(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function p(e,t){if(t&&("object"===i(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return h(e)}function f(e){return f=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},f(e)}function d(e,t){return d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},d(e,t)}function y(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&d(e,t)}function v(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(v=function(){return!!e})()}function m(e){var t="function"==typeof Map?new Map:void 0;return m=function(e){if(null===e||!function(e){try{return-1!==Function.toString.call(e).indexOf("[native code]")}catch(t){return"function"==typeof e}}(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return function(e,t,n){if(v())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,t);var o=new(e.bind.apply(e,r));return n&&d(o,n.prototype),o}(e,arguments,f(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),d(n,e)},m(e)}function g(e,t,n){return t=f(t),p(e,w()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function w(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(w=function(){return!!e})()}var b=function(e){function t(e){var n;return o(this,t),(n=g(this,t,[e])).name=(this instanceof t?this.constructor:void 0).name,Object.setPrototypeOf(h(n),(this instanceof t?this.constructor:void 0).prototype),n}return y(t,e),c(t)}(m(Error));function C(e,t,n){return t=f(t),p(e,R()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function R(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(R=function(){return!!e})()}var k=function(e){function t(){return o(this,t),C(this,t,arguments)}return y(t,e),c(t)}(b);function E(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var S=function(){function e(t){var n=this;o(this,e),this.nodes=t.nodes||[],this.nodes=this.nodes.map((function(e){return n.setDefaultPathInNode(e)})).map((function(e){return n.setDefaultPortInNode(e)})).map((function(e){return function(e){for(var t=1;t0;t--){var n=Math.floor(Math.random()*(t+1)),r=[e[n],e[t]];e[t]=r[0],e[n]=r[1]}}}]),e}();function O(e,t,n,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,o)}function P(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){O(i,r,o,a,s,"next",e)}function s(e){O(i,r,o,a,s,"throw",e)}a(void 0)}))}}var x=n(756),A=n.n(x);function T(e,t){return function(){return e.apply(t,arguments)}}const{toString:N}=Object.prototype,{getPrototypeOf:j}=Object,U=(_=Object.create(null),e=>{const t=N.call(e);return _[t]||(_[t]=t.slice(8,-1).toLowerCase())});var _;const L=e=>(e=e.toLowerCase(),t=>U(t)===e),I=e=>t=>typeof t===e,{isArray:F}=Array,q=I("undefined"),B=L("ArrayBuffer"),H=I("string"),D=I("function"),M=I("number"),K=e=>null!==e&&"object"==typeof e,z=e=>{if("object"!==U(e))return!1;const t=j(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||Symbol.toStringTag in e||Symbol.iterator in e)},J=L("Date"),W=L("File"),G=L("Blob"),V=L("FileList"),Q=L("URLSearchParams"),[$,X,Y,Z]=["ReadableStream","Request","Response","Headers"].map(L);function ee(e,t,{allOwnKeys:n=!1}={}){if(null==e)return;let r,o;if("object"!=typeof e&&(e=[e]),F(e))for(r=0,o=e.length;r0;)if(r=n[o],t===r.toLowerCase())return r;return null}const ne="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,re=e=>!q(e)&&e!==ne,oe=(ie="undefined"!=typeof Uint8Array&&j(Uint8Array),e=>ie&&e instanceof ie);var ie;const ae=L("HTMLFormElement"),se=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),ce=L("RegExp"),ue=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};ee(n,((n,o)=>{let i;!1!==(i=t(n,o,e))&&(r[o]=i||n)})),Object.defineProperties(e,r)},le="abcdefghijklmnopqrstuvwxyz",he="0123456789",pe={DIGIT:he,ALPHA:le,ALPHA_DIGIT:le+le.toUpperCase()+he},fe=L("AsyncFunction"),de=(ye="function"==typeof setImmediate,ve=D(ne.postMessage),ye?setImmediate:ve?(me=`axios@${Math.random()}`,ge=[],ne.addEventListener("message",(({source:e,data:t})=>{e===ne&&t===me&&ge.length&&ge.shift()()}),!1),e=>{ge.push(e),ne.postMessage(me,"*")}):e=>setTimeout(e));var ye,ve,me,ge;const we="undefined"!=typeof queueMicrotask?queueMicrotask.bind(ne):"undefined"!=typeof process&&process.nextTick||de,be={isArray:F,isArrayBuffer:B,isBuffer:function(e){return null!==e&&!q(e)&&null!==e.constructor&&!q(e.constructor)&&D(e.constructor.isBuffer)&&e.constructor.isBuffer(e)},isFormData:e=>{let t;return e&&("function"==typeof FormData&&e instanceof FormData||D(e.append)&&("formdata"===(t=U(e))||"object"===t&&D(e.toString)&&"[object FormData]"===e.toString()))},isArrayBufferView:function(e){let t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&B(e.buffer),t},isString:H,isNumber:M,isBoolean:e=>!0===e||!1===e,isObject:K,isPlainObject:z,isReadableStream:$,isRequest:X,isResponse:Y,isHeaders:Z,isUndefined:q,isDate:J,isFile:W,isBlob:G,isRegExp:ce,isFunction:D,isStream:e=>K(e)&&D(e.pipe),isURLSearchParams:Q,isTypedArray:oe,isFileList:V,forEach:ee,merge:function e(){const{caseless:t}=re(this)&&this||{},n={},r=(r,o)=>{const i=t&&te(n,o)||o;z(n[i])&&z(r)?n[i]=e(n[i],r):z(r)?n[i]=e({},r):F(r)?n[i]=r.slice():n[i]=r};for(let e=0,t=arguments.length;e(ee(t,((t,r)=>{n&&D(t)?e[r]=T(t,n):e[r]=t}),{allOwnKeys:r}),e),trim:e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),inherits:(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},toFlatObject:(e,t,n,r)=>{let o,i,a;const s={};if(t=t||{},null==e)return t;do{for(o=Object.getOwnPropertyNames(e),i=o.length;i-- >0;)a=o[i],r&&!r(a,e,t)||s[a]||(t[a]=e[a],s[a]=!0);e=!1!==n&&j(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},kindOf:U,kindOfTest:L,endsWith:(e,t,n)=>{e=String(e),(void 0===n||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return-1!==r&&r===n},toArray:e=>{if(!e)return null;if(F(e))return e;let t=e.length;if(!M(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},forEachEntry:(e,t)=>{const n=(e&&e[Symbol.iterator]).call(e);let r;for(;(r=n.next())&&!r.done;){const n=r.value;t.call(e,n[0],n[1])}},matchAll:(e,t)=>{let n;const r=[];for(;null!==(n=e.exec(t));)r.push(n);return r},isHTMLForm:ae,hasOwnProperty:se,hasOwnProp:se,reduceDescriptors:ue,freezeMethods:e=>{ue(e,((t,n)=>{if(D(e)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;const r=e[n];D(r)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}))}))},toObjectSet:(e,t)=>{const n={},r=e=>{e.forEach((e=>{n[e]=!0}))};return F(e)?r(e):r(String(e).split(t)),n},toCamelCase:e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(e,t,n){return t.toUpperCase()+n})),noop:()=>{},toFiniteNumber:(e,t)=>null!=e&&Number.isFinite(e=+e)?e:t,findKey:te,global:ne,isContextDefined:re,ALPHABET:pe,generateString:(e=16,t=pe.ALPHA_DIGIT)=>{let n="";const{length:r}=t;for(;e--;)n+=t[Math.random()*r|0];return n},isSpecCompliantForm:function(e){return!!(e&&D(e.append)&&"FormData"===e[Symbol.toStringTag]&&e[Symbol.iterator])},toJSONObject:e=>{const t=new Array(10),n=(e,r)=>{if(K(e)){if(t.indexOf(e)>=0)return;if(!("toJSON"in e)){t[r]=e;const o=F(e)?[]:{};return ee(e,((e,t)=>{const i=n(e,r+1);!q(i)&&(o[t]=i)})),t[r]=void 0,o}}return e};return n(e,0)},isAsyncFn:fe,isThenable:e=>e&&(K(e)||D(e))&&D(e.then)&&D(e.catch),setImmediate:de,asap:we};function Ce(e,t,n,r,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),o&&(this.response=o,this.status=o.status?o.status:null)}be.inherits(Ce,Error,{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:be.toJSONObject(this.config),code:this.code,status:this.status}}});const Re=Ce.prototype,ke={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((e=>{ke[e]={value:e}})),Object.defineProperties(Ce,ke),Object.defineProperty(Re,"isAxiosError",{value:!0}),Ce.from=(e,t,n,r,o,i)=>{const a=Object.create(Re);return be.toFlatObject(e,a,(function(e){return e!==Error.prototype}),(e=>"isAxiosError"!==e)),Ce.call(a,e.message,t,n,r,o),a.cause=e,a.name=e.name,i&&Object.assign(a,i),a};const Ee=Ce;function Se(e){return be.isPlainObject(e)||be.isArray(e)}function Oe(e){return be.endsWith(e,"[]")?e.slice(0,-2):e}function Pe(e,t,n){return e?e.concat(t).map((function(e,t){return e=Oe(e),!n&&t?"["+e+"]":e})).join(n?".":""):t}const xe=be.toFlatObject(be,{},null,(function(e){return/^is[A-Z]/.test(e)})),Ae=function(e,t,n){if(!be.isObject(e))throw new TypeError("target must be an object");t=t||new FormData;const r=(n=be.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!be.isUndefined(t[e])}))).metaTokens,o=n.visitor||u,i=n.dots,a=n.indexes,s=(n.Blob||"undefined"!=typeof Blob&&Blob)&&be.isSpecCompliantForm(t);if(!be.isFunction(o))throw new TypeError("visitor must be a function");function c(e){if(null===e)return"";if(be.isDate(e))return e.toISOString();if(!s&&be.isBlob(e))throw new Ee("Blob is not supported. Use a Buffer instead.");return be.isArrayBuffer(e)||be.isTypedArray(e)?s&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function u(e,n,o){let s=e;if(e&&!o&&"object"==typeof e)if(be.endsWith(n,"{}"))n=r?n:n.slice(0,-2),e=JSON.stringify(e);else if(be.isArray(e)&&function(e){return be.isArray(e)&&!e.some(Se)}(e)||(be.isFileList(e)||be.endsWith(n,"[]"))&&(s=be.toArray(e)))return n=Oe(n),s.forEach((function(e,r){!be.isUndefined(e)&&null!==e&&t.append(!0===a?Pe([n],r,i):null===a?n:n+"[]",c(e))})),!1;return!!Se(e)||(t.append(Pe(o,n,i),c(e)),!1)}const l=[],h=Object.assign(xe,{defaultVisitor:u,convertValue:c,isVisitable:Se});if(!be.isObject(e))throw new TypeError("data must be an object");return function e(n,r){if(!be.isUndefined(n)){if(-1!==l.indexOf(n))throw Error("Circular reference detected in "+r.join("."));l.push(n),be.forEach(n,(function(n,i){!0===(!(be.isUndefined(n)||null===n)&&o.call(t,n,be.isString(i)?i.trim():i,r,h))&&e(n,r?r.concat(i):[i])})),l.pop()}}(e),t};function Te(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function Ne(e,t){this._pairs=[],e&&Ae(e,this,t)}const je=Ne.prototype;je.append=function(e,t){this._pairs.push([e,t])},je.toString=function(e){const t=e?function(t){return e.call(this,t,Te)}:Te;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};const Ue=Ne;function _e(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Le(e,t,n){if(!t)return e;const r=n&&n.encode||_e,o=n&&n.serialize;let i;if(i=o?o(t,n):be.isURLSearchParams(t)?t.toString():new Ue(t,n).toString(r),i){const t=e.indexOf("#");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf("?")?"?":"&")+i}return e}const Ie=class{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){be.forEach(this.handlers,(function(t){null!==t&&e(t)}))}},Fe={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},qe={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:Ue,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]},Be="undefined"!=typeof window&&"undefined"!=typeof document,He="object"==typeof navigator&&navigator||void 0,De=Be&&(!He||["ReactNative","NativeScript","NS"].indexOf(He.product)<0),Me="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,Ke=Be&&window.location.href||"http://localhost",ze={...e,...qe},Je=function(e){function t(e,n,r,o){let i=e[o++];if("__proto__"===i)return!0;const a=Number.isFinite(+i),s=o>=e.length;return i=!i&&be.isArray(r)?r.length:i,s?(be.hasOwnProp(r,i)?r[i]=[r[i],n]:r[i]=n,!a):(r[i]&&be.isObject(r[i])||(r[i]=[]),t(e,n,r[i],o)&&be.isArray(r[i])&&(r[i]=function(e){const t={},n=Object.keys(e);let r;const o=n.length;let i;for(r=0;r{t(function(e){return be.matchAll(/\w+|\[(\w*)]/g,e).map((e=>"[]"===e[0]?"":e[1]||e[0]))}(e),r,n,0)})),n}return null},We={transitional:Fe,adapter:["xhr","http","fetch"],transformRequest:[function(e,t){const n=t.getContentType()||"",r=n.indexOf("application/json")>-1,o=be.isObject(e);if(o&&be.isHTMLForm(e)&&(e=new FormData(e)),be.isFormData(e))return r?JSON.stringify(Je(e)):e;if(be.isArrayBuffer(e)||be.isBuffer(e)||be.isStream(e)||be.isFile(e)||be.isBlob(e)||be.isReadableStream(e))return e;if(be.isArrayBufferView(e))return e.buffer;if(be.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let i;if(o){if(n.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return Ae(e,new ze.classes.URLSearchParams,Object.assign({visitor:function(e,t,n,r){return ze.isNode&&be.isBuffer(e)?(this.append(t,e.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((i=be.isFileList(e))||n.indexOf("multipart/form-data")>-1){const t=this.env&&this.env.FormData;return Ae(i?{"files[]":e}:e,t&&new t,this.formSerializer)}}return o||r?(t.setContentType("application/json",!1),function(e,t,n){if(be.isString(e))try{return(0,JSON.parse)(e),be.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(0,JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){const t=this.transitional||We.transitional,n=t&&t.forcedJSONParsing,r="json"===this.responseType;if(be.isResponse(e)||be.isReadableStream(e))return e;if(e&&be.isString(e)&&(n&&!this.responseType||r)){const n=!(t&&t.silentJSONParsing)&&r;try{return JSON.parse(e)}catch(e){if(n){if("SyntaxError"===e.name)throw Ee.from(e,Ee.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:ze.classes.FormData,Blob:ze.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};be.forEach(["delete","get","head","post","put","patch"],(e=>{We.headers[e]={}}));const Ge=We,Ve=be.toObjectSet(["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"]),Qe=Symbol("internals");function $e(e){return e&&String(e).trim().toLowerCase()}function Xe(e){return!1===e||null==e?e:be.isArray(e)?e.map(Xe):String(e)}function Ye(e,t,n,r,o){return be.isFunction(r)?r.call(this,t,n):(o&&(t=n),be.isString(t)?be.isString(r)?-1!==t.indexOf(r):be.isRegExp(r)?r.test(t):void 0:void 0)}class Ze{constructor(e){e&&this.set(e)}set(e,t,n){const r=this;function o(e,t,n){const o=$e(t);if(!o)throw new Error("header name must be a non-empty string");const i=be.findKey(r,o);(!i||void 0===r[i]||!0===n||void 0===n&&!1!==r[i])&&(r[i||t]=Xe(e))}const i=(e,t)=>be.forEach(e,((e,n)=>o(e,n,t)));if(be.isPlainObject(e)||e instanceof this.constructor)i(e,t);else if(be.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim()))i((e=>{const t={};let n,r,o;return e&&e.split("\n").forEach((function(e){o=e.indexOf(":"),n=e.substring(0,o).trim().toLowerCase(),r=e.substring(o+1).trim(),!n||t[n]&&Ve[n]||("set-cookie"===n?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)})),t})(e),t);else if(be.isHeaders(e))for(const[t,r]of e.entries())o(r,t,n);else null!=e&&o(t,e,n);return this}get(e,t){if(e=$e(e)){const n=be.findKey(this,e);if(n){const e=this[n];if(!t)return e;if(!0===t)return function(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}(e);if(be.isFunction(t))return t.call(this,e,n);if(be.isRegExp(t))return t.exec(e);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=$e(e)){const n=be.findKey(this,e);return!(!n||void 0===this[n]||t&&!Ye(0,this[n],n,t))}return!1}delete(e,t){const n=this;let r=!1;function o(e){if(e=$e(e)){const o=be.findKey(n,e);!o||t&&!Ye(0,n[o],o,t)||(delete n[o],r=!0)}}return be.isArray(e)?e.forEach(o):o(e),r}clear(e){const t=Object.keys(this);let n=t.length,r=!1;for(;n--;){const o=t[n];e&&!Ye(0,this[o],o,e,!0)||(delete this[o],r=!0)}return r}normalize(e){const t=this,n={};return be.forEach(this,((r,o)=>{const i=be.findKey(n,o);if(i)return t[i]=Xe(r),void delete t[o];const a=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((e,t,n)=>t.toUpperCase()+n))}(o):String(o).trim();a!==o&&delete t[o],t[a]=Xe(r),n[a]=!0})),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return be.forEach(this,((n,r)=>{null!=n&&!1!==n&&(t[r]=e&&be.isArray(n)?n.join(", "):n)})),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([e,t])=>e+": "+t)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const n=new this(e);return t.forEach((e=>n.set(e))),n}static accessor(e){const t=(this[Qe]=this[Qe]={accessors:{}}).accessors,n=this.prototype;function r(e){const r=$e(e);t[r]||(function(e,t){const n=be.toCamelCase(" "+t);["get","set","has"].forEach((r=>{Object.defineProperty(e,r+n,{value:function(e,n,o){return this[r].call(this,t,e,n,o)},configurable:!0})}))}(n,e),t[r]=!0)}return be.isArray(e)?e.forEach(r):r(e),this}}Ze.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),be.reduceDescriptors(Ze.prototype,(({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[n]=e}}})),be.freezeMethods(Ze);const et=Ze;function tt(e,t){const n=this||Ge,r=t||n,o=et.from(r.headers);let i=r.data;return be.forEach(e,(function(e){i=e.call(n,i,o.normalize(),t?t.status:void 0)})),o.normalize(),i}function nt(e){return!(!e||!e.__CANCEL__)}function rt(e,t,n){Ee.call(this,null==e?"canceled":e,Ee.ERR_CANCELED,t,n),this.name="CanceledError"}be.inherits(rt,Ee,{__CANCEL__:!0});const ot=rt;function it(e,t,n){const r=n.config.validateStatus;n.status&&r&&!r(n.status)?t(new Ee("Request failed with status code "+n.status,[Ee.ERR_BAD_REQUEST,Ee.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):e(n)}const at=(e,t,n=3)=>{let r=0;const o=function(e,t){e=e||10;const n=new Array(e),r=new Array(e);let o,i=0,a=0;return t=void 0!==t?t:1e3,function(s){const c=Date.now(),u=r[a];o||(o=c),n[i]=s,r[i]=c;let l=a,h=0;for(;l!==i;)h+=n[l++],l%=e;if(i=(i+1)%e,i===a&&(a=(a+1)%e),c-o{o=i,n=null,r&&(clearTimeout(r),r=null),e.apply(null,t)};return[(...e)=>{const t=Date.now(),s=t-o;s>=i?a(e,t):(n=e,r||(r=setTimeout((()=>{r=null,a(n)}),i-s)))},()=>n&&a(n)]}((n=>{const i=n.loaded,a=n.lengthComputable?n.total:void 0,s=i-r,c=o(s);r=i,e({loaded:i,total:a,progress:a?i/a:void 0,bytes:s,rate:c||void 0,estimated:c&&a&&i<=a?(a-i)/c:void 0,event:n,lengthComputable:null!=a,[t?"download":"upload"]:!0})}),n)},st=(e,t)=>{const n=null!=e;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},ct=e=>(...t)=>be.asap((()=>e(...t))),ut=ze.hasStandardBrowserEnv?function(){const e=ze.navigator&&/(msie|trident)/i.test(ze.navigator.userAgent),t=document.createElement("a");let n;function r(n){let r=n;return e&&(t.setAttribute("href",r),r=t.href),t.setAttribute("href",r),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:"/"===t.pathname.charAt(0)?t.pathname:"/"+t.pathname}}return n=r(window.location.href),function(e){const t=be.isString(e)?r(e):e;return t.protocol===n.protocol&&t.host===n.host}}():function(){return!0},lt=ze.hasStandardBrowserEnv?{write(e,t,n,r,o,i){const a=[e+"="+encodeURIComponent(t)];be.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),be.isString(r)&&a.push("path="+r),be.isString(o)&&a.push("domain="+o),!0===i&&a.push("secure"),document.cookie=a.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read:()=>null,remove(){}};function ht(e,t){return e&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)?function(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}(e,t):t}const pt=e=>e instanceof et?{...e}:e;function ft(e,t){t=t||{};const n={};function r(e,t,n){return be.isPlainObject(e)&&be.isPlainObject(t)?be.merge.call({caseless:n},e,t):be.isPlainObject(t)?be.merge({},t):be.isArray(t)?t.slice():t}function o(e,t,n){return be.isUndefined(t)?be.isUndefined(e)?void 0:r(void 0,e,n):r(e,t,n)}function i(e,t){if(!be.isUndefined(t))return r(void 0,t)}function a(e,t){return be.isUndefined(t)?be.isUndefined(e)?void 0:r(void 0,e):r(void 0,t)}function s(n,o,i){return i in t?r(n,o):i in e?r(void 0,n):void 0}const c={url:i,method:i,data:i,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:s,headers:(e,t)=>o(pt(e),pt(t),!0)};return be.forEach(Object.keys(Object.assign({},e,t)),(function(r){const i=c[r]||o,a=i(e[r],t[r],r);be.isUndefined(a)&&i!==s||(n[r]=a)})),n}const dt=e=>{const t=ft({},e);let n,{data:r,withXSRFToken:o,xsrfHeaderName:i,xsrfCookieName:a,headers:s,auth:c}=t;if(t.headers=s=et.from(s),t.url=Le(ht(t.baseURL,t.url),e.params,e.paramsSerializer),c&&s.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?unescape(encodeURIComponent(c.password)):""))),be.isFormData(r))if(ze.hasStandardBrowserEnv||ze.hasStandardBrowserWebWorkerEnv)s.setContentType(void 0);else if(!1!==(n=s.getContentType())){const[e,...t]=n?n.split(";").map((e=>e.trim())).filter(Boolean):[];s.setContentType([e||"multipart/form-data",...t].join("; "))}if(ze.hasStandardBrowserEnv&&(o&&be.isFunction(o)&&(o=o(t)),o||!1!==o&&ut(t.url))){const e=i&&a&<.read(a);e&&s.set(i,e)}return t},yt="undefined"!=typeof XMLHttpRequest&&function(e){return new Promise((function(t,n){const r=dt(e);let o=r.data;const i=et.from(r.headers).normalize();let a,s,c,u,l,{responseType:h,onUploadProgress:p,onDownloadProgress:f}=r;function d(){u&&u(),l&&l(),r.cancelToken&&r.cancelToken.unsubscribe(a),r.signal&&r.signal.removeEventListener("abort",a)}let y=new XMLHttpRequest;function v(){if(!y)return;const r=et.from("getAllResponseHeaders"in y&&y.getAllResponseHeaders());it((function(e){t(e),d()}),(function(e){n(e),d()}),{data:h&&"text"!==h&&"json"!==h?y.response:y.responseText,status:y.status,statusText:y.statusText,headers:r,config:e,request:y}),y=null}y.open(r.method.toUpperCase(),r.url,!0),y.timeout=r.timeout,"onloadend"in y?y.onloadend=v:y.onreadystatechange=function(){y&&4===y.readyState&&(0!==y.status||y.responseURL&&0===y.responseURL.indexOf("file:"))&&setTimeout(v)},y.onabort=function(){y&&(n(new Ee("Request aborted",Ee.ECONNABORTED,e,y)),y=null)},y.onerror=function(){n(new Ee("Network Error",Ee.ERR_NETWORK,e,y)),y=null},y.ontimeout=function(){let t=r.timeout?"timeout of "+r.timeout+"ms exceeded":"timeout exceeded";const o=r.transitional||Fe;r.timeoutErrorMessage&&(t=r.timeoutErrorMessage),n(new Ee(t,o.clarifyTimeoutError?Ee.ETIMEDOUT:Ee.ECONNABORTED,e,y)),y=null},void 0===o&&i.setContentType(null),"setRequestHeader"in y&&be.forEach(i.toJSON(),(function(e,t){y.setRequestHeader(t,e)})),be.isUndefined(r.withCredentials)||(y.withCredentials=!!r.withCredentials),h&&"json"!==h&&(y.responseType=r.responseType),f&&([c,l]=at(f,!0),y.addEventListener("progress",c)),p&&y.upload&&([s,u]=at(p),y.upload.addEventListener("progress",s),y.upload.addEventListener("loadend",u)),(r.cancelToken||r.signal)&&(a=t=>{y&&(n(!t||t.type?new ot(null,e,y):t),y.abort(),y=null)},r.cancelToken&&r.cancelToken.subscribe(a),r.signal&&(r.signal.aborted?a():r.signal.addEventListener("abort",a)));const m=function(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}(r.url);m&&-1===ze.protocols.indexOf(m)?n(new Ee("Unsupported protocol "+m+":",Ee.ERR_BAD_REQUEST,e)):y.send(o||null)}))},vt=(e,t)=>{let n,r=new AbortController;const o=function(e){if(!n){n=!0,a();const t=e instanceof Error?e:this.reason;r.abort(t instanceof Ee?t:new ot(t instanceof Error?t.message:t))}};let i=t&&setTimeout((()=>{o(new Ee(`timeout ${t} of ms exceeded`,Ee.ETIMEDOUT))}),t);const a=()=>{e&&(i&&clearTimeout(i),i=null,e.forEach((e=>{e&&(e.removeEventListener?e.removeEventListener("abort",o):e.unsubscribe(o))})),e=null)};e.forEach((e=>e&&e.addEventListener&&e.addEventListener("abort",o)));const{signal:s}=r;return s.unsubscribe=a,[s,()=>{i&&clearTimeout(i),i=null}]},mt=function*(e,t){let n=e.byteLength;if(!t||n{const i=async function*(e,t,n){for await(const r of e)yield*mt(ArrayBuffer.isView(r)?r:await n(String(r)),t)}(e,t,o);let a,s=0,c=e=>{a||(a=!0,r&&r(e))};return new ReadableStream({async pull(e){try{const{done:t,value:r}=await i.next();if(t)return c(),void e.close();let o=r.byteLength;if(n){let e=s+=o;n(e)}e.enqueue(new Uint8Array(r))}catch(e){throw c(e),e}},cancel:e=>(c(e),i.return())},{highWaterMark:2})},wt="function"==typeof fetch&&"function"==typeof Request&&"function"==typeof Response,bt=wt&&"function"==typeof ReadableStream,Ct=wt&&("function"==typeof TextEncoder?(Rt=new TextEncoder,e=>Rt.encode(e)):async e=>new Uint8Array(await new Response(e).arrayBuffer()));var Rt;const kt=(e,...t)=>{try{return!!e(...t)}catch(e){return!1}},Et=bt&&kt((()=>{let e=!1;const t=new Request(ze.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t})),St=bt&&kt((()=>be.isReadableStream(new Response("").body))),Ot={stream:St&&(e=>e.body)};var Pt;wt&&(Pt=new Response,["text","arrayBuffer","blob","formData","stream"].forEach((e=>{!Ot[e]&&(Ot[e]=be.isFunction(Pt[e])?t=>t[e]():(t,n)=>{throw new Ee(`Response type '${e}' is not supported`,Ee.ERR_NOT_SUPPORT,n)})})));const xt={http:null,xhr:yt,fetch:wt&&(async e=>{let{url:t,method:n,data:r,signal:o,cancelToken:i,timeout:a,onDownloadProgress:s,onUploadProgress:c,responseType:u,headers:l,withCredentials:h="same-origin",fetchOptions:p}=dt(e);u=u?(u+"").toLowerCase():"text";let f,d,[y,v]=o||i||a?vt([o,i],a):[];const m=()=>{!f&&setTimeout((()=>{y&&y.unsubscribe()})),f=!0};let g;try{if(c&&Et&&"get"!==n&&"head"!==n&&0!==(g=await(async(e,t)=>{const n=be.toFiniteNumber(e.getContentLength());return null==n?(async e=>null==e?0:be.isBlob(e)?e.size:be.isSpecCompliantForm(e)?(await new Request(e).arrayBuffer()).byteLength:be.isArrayBufferView(e)||be.isArrayBuffer(e)?e.byteLength:(be.isURLSearchParams(e)&&(e+=""),be.isString(e)?(await Ct(e)).byteLength:void 0))(t):n})(l,r))){let e,n=new Request(t,{method:"POST",body:r,duplex:"half"});if(be.isFormData(r)&&(e=n.headers.get("content-type"))&&l.setContentType(e),n.body){const[e,t]=st(g,at(ct(c)));r=gt(n.body,65536,e,t,Ct)}}be.isString(h)||(h=h?"include":"omit");const o="credentials"in Request.prototype;d=new Request(t,{...p,signal:y,method:n.toUpperCase(),headers:l.normalize().toJSON(),body:r,duplex:"half",credentials:o?h:void 0});let i=await fetch(d);const a=St&&("stream"===u||"response"===u);if(St&&(s||a)){const e={};["status","statusText","headers"].forEach((t=>{e[t]=i[t]}));const t=be.toFiniteNumber(i.headers.get("content-length")),[n,r]=s&&st(t,at(ct(s),!0))||[];i=new Response(gt(i.body,65536,n,(()=>{r&&r(),a&&m()}),Ct),e)}u=u||"text";let f=await Ot[be.findKey(Ot,u)||"text"](i,e);return!a&&m(),v&&v(),await new Promise(((t,n)=>{it(t,n,{data:f,headers:et.from(i.headers),status:i.status,statusText:i.statusText,config:e,request:d})}))}catch(t){if(m(),t&&"TypeError"===t.name&&/fetch/i.test(t.message))throw Object.assign(new Ee("Network Error",Ee.ERR_NETWORK,e,d),{cause:t.cause||t});throw Ee.from(t,t&&t.code,e,d)}})};be.forEach(xt,((e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch(e){}Object.defineProperty(e,"adapterName",{value:t})}}));const At=e=>`- ${e}`,Tt=e=>be.isFunction(e)||null===e||!1===e,Nt=e=>{e=be.isArray(e)?e:[e];const{length:t}=e;let n,r;const o={};for(let i=0;i`adapter ${e} `+(!1===t?"is not supported by the environment":"is not available in the build")));let n=t?e.length>1?"since :\n"+e.map(At).join("\n"):" "+At(e[0]):"as no adapter specified";throw new Ee("There is no suitable adapter to dispatch the request "+n,"ERR_NOT_SUPPORT")}return r};function jt(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new ot(null,e)}function Ut(e){return jt(e),e.headers=et.from(e.headers),e.data=tt.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Nt(e.adapter||Ge.adapter)(e).then((function(t){return jt(e),t.data=tt.call(e,e.transformResponse,t),t.headers=et.from(t.headers),t}),(function(t){return nt(t)||(jt(e),t&&t.response&&(t.response.data=tt.call(e,e.transformResponse,t.response),t.response.headers=et.from(t.response.headers))),Promise.reject(t)}))}const _t={};["object","boolean","number","function","string","symbol"].forEach(((e,t)=>{_t[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}}));const Lt={};_t.transitional=function(e,t,n){function r(e,t){return"[Axios v1.7.5] Transitional option '"+e+"'"+t+(n?". "+n:"")}return(n,o,i)=>{if(!1===e)throw new Ee(r(o," has been removed"+(t?" in "+t:"")),Ee.ERR_DEPRECATED);return t&&!Lt[o]&&(Lt[o]=!0,console.warn(r(o," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(n,o,i)}};const It={assertOptions:function(e,t,n){if("object"!=typeof e)throw new Ee("options must be an object",Ee.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let o=r.length;for(;o-- >0;){const i=r[o],a=t[i];if(a){const t=e[i],n=void 0===t||a(t,i,e);if(!0!==n)throw new Ee("option "+i+" must be "+n,Ee.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new Ee("Unknown option "+i,Ee.ERR_BAD_OPTION)}},validators:_t},Ft=It.validators;class qt{constructor(e){this.defaults=e,this.interceptors={request:new Ie,response:new Ie}}async request(e,t){try{return await this._request(e,t)}catch(e){if(e instanceof Error){let t;Error.captureStackTrace?Error.captureStackTrace(t={}):t=new Error;const n=t.stack?t.stack.replace(/^.+\n/,""):"";try{e.stack?n&&!String(e.stack).endsWith(n.replace(/^.+\n.+\n/,""))&&(e.stack+="\n"+n):e.stack=n}catch(e){}}throw e}}_request(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{},t=ft(this.defaults,t);const{transitional:n,paramsSerializer:r,headers:o}=t;void 0!==n&&It.assertOptions(n,{silentJSONParsing:Ft.transitional(Ft.boolean),forcedJSONParsing:Ft.transitional(Ft.boolean),clarifyTimeoutError:Ft.transitional(Ft.boolean)},!1),null!=r&&(be.isFunction(r)?t.paramsSerializer={serialize:r}:It.assertOptions(r,{encode:Ft.function,serialize:Ft.function},!0)),t.method=(t.method||this.defaults.method||"get").toLowerCase();let i=o&&be.merge(o.common,o[t.method]);o&&be.forEach(["delete","get","head","post","put","patch","common"],(e=>{delete o[e]})),t.headers=et.concat(i,o);const a=[];let s=!0;this.interceptors.request.forEach((function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(s=s&&e.synchronous,a.unshift(e.fulfilled,e.rejected))}));const c=[];let u;this.interceptors.response.forEach((function(e){c.push(e.fulfilled,e.rejected)}));let l,h=0;if(!s){const e=[Ut.bind(this),void 0];for(e.unshift.apply(e,a),e.push.apply(e,c),l=e.length,u=Promise.resolve(t);h{if(!n._listeners)return;let t=n._listeners.length;for(;t-- >0;)n._listeners[t](e);n._listeners=null})),this.promise.then=e=>{let t;const r=new Promise((e=>{n.subscribe(e),t=e})).then(e);return r.cancel=function(){n.unsubscribe(t)},r},e((function(e,r,o){n.reason||(n.reason=new ot(e,r,o),t(n.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}static source(){let e;return{token:new Ht((function(t){e=t})),cancel:e}}}const Dt=Ht,Mt={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Mt).forEach((([e,t])=>{Mt[t]=e}));const Kt=Mt,zt=function e(t){const n=new Bt(t),r=T(Bt.prototype.request,n);return be.extend(r,Bt.prototype,n,{allOwnKeys:!0}),be.extend(r,n,null,{allOwnKeys:!0}),r.create=function(n){return e(ft(t,n))},r}(Ge);zt.Axios=Bt,zt.CanceledError=ot,zt.CancelToken=Dt,zt.isCancel=nt,zt.VERSION="1.7.5",zt.toFormData=Ae,zt.AxiosError=Ee,zt.Cancel=zt.CanceledError,zt.all=function(e){return Promise.all(e)},zt.spread=function(e){return function(t){return e.apply(null,t)}},zt.isAxiosError=function(e){return be.isObject(e)&&!0===e.isAxiosError},zt.mergeConfig=ft,zt.AxiosHeaders=et,zt.formToJSON=e=>Je(be.isHTMLForm(e)?new FormData(e):e),zt.getAdapter=Nt,zt.HttpStatusCode=Kt,zt.default=zt;const Jt=zt;function Wt(e,t,n){return t=f(t),p(e,Gt()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function Gt(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Gt=function(){return!!e})()}var Vt=function(e){function t(){return o(this,t),Wt(this,t,arguments)}return y(t,e),c(t)}(b);function Qt(e,t,n){return t=f(t),p(e,$t()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function $t(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return($t=function(){return!!e})()}var Xt=function(e){function t(){return o(this,t),Qt(this,t,arguments)}return y(t,e),c(t)}(b);function Yt(e,t,n){return t=f(t),p(e,Zt()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function Zt(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Zt=function(){return!!e})()}var en=function(e){function t(){return o(this,t),Yt(this,t,arguments)}return y(t,e),c(t)}(b);function tn(e,t,n){return t=f(t),p(e,nn()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function nn(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(nn=function(){return!!e})()}var rn=function(e){function t(){return o(this,t),tn(this,t,arguments)}return y(t,e),c(t)}(b);function on(e,t,n){return t=f(t),p(e,an()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function an(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(an=function(){return!!e})()}var sn=function(e){function t(){return o(this,t),on(this,t,arguments)}return y(t,e),c(t)}(b);function cn(e,t,n){return t=f(t),p(e,un()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function un(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(un=function(){return!!e})()}var ln=function(e){function t(){return o(this,t),cn(this,t,arguments)}return y(t,e),c(t)}(b);function hn(e,t,n){return t=f(t),p(e,pn()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function pn(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(pn=function(){return!!e})()}var fn=function(e){function t(){return o(this,t),hn(this,t,arguments)}return y(t,e),c(t)}(b),dn=n(939),yn=n(82),vn=!0,mn="undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node,gn=function(){function e(t){o(this,e),this.configuration=t,this.apiKey=this.configuration.apiKey,this.nodes=null==this.configuration.nodes?this.configuration.nodes:JSON.parse(JSON.stringify(this.configuration.nodes)),this.nearestNode=null==this.configuration.nearestNode?this.configuration.nearestNode:JSON.parse(JSON.stringify(this.configuration.nearestNode)),this.connectionTimeoutSeconds=this.configuration.connectionTimeoutSeconds,this.healthcheckIntervalSeconds=this.configuration.healthcheckIntervalSeconds,this.numRetriesPerRequest=this.configuration.numRetries,this.retryIntervalSeconds=this.configuration.retryIntervalSeconds,this.sendApiKeyAsQueryParam=this.configuration.sendApiKeyAsQueryParam,this.additionalUserHeaders=this.configuration.additionalHeaders,this.logger=this.configuration.logger,this.initializeMetadataForNodes(),this.currentNodeIndex=-1}var t,n,r,a,s,u,l;return c(e,[{key:"get",value:(l=P(A().mark((function e(t){var n,r,o,i,a,s,c=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=c.length>1&&void 0!==c[1]?c[1]:{},o=(r=c.length>2&&void 0!==c[2]?c[2]:{}).abortSignal,i=void 0===o?null:o,a=r.responseType,s=void 0===a?void 0:a,e.abrupt("return",this.performRequest("get",t,{queryParameters:n,abortSignal:i,responseType:s}));case 3:case"end":return e.stop()}}),e,this)}))),function(e){return l.apply(this,arguments)})},{key:"delete",value:(u=P(A().mark((function e(t){var n,r=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},e.abrupt("return",this.performRequest("delete",t,{queryParameters:n}));case 2:case"end":return e.stop()}}),e,this)}))),function(e){return u.apply(this,arguments)})},{key:"post",value:(s=P(A().mark((function e(t){var n,r,o,i=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=i.length>1&&void 0!==i[1]?i[1]:{},r=i.length>2&&void 0!==i[2]?i[2]:{},o=i.length>3&&void 0!==i[3]?i[3]:{},e.abrupt("return",this.performRequest("post",t,{queryParameters:r,bodyParameters:n,additionalHeaders:o}));case 4:case"end":return e.stop()}}),e,this)}))),function(e){return s.apply(this,arguments)})},{key:"put",value:(a=P(A().mark((function e(t){var n,r,o=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=o.length>1&&void 0!==o[1]?o[1]:{},r=o.length>2&&void 0!==o[2]?o[2]:{},e.abrupt("return",this.performRequest("put",t,{queryParameters:r,bodyParameters:n}));case 3:case"end":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})},{key:"patch",value:(r=P(A().mark((function e(t){var n,r,o=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=o.length>1&&void 0!==o[1]?o[1]:{},r=o.length>2&&void 0!==o[2]?o[2]:{},e.abrupt("return",this.performRequest("patch",t,{queryParameters:r,bodyParameters:n}));case 3:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"performRequest",value:(n=P(A().mark((function e(t,n,r){var o,a,s,c,u,l,h,p,f,d,y,v,m,g,w,b,C,R,k,E=this;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:o=r.queryParameters,a=void 0===o?null:o,s=r.bodyParameters,c=void 0===s?null:s,u=r.additionalHeaders,l=void 0===u?{}:u,h=r.abortSignal,p=void 0===h?null:h,f=r.responseType,d=void 0===f?void 0:f,y=r.skipConnectionTimeout,v=void 0!==y&&y,m=r.enableKeepAlive,g=void 0===m?void 0:m,this.configuration.validate(),w=Date.now(),this.logger.debug("Request #".concat(w,": Performing ").concat(t.toUpperCase()," request: ").concat(n)),C=A().mark((function e(){var r,o,s,u,h,f,y,m,C;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=E.getNextNode(w),E.logger.debug("Request #".concat(w,": Attempting ").concat(t.toUpperCase()," request Try #").concat(k," to Node ").concat(r.index)),!p||!p.aborted){e.next=4;break}return e.abrupt("return",{v:Promise.reject(new Error("Request aborted by caller."))});case 4:return e.prev=4,s={method:t,url:E.uriFor(n,r),headers:Object.assign({},E.defaultHeaders(),l,E.additionalUserHeaders),maxContentLength:1/0,maxBodyLength:1/0,responseType:d,validateStatus:function(e){return e>0},transformResponse:[function(e,t){var n=e;return void 0!==t&&"string"==typeof e&&t["content-type"]&&t["content-type"].startsWith("application/json")&&(n=JSON.parse(e)),n}]},!0!==v&&(s.timeout=1e3*E.connectionTimeoutSeconds),a&&0!==Object.keys(a).length&&(s.params=a),E.sendApiKeyAsQueryParam&&(s.params=s.params||{},s.params["x-typesense-api-key"]=E.apiKey),E.configuration.httpAgent?(E.logger.debug("Request #".concat(w,": Using custom httpAgent")),s.httpAgent=E.configuration.httpAgent):!0===g&&(mn?(E.logger.debug("Request #".concat(w,": Enabling KeepAlive")),s.httpAgent=new dn.Agent({keepAlive:!0})):E.logger.warn("Request #".concat(w,": Cannot use custom httpAgent in a browser environment to enable keepAlive"))),E.configuration.httpsAgent?(E.logger.debug("Request #".concat(w,": Using custom httpsAgent")),s.httpsAgent=E.configuration.httpsAgent):!0===g&&(mn?(E.logger.debug("Request #".concat(w,": Enabling keepAlive")),s.httpsAgent=new yn.Agent({keepAlive:!0})):E.logger.warn("Request #".concat(w,": Cannot use custom httpAgent in a browser environment to enable keepAlive"))),E.configuration.paramsSerializer&&(E.logger.debug("Request #".concat(w,": Using custom paramsSerializer")),s.paramsSerializer=E.configuration.paramsSerializer),c&&("string"==typeof c&&0!==c.length||"object"===i(c)&&0!==Object.keys(c).length)&&(s.data=c),p&&(u=Jt.CancelToken,h=u.source(),o=function(){return h.cancel()},p.addEventListener("abort",o),s.cancelToken=h.token),e.next=16,Jt(s);case 16:if((f=e.sent).status>=1&&f.status<=499&&E.setNodeHealthcheck(r,vn),E.logger.debug("Request #".concat(w,": Request to Node ").concat(r.index," was made. Response Code was ").concat(f.status,".")),!(f.status>=200&&f.status<300)){e.next=23;break}return e.abrupt("return",{v:Promise.resolve(f.data)});case 23:if(!(f.status<500)){e.next=27;break}return e.abrupt("return",{v:Promise.reject(E.customErrorForResponse(f,null===(y=f.data)||void 0===y?void 0:y.message))});case 27:throw E.customErrorForResponse(f,null===(m=f.data)||void 0===m?void 0:m.message);case 28:e.next=38;break;case 30:return e.prev=30,e.t0=e.catch(4),E.setNodeHealthcheck(r,!1),b=e.t0,E.logger.warn("Request #".concat(w,": Request to Node ").concat(r.index,' failed due to "').concat(e.t0.code," ").concat(e.t0.message).concat(null==e.t0.response?"":" - "+JSON.stringify(null===(C=e.t0.response)||void 0===C?void 0:C.data),'"')),E.logger.warn("Request #".concat(w,": Sleeping for ").concat(E.retryIntervalSeconds,"s and then retrying request...")),e.next=38,E.timer(E.retryIntervalSeconds);case 38:return e.prev=38,p&&o&&p.removeEventListener("abort",o),e.finish(38);case 41:case"end":return e.stop()}}),e,null,[[4,30,38,41]])})),k=1;case 6:if(!(k<=this.numRetriesPerRequest+1)){e.next=14;break}return e.delegateYield(C(),"t0",8);case 8:if(!(R=e.t0)){e.next=11;break}return e.abrupt("return",R.v);case 11:k++,e.next=6;break;case 14:return this.logger.debug("Request #".concat(w,": No retries left. Raising last error")),e.abrupt("return",Promise.reject(b));case 16:case"end":return e.stop()}}),e,this)}))),function(e,t,r){return n.apply(this,arguments)})},{key:"getNextNode",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(null!=this.nearestNode){if(this.logger.debug("Request #".concat(e,": Nodes Health: Node ").concat(this.nearestNode.index," is ").concat(!0===this.nearestNode.isHealthy?"Healthy":"Unhealthy")),!0===this.nearestNode.isHealthy||this.nodeDueForHealthcheck(this.nearestNode,e))return this.logger.debug("Request #".concat(e,": Updated current node to Node ").concat(this.nearestNode.index)),this.nearestNode;this.logger.debug("Request #".concat(e,": Falling back to individual nodes"))}this.logger.debug("Request #".concat(e,": Nodes Health: ").concat(this.nodes.map((function(e){return"Node ".concat(e.index," is ").concat(!0===e.isHealthy?"Healthy":"Unhealthy")})).join(" || ")));for(var t=this.nodes[0],n=0;n<=this.nodes.length;n++)if(this.currentNodeIndex=(this.currentNodeIndex+1)%this.nodes.length,!0===(t=this.nodes[this.currentNodeIndex]).isHealthy||this.nodeDueForHealthcheck(t,e))return this.logger.debug("Request #".concat(e,": Updated current node to Node ").concat(t.index)),t;return this.logger.debug("Request #".concat(e,": No healthy nodes were found. Returning the next node, Node ").concat(t.index)),t}},{key:"nodeDueForHealthcheck",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=Date.now()-e.lastAccessTimestamp>1e3*this.healthcheckIntervalSeconds;return n&&this.logger.debug("Request #".concat(t,": Node ").concat(e.index," has exceeded healtcheckIntervalSeconds of ").concat(this.healthcheckIntervalSeconds,". Adding it back into rotation.")),n}},{key:"initializeMetadataForNodes",value:function(){var e=this;null!=this.nearestNode&&(this.nearestNode.index="nearestNode",this.setNodeHealthcheck(this.nearestNode,vn)),this.nodes.forEach((function(t,n){t.index=n,e.setNodeHealthcheck(t,vn)}))}},{key:"setNodeHealthcheck",value:function(e,t){e.isHealthy=t,e.lastAccessTimestamp=Date.now()}},{key:"uriFor",value:function(e,t){return null!=t.url?"".concat(t.url).concat(e):"".concat(t.protocol,"://").concat(t.host,":").concat(t.port).concat(t.path).concat(e)}},{key:"defaultHeaders",value:function(){var e={};return this.sendApiKeyAsQueryParam||(e["X-TYPESENSE-API-KEY"]=this.apiKey),e["Content-Type"]="application/json",e}},{key:"timer",value:(t=P(A().mark((function e(t){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e){return setTimeout(e,1e3*t)})));case 1:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})},{key:"customErrorForResponse",value:function(e,t){var n="Request failed with HTTP code ".concat(e.status);"string"==typeof t&&""!==t.trim()&&(n+=" | Server said: ".concat(t));var r=new b(n);return(r=400===e.status?new Vt(n):401===e.status?new Xt(n):404===e.status?new en(n):409===e.status?new rn(n):422===e.status?new sn(n):e.status>=500&&e.status<=599?new ln(n):new fn(n)).httpStatus=e.status,r}}]),e}(),wn="/collections",bn=function(){function e(t){o(this,e),this.apiCall=t}var t,n;return c(e,[{key:"create",value:(n=P(A().mark((function e(t){var n,r=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},e.abrupt("return",this.apiCall.post(wn,t,n));case 2:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){var t,n=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.length>0&&void 0!==n[0]?n[0]:{},e.abrupt("return",this.apiCall.get(wn,t));case 2:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}],[{key:"RESOURCEPATH",get:function(){return wn}}]),e}();function Cn(e,t,n){return t=f(t),p(e,Rn()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function Rn(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Rn=function(){return!!e})()}var kn=function(e){function t(e,n){var r;return o(this,t),(r=Cn(this,t,[e])).importResults=n,r}return y(t,e),c(t)}(b);function En(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);nc&&(y=this.responseCache.keys().next().value,this.responseCache.delete(y)),this.responsePromiseCache.size>c&&(v=this.responsePromiseCache.keys().next().value,this.responsePromiseCache.delete(v)),e.abrupt("return",d);case 37:case"end":return e.stop()}}),e,this)}))),function(e,n,r,o){return t.apply(this,arguments)})}]),e}(),xn="/documents",An=function(){function e(t,n,r){o(this,e),u(this,"requestWithCache",new Pn),this.collectionName=t,this.apiCall=n,this.configuration=r}var t;return c(e,[{key:"clearCache",value:function(){this.requestWithCache.clearCache()}},{key:"search",value:(t=P(A().mark((function e(t){var n,r,o,i,a,s,c,u,l=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(c in r=(n=l.length>1&&void 0!==l[1]?l[1]:{}).cacheSearchResultsForSeconds,o=void 0===r?this.configuration.cacheSearchResultsForSeconds:r,i=n.abortSignal,a=void 0===i?null:i,s={},!0===this.configuration.useServerSideSearchCache&&(s.use_cache=!0),t)Array.isArray(t[c])&&(s[c]=t[c].join(","));return u=Object.assign({},t,s),e.abrupt("return",this.requestWithCache.perform(this.apiCall,this.apiCall.get,[this.endpointPath("search"),u,{abortSignal:a}],{cacheResponseForSeconds:o}));case 6:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"endpointPath",value:function(e){return"".concat(bn.RESOURCEPATH,"/").concat(this.collectionName).concat(xn).concat(void 0===e?"":"/"+e)}}],[{key:"RESOURCEPATH",get:function(){return xn}}]),e}();function Tn(e,t,n){return t=f(t),p(e,Nn()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function Nn(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Nn=function(){return!!e})()}var jn="undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node,Un=function(e){function t(e,n,r){return o(this,t),Tn(this,t,[e,n,r])}var n,r,i,a,s,u,l,h,p;return y(t,e),c(t,[{key:"create",value:(p=P(A().mark((function e(t){var n,r=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=r.length>1&&void 0!==r[1]?r[1]:{},t){e.next=3;break}throw new Error("No document provided");case 3:return e.abrupt("return",this.apiCall.post(this.endpointPath(),t,n));case 4:case"end":return e.stop()}}),e,this)}))),function(e){return p.apply(this,arguments)})},{key:"upsert",value:(h=P(A().mark((function e(t){var n,r=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=r.length>1&&void 0!==r[1]?r[1]:{},t){e.next=3;break}throw new Error("No document provided");case 3:return e.abrupt("return",this.apiCall.post(this.endpointPath(),t,Object.assign({},n,{action:"upsert"})));case 4:case"end":return e.stop()}}),e,this)}))),function(e){return h.apply(this,arguments)})},{key:"update",value:(l=P(A().mark((function e(t){var n,r=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=r.length>1&&void 0!==r[1]?r[1]:{},t){e.next=3;break}throw new Error("No document provided");case 3:if(null==n.filter_by){e.next=7;break}return e.abrupt("return",this.apiCall.patch(this.endpointPath(),t,Object.assign({},n)));case 7:return e.abrupt("return",this.apiCall.post(this.endpointPath(),t,Object.assign({},n,{action:"update"})));case 8:case"end":return e.stop()}}),e,this)}))),function(e){return l.apply(this,arguments)})},{key:"delete",value:(u=P(A().mark((function e(){var t,n=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.length>0&&void 0!==n[0]?n[0]:{},e.abrupt("return",this.apiCall.delete(this.endpointPath(),t));case 2:case"end":return e.stop()}}),e,this)}))),function(){return u.apply(this,arguments)})},{key:"createMany",value:(s=P(A().mark((function e(t){var n,r=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},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"),e.abrupt("return",this.import(t,n));case 3:case"end":return e.stop()}}),e,this)}))),function(e){return s.apply(this,arguments)})},{key:"import",value:(a=P(A().mark((function e(t){var n,r,o,i,a,s=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=s.length>1&&void 0!==s[1]?s[1]:{},!Array.isArray(t)){e.next=13;break}e.prev=2,r=t.map((function(e){return JSON.stringify(e)})).join("\n"),e.next=11;break;case 6:if(e.prev=6,e.t0=e.catch(2),!(e.t0 instanceof RangeError&&e.t0.message.includes("Too many properties to enumerate"))){e.next=10;break}throw new Error("".concat(e.t0,"\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 "));case 10:throw new Error(e.t0);case 11:e.next=14;break;case 13:r=t;case 14:return e.next=16,this.apiCall.performRequest("post",this.endpointPath("import"),{queryParameters:n,bodyParameters:r,additionalHeaders:{"Content-Type":"text/plain"},skipConnectionTimeout:!0,enableKeepAlive:!!jn});case 16:if(o=e.sent,!Array.isArray(t)){e.next=27;break}if(i=o.split("\n").map((function(e){return JSON.parse(e)})),!((a=i.filter((function(e){return!1===e.success}))).length>0)){e.next=24;break}throw new kn("".concat(i.length-a.length," documents imported successfully, ").concat(a.length," documents failed during import. Use `error.importResults` from the raised exception to get a detailed error reason for each document."),i);case 24:return e.abrupt("return",i);case 25:e.next=28;break;case 27:return e.abrupt("return",o);case 28:case"end":return e.stop()}}),e,this,[[2,6]])}))),function(e){return a.apply(this,arguments)})},{key:"importStream",value:(i=P(A().mark((function e(t){var n,r,o,i,a=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=a.length>1&&void 0!==a[1]?a[1]:{},e.next=3,this.apiCall.performRequest("post",this.endpointPath("import"),{queryParameters:n,bodyParameters:t,additionalHeaders:{"Content-Type":"text/plain"},skipConnectionTimeout:!0,enableKeepAlive:!!jn});case 3:if(r=e.sent,o=r.split("\n").map((function(e){return JSON.parse(e)})),!((i=o.filter((function(e){return!1===e.success}))).length>0)){e.next=10;break}throw new kn("".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);case 10:return e.abrupt("return",o);case 11:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})},{key:"export",value:(r=P(A().mark((function e(){var t,n=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.length>0&&void 0!==n[0]?n[0]:{},e.abrupt("return",this.apiCall.get(this.endpointPath("export"),t));case 2:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"exportStream",value:(n=P(A().mark((function e(){var t,n=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.length>0&&void 0!==n[0]?n[0]:{},e.abrupt("return",this.apiCall.get(this.endpointPath("export"),t,{responseType:"stream"}));case 2:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})}]),t}(An),_n=function(){function e(t,n){o(this,e),this.collectionName=t,this.apiCall=n}var t,n;return c(e,[{key:"upsert",value:(n=P(A().mark((function e(t,n){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.put(this.endpointPath(t),n));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(t){return"".concat(bn.RESOURCEPATH,"/").concat(this.collectionName).concat(e.RESOURCEPATH).concat(void 0===t?"":"/"+encodeURIComponent(t))}}],[{key:"RESOURCEPATH",get:function(){return"/overrides"}}]),e}(),Ln=function(){function e(t,n,r){o(this,e),this.collectionName=t,this.overrideId=n,this.apiCall=r}var t,n;return c(e,[{key:"retrieve",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(bn.RESOURCEPATH,"/").concat(encodeURIComponent(this.collectionName)).concat(_n.RESOURCEPATH,"/").concat(encodeURIComponent(this.overrideId))}}]),e}(),In=function(){function e(t,n){o(this,e),this.collectionName=t,this.apiCall=n}var t,n;return c(e,[{key:"upsert",value:(n=P(A().mark((function e(t,n){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.put(this.endpointPath(t),n));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(t){return"".concat(bn.RESOURCEPATH,"/").concat(encodeURIComponent(this.collectionName)).concat(e.RESOURCEPATH).concat(void 0===t?"":"/"+encodeURIComponent(t))}}],[{key:"RESOURCEPATH",get:function(){return"/synonyms"}}]),e}(),Fn=function(){function e(t,n,r){o(this,e),this.collectionName=t,this.synonymId=n,this.apiCall=r}var t,n;return c(e,[{key:"retrieve",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(bn.RESOURCEPATH,"/").concat(encodeURIComponent(this.collectionName)).concat(In.RESOURCEPATH,"/").concat(encodeURIComponent(this.synonymId))}}]),e}(),qn=function(){function e(t,n,r){o(this,e),this.collectionName=t,this.documentId=n,this.apiCall=r}var t,n,r;return c(e,[{key:"retrieve",value:(r=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"delete",value:(n=P(A().mark((function e(t){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath(),t));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"update",value:(t=P(A().mark((function e(t){var n,r=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},e.abrupt("return",this.apiCall.patch(this.endpointPath(),t,n));case 2:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(bn.RESOURCEPATH,"/").concat(encodeURIComponent(this.collectionName)).concat(Un.RESOURCEPATH,"/").concat(encodeURIComponent(this.documentId))}}]),e}(),Bn=function(){function e(t,n,r){o(this,e),u(this,"individualDocuments",{}),u(this,"individualOverrides",{}),u(this,"individualSynonyms",{}),this.name=t,this.apiCall=n,this.configuration=r,this.name=t,this.apiCall=n,this.configuration=r,this._documents=new Un(this.name,this.apiCall,this.configuration),this._overrides=new _n(this.name,this.apiCall),this._synonyms=new In(this.name,this.apiCall)}var t,n,r,i;return c(e,[{key:"retrieve",value:(i=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return i.apply(this,arguments)})},{key:"update",value:(r=P(A().mark((function e(t){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.patch(this.endpointPath(),t));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"delete",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"exists",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.retrieve();case 3:return e.abrupt("return",!0);case 6:if(e.prev=6,e.t0=e.catch(0),!(e.t0 instanceof en)){e.next=10;break}return e.abrupt("return",!1);case 10:throw e.t0;case 11:case"end":return e.stop()}}),e,this,[[0,6]])}))),function(){return t.apply(this,arguments)})},{key:"documents",value:function(e){return e?(void 0===this.individualDocuments[e]&&(this.individualDocuments[e]=new qn(this.name,e,this.apiCall)),this.individualDocuments[e]):this._documents}},{key:"overrides",value:function(e){return void 0===e?this._overrides:(void 0===this.individualOverrides[e]&&(this.individualOverrides[e]=new Ln(this.name,e,this.apiCall)),this.individualOverrides[e])}},{key:"synonyms",value:function(e){return void 0===e?this._synonyms:(void 0===this.individualSynonyms[e]&&(this.individualSynonyms[e]=new Fn(this.name,e,this.apiCall)),this.individualSynonyms[e])}},{key:"endpointPath",value:function(){return"".concat(bn.RESOURCEPATH,"/").concat(encodeURIComponent(this.name))}}]),e}(),Hn="/aliases",Dn=function(){function e(t){o(this,e),this.apiCall=t}var t,n;return c(e,[{key:"upsert",value:(n=P(A().mark((function e(t,n){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.put(this.endpointPath(t),n));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(Hn));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(t){return"".concat(e.RESOURCEPATH,"/").concat(encodeURIComponent(t))}}],[{key:"RESOURCEPATH",get:function(){return Hn}}]),e}(),Mn=function(){function e(t,n){o(this,e),this.name=t,this.apiCall=n}var t,n;return c(e,[{key:"retrieve",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(Dn.RESOURCEPATH,"/").concat(encodeURIComponent(this.name))}}]),e}(),Kn=n(612),zn="/keys",Jn=function(){function e(t){o(this,e),this.apiCall=t,this.apiCall=t}var t,n;return c(e,[{key:"create",value:(n=P(A().mark((function t(n){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.post(e.RESOURCEPATH,n));case 1:case"end":return t.stop()}}),t,this)}))),function(e){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(zn));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"generateScopedSearchKey",value:function(e,t){var n=JSON.stringify(t),r=Buffer.from((0,Kn.createHmac)("sha256",e).update(n).digest("base64")),o=e.substr(0,4),i="".concat(r).concat(o).concat(n);return Buffer.from(i).toString("base64")}}],[{key:"RESOURCEPATH",get:function(){return zn}}]),e}(),Wn=function(){function e(t,n){o(this,e),this.id=t,this.apiCall=n}var t,n;return c(e,[{key:"retrieve",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(Jn.RESOURCEPATH,"/").concat(encodeURIComponent(this.id))}}]),e}(),Gn=function(){function e(t){o(this,e),this.apiCall=t}var t;return c(e,[{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get("/debug"));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}]),e}(),Vn=function(){function e(t){o(this,e),this.apiCall=t}var t;return c(e,[{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get("/metrics.json"));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}]),e}(),Qn=function(){function e(t){o(this,e),this.apiCall=t}var t;return c(e,[{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get("/stats.json"));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}]),e}(),$n=function(){function e(t){o(this,e),this.apiCall=t}var t;return c(e,[{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get("/health"));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}]),e}(),Xn=function(){function e(t){o(this,e),this.apiCall=t}var t;return c(e,[{key:"perform",value:(t=P(A().mark((function e(t){var n,r=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},e.abrupt("return",this.apiCall.post("".concat("/operations","/").concat(t),{},n));case 2:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})}]),e}(),Yn=function(){function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];o(this,e),this.apiCall=t,this.configuration=n,this.useTextContentType=r,this.requestWithCache=new Pn}var t;return c(e,[{key:"clearCache",value:function(){this.requestWithCache.clearCache()}},{key:"perform",value:(t=P(A().mark((function e(t){var n,r,o,i,a,s,c=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=c.length>1&&void 0!==c[1]?c[1]:{},r=(c.length>2&&void 0!==c[2]?c[2]:{}).cacheSearchResultsForSeconds,o=void 0===r?this.configuration.cacheSearchResultsForSeconds:r,i={},this.useTextContentType&&(i["content-type"]="text/plain"),a={},!0===this.configuration.useServerSideSearchCache&&(a.use_cache=!0),s=Object.assign({},n,a),e.abrupt("return",this.requestWithCache.perform(this.apiCall,this.apiCall.post,["/multi_search",t,s,i],{cacheResponseForSeconds:o}));case 8:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})}]),e}(),Zn=function(){function e(t){o(this,e),this.apiCall=t}var t,n;return c(e,[{key:"upsert",value:(n=P(A().mark((function e(t,n){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.put(this.endpointPath(t),n));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(t){return"".concat(e.RESOURCEPATH).concat(void 0===t?"":"/"+encodeURIComponent(t))}}],[{key:"RESOURCEPATH",get:function(){return"/presets"}}]),e}(),er=function(){function e(t,n){o(this,e),this.presetId=t,this.apiCall=n}var t,n;return c(e,[{key:"retrieve",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(Zn.RESOURCEPATH,"/").concat(encodeURIComponent(this.presetId))}}]),e}(),tr=function(){function e(t){o(this,e),this.apiCall=t,this.apiCall=t}var t,n;return c(e,[{key:"upsert",value:(n=P(A().mark((function e(t,n){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.put(this.endpointPath(t),n));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(t){return"".concat(e.RESOURCEPATH).concat(void 0===t?"":"/"+encodeURIComponent(t))}}],[{key:"RESOURCEPATH",get:function(){return"/analytics/rules"}}]),e}(),nr=function(){function e(t,n){o(this,e),this.name=t,this.apiCall=n}var t,n;return c(e,[{key:"retrieve",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(tr.RESOURCEPATH,"/").concat(encodeURIComponent(this.name))}}]),e}(),rr=function(){function e(t){o(this,e),this.apiCall=t,this.apiCall=t}var t;return c(e,[{key:"create",value:(t=P(A().mark((function e(t){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.post(this.endpointPath(),t));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"endpointPath",value:function(t){return"".concat(e.RESOURCEPATH).concat(void 0===t?"":"/"+encodeURIComponent(t))}}],[{key:"RESOURCEPATH",get:function(){return"/analytics/events"}}]),e}(),or=function(){function e(t){o(this,e),u(this,"individualAnalyticsRules",{}),this.apiCall=t,this.apiCall=t,this._analyticsRules=new tr(this.apiCall),this._analyticsEvents=new rr(this.apiCall)}return c(e,[{key:"rules",value:function(e){return void 0===e?this._analyticsRules:(void 0===this.individualAnalyticsRules[e]&&(this.individualAnalyticsRules[e]=new nr(e,this.apiCall)),this.individualAnalyticsRules[e])}},{key:"events",value:function(){return this._analyticsEvents}}],[{key:"RESOURCEPATH",get:function(){return"/analytics"}}]),e}(),ir=function(){function e(t){o(this,e),this.apiCall=t}var t,n;return c(e,[{key:"upsert",value:(n=P(A().mark((function e(t,n){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.put(this.endpointPath(t),n));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(t){return"".concat(e.RESOURCEPATH).concat(void 0===t?"":"/"+encodeURIComponent(t))}}],[{key:"RESOURCEPATH",get:function(){return"/stopwords"}}]),e}(),ar=function(){function e(t,n){o(this,e),this.stopwordId=t,this.apiCall=n}var t,n;return c(e,[{key:"retrieve",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(ir.RESOURCEPATH,"/").concat(encodeURIComponent(this.stopwordId))}}]),e}(),sr=function(){function e(t){o(this,e),this.apiCall=t,this.apiCall=t}var t,n;return c(e,[{key:"create",value:(n=P(A().mark((function e(t){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.post(this.endpointPath(),t));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(t){return"".concat(e.RESOURCEPATH).concat(void 0===t?"":"/"+encodeURIComponent(t))}}],[{key:"RESOURCEPATH",get:function(){return"/conversations/models"}}]),e}(),cr=function(){function e(t,n){o(this,e),this.id=t,this.apiCall=n}var t,n,r;return c(e,[{key:"update",value:(r=P(A().mark((function e(t){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.put(this.endpointPath(),t));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"retrieve",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(sr.RESOURCEPATH,"/").concat(encodeURIComponent(this.id))}}]),e}(),ur="/conversations",lr=function(){function e(t){o(this,e),u(this,"individualConversationModels",{}),this.apiCall=t,this.apiCall=t,this._conversationsModels=new sr(this.apiCall)}var t;return c(e,[{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(ur));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"models",value:function(e){return void 0===e?this._conversationsModels:(void 0===this.individualConversationModels[e]&&(this.individualConversationModels[e]=new cr(e,this.apiCall)),this.individualConversationModels[e])}}],[{key:"RESOURCEPATH",get:function(){return ur}}]),e}(),hr=function(){function e(t,n){o(this,e),this.id=t,this.apiCall=n}var t,n,r;return c(e,[{key:"retrieve",value:(r=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"update",value:(n=P(A().mark((function e(t){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.put(this.endpointPath(),t));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(lr.RESOURCEPATH,"/").concat(encodeURIComponent(this.id))}}]),e}(),pr=function(){function e(t){var n;o(this,e),t.sendApiKeyAsQueryParam=null!==(n=t.sendApiKeyAsQueryParam)&&void 0!==n&&n,this.configuration=new S(t),this.apiCall=new gn(this.configuration),this.debug=new Gn(this.apiCall),this.metrics=new Vn(this.apiCall),this.stats=new Qn(this.apiCall),this.health=new $n(this.apiCall),this.operations=new Xn(this.apiCall),this.multiSearch=new Yn(this.apiCall,this.configuration),this._collections=new bn(this.apiCall),this.individualCollections={},this._aliases=new Dn(this.apiCall),this.individualAliases={},this._keys=new Jn(this.apiCall),this.individualKeys={},this._presets=new Zn(this.apiCall),this.individualPresets={},this._stopwords=new ir(this.apiCall),this.individualStopwords={},this.analytics=new or(this.apiCall),this._conversations=new lr(this.apiCall),this.individualConversations={}}return c(e,[{key:"collections",value:function(e){return void 0===e?this._collections:(void 0===this.individualCollections[e]&&(this.individualCollections[e]=new Bn(e,this.apiCall,this.configuration)),this.individualCollections[e])}},{key:"aliases",value:function(e){return void 0===e?this._aliases:(void 0===this.individualAliases[e]&&(this.individualAliases[e]=new Mn(e,this.apiCall)),this.individualAliases[e])}},{key:"keys",value:function(e){return void 0===e?this._keys:(void 0===this.individualKeys[e]&&(this.individualKeys[e]=new Wn(e,this.apiCall)),this.individualKeys[e])}},{key:"presets",value:function(e){return void 0===e?this._presets:(void 0===this.individualPresets[e]&&(this.individualPresets[e]=new er(e,this.apiCall)),this.individualPresets[e])}},{key:"stopwords",value:function(e){return void 0===e?this._stopwords:(void 0===this.individualStopwords[e]&&(this.individualStopwords[e]=new ar(e,this.apiCall)),this.individualStopwords[e])}},{key:"conversations",value:function(e){return void 0===e?this._conversations:(void 0===this.individualConversations[e]&&(this.individualConversations[e]=new hr(e,this.apiCall)),this.individualConversations[e])}}]),e}();var fr=function(){function e(t,n,r){o(this,e),this.name=t,this.apiCall=n,this.configuration=r,this._documents=new An(this.name,this.apiCall,this.configuration)}return c(e,[{key:"documents",value:function(){return this._documents}}]),e}(),dr=function(){function e(t){var n;o(this,e),t.sendApiKeyAsQueryParam=null===(n=t.sendApiKeyAsQueryParam)||void 0===n||n,!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 S(t),this.apiCall=new gn(this.configuration),this.multiSearch=new Yn(this.apiCall,this.configuration,!0),this.individualCollections={}}return c(e,[{key:"clearCache",value:function(){this.multiSearch.clearCache(),Object.entries(this.individualCollections).forEach((function(e){var t,n,r=(n=2,function(e){if(Array.isArray(e))return e}(t=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],c=!0,u=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}(t,n)||Sn(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}());r[0],r[1].documents().clearCache()}))}},{key:"collections",value:function(e){if(e)return void 0===this.individualCollections[e]&&(this.individualCollections[e]=new fr(e,this.apiCall,this.configuration)),this.individualCollections[e];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.")}}]),e}();const yr={Client:pr,SearchClient:dr,Errors:t}})(),Typesense=r})(); //# sourceMappingURL=typesense.min.js.map \ No newline at end of file diff --git a/dist/typesense.min.js.map b/dist/typesense.min.js.map index 065f0dd3..5d7bdbf3 100644 --- a/dist/typesense.min.js.map +++ b/dist/typesense.min.js.map @@ -1 +1 @@ -{"version":3,"file":"typesense.min.js","mappings":"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","sources":["webpack://Typesense/./node_modules/loglevel/lib/loglevel.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/regenerator/index.js","webpack://Typesense/webpack/bootstrap","webpack://Typesense/webpack/runtime/compat get default export","webpack://Typesense/webpack/runtime/define property getters","webpack://Typesense/webpack/runtime/hasOwnProperty shorthand","webpack://Typesense/webpack/runtime/make namespace object","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://Typesense/./src/Typesense/Errors/TypesenseError.ts","webpack://Typesense/./src/Typesense/Errors/MissingConfigurationError.ts","webpack://Typesense/./src/Typesense/Configuration.ts","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://Typesense/./node_modules/axios/lib/helpers/bind.js","webpack://Typesense/./node_modules/axios/lib/utils.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosError.js","webpack://Typesense/./node_modules/axios/lib/helpers/toFormData.js","webpack://Typesense/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/helpers/buildURL.js","webpack://Typesense/./node_modules/axios/lib/core/InterceptorManager.js","webpack://Typesense/./node_modules/axios/lib/defaults/transitional.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/index.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://Typesense/./node_modules/axios/lib/platform/common/utils.js","webpack://Typesense/./node_modules/axios/lib/platform/index.js","webpack://Typesense/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://Typesense/./node_modules/axios/lib/defaults/index.js","webpack://Typesense/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://Typesense/./node_modules/axios/lib/core/transformData.js","webpack://Typesense/./node_modules/axios/lib/cancel/isCancel.js","webpack://Typesense/./node_modules/axios/lib/cancel/CanceledError.js","webpack://Typesense/./node_modules/axios/lib/core/settle.js","webpack://Typesense/./node_modules/axios/lib/helpers/speedometer.js","webpack://Typesense/./node_modules/axios/lib/helpers/progressEventReducer.js","webpack://Typesense/./node_modules/axios/lib/helpers/throttle.js","webpack://Typesense/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://Typesense/./node_modules/axios/lib/helpers/cookies.js","webpack://Typesense/./node_modules/axios/lib/core/buildFullPath.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://Typesense/./node_modules/axios/lib/helpers/combineURLs.js","webpack://Typesense/./node_modules/axios/lib/core/mergeConfig.js","webpack://Typesense/./node_modules/axios/lib/helpers/resolveConfig.js","webpack://Typesense/./node_modules/axios/lib/adapters/xhr.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://Typesense/./node_modules/axios/lib/helpers/composeSignals.js","webpack://Typesense/./node_modules/axios/lib/helpers/trackStream.js","webpack://Typesense/./node_modules/axios/lib/adapters/fetch.js","webpack://Typesense/./node_modules/axios/lib/adapters/adapters.js","webpack://Typesense/./node_modules/axios/lib/helpers/null.js","webpack://Typesense/./node_modules/axios/lib/core/dispatchRequest.js","webpack://Typesense/./node_modules/axios/lib/env/data.js","webpack://Typesense/./node_modules/axios/lib/helpers/validator.js","webpack://Typesense/./node_modules/axios/lib/core/Axios.js","webpack://Typesense/./node_modules/axios/lib/cancel/CancelToken.js","webpack://Typesense/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://Typesense/./node_modules/axios/lib/axios.js","webpack://Typesense/./node_modules/axios/lib/helpers/spread.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://Typesense/./src/Typesense/Errors/RequestMalformed.ts","webpack://Typesense/./src/Typesense/Errors/RequestUnauthorized.ts","webpack://Typesense/./src/Typesense/Errors/ObjectNotFound.ts","webpack://Typesense/./src/Typesense/Errors/ObjectAlreadyExists.ts","webpack://Typesense/./src/Typesense/Errors/ObjectUnprocessable.ts","webpack://Typesense/./src/Typesense/Errors/ServerError.ts","webpack://Typesense/./src/Typesense/Errors/HTTPError.ts","webpack://Typesense/./src/Typesense/ApiCall.ts","webpack://Typesense/./src/Typesense/Collections.ts","webpack://Typesense/./src/Typesense/Errors/ImportError.ts","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://Typesense/./src/Typesense/RequestWithCache.ts","webpack://Typesense/./src/Typesense/SearchOnlyDocuments.ts","webpack://Typesense/./src/Typesense/Documents.ts","webpack://Typesense/./src/Typesense/Overrides.ts","webpack://Typesense/./src/Typesense/Override.ts","webpack://Typesense/./src/Typesense/Synonyms.ts","webpack://Typesense/./src/Typesense/Synonym.ts","webpack://Typesense/./src/Typesense/Document.ts","webpack://Typesense/./src/Typesense/Collection.ts","webpack://Typesense/./src/Typesense/Aliases.ts","webpack://Typesense/./src/Typesense/Alias.ts","webpack://Typesense/./src/Typesense/Keys.ts","webpack://Typesense/./src/Typesense/Key.ts","webpack://Typesense/./src/Typesense/Debug.ts","webpack://Typesense/./src/Typesense/Metrics.ts","webpack://Typesense/./src/Typesense/Stats.ts","webpack://Typesense/./src/Typesense/Health.ts","webpack://Typesense/./src/Typesense/Operations.ts","webpack://Typesense/./src/Typesense/MultiSearch.ts","webpack://Typesense/./src/Typesense/Presets.ts","webpack://Typesense/./src/Typesense/Preset.ts","webpack://Typesense/./src/Typesense/AnalyticsRules.ts","webpack://Typesense/./src/Typesense/AnalyticsRule.ts","webpack://Typesense/./src/Typesense/AnalyticsEvents.ts","webpack://Typesense/./src/Typesense/Analytics.ts","webpack://Typesense/./src/Typesense/Stopwords.ts","webpack://Typesense/./src/Typesense/Stopword.ts","webpack://Typesense/./src/Typesense/ConversationModels.ts","webpack://Typesense/./src/Typesense/ConversationModel.ts","webpack://Typesense/./src/Typesense/Conversations.ts","webpack://Typesense/./src/Typesense/Conversation.ts","webpack://Typesense/./src/Typesense/Client.ts","webpack://Typesense/./src/Typesense/SearchOnlyCollection.ts","webpack://Typesense/./src/Typesense/SearchClient.ts","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://Typesense/./src/Typesense.ts"],"sourcesContent":["/*\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 var _loggersByName = {};\n var defaultLogger = null;\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() {\n /*jshint validthis:true */\n var level = this.getLevel();\n\n // Replace the actual methods.\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, this.name);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n\n // Return any important warnings.\n if (typeof console === undefinedType && level < this.levels.SILENT) {\n return \"No console available for logging\";\n }\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) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this);\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, factory) {\n // Private instance variables.\n var self = this;\n /**\n * The level inherited from a parent logger (or a global default). We\n * cache this here rather than delegating to the parent so that it stays\n * in sync with the actual logging methods that we have installed (the\n * parent could change levels but we might not have rebuilt the loggers\n * in this child yet).\n * @type {number}\n */\n var inheritedLevel;\n /**\n * The default level for this logger, if any. If set, this overrides\n * `inheritedLevel`.\n * @type {number|null}\n */\n var defaultLevel;\n /**\n * A user-specific level for this logger. If set, this overrides\n * `defaultLevel`.\n * @type {number|null}\n */\n var userLevel;\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 cookieName = encodeURIComponent(storageKey);\n var location = cookie.indexOf(cookieName + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(\n cookie.slice(location + cookieName.length + 1)\n )[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 } 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 function normalizeLevel(input) {\n var level = input;\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 return level;\n } else {\n throw new TypeError(\"log.setLevel() called with invalid level: \" + input);\n }\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 if (userLevel != null) {\n return userLevel;\n } else if (defaultLevel != null) {\n return defaultLevel;\n } else {\n return inheritedLevel;\n }\n };\n\n self.setLevel = function (level, persist) {\n userLevel = normalizeLevel(level);\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(userLevel);\n }\n\n // NOTE: in v2, this should call rebuild(), which updates children.\n return replaceLoggingMethods.call(self);\n };\n\n self.setDefaultLevel = function (level) {\n defaultLevel = normalizeLevel(level);\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.resetLevel = function () {\n userLevel = null;\n clearPersistedLevel();\n replaceLoggingMethods.call(self);\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 self.rebuild = function () {\n if (defaultLogger !== self) {\n inheritedLevel = normalizeLevel(defaultLogger.getLevel());\n }\n replaceLoggingMethods.call(self);\n\n if (defaultLogger === self) {\n for (var childName in _loggersByName) {\n _loggersByName[childName].rebuild();\n }\n }\n };\n\n // Initialize all the internal levels.\n inheritedLevel = normalizeLevel(\n defaultLogger ? defaultLogger.getLevel() : \"WARN\"\n );\n var initialLevel = getPersistedLevel();\n if (initialLevel != null) {\n userLevel = normalizeLevel(initialLevel);\n }\n replaceLoggingMethods.call(self);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n defaultLogger = new Logger();\n\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,\n defaultLogger.methodFactory\n );\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","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 e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw new Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\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))","// 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};","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(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\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 _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n try {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n } catch (e) {\n return typeof fn === \"function\";\n }\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\n}","export default class TypesenseError extends Error {\n httpStatus?: number;\n\n // Source: https://stackoverflow.com/a/58417721/123545\n constructor(message?: string) {\n super(message);\n this.name = new.target.name;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class MissingConfigurationError extends TypesenseError {}\n","import * as logger from \"loglevel\";\nimport { Logger, LogLevelDesc } from \"loglevel\";\nimport { MissingConfigurationError } from \"./Errors\";\nimport type { Agent as HTTPAgent } from \"http\";\nimport type { Agent as HTTPSAgent } from \"https\";\n\nexport interface NodeConfiguration {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n url?: string;\n}\n\nexport interface NodeConfigurationWithHostname {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n}\n\nexport interface NodeConfigurationWithUrl {\n url: string;\n}\n\nexport interface ConfigurationOptions {\n apiKey: string;\n nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n randomizeNodes?: boolean;\n /**\n * @deprecated\n * masterNode is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n masterNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n /**\n * @deprecated\n * readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n readReplicaNodes?:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n connectionTimeoutSeconds?: number;\n timeoutSeconds?: number;\n healthcheckIntervalSeconds?: number;\n numRetries?: number;\n retryIntervalSeconds?: number;\n sendApiKeyAsQueryParam?: boolean | undefined;\n useServerSideSearchCache?: boolean;\n cacheSearchResultsForSeconds?: number;\n additionalHeaders?: Record;\n\n logLevel?: LogLevelDesc;\n logger?: Logger;\n\n /**\n * Set a custom HTTP Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPAgent } = require(\"http\");\n * ...\n * httpAgent: new HTTPAgent({ keepAlive: true }),\n * @type {HTTPAgent}\n */\n httpAgent?: HTTPAgent;\n\n /**\n * Set a custom HTTPS Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPSAgent } = require(\"https\");\n * ...\n * httpsAgent: new HTTPSAgent({ keepAlive: true }),\n * @type {HTTPSAgent}\n */\n httpsAgent?: HTTPSAgent;\n\n /**\n * Set a custom paramsSerializer\n *\n * See axios documentation for more information on how to use this parameter: https://axios-http.com/docs/req_config\n * This is helpful for handling React Native issues like this: https://github.com/axios/axios/issues/6102#issuecomment-2085301397\n * @type {any}\n */\n paramsSerializer?: any;\n}\n\nexport default class Configuration {\n readonly nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n readonly nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n readonly connectionTimeoutSeconds: number;\n readonly healthcheckIntervalSeconds: number;\n readonly numRetries: number;\n readonly retryIntervalSeconds: number;\n readonly apiKey: string;\n readonly sendApiKeyAsQueryParam?: boolean;\n readonly cacheSearchResultsForSeconds: number;\n readonly useServerSideSearchCache: boolean;\n readonly logger: Logger;\n readonly logLevel: LogLevelDesc;\n readonly additionalHeaders?: Record;\n readonly httpAgent?: HTTPAgent;\n readonly httpsAgent?: HTTPSAgent;\n readonly paramsSerializer?: any;\n\n constructor(options: ConfigurationOptions) {\n this.nodes = options.nodes || [];\n this.nodes = this.nodes\n .map((node) => this.setDefaultPathInNode(node))\n .map((node) => this.setDefaultPortInNode(node))\n .map((node) => ({ ...node })) as NodeConfiguration[]; // Make a deep copy\n\n if (options.randomizeNodes == null) {\n options.randomizeNodes = true;\n }\n\n if (options.randomizeNodes === true) {\n this.shuffleArray(this.nodes);\n }\n\n this.nearestNode = options.nearestNode;\n this.nearestNode = this.setDefaultPathInNode(this.nearestNode);\n this.nearestNode = this.setDefaultPortInNode(this.nearestNode);\n\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\n this.apiKey = options.apiKey;\n this.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam; // We will set a default for this in Client and SearchClient\n\n this.cacheSearchResultsForSeconds =\n options.cacheSearchResultsForSeconds || 0; // Disable client-side cache by default\n this.useServerSideSearchCache = options.useServerSideSearchCache || false;\n\n this.logger = options.logger || logger;\n this.logLevel = options.logLevel || \"warn\";\n this.logger.setLevel(this.logLevel);\n\n this.additionalHeaders = options.additionalHeaders;\n\n this.httpAgent = options.httpAgent;\n this.httpsAgent = options.httpsAgent;\n\n this.paramsSerializer = options.paramsSerializer;\n\n this.showDeprecationWarnings(options);\n this.validate();\n }\n\n validate(): boolean {\n if (this.nodes == null || this.nodes.length === 0 || this.validateNodes()) {\n throw new MissingConfigurationError(\n \"Ensure that nodes[].protocol, nodes[].host and nodes[].port are set\",\n );\n }\n\n if (\n this.nearestNode != null &&\n this.isNodeMissingAnyParameters(this.nearestNode)\n ) {\n throw new MissingConfigurationError(\n \"Ensure that nearestNodes.protocol, nearestNodes.host and nearestNodes.port are set\",\n );\n }\n\n if (this.apiKey == null) {\n throw new MissingConfigurationError(\"Ensure that apiKey is set\");\n }\n\n return true;\n }\n\n private validateNodes(): boolean {\n return this.nodes.some((node) => {\n return this.isNodeMissingAnyParameters(node);\n });\n }\n\n private isNodeMissingAnyParameters(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl,\n ): boolean {\n return (\n ![\"protocol\", \"host\", \"port\", \"path\"].every((key) => {\n return node.hasOwnProperty(key);\n }) && node[\"url\"] == null\n );\n }\n\n private setDefaultPathInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (node != null && !node.hasOwnProperty(\"path\")) {\n node[\"path\"] = \"\";\n }\n return node;\n }\n\n private setDefaultPortInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (\n node != null &&\n !node.hasOwnProperty(\"port\") &&\n node.hasOwnProperty(\"protocol\")\n ) {\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\n private showDeprecationWarnings(options: ConfigurationOptions): void {\n if (options.timeoutSeconds) {\n this.logger.warn(\n \"Deprecation warning: timeoutSeconds is now renamed to connectionTimeoutSeconds\",\n );\n }\n if (options.masterNode) {\n this.logger.warn(\n \"Deprecation warning: masterNode is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n if (options.readReplicaNodes) {\n this.logger.warn(\n \"Deprecation warning: readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n }\n\n private shuffleArray(array) {\n for (let i = array.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [array[i], array[j]] = [array[j], array[i]];\n }\n }\n}\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}","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\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 && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let 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 {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\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 *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\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 (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 const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\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 *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && 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 *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\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 *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","'use strict';\n\nimport utils from '../utils.js';\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 {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n 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: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\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 * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\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 */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n 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 *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\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 *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\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 *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = (\n (product) => {\n return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0\n })(typeof navigator !== 'undefined' && navigator.product);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\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\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\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 env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\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 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\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} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\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 *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\n\nexport default (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n }, freq);\n}\n","'use strict';\n\n/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n const threshold = 1000 / freq;\n let timer = null;\n return function throttled() {\n const force = this === true;\n\n const now = Date.now();\n if (force || now - timestamp > threshold) {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n timestamp = now;\n return fn.apply(null, arguments);\n }\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n timestamp = Date.now();\n return fn.apply(null, arguments);\n }, threshold - (now - timestamp));\n }\n };\n}\n\nexport default throttle;\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\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 const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let 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 const 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","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\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 *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default 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\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 *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\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 *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, 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(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const 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 withXSRFToken: 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 beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\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\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport progressEventReducer from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType} = _config;\n let 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 let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, 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 const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n 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(new AxiosError('Request aborted', AxiosError.ECONNABORTED, _config, 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(new AxiosError('Network Error', AxiosError.ERR_NETWORK, _config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n _config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\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', progressEventReducer(_config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof _config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(_config.onUploadProgress));\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : 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 const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst composeSignals = (signals, timeout) => {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (cancel) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = cancel instanceof Error ? cancel : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal &&\n (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort));\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = unsubscribe;\n\n return [signal, () => {\n timer && clearTimeout(timer);\n timer = null;\n }];\n}\n\nexport default composeSignals;\n","\n\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize, encode) {\n for await (const chunk of iterable) {\n yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize);\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => {\n const iterator = readBytes(stream, chunkSize, encode);\n\n let bytes = 0;\n\n return new ReadableStream({\n type: 'bytes',\n\n async pull(controller) {\n const {done, value} = await iterator.next();\n\n if (done) {\n controller.close();\n onFinish();\n return;\n }\n\n let len = value.byteLength;\n onProgress && onProgress(bytes += len);\n controller.enqueue(new Uint8Array(value));\n },\n cancel(reason) {\n onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport progressEventReducer from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst fetchProgressDecorator = (total, fn) => {\n const lengthComputable = total != null;\n return (loaded) => setTimeout(() => fn({\n lengthComputable,\n total,\n loaded\n }));\n}\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst supportsRequestStream = isReadableStreamSupported && (() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n})();\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported && !!(()=> {\n try {\n return utils.isReadableStream(new Response('').body);\n } catch(err) {\n // return undefined\n }\n})();\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n return (await new Request(body).arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ?\n composeSignals([signal, cancelToken], timeout) : [];\n\n let finished, request;\n\n const onFinish = () => {\n !finished && setTimeout(() => {\n composedSignal && composedSignal.unsubscribe();\n });\n\n finished = true;\n }\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, fetchProgressDecorator(\n requestContentLength,\n progressEventReducer(onUploadProgress)\n ), null, encodeText);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'cors' : 'omit';\n }\n\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n withCredentials\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onDownloadProgress && fetchProgressDecorator(\n responseContentLength,\n progressEventReducer(onDownloadProgress, true)\n ), isStreamResponse && onFinish, encodeText),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && onFinish();\n\n stopTimeout && stopTimeout();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n onFinish();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\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 *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(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 config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\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 config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.7.2\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\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 *\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 (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\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 *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(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 {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _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 const {transitional, paramsSerializer, headers} = config;\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 if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let 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 const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\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,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(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, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n 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\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const 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 */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\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\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\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 *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestMalformed extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestUnauthorized extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectNotFound extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectAlreadyExists extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectUnprocessable extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ServerError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class HTTPError extends TypesenseError {}\n","import axios, { AxiosRequestConfig, AxiosResponse, Method } from \"axios\";\nimport { Logger } from \"loglevel\";\nimport {\n HTTPError,\n ObjectAlreadyExists,\n ObjectNotFound,\n ObjectUnprocessable,\n RequestMalformed,\n RequestUnauthorized,\n ServerError,\n} from \"./Errors\";\nimport TypesenseError from \"./Errors/TypesenseError\";\nimport Configuration, { NodeConfiguration } from \"./Configuration\";\nimport { Agent as HTTPAgent } from \"http\";\nimport { Agent as HTTPSAgent } from \"https\";\n\nconst APIKEYHEADERNAME = \"X-TYPESENSE-API-KEY\";\nconst HEALTHY = true;\nconst UNHEALTHY = false;\n\ninterface Node extends NodeConfiguration {\n isHealthy: boolean;\n index: string | number;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class ApiCall {\n private readonly apiKey: string;\n private readonly nodes: Node[];\n private readonly nearestNode: Node;\n private readonly connectionTimeoutSeconds: number;\n private readonly healthcheckIntervalSeconds: number;\n private readonly retryIntervalSeconds: number;\n private readonly sendApiKeyAsQueryParam?: boolean;\n private readonly numRetriesPerRequest: number;\n private readonly additionalUserHeaders?: Record;\n\n private readonly logger: Logger;\n private currentNodeIndex: number;\n\n constructor(private 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\n this.logger = this.configuration.logger;\n\n this.initializeMetadataForNodes();\n this.currentNodeIndex = -1;\n }\n\n async get(\n endpoint: string,\n queryParameters: any = {},\n {\n abortSignal = null,\n responseType = undefined,\n }: {\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n } = {},\n ): Promise {\n return this.performRequest(\"get\", endpoint, {\n queryParameters,\n abortSignal,\n responseType,\n });\n }\n\n async delete(endpoint: string, queryParameters: any = {}): Promise {\n return this.performRequest(\"delete\", endpoint, { queryParameters });\n }\n\n async post(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n additionalHeaders: any = {},\n ): Promise {\n return this.performRequest(\"post\", endpoint, {\n queryParameters,\n bodyParameters,\n additionalHeaders,\n });\n }\n\n async put(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"put\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async patch(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"patch\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async performRequest(\n requestType: Method,\n endpoint: string,\n {\n queryParameters = null,\n bodyParameters = null,\n additionalHeaders = {},\n abortSignal = null,\n responseType = undefined,\n skipConnectionTimeout = false,\n enableKeepAlive = undefined,\n }: {\n queryParameters?: any;\n bodyParameters?: any;\n additionalHeaders?: any;\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n skipConnectionTimeout?: boolean;\n enableKeepAlive?: boolean | undefined;\n },\n ): Promise {\n this.configuration.validate();\n\n const requestNumber = Date.now();\n let lastException;\n this.logger.debug(\n `Request #${requestNumber}: Performing ${requestType.toUpperCase()} request: ${endpoint}`,\n );\n for (\n let numTries = 1;\n numTries <= this.numRetriesPerRequest + 1;\n numTries++\n ) {\n const node = this.getNextNode(requestNumber);\n this.logger.debug(\n `Request #${requestNumber}: Attempting ${requestType.toUpperCase()} request Try #${numTries} to Node ${\n node.index\n }`,\n );\n\n if (abortSignal && abortSignal.aborted) {\n return Promise.reject(new Error(\"Request aborted by caller.\"));\n }\n\n let abortListener;\n\n try {\n const requestOptions: AxiosRequestConfig = {\n method: requestType,\n url: this.uriFor(endpoint, node),\n headers: Object.assign(\n {},\n this.defaultHeaders(),\n additionalHeaders,\n this.additionalUserHeaders,\n ),\n maxContentLength: Infinity,\n maxBodyLength: Infinity,\n responseType,\n validateStatus: (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 (data, headers) => {\n let transformedData = data;\n if (\n headers !== undefined &&\n typeof data === \"string\" &&\n headers[\"content-type\"] &&\n headers[\"content-type\"].startsWith(\"application/json\")\n ) {\n transformedData = JSON.parse(data);\n }\n return transformedData;\n },\n ],\n };\n\n if (skipConnectionTimeout !== true) {\n requestOptions.timeout = this.connectionTimeoutSeconds * 1000;\n }\n\n if (queryParameters && Object.keys(queryParameters).length !== 0) {\n requestOptions.params = queryParameters;\n }\n\n if (this.sendApiKeyAsQueryParam) {\n requestOptions.params = requestOptions.params || {};\n requestOptions.params[\"x-typesense-api-key\"] = this.apiKey;\n }\n\n if (this.configuration.httpAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpAgent`,\n );\n requestOptions.httpAgent = this.configuration.httpAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling KeepAlive`);\n requestOptions.httpAgent = new HTTPAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.httpsAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpsAgent`,\n );\n requestOptions.httpsAgent = this.configuration.httpsAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling keepAlive`);\n requestOptions.httpsAgent = new HTTPSAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.paramsSerializer) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom paramsSerializer`,\n );\n requestOptions.paramsSerializer = this.configuration.paramsSerializer;\n }\n\n if (\n bodyParameters &&\n ((typeof bodyParameters === \"string\" &&\n bodyParameters.length !== 0) ||\n (typeof bodyParameters === \"object\" &&\n Object.keys(bodyParameters).length !== 0))\n ) {\n requestOptions.data = bodyParameters;\n }\n\n // Translate from user-provided AbortController to the Axios request cancel mechanism.\n if (abortSignal) {\n const cancelToken = axios.CancelToken;\n const source = cancelToken.source();\n abortListener = () => source.cancel();\n abortSignal.addEventListener(\"abort\", abortListener);\n requestOptions.cancelToken = source.token;\n }\n\n const response = await axios(requestOptions);\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.setNodeHealthcheck(node, HEALTHY);\n }\n this.logger.debug(\n `Request #${requestNumber}: Request to Node ${node.index} was made. Response Code was ${response.status}.`,\n );\n\n if (response.status >= 200 && response.status < 300) {\n // If response is 2xx return a resolved promise\n return Promise.resolve(response.data);\n } else if (response.status < 500) {\n // Next, if response is anything but 5xx, don't retry, return a custom error\n return Promise.reject(\n this.customErrorForResponse(response, response.data?.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.customErrorForResponse(response, response.data?.message);\n }\n } catch (error: any) {\n // This block handles retries for HTTPStatus > 500 and network layer issues like connection timeouts\n this.setNodeHealthcheck(node, UNHEALTHY);\n lastException = error;\n this.logger.warn(\n `Request #${requestNumber}: Request to Node ${\n node.index\n } failed due to \"${error.code} ${error.message}${\n error.response == null\n ? \"\"\n : \" - \" + JSON.stringify(error.response?.data)\n }\"`,\n );\n // this.logger.debug(error.stack)\n this.logger.warn(\n `Request #${requestNumber}: Sleeping for ${this.retryIntervalSeconds}s and then retrying request...`,\n );\n await this.timer(this.retryIntervalSeconds);\n } finally {\n if (abortSignal && abortListener) {\n abortSignal.removeEventListener(\"abort\", abortListener);\n }\n }\n }\n this.logger.debug(\n `Request #${requestNumber}: No retries left. Raising last error`,\n );\n return Promise.reject(lastException);\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 getNextNode(requestNumber = 0): Node {\n // Check if nearestNode is set and is healthy, if so return it\n if (this.nearestNode != null) {\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: Node ${\n this.nearestNode.index\n } is ${this.nearestNode.isHealthy === true ? \"Healthy\" : \"Unhealthy\"}`,\n );\n if (\n this.nearestNode.isHealthy === true ||\n this.nodeDueForHealthcheck(this.nearestNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${this.nearestNode.index}`,\n );\n return this.nearestNode;\n }\n this.logger.debug(\n `Request #${requestNumber}: Falling back to individual nodes`,\n );\n }\n\n // Fallback to nodes as usual\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: ${this.nodes\n .map(\n (node) =>\n `Node ${node.index} is ${\n node.isHealthy === true ? \"Healthy\" : \"Unhealthy\"\n }`,\n )\n .join(\" || \")}`,\n );\n let candidateNode: Node = this.nodes[0];\n for (let i = 0; i <= this.nodes.length; i++) {\n this.currentNodeIndex = (this.currentNodeIndex + 1) % this.nodes.length;\n candidateNode = this.nodes[this.currentNodeIndex];\n if (\n candidateNode.isHealthy === true ||\n this.nodeDueForHealthcheck(candidateNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\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(\n `Request #${requestNumber}: No healthy nodes were found. Returning the next node, Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\n\n nodeDueForHealthcheck(node, requestNumber = 0): boolean {\n const isDueForHealthcheck =\n Date.now() - node.lastAccessTimestamp >\n this.healthcheckIntervalSeconds * 1000;\n if (isDueForHealthcheck) {\n this.logger.debug(\n `Request #${requestNumber}: Node ${node.index} has exceeded healtcheckIntervalSeconds of ${this.healthcheckIntervalSeconds}. Adding it back into rotation.`,\n );\n }\n return isDueForHealthcheck;\n }\n\n initializeMetadataForNodes(): void {\n if (this.nearestNode != null) {\n this.nearestNode.index = \"nearestNode\";\n this.setNodeHealthcheck(this.nearestNode, HEALTHY);\n }\n\n this.nodes.forEach((node, i) => {\n node.index = i;\n this.setNodeHealthcheck(node, HEALTHY);\n });\n }\n\n setNodeHealthcheck(node, isHealthy): void {\n node.isHealthy = isHealthy;\n node.lastAccessTimestamp = Date.now();\n }\n\n uriFor(endpoint: string, node): string {\n if (node.url != null) {\n return `${node.url}${endpoint}`;\n }\n return `${node.protocol}://${node.host}:${node.port}${node.path}${endpoint}`;\n }\n\n defaultHeaders(): any {\n const defaultHeaders = {};\n if (!this.sendApiKeyAsQueryParam) {\n defaultHeaders[APIKEYHEADERNAME] = this.apiKey;\n }\n defaultHeaders[\"Content-Type\"] = \"application/json\";\n return defaultHeaders;\n }\n\n async timer(seconds): Promise {\n return new Promise((resolve) => setTimeout(resolve, seconds * 1000));\n }\n\n customErrorForResponse(\n response: AxiosResponse,\n messageFromServer: string,\n ): TypesenseError {\n let errorMessage = `Request failed with HTTP code ${response.status}`;\n if (\n typeof messageFromServer === \"string\" &&\n messageFromServer.trim() !== \"\"\n ) {\n errorMessage += ` | Server said: ${messageFromServer}`;\n }\n\n let error = new TypesenseError(errorMessage);\n\n if (response.status === 400) {\n error = new RequestMalformed(errorMessage);\n } else if (response.status === 401) {\n error = new RequestUnauthorized(errorMessage);\n } else if (response.status === 404) {\n error = new ObjectNotFound(errorMessage);\n } else if (response.status === 409) {\n error = new ObjectAlreadyExists(errorMessage);\n } else if (response.status === 422) {\n error = new ObjectUnprocessable(errorMessage);\n } else if (response.status >= 500 && response.status <= 599) {\n error = new ServerError(errorMessage);\n } else {\n error = new HTTPError(errorMessage);\n }\n\n error.httpStatus = response.status;\n\n return error;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { CollectionFieldSchema, CollectionSchema } from \"./Collection\";\n\nexport interface CollectionCreateSchema {\n name: string;\n default_sorting_field?: string;\n fields?: CollectionFieldSchema[];\n symbols_to_index?: string[];\n token_separators?: string[];\n enable_nested_fields?: boolean;\n metadata?: object;\n voice_query_model?: {\n model_name?: string;\n };\n}\n\nexport interface CollectionCreateOptions {\n src_name?: string;\n}\n\nexport interface CollectionsRetrieveOptions {\n exclude_fields?: string;\n}\n\nconst RESOURCEPATH = \"/collections\";\n\nexport default class Collections {\n constructor(private apiCall: ApiCall) {}\n\n async create(\n schema: CollectionCreateSchema,\n options: CollectionCreateOptions = {},\n ): Promise {\n return this.apiCall.post(RESOURCEPATH, schema, options);\n }\n\n async retrieve(\n options: CollectionsRetrieveOptions = {},\n ): Promise {\n return this.apiCall.get(RESOURCEPATH, options);\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import TypesenseError from \"./TypesenseError\";\nimport { ImportResponse } from \"../Documents\";\n\nexport default class ImportError extends TypesenseError {\n importResults: ImportResponse[];\n constructor(message: string, importResults: ImportResponse[]) {\n super(message);\n this.importResults = importResults;\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 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}","const defaultCacheResponseForSeconds = 2 * 60;\nconst defaultMaxSize = 100;\n\nexport default class RequestWithCache {\n private responseCache: Map = new Map();\n private responsePromiseCache: Map = new Map();\n\n clearCache() {\n this.responseCache = new Map();\n this.responsePromiseCache = new Map();\n }\n\n // Todo: should probably be passed a callback instead, or an apiCall instance. Types are messy this way\n async perform(\n requestContext: any,\n requestFunction: (...params: any) => unknown,\n requestFunctionArguments: any[],\n cacheOptions: CacheOptions\n ): Promise {\n const {\n cacheResponseForSeconds = defaultCacheResponseForSeconds,\n maxSize = defaultMaxSize,\n } = cacheOptions;\n const isCacheDisabled = cacheResponseForSeconds <= 0 || maxSize <= 0;\n\n if (isCacheDisabled) {\n return requestFunction.call(requestContext, ...requestFunctionArguments);\n }\n\n const requestFunctionArgumentsJSON = JSON.stringify(\n requestFunctionArguments\n );\n const cacheEntry = this.responseCache.get(requestFunctionArgumentsJSON);\n const now = Date.now();\n\n if (cacheEntry) {\n const isEntryValid =\n now - cacheEntry.requestTimestamp < cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n this.responseCache.set(requestFunctionArgumentsJSON, cacheEntry);\n return Promise.resolve(cacheEntry.response);\n } else {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n\n const cachePromiseEntry = this.responsePromiseCache.get(\n requestFunctionArgumentsJSON\n );\n\n if (cachePromiseEntry) {\n const isEntryValid =\n now - cachePromiseEntry.requestTimestamp <\n cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n this.responsePromiseCache.set(\n requestFunctionArgumentsJSON,\n cachePromiseEntry\n );\n return cachePromiseEntry.responsePromise;\n } else {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n\n const responsePromise = requestFunction.call(\n requestContext,\n ...requestFunctionArguments\n );\n this.responsePromiseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n responsePromise,\n });\n\n const response = await responsePromise;\n this.responseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n response,\n });\n\n const isCacheOverMaxSize = this.responseCache.size > maxSize;\n if (isCacheOverMaxSize) {\n const oldestEntry = this.responseCache.keys().next().value;\n this.responseCache.delete(oldestEntry);\n }\n const isResponsePromiseCacheOverMaxSize =\n this.responsePromiseCache.size > maxSize;\n if (isResponsePromiseCacheOverMaxSize) {\n const oldestEntry = this.responsePromiseCache.keys().next().value;\n this.responsePromiseCache.delete(oldestEntry);\n }\n return response as T;\n }\n}\n\ninterface CacheOptions {\n cacheResponseForSeconds?: number;\n maxSize?: number;\n}\n","import RequestWithCache from \"./RequestWithCache\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport Collections from \"./Collections\";\nimport type {\n DocumentSchema,\n SearchableDocuments,\n SearchOptions,\n SearchParams,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\n\nconst RESOURCEPATH = \"/documents\";\n\nexport class SearchOnlyDocuments\n implements SearchableDocuments\n{\n protected requestWithCache: RequestWithCache = new RequestWithCache();\n\n constructor(\n protected collectionName: string,\n protected apiCall: ApiCall,\n protected configuration: Configuration\n ) {}\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n abortSignal = null,\n }: SearchOptions = {}\n ): Promise> {\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n for (const key in searchParameters) {\n if (Array.isArray(searchParameters[key])) {\n additionalQueryParams[key] = searchParameters[key].join(\",\");\n }\n }\n const queryParams = Object.assign(\n {},\n searchParameters,\n additionalQueryParams\n );\n\n return this.requestWithCache.perform(\n this.apiCall,\n this.apiCall.get,\n [this.endpointPath(\"search\"), queryParams, { abortSignal }],\n {\n cacheResponseForSeconds: cacheSearchResultsForSeconds,\n }\n ) as Promise>;\n }\n\n protected endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + operation\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import type { ReadStream } from \"fs\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport { ImportError } from \"./Errors\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\n// Todo: use generic to extract filter_by values\nexport interface DeleteQuery {\n filter_by?: string;\n batch_size?: number;\n ignore_not_found?: boolean;\n}\n\nexport interface DeleteResponse {\n num_deleted: number;\n}\n\ninterface ImportResponseSuccess {\n success: true;\n}\n\nexport interface ImportResponseFail {\n success: false;\n error: string;\n document: DocumentSchema;\n code: number;\n}\n\nexport type ImportResponse = ImportResponseSuccess | ImportResponseFail;\n\nexport type DocumentSchema = Record;\n\nexport interface SearchParamsWithPreset extends Partial {\n preset: string;\n}\n\ntype DropTokensMode =\n | \"right_to_left\"\n | \"left_to_right\"\n | \"both_sides:3\";\n\ntype OperationMode = \"off\" | \"always\" | \"fallback\";\nexport interface SearchParams {\n // From https://typesense.org/docs/latest/api/documents.html#arguments\n q?: string;\n query_by?: string | string[];\n query_by_weights?: string | number[];\n prefix?: string | boolean | boolean[]; // default: true\n filter_by?: string;\n enable_lazy_filter?: boolean; // default: false\n sort_by?: string | string[]; // default: text match desc\n facet_by?: string | string[];\n max_facet_values?: number;\n facet_sample_threshold?: number;\n facet_sample_percent?: number;\n facet_query?: string;\n facet_query_num_typos?: number;\n facet_return_parent?: string;\n page?: number; // default: 1\n per_page?: number; // default: 10, max 250\n group_by?: string | string[];\n group_limit?: number; // default:\n group_missing_values?: boolean;\n include_fields?: string | string[];\n exclude_fields?: string | string[];\n highlight_fields?: string | string[]; // default: all queried fields\n highlight_full_fields?: string | string[]; // default: all fields\n highlight_affix_num_tokens?: number; // default: 4\n highlight_start_tag?: string; // default: \n highlight_end_tag?: string; // default: \n enable_highlight_v1?: boolean;\n snippet_threshold?: number; // default: 30\n num_typos?: string | number | number[]; // default: 2\n min_len_1typo?: number;\n min_len_2typo?: number;\n split_join_tokens?: OperationMode;\n exhaustive_search?: boolean;\n drop_tokens_threshold?: number; // default: 10\n drop_tokens_mode?: DropTokensMode;\n typo_tokens_threshold?: number; // default: 100\n pinned_hits?: string | string[];\n hidden_hits?: string | string[];\n limit_hits?: number; // default: no limit\n pre_segmented_query?: boolean;\n enable_overrides?: boolean;\n prioritize_exact_match?: boolean; // default: true\n prioritize_token_position?: boolean;\n prioritize_num_matching_fields?: boolean;\n search_cutoff_ms?: number;\n use_cache?: boolean;\n max_candidates?: number;\n infix?: OperationMode | OperationMode[];\n preset?: string;\n text_match_type?: \"max_score\" | \"max_weight\";\n vector_query?: string;\n \"x-typesense-api-key\"?: string;\n \"x-typesense-user-id\"?: string;\n offset?: number;\n limit?: number;\n stopwords?: string;\n conversation?: boolean;\n conversation_model_id?: string;\n conversation_id?: string;\n voice_query?: string;\n}\n\ntype SearchResponseHighlightObject = {\n matched_tokens?: string[];\n snippet?: string;\n value?: string;\n};\n\nexport type SearchResponseHighlight = T extends string | number\n ? SearchResponseHighlightObject\n : {\n [TAttribute in keyof T]?: SearchResponseHighlight;\n };\n\nexport interface SearchResponseHit {\n curated?: true;\n highlights?: [\n {\n field: keyof T;\n snippet?: string;\n value?: string;\n snippets?: string[];\n indices?: number[];\n matched_tokens: string[][] | string[];\n },\n ];\n highlight: SearchResponseHighlight;\n document: T;\n text_match: number;\n text_match_info?: {\n best_field_score: string; // To prevent scores from being truncated by JSON spec\n best_field_weight: number;\n fields_matched: number;\n score: string; // To prevent scores from being truncated by JSON spec\n tokens_matched: number;\n };\n}\n\nexport interface SearchResponseFacetCountSchema {\n counts: {\n count: number;\n highlighted: string;\n value: string;\n }[];\n field_name: keyof T;\n stats: {\n avg?: number;\n max?: number;\n min?: number;\n sum?: number;\n };\n}\n\nexport interface SearchResponseRequestParams {\n collection_name?: string;\n q?: string;\n page?: number;\n per_page?: number;\n first_q?: string;\n voice_query?: {\n transcribed_query?: string;\n };\n}\n\n// Todo: we could infer whether this is a grouped response by adding the search params as a generic\nexport interface SearchResponse {\n facet_counts?: SearchResponseFacetCountSchema[];\n found: number;\n found_docs?: number;\n out_of: number;\n page: number;\n request_params: SearchResponseRequestParams;\n search_time_ms: number;\n search_cutoff?: boolean;\n hits?: SearchResponseHit[];\n grouped_hits?: {\n group_key: string[];\n hits: SearchResponseHit[];\n found?: number;\n }[];\n conversation?: {\n answer: string;\n conversation_history: {\n conversation: object[];\n id: string;\n last_updated: number;\n ttl: number;\n };\n conversation_id: string;\n query: string;\n };\n error?: string;\n code?: number;\n}\n\nexport interface DocumentWriteParameters {\n dirty_values?: \"coerce_or_reject\" | \"coerce_or_drop\" | \"drop\" | \"reject\";\n action?: \"create\" | \"update\" | \"upsert\" | \"emplace\";\n}\n\nexport interface UpdateByFilterParameters {\n filter_by?: string;\n}\n\nexport interface UpdateByFilterResponse {\n num_updated: number;\n}\n\nexport interface DocumentImportParameters extends DocumentWriteParameters {\n batch_size?: number;\n return_doc?: boolean;\n return_id?: boolean;\n}\n\nexport interface DocumentsExportParameters {\n filter_by?: string;\n include_fields?: string;\n exclude_fields?: string;\n}\n\nexport interface SearchableDocuments {\n search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n options: SearchOptions,\n ): Promise>;\n clearCache(): void;\n}\n\nexport interface WriteableDocuments {\n create(document: T, options: DocumentWriteParameters): Promise;\n upsert(document: T, options: DocumentWriteParameters): Promise;\n update(document: T, options: DocumentWriteParameters): Promise;\n delete(query: DeleteQuery): Promise;\n import(\n documents: T[] | string,\n options: DocumentWriteParameters,\n ): Promise;\n export(options: DocumentsExportParameters): Promise;\n}\n\nexport interface SearchOptions {\n cacheSearchResultsForSeconds?: number;\n abortSignal?: AbortSignal | null;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class Documents\n extends SearchOnlyDocuments\n implements WriteableDocuments\n{\n constructor(\n collectionName: string,\n apiCall: ApiCall,\n configuration: Configuration,\n ) {\n super(collectionName, apiCall, configuration);\n }\n\n async create(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(this.endpointPath(), document, options);\n }\n\n async upsert(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"upsert\" }),\n );\n }\n\n async update(\n document: T,\n options: UpdateByFilterParameters,\n ): Promise;\n async update(document: T, options: DocumentWriteParameters): Promise;\n async update(\n document: T,\n options: DocumentWriteParameters | UpdateByFilterParameters = {},\n ): Promise {\n if (!document) throw new Error(\"No document provided\");\n\n if (options[\"filter_by\"] != null) {\n return this.apiCall.patch(\n this.endpointPath(),\n document,\n Object.assign({}, options),\n );\n } else {\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"update\" }),\n );\n }\n }\n\n async delete(\n query: DeleteQuery = {} as DeleteQuery,\n ): Promise {\n return this.apiCall.delete(this.endpointPath(), query);\n }\n\n async createMany(documents: T[], options: DocumentImportParameters = {}) {\n this.configuration.logger.warn(\n \"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 );\n return this.import(documents, options);\n }\n\n /**\n * Import a set of documents in a batch.\n * @param {string|Array} documents - Can be a JSONL string of documents or an array of document objects.\n * @param options\n * @return {string|Array} Returns a JSONL string if the input was a JSONL string, otherwise it returns an array of results.\n */\n async import(\n documents: string,\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[],\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[] | string,\n options: DocumentImportParameters = {},\n ): Promise {\n let documentsInJSONLFormat;\n if (Array.isArray(documents)) {\n try {\n documentsInJSONLFormat = documents\n .map((document) => JSON.stringify(document))\n .join(\"\\n\");\n } catch (error: any) {\n // if rangeerror, throw custom error message\n if (\n error instanceof RangeError &&\n error.message.includes(\"Too many properties to enumerate\")\n ) {\n throw new Error(`${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\n // else, throw the non-range error anyways\n throw new Error(error);\n }\n } else {\n documentsInJSONLFormat = documents;\n }\n\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n if (Array.isArray(documents)) {\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter(\n (r) => r.success === false,\n );\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n } else {\n return resultsInJSONLFormat as string;\n }\n }\n /**\n * Imports documents from a NodeJS readable stream of JSONL.\n */\n async importStream(\n readableStream: ReadStream,\n options: DocumentImportParameters = {},\n ): Promise {\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\n queryParameters: options,\n bodyParameters: readableStream,\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter((r) => r.success === false);\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n }\n\n /**\n * Returns a JSONL string for all the documents in this collection\n */\n async export(options: DocumentsExportParameters = {}): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options);\n }\n\n /**\n * Returns a NodeJS readable stream of JSONL for all the documents in this collection.\n */\n async exportStream(\n options: DocumentsExportParameters = {},\n ): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options, {\n responseType: \"stream\",\n });\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { OverrideSchema } from \"./Override\";\n\nconst RESOURCEPATH = \"/overrides\";\n\nexport interface OverrideRuleQuerySchema {\n query?: string;\n match?: \"exact\" | \"contains\";\n}\n\nexport interface OverrideRuleFilterSchema {\n filter_by?: string;\n}\n\nexport interface OverrideRuleTagsSchema {\n tags?: string[];\n}\n\nexport interface OverrideCreateSchema {\n rule: OverrideRuleQuerySchema &\n OverrideRuleFilterSchema &\n OverrideRuleTagsSchema;\n filter_by?: string;\n sort_by?: string;\n remove_matched_tokens?: boolean;\n replace_query?: string;\n includes?: Array<{\n id: string;\n position: number;\n }>;\n excludes?: Array<{ id: string }>;\n filter_curated_hits?: boolean;\n effective_from_ts?: number;\n effective_to_ts?: number;\n stop_processing?: boolean;\n metadata?: object;\n}\n\nexport interface OverridesRetrieveSchema {\n overrides: OverrideSchema[];\n}\n\nexport default class Overrides {\n constructor(\n private collectionName: string,\n private apiCall: ApiCall,\n ) {}\n\n async upsert(\n overrideId: string,\n params: OverrideCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(overrideId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${\n Overrides.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Overrides, { OverrideCreateSchema } from \"./Overrides\";\n\nexport interface OverrideSchema extends OverrideCreateSchema {\n id: string;\n}\n\nexport interface OverrideDeleteSchema {\n id: string;\n}\n\nexport default class Override {\n constructor(\n private collectionName: string,\n private overrideId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Overrides.RESOURCEPATH}/${encodeURIComponent(this.overrideId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { SynonymSchema } from \"./Synonym\";\n\nconst RESOURCEPATH = \"/synonyms\";\n\nexport interface SynonymCreateSchema {\n synonyms: string[];\n root?: string;\n locale?: string;\n symbols_to_index?: string[];\n}\n\nexport interface SynonymsRetrieveSchema {\n synonyms: SynonymSchema[];\n}\n\nexport default class Synonyms {\n constructor(private collectionName: string, private apiCall: ApiCall) {}\n\n async upsert(\n synonymId: string,\n params: SynonymCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(synonymId),\n params\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${\n Synonyms.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Synonyms, { SynonymCreateSchema } from \"./Synonyms\";\n\nexport interface SynonymSchema extends SynonymCreateSchema {\n id: string;\n}\n\nexport interface SynonymDeleteSchema {\n id: string;\n}\n\nexport default class Synonym {\n constructor(\n private collectionName: string,\n private synonymId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Synonyms.RESOURCEPATH}/${encodeURIComponent(this.synonymId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Documents, {\n DeleteQuery,\n DocumentSchema,\n DocumentWriteParameters,\n} from \"./Documents\";\n\nexport class Document {\n constructor(\n private collectionName: string,\n private documentId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(options?: DeleteQuery): Promise {\n return this.apiCall.delete(this.endpointPath(), options);\n }\n\n async update(\n partialDocument: Partial,\n options: DocumentWriteParameters = {}\n ): Promise {\n return this.apiCall.patch(this.endpointPath(), partialDocument, options);\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Documents.RESOURCEPATH}/${encodeURIComponent(this.documentId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections, { CollectionCreateSchema } from \"./Collections\";\nimport Documents, { DocumentSchema } from \"./Documents\";\nimport { ObjectNotFound } from \"./Errors\";\nimport Overrides from \"./Overrides\";\nimport Override from \"./Override\";\nimport Synonyms from \"./Synonyms\";\nimport Synonym from \"./Synonym\";\nimport { Document } from \"./Document\";\n\nexport type FieldType =\n | \"string\"\n | \"int32\"\n | \"int64\"\n | \"float\"\n | \"bool\"\n | \"geopoint\"\n | \"geopoint[]\"\n | \"string[]\"\n | \"int32[]\"\n | \"int64[]\"\n | \"float[]\"\n | \"bool[]\"\n | \"object\"\n | \"object[]\"\n | \"auto\"\n | \"string*\"\n | \"image\";\n\nexport interface CollectionFieldSchema {\n name: string;\n type: FieldType;\n optional?: boolean;\n facet?: boolean;\n index?: boolean;\n sort?: boolean;\n locale?: string;\n infix?: boolean;\n stem?: boolean;\n num_dim?: number;\n store?: boolean;\n [t: string]: unknown;\n}\n\nexport interface CollectionSchema extends CollectionCreateSchema {\n created_at: number;\n num_documents: number;\n num_memory_shards: number;\n}\n\nexport interface CollectionDropFieldSchema {\n name: string;\n drop: true;\n}\n\nexport interface CollectionUpdateSchema\n extends Partial> {\n fields?: (CollectionFieldSchema | CollectionDropFieldSchema)[];\n}\n\nexport default class Collection {\n private readonly _documents: Documents;\n private individualDocuments: Record> = {};\n private readonly _overrides: Overrides;\n private individualOverrides: Record = {};\n private readonly _synonyms: Synonyms;\n private individualSynonyms: Record = {};\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any,\n ) {\n this.name = name;\n this.apiCall = apiCall;\n this.configuration = configuration;\n\n this._documents = new Documents(\n this.name,\n this.apiCall,\n this.configuration,\n );\n this._overrides = new Overrides(this.name, this.apiCall);\n this._synonyms = new Synonyms(this.name, this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(schema: CollectionUpdateSchema): Promise {\n return this.apiCall.patch(this.endpointPath(), schema);\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n async exists(): Promise {\n try {\n await this.retrieve();\n return true;\n } catch (e) {\n if (e instanceof ObjectNotFound) return false;\n throw e;\n }\n }\n\n documents(): Documents;\n documents(documentId: string): Document;\n documents(documentId?: string): Document | Documents {\n if (!documentId) {\n return this._documents;\n } else {\n if (this.individualDocuments[documentId] === undefined) {\n this.individualDocuments[documentId] = new Document(\n this.name,\n documentId,\n this.apiCall,\n );\n }\n return this.individualDocuments[documentId];\n }\n }\n\n overrides(): Overrides;\n overrides(overrideId: string): Override;\n overrides(overrideId?: string): Overrides | Override {\n if (overrideId === undefined) {\n return this._overrides;\n } else {\n if (this.individualOverrides[overrideId] === undefined) {\n this.individualOverrides[overrideId] = new Override(\n this.name,\n overrideId,\n this.apiCall,\n );\n }\n return this.individualOverrides[overrideId];\n }\n }\n\n synonyms(): Synonyms;\n synonyms(synonymId: string): Synonym;\n synonyms(synonymId?: string): Synonyms | Synonym {\n if (synonymId === undefined) {\n return this._synonyms;\n } else {\n if (this.individualSynonyms[synonymId] === undefined) {\n this.individualSynonyms[synonymId] = new Synonym(\n this.name,\n synonymId,\n this.apiCall,\n );\n }\n return this.individualSynonyms[synonymId];\n }\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/aliases\";\n\nexport interface CollectionAliasCreateSchema {\n collection_name: string;\n}\n\nexport interface CollectionAliasSchema extends CollectionAliasCreateSchema {\n name: string;\n}\n\nexport interface CollectionAliasesResponseSchema {\n aliases: CollectionAliasSchema[];\n}\n\nexport default class Aliases {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n name: string,\n mapping: CollectionAliasCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(name),\n mapping\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n private endpointPath(aliasName): string {\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(aliasName)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import Aliases, { CollectionAliasSchema } from \"./Aliases\";\nimport ApiCall from \"./ApiCall\";\n\nexport default class Alias {\n constructor(private name: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import { createHmac } from \"crypto\";\nimport ApiCall from \"./ApiCall\";\nimport { KeyCreateSchema, KeySchema } from \"./Key\";\nimport { SearchParams } from \"./Documents\";\n\nconst RESOURCEPATH = \"/keys\";\n\nexport interface KeysRetrieveSchema {\n keys: KeySchema[];\n}\n\nexport interface GenerateScopedSearchKeyParams extends Partial {\n expires_at?: number;\n cache_ttl?: number;\n limit_multi_searches?: number;\n}\n\nexport default class Keys {\n constructor(private apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(params: KeyCreateSchema): Promise {\n return this.apiCall.post(Keys.RESOURCEPATH, params);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n generateScopedSearchKey(\n searchKey: string,\n parameters: GenerateScopedSearchKeyParams\n ): string {\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 const paramsJSON = JSON.stringify(parameters);\n const digest = Buffer.from(\n createHmac(\"sha256\", searchKey).update(paramsJSON).digest(\"base64\")\n );\n const keyPrefix = searchKey.substr(0, 4);\n const rawScopedKey = `${digest}${keyPrefix}${paramsJSON}`;\n\n return Buffer.from(rawScopedKey).toString(\"base64\");\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Keys from \"./Keys\";\n\nexport interface KeyCreateSchema {\n actions: string[];\n collections: string[];\n description?: string;\n value?: string;\n value_prefix?: string;\n expires_at?: number;\n}\n\nexport interface KeyDeleteSchema {\n id: number;\n}\n\nexport interface KeySchema extends KeyCreateSchema {\n id: number;\n}\n\nexport default class Key {\n constructor(private id: number, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Keys.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/debug\";\n\nexport interface DebugResponseSchema {\n state: number;\n version: string;\n}\n\nexport default class Debug {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/metrics.json\";\n\nexport interface MetricsResponse {\n [key: `system_cpu${number}_active_percentage`]: string;\n system_cpu_active_percentage: string;\n system_disk_total_bytes: string;\n system_disk_used_bytes: string;\n system_memory_total_bytes: string;\n system_memory_total_swap_bytes?: string;\n system_memory_used_bytes: string;\n system_memory_used_swap_bytes?: string;\n system_network_received_bytes: string;\n system_network_sent_bytes: string;\n typesense_memory_active_bytes: string;\n typesense_memory_allocated_bytes: string;\n typesense_memory_fragmentation_ratio: string;\n typesense_memory_mapped_bytes: string;\n typesense_memory_metadata_bytes: string;\n typesense_memory_resident_bytes: string;\n typesense_memory_retained_bytes: string;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/stats.json\";\n\nexport interface EndpointStats {\n [endpoint: string]: number;\n}\n\nexport interface StatsResponse {\n delete_latency_ms?: number;\n delete_requests_per_second?: number;\n import_latency_ms?: number;\n import_requests_per_second?: number;\n latency_ms?: EndpointStats;\n overloaded_requests_per_second?: number;\n pending_write_batches?: number;\n requests_per_second?: EndpointStats;\n search_latency_ms?: number;\n search_requests_per_second?: number;\n total_requests_per_second?: number;\n write_latency_ms?: number;\n write_requests_per_second?: number;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/health\";\n\nexport interface HealthResponse {\n ok: boolean;\n}\n\nexport default class Health {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/operations\";\n\nexport default class Operations {\n constructor(private apiCall: ApiCall) {}\n\n async perform(\n operationName: \"vote\" | \"snapshot\" | \"cache/clear\" | string,\n queryParameters: Record = {}\n ): Promise {\n return this.apiCall.post(\n `${RESOURCEPATH}/${operationName}`,\n {},\n queryParameters\n );\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport RequestWithCache from \"./RequestWithCache\";\nimport {\n DocumentSchema,\n SearchParams,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\n\nconst RESOURCEPATH = \"/multi_search\";\n\nexport interface MultiSearchRequestSchema extends SearchParams {\n collection?: string;\n \"x-typesense-api-key\"?: string;\n}\n\nexport interface MultiSearchRequestWithPresetSchema\n extends SearchParamsWithPreset {\n collection?: string;\n \"x-typesense-api-key\"?: string;\n}\n\nexport interface MultiSearchRequestsSchema {\n searches: (MultiSearchRequestSchema | MultiSearchRequestWithPresetSchema)[];\n}\n\nexport interface MultiSearchResponse {\n results: { [Index in keyof T]: SearchResponse } & {\n length: T[\"length\"];\n };\n}\n\nexport default class MultiSearch {\n private requestWithCache: RequestWithCache;\n\n constructor(\n private apiCall: ApiCall,\n private configuration: Configuration,\n private useTextContentType: boolean = false\n ) {\n this.requestWithCache = new RequestWithCache();\n }\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async perform(\n searchRequests: MultiSearchRequestsSchema,\n commonParams: Partial = {},\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n }: { cacheSearchResultsForSeconds?: number } = {}\n ): Promise> {\n const additionalHeaders = {};\n if (this.useTextContentType) {\n additionalHeaders[\"content-type\"] = \"text/plain\";\n }\n\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n const queryParams = Object.assign({}, commonParams, additionalQueryParams);\n\n return this.requestWithCache.perform(\n this.apiCall,\n this.apiCall.post,\n [RESOURCEPATH, searchRequests, queryParams, additionalHeaders],\n { cacheResponseForSeconds: cacheSearchResultsForSeconds }\n ) as Promise>;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { PresetSchema } from \"./Preset\";\nimport { SearchParams } from \"./Documents\";\nimport { MultiSearchRequestsSchema } from \"./MultiSearch\";\n\nconst RESOURCEPATH = \"/presets\";\n\nexport interface PresetCreateSchema {\n value: SearchParams | MultiSearchRequestsSchema;\n}\n\nexport interface PresetsRetrieveSchema {\n presets: PresetSchema[];\n}\n\nexport default class Presets {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n presetId: string,\n params: PresetCreateSchema\n ): Promise {\n return this.apiCall.put(this.endpointPath(presetId), params);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Presets.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Presets, { PresetCreateSchema } from \"./Presets\";\n\nexport interface PresetSchema extends PresetCreateSchema {\n name: string;\n}\n\nexport interface PresetDeleteSchema {\n name: string;\n}\n\nexport default class Preset {\n constructor(private presetId: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Presets.RESOURCEPATH}/${encodeURIComponent(this.presetId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n AnalyticsRuleCreateSchema,\n AnalyticsRuleSchema,\n} from \"./AnalyticsRule\";\n\nexport interface AnalyticsRulesRetrieveSchema {\n rules: AnalyticsRuleSchema[];\n}\n\nconst RESOURCEPATH = \"/analytics/rules\";\n\nexport default class AnalyticsRules {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async upsert(\n name: string,\n params: AnalyticsRuleCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(name),\n params\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsRules.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\n\nexport interface AnalyticsRuleCreateSchema {\n type: \"popular_queries\" | \"nohits_queries\" | \"counter\";\n params: {\n source: {\n collections: string[];\n events?: Array<{\n type: string;\n weight: number;\n name: string;\n }>;\n };\n expand_query?: boolean;\n destination: {\n collection: string;\n counter_field?: string;\n };\n limit?: number;\n };\n}\n\nexport interface AnalyticsRuleDeleteSchema {\n name: string;\n}\n\nexport interface AnalyticsRuleSchema extends AnalyticsRuleCreateSchema {\n name: string;\n}\n\nexport default class AnalyticsRule {\n constructor(\n private name: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${AnalyticsRules.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { AnalyticsEventCreateSchema } from \"./AnalyticsEvent\";\n\nconst RESOURCEPATH = \"/analytics/events\";\n\nexport default class AnalyticsEvents {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: AnalyticsEventCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsEvents.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\nimport AnalyticsRule from \"./AnalyticsRule\";\nimport AnalyticsEvents from \"./AnalyticsEvents\";\n\nconst RESOURCEPATH = \"/analytics\";\n\nexport default class Analytics {\n private readonly _analyticsRules: AnalyticsRules;\n private readonly individualAnalyticsRules: Record = {};\n private readonly _analyticsEvents: AnalyticsEvents;\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._analyticsRules = new AnalyticsRules(this.apiCall);\n this._analyticsEvents = new AnalyticsEvents(this.apiCall);\n }\n\n rules(id?: string): AnalyticsRules | AnalyticsRule {\n if (id === undefined) {\n return this._analyticsRules;\n } else {\n if (this.individualAnalyticsRules[id] === undefined) {\n this.individualAnalyticsRules[id] = new AnalyticsRule(id, this.apiCall);\n }\n return this.individualAnalyticsRules[id];\n }\n }\n\n events(): AnalyticsEvents {\n return this._analyticsEvents;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { StopwordSchema } from \"./Stopword\";\n\nconst RESOURCEPATH = \"/stopwords\";\n\nexport interface StopwordCreateSchema {\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordsRetrieveSchema {\n stopwords: StopwordSchema[];\n}\n\nexport default class Stopwords {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n stopwordId: string,\n params: StopwordCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(stopwordId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Stopwords.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Stopwords, { StopwordCreateSchema } from \"./Stopwords\";\n\nexport interface StopwordSchema extends StopwordCreateSchema {\n id: string;\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordDeleteSchema {\n id: string;\n}\n\nexport default class Stopword {\n constructor(\n private stopwordId: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Stopwords.RESOURCEPATH}/${encodeURIComponent(this.stopwordId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n ConversationModelCreateSchema,\n ConversationModelSchema,\n} from \"./ConversationModel\";\n\nconst RESOURCEPATH = \"/conversations/models\";\n\nexport default class ConversationModels {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(\n this.endpointPath(),\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${ConversationModels.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\n\nexport interface ConversationModelCreateSchema {\n id?: string;\n model_name: string;\n api_key?: string;\n system_prompt?: string;\n max_bytes: number;\n history_collection?: string;\n}\n\nexport interface ConversationModelDeleteSchema {\n id: string;\n}\n\nexport interface ConversationModelSchema extends ConversationModelCreateSchema {\n id: string;\n}\n\nexport default class ConversationModel {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async update(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(\n this.endpointPath(),\n );\n }\n\n private endpointPath(): string {\n return `${ConversationModels.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\nimport ConversationModel from \"./ConversationModel\";\nimport { ConversationSchema } from \"./Conversation\";\n\nconst RESOURCEPATH = \"/conversations\";\n\nexport interface ConversationsRetrieveSchema {\n conversations: ConversationSchema[];\n}\n\nexport default class Conversations {\n private readonly _conversationsModels: ConversationModels;\n private readonly individualConversationModels: Record<\n string,\n ConversationModel\n > = {};\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._conversationsModels = new ConversationModels(this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n models(): ConversationModels;\n models(id: string): ConversationModel;\n models(id?: string): ConversationModels | ConversationModel {\n if (id === undefined) {\n return this._conversationsModels;\n } else {\n if (this.individualConversationModels[id] === undefined) {\n this.individualConversationModels[id] = new ConversationModel(\n id,\n this.apiCall,\n );\n }\n return this.individualConversationModels[id];\n }\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Conversations from \"./Conversations\";\n\nexport interface ConversationDeleteSchema {\n id: number;\n}\n\nexport interface ConversationUpdateSchema {\n ttl: number;\n}\n\nexport interface ConversationSchema {\n id: number;\n conversation: object[];\n last_updated: number;\n ttl: number;\n}\n\nexport default class Conversation {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(\n params: ConversationUpdateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Conversations.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","/* eslint-disable no-dupe-class-members */\n\nimport Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Collection from \"./Collection\";\nimport Aliases from \"./Aliases\";\nimport Alias from \"./Alias\";\nimport Keys from \"./Keys\";\nimport Key from \"./Key\";\nimport Debug from \"./Debug\";\nimport Metrics from \"./Metrics\";\nimport Stats from \"./Stats\";\nimport Health from \"./Health\";\nimport Operations from \"./Operations\";\nimport MultiSearch from \"./MultiSearch\";\nimport Presets from \"./Presets\";\nimport Preset from \"./Preset\";\nimport Analytics from \"./Analytics\";\nimport Stopwords from \"./Stopwords\";\nimport Stopword from \"./Stopword\";\nimport Conversations from \"./Conversations\";\nimport Conversation from \"./Conversation\";\n\nexport default class Client {\n configuration: Configuration;\n apiCall: ApiCall;\n debug: Debug;\n metrics: Metrics;\n stats: Stats;\n health: Health;\n operations: Operations;\n multiSearch: MultiSearch;\n analytics: Analytics;\n private readonly _collections: Collections;\n private readonly individualCollections: Record;\n private readonly _aliases: Aliases;\n private readonly individualAliases: Record;\n private readonly _keys: Keys;\n private readonly individualKeys: Record;\n private readonly _presets: Presets;\n private readonly individualPresets: Record;\n private readonly _stopwords: Stopwords;\n private readonly individualStopwords: Record;\n private readonly _conversations: Conversations;\n private readonly individualConversations: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? false;\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.debug = new Debug(this.apiCall);\n this.metrics = new Metrics(this.apiCall);\n this.stats = new Stats(this.apiCall);\n this.health = new Health(this.apiCall);\n this.operations = new Operations(this.apiCall);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration);\n this._collections = new Collections(this.apiCall);\n this.individualCollections = {};\n this._aliases = new Aliases(this.apiCall);\n this.individualAliases = {};\n this._keys = new Keys(this.apiCall);\n this.individualKeys = {};\n this._presets = new Presets(this.apiCall);\n this.individualPresets = {};\n this._stopwords = new Stopwords(this.apiCall);\n this.individualStopwords = {};\n this.analytics = new Analytics(this.apiCall);\n this._conversations = new Conversations(this.apiCall);\n this.individualConversations = {};\n }\n\n collections(): Collections;\n collections = object>(\n collectionName: string,\n ): Collection;\n collections(collectionName?: string): Collections | Collection {\n if (collectionName === undefined) {\n return this._collections;\n } else {\n if (this.individualCollections[collectionName] === undefined) {\n this.individualCollections[collectionName] = new Collection(\n collectionName,\n this.apiCall,\n this.configuration,\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n\n aliases(): Aliases;\n aliases(aliasName: string): Alias;\n aliases(aliasName?: string): Aliases | Alias {\n if (aliasName === undefined) {\n return this._aliases;\n } else {\n if (this.individualAliases[aliasName] === undefined) {\n this.individualAliases[aliasName] = new Alias(aliasName, this.apiCall);\n }\n return this.individualAliases[aliasName];\n }\n }\n\n keys(): Keys;\n keys(id: number): Key;\n keys(id?: number): Keys | Key {\n if (id === undefined) {\n return this._keys;\n } else {\n if (this.individualKeys[id] === undefined) {\n this.individualKeys[id] = new Key(id, this.apiCall);\n }\n return this.individualKeys[id];\n }\n }\n\n presets(): Presets;\n presets(id: string): Preset;\n presets(id?: string): Presets | Preset {\n if (id === undefined) {\n return this._presets;\n } else {\n if (this.individualPresets[id] === undefined) {\n this.individualPresets[id] = new Preset(id, this.apiCall);\n }\n return this.individualPresets[id];\n }\n }\n\n stopwords(): Stopwords;\n stopwords(id: string): Stopword;\n stopwords(id?: string): Stopwords | Stopword {\n if (id === undefined) {\n return this._stopwords;\n } else {\n if (this.individualStopwords[id] === undefined) {\n this.individualStopwords[id] = new Stopword(id, this.apiCall);\n }\n return this.individualStopwords[id];\n }\n }\n\n conversations(): Conversations;\n conversations(id: string): Conversation;\n conversations(id?: string): Conversations | Conversation {\n if (id === undefined) {\n return this._conversations;\n } else {\n if (this.individualConversations[id] === undefined) {\n this.individualConversations[id] = new Conversation(id, this.apiCall);\n }\n return this.individualConversations[id];\n }\n }\n}\n","import { DocumentSchema, SearchableDocuments } from \"./Documents\";\nimport ApiCall from \"./ApiCall\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\nexport class SearchOnlyCollection {\n private readonly _documents: SearchableDocuments;\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any\n ) {\n this._documents = new SearchOnlyDocuments(\n this.name,\n this.apiCall,\n this.configuration\n );\n }\n\n documents(): SearchableDocuments {\n return this._documents;\n }\n}\n","import Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport MultiSearch from \"./MultiSearch\";\nimport { DocumentSchema } from \"./Documents\";\nimport { SearchOnlyCollection } from \"./SearchOnlyCollection\";\n\nexport default class SearchClient {\n public readonly multiSearch: MultiSearch;\n private readonly configuration: Configuration;\n private readonly apiCall: ApiCall;\n private readonly individualCollections: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? true;\n if (\n options.sendApiKeyAsQueryParam === true &&\n (options.apiKey || \"\").length > 2000\n ) {\n console.warn(\n \"[typesense] API Key is longer than 2000 characters which is over the allowed limit, so disabling sending it as a query parameter.\"\n );\n options.sendApiKeyAsQueryParam = false;\n }\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration, true);\n this.individualCollections = {};\n }\n\n clearCache() {\n this.multiSearch.clearCache();\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Object.entries(this.individualCollections).forEach(([_, collection]) => {\n collection.documents().clearCache();\n });\n }\n\n collections(\n collectionName: string\n ): SearchOnlyCollection | SearchOnlyCollection {\n if (!collectionName) {\n throw new Error(\n \"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(\n collectionName,\n this.apiCall,\n this.configuration\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n}\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(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\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}","import Client from \"./Typesense/Client\";\nimport SearchClient from \"./Typesense/SearchClient\";\nimport * as Errors from \"./Typesense/Errors\";\n\nexport { Client, SearchClient, Errors };\nexport default { Client, SearchClient, Errors };\n"],"names":["root","definition","noop","undefinedType","isIE","window","navigator","test","userAgent","logMethods","_loggersByName","defaultLogger","bindMethod","obj","methodName","method","bind","Function","prototype","call","e","apply","arguments","traceForIE","console","log","trace","replaceLoggingMethods","level","this","getLevel","i","length","methodFactory","name","debug","levels","SILENT","enableLoggingWhenConsoleArrives","defaultMethodFactory","_level","_loggerName","undefined","realMethod","Logger","factory","inheritedLevel","defaultLevel","userLevel","self","storageKey","getPersistedLevel","storedLevel","localStorage","ignore","cookie","document","cookieName","encodeURIComponent","location","indexOf","exec","slice","normalizeLevel","input","toUpperCase","TypeError","setLevel","persist","levelNum","levelName","persistLevelIfPossible","setDefaultLevel","resetLevel","removeItem","clearPersistedLevel","enableAll","TRACE","disableAll","rebuild","childName","initialLevel","getLogger","logger","_log","noConflict","getLoggers","_typeof","_regeneratorRuntime","module","exports","__esModule","t","r","Object","n","hasOwnProperty","o","defineProperty","value","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","constructor","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","stop","rval","handle","complete","finish","delegateYield","runtime","regeneratorRuntime","accidentalStrictMode","globalThis","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","key","get","prop","_classCallCheck","instance","Constructor","toPropertyKey","toPrimitive","String","_defineProperties","target","props","descriptor","_createClass","protoProps","staticProps","_defineProperty","_assertThisInitialized","ReferenceError","_possibleConstructorReturn","_getPrototypeOf","_setPrototypeOf","_inherits","subClass","superClass","_isNativeReflectConstruct","Boolean","valueOf","Reflect","construct","_wrapNativeSuper","Class","_cache","Map","fn","toString","has","set","Wrapper","TypesenseError","_Error","message","_this","_callSuper","MissingConfigurationError","_TypesenseError","Configuration","options","nodes","map","node","setDefaultPathInNode","setDefaultPortInNode","_objectSpread","randomizeNodes","shuffleArray","nearestNode","connectionTimeoutSeconds","timeoutSeconds","healthcheckIntervalSeconds","numRetries","retryIntervalSeconds","apiKey","sendApiKeyAsQueryParam","cacheSearchResultsForSeconds","useServerSideSearchCache","logLevel","additionalHeaders","httpAgent","httpsAgent","paramsSerializer","showDeprecationWarnings","validate","validateNodes","isNodeMissingAnyParameters","_this2","some","every","warn","masterNode","readReplicaNodes","array","j","Math","floor","random","_ref","asyncGeneratorStep","gen","reject","_next","_throw","info","error","_asyncToGenerator","args","err","thisArg","kindOf","cache","thing","str","toLowerCase","kindOfTest","typeOfTest","isArray","Array","isUndefined","isArrayBuffer","isString","isFunction","isNumber","isObject","isPlainObject","val","isDate","isFile","isBlob","isFileList","isURLSearchParams","isReadableStream","isRequest","isResponse","isHeaders","allOwnKeys","getOwnPropertyNames","len","findKey","_key","_global","global","isContextDefined","context","isTypedArray","TypedArray","Uint8Array","isHTMLForm","isRegExp","reduceDescriptors","reducer","descriptors","getOwnPropertyDescriptors","reducedDescriptors","ret","defineProperties","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","isAsyncFn","isBuffer","isFormData","kind","FormData","append","isArrayBufferView","result","ArrayBuffer","isView","buffer","isBoolean","isStream","pipe","merge","caseless","assignValue","targetKey","extend","b","trim","replace","stripBOM","content","charCodeAt","inherits","superConstructor","assign","toFlatObject","sourceObj","destObj","filter","propFilter","merged","endsWith","searchString","position","lastIndex","toArray","arr","forEachEntry","pair","matchAll","regExp","matches","hasOwnProp","freezeMethods","toObjectSet","arrayOrString","delimiter","split","toCamelCase","m","p1","p2","toFiniteNumber","defaultValue","Number","isFinite","generateString","size","alphabet","isSpecCompliantForm","toJSONObject","stack","visit","source","reducedValue","isThenable","catch","AxiosError","code","config","request","response","captureStackTrace","utils","toJSON","description","number","fileName","lineNumber","columnNumber","status","from","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","path","dots","concat","token","join","predicates","formData","metaTokens","indexes","option","visitor","defaultVisitor","useBlob","Blob","convertValue","toISOString","Buffer","JSON","stringify","isFlatArray","el","index","exposedHelpers","build","encode","charMap","match","AxiosURLSearchParams","params","_pairs","encoder","_encode","buildURL","url","serializeFn","serialize","serializedParams","hashmarkIndex","handlers","use","fulfilled","rejected","synchronous","runWhen","eject","id","clear","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","isBrowser","classes","URLSearchParams","protocols","hasBrowserEnv","hasStandardBrowserEnv","product","hasStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","origin","href","buildPath","isNumericKey","isLast","arrayToObject","entries","parsePropPath","defaults","transitional","adapter","transformRequest","data","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","setContentType","platform","helpers","isNode","toURLEncodedForm","formSerializer","_FormData","env","rawValue","parser","parse","stringifySafely","transformResponse","JSONRequested","responseType","strictJSONParsing","ERR_BAD_RESPONSE","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","ignoreDuplicateOf","$internals","normalizeHeader","header","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","rawHeaders","parsed","line","substring","parseHeaders","tokens","tokensRE","parseTokens","matcher","deleted","deleteHeader","normalize","format","normalized","w","char","formatHeader","targets","asStrings","first","computed","accessor","accessors","defineAccessor","accessorName","arg1","arg2","arg3","buildAccessors","mapped","headerValue","transformData","fns","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","settle","ERR_BAD_REQUEST","listener","isDownloadStream","freq","bytesNotified","_speedometer","samplesCount","min","bytes","timestamps","firstSampleTS","head","tail","chunkLength","now","Date","startedAt","bytesCount","passed","round","timestamp","threshold","timer","force","clearTimeout","setTimeout","loaded","total","lengthComputable","progressBytes","rate","progress","estimated","event","msie","urlParsingNode","createElement","originURL","resolveURL","setAttribute","protocol","host","search","hash","hostname","port","pathname","requestURL","write","expires","domain","secure","toGMTString","read","RegExp","decodeURIComponent","remove","buildFullPath","baseURL","requestedURL","relativeURL","combineURLs","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","withCredentials","withXSRFToken","onUploadProgress","onDownloadProgress","decompress","beforeRedirect","transport","cancelToken","socketPath","responseEncoding","configValue","newConfig","auth","btoa","username","password","unescape","isURLSameOrigin","xsrfValue","cookies","XMLHttpRequest","_config","resolveConfig","requestData","requestHeaders","onCanceled","unsubscribe","signal","removeEventListener","onloadend","responseHeaders","getAllResponseHeaders","responseText","statusText","open","onreadystatechange","readyState","responseURL","onabort","ECONNABORTED","onerror","ERR_NETWORK","ontimeout","timeoutErrorMessage","ETIMEDOUT","setRequestHeader","addEventListener","progressEventReducer","upload","cancel","abort","subscribe","aborted","parseProtocol","send","signals","controller","AbortController","reason","streamChunk","chunk","chunkSize","byteLength","end","pos","trackStream","stream","onProgress","onFinish","iterable","readBytes","ReadableStream","pull","close","enqueue","return","highWaterMark","fetchProgressDecorator","isFetchSupported","fetch","Request","Response","isReadableStreamSupported","encodeText","TextEncoder","arrayBuffer","supportsRequestStream","duplexAccessed","hasContentType","body","duplex","supportsResponseStream","resolvers","res","_","ERR_NOT_SUPPORT","knownAdapters","http","xhr","fetchOptions","finished","composedSignal","stopTimeout","requestContentLength","getContentLength","getBodyLength","resolveBodyLength","contentTypeHeader","_request","isStreamResponse","responseContentLength","responseData","renderReason","isResolvedHandle","adapters","nameOrAdapter","rejectedReasons","reasons","state","throwIfCancellationRequested","throwIfRequested","dispatchRequest","validators","deprecatedWarnings","validator","version","formatMessage","opt","desc","opts","ERR_DEPRECATED","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","Axios","instanceConfig","interceptors","configOrUrl","dummy","boolean","function","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","unshift","responseInterceptorChain","promise","chain","onFulfilled","onRejected","getUri","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","splice","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","axios","createInstance","defaultConfig","VERSION","toFormData","Cancel","all","promises","spread","callback","isAxiosError","payload","formToJSON","getAdapter","default","RequestMalformed","RequestUnauthorized","ObjectNotFound","ObjectAlreadyExists","ObjectUnprocessable","ServerError","HTTPError","HEALTHY","isNodeJSEnvironment","process","versions","ApiCall","configuration","numRetriesPerRequest","additionalUserHeaders","initializeMetadataForNodes","currentNodeIndex","_timer","_performRequest","_patch","_put","_post","_delete2","_get","_callee","endpoint","queryParameters","_ref$abortSignal","abortSignal","_ref$responseType","_args","_context","performRequest","_x","_callee2","_args2","_context2","_x2","_callee3","bodyParameters","_args3","_context3","_x3","_callee4","_args4","_context4","_x4","_callee5","_args5","_context5","_x5","_callee6","requestType","_ref2","_ref2$queryParameters","_ref2$bodyParameters","_ref2$additionalHeade","_ref2$abortSignal","_ref2$responseType","_ref2$skipConnectionT","skipConnectionTimeout","_ref2$enableKeepAlive","enableKeepAlive","requestNumber","lastException","_loop","_ret","numTries","_context7","abortListener","requestOptions","_response$data","_response$data2","_error$response","_context6","getNextNode","uriFor","defaultHeaders","Infinity","transformedData","startsWith","HTTPAgent","keepAlive","HTTPSAgent","setNodeHealthcheck","customErrorForResponse","t0","_x6","_x7","_x8","isHealthy","nodeDueForHealthcheck","candidateNode","isDueForHealthcheck","lastAccessTimestamp","_callee7","seconds","_context8","_x9","messageFromServer","errorMessage","httpStatus","RESOURCEPATH","Collections","apiCall","_retrieve","_create","post","ImportError","importResults","_arrayLikeToArray","arr2","_unsupportedIterableToArray","minLen","_toConsumableArray","iter","RequestWithCache","_perform","responseCache","responsePromiseCache","requestContext","requestFunction","requestFunctionArguments","cacheOptions","_cacheOptions$cacheRe","cacheResponseForSeconds","_cacheOptions$maxSize","maxSize","requestFunctionArgumentsJSON","cacheEntry","cachePromiseEntry","responsePromise","oldestEntry","_oldestEntry","requestTimestamp","delete","SearchOnlyDocuments","collectionName","_search","requestWithCache","clearCache","searchParameters","_ref$cacheSearchResul","additionalQueryParams","queryParams","perform","endpointPath","operation","Documents","_exportStream","_export2","_importStream","_import2","_createMany","_update","_upsert","action","patch","query","documents","import","documentsInJSONLFormat","resultsInJSONLFormat","resultsInJSONFormat","failedItems","_args6","RangeError","includes","success","readableStream","_args7","_callee8","_args8","_callee9","_args9","_context9","Overrides","overrideId","put","Override","Synonyms","synonymId","Synonym","Document","documentId","partialDocument","Collection","_documents","_overrides","_synonyms","_exists","retrieve","individualDocuments","individualOverrides","individualSynonyms","Aliases","mapping","aliasName","Alias","Keys","searchKey","parameters","paramsJSON","digest","createHmac","update","keyPrefix","substr","rawScopedKey","Key","Debug","Metrics","Health","Operations","operationName","MultiSearch","useTextContentType","searchRequests","commonParams","Presets","presetId","Preset","AnalyticsRules","AnalyticsRule","AnalyticsEvents","Analytics","_analyticsRules","_analyticsEvents","individualAnalyticsRules","Stopwords","stopwordId","Stopword","ConversationModels","ConversationModel","Conversations","_conversationsModels","individualConversationModels","Conversation","Client","_options$sendApiKeyAs","metrics","stats","Stats","health","operations","multiSearch","_collections","individualCollections","_aliases","individualAliases","_keys","individualKeys","_presets","individualPresets","_stopwords","individualStopwords","analytics","_conversations","individualConversations","SearchOnlyCollection","SearchClient","Errors"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"typesense.min.js","mappings":"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","sources":["webpack://Typesense/./node_modules/loglevel/lib/loglevel.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/regenerator/index.js","webpack://Typesense/webpack/bootstrap","webpack://Typesense/webpack/runtime/compat get default export","webpack://Typesense/webpack/runtime/define property getters","webpack://Typesense/webpack/runtime/hasOwnProperty shorthand","webpack://Typesense/webpack/runtime/make namespace object","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://Typesense/./src/Typesense/Errors/TypesenseError.ts","webpack://Typesense/./src/Typesense/Errors/MissingConfigurationError.ts","webpack://Typesense/./src/Typesense/Configuration.ts","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://Typesense/./node_modules/axios/lib/helpers/bind.js","webpack://Typesense/./node_modules/axios/lib/utils.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosError.js","webpack://Typesense/./node_modules/axios/lib/helpers/toFormData.js","webpack://Typesense/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/helpers/buildURL.js","webpack://Typesense/./node_modules/axios/lib/core/InterceptorManager.js","webpack://Typesense/./node_modules/axios/lib/defaults/transitional.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/index.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://Typesense/./node_modules/axios/lib/platform/common/utils.js","webpack://Typesense/./node_modules/axios/lib/platform/index.js","webpack://Typesense/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://Typesense/./node_modules/axios/lib/defaults/index.js","webpack://Typesense/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://Typesense/./node_modules/axios/lib/core/transformData.js","webpack://Typesense/./node_modules/axios/lib/cancel/isCancel.js","webpack://Typesense/./node_modules/axios/lib/cancel/CanceledError.js","webpack://Typesense/./node_modules/axios/lib/core/settle.js","webpack://Typesense/./node_modules/axios/lib/helpers/speedometer.js","webpack://Typesense/./node_modules/axios/lib/helpers/progressEventReducer.js","webpack://Typesense/./node_modules/axios/lib/helpers/throttle.js","webpack://Typesense/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://Typesense/./node_modules/axios/lib/helpers/cookies.js","webpack://Typesense/./node_modules/axios/lib/core/buildFullPath.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://Typesense/./node_modules/axios/lib/helpers/combineURLs.js","webpack://Typesense/./node_modules/axios/lib/core/mergeConfig.js","webpack://Typesense/./node_modules/axios/lib/helpers/resolveConfig.js","webpack://Typesense/./node_modules/axios/lib/adapters/xhr.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://Typesense/./node_modules/axios/lib/helpers/composeSignals.js","webpack://Typesense/./node_modules/axios/lib/helpers/trackStream.js","webpack://Typesense/./node_modules/axios/lib/adapters/fetch.js","webpack://Typesense/./node_modules/axios/lib/adapters/adapters.js","webpack://Typesense/./node_modules/axios/lib/helpers/null.js","webpack://Typesense/./node_modules/axios/lib/core/dispatchRequest.js","webpack://Typesense/./node_modules/axios/lib/env/data.js","webpack://Typesense/./node_modules/axios/lib/helpers/validator.js","webpack://Typesense/./node_modules/axios/lib/core/Axios.js","webpack://Typesense/./node_modules/axios/lib/cancel/CancelToken.js","webpack://Typesense/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://Typesense/./node_modules/axios/lib/axios.js","webpack://Typesense/./node_modules/axios/lib/helpers/spread.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://Typesense/./src/Typesense/Errors/RequestMalformed.ts","webpack://Typesense/./src/Typesense/Errors/RequestUnauthorized.ts","webpack://Typesense/./src/Typesense/Errors/ObjectNotFound.ts","webpack://Typesense/./src/Typesense/Errors/ObjectAlreadyExists.ts","webpack://Typesense/./src/Typesense/Errors/ObjectUnprocessable.ts","webpack://Typesense/./src/Typesense/Errors/ServerError.ts","webpack://Typesense/./src/Typesense/Errors/HTTPError.ts","webpack://Typesense/./src/Typesense/ApiCall.ts","webpack://Typesense/./src/Typesense/Collections.ts","webpack://Typesense/./src/Typesense/Errors/ImportError.ts","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://Typesense/./src/Typesense/RequestWithCache.ts","webpack://Typesense/./src/Typesense/SearchOnlyDocuments.ts","webpack://Typesense/./src/Typesense/Documents.ts","webpack://Typesense/./src/Typesense/Overrides.ts","webpack://Typesense/./src/Typesense/Override.ts","webpack://Typesense/./src/Typesense/Synonyms.ts","webpack://Typesense/./src/Typesense/Synonym.ts","webpack://Typesense/./src/Typesense/Document.ts","webpack://Typesense/./src/Typesense/Collection.ts","webpack://Typesense/./src/Typesense/Aliases.ts","webpack://Typesense/./src/Typesense/Alias.ts","webpack://Typesense/./src/Typesense/Keys.ts","webpack://Typesense/./src/Typesense/Key.ts","webpack://Typesense/./src/Typesense/Debug.ts","webpack://Typesense/./src/Typesense/Metrics.ts","webpack://Typesense/./src/Typesense/Stats.ts","webpack://Typesense/./src/Typesense/Health.ts","webpack://Typesense/./src/Typesense/Operations.ts","webpack://Typesense/./src/Typesense/MultiSearch.ts","webpack://Typesense/./src/Typesense/Presets.ts","webpack://Typesense/./src/Typesense/Preset.ts","webpack://Typesense/./src/Typesense/AnalyticsRules.ts","webpack://Typesense/./src/Typesense/AnalyticsRule.ts","webpack://Typesense/./src/Typesense/AnalyticsEvents.ts","webpack://Typesense/./src/Typesense/Analytics.ts","webpack://Typesense/./src/Typesense/Stopwords.ts","webpack://Typesense/./src/Typesense/Stopword.ts","webpack://Typesense/./src/Typesense/ConversationModels.ts","webpack://Typesense/./src/Typesense/ConversationModel.ts","webpack://Typesense/./src/Typesense/Conversations.ts","webpack://Typesense/./src/Typesense/Conversation.ts","webpack://Typesense/./src/Typesense/Client.ts","webpack://Typesense/./src/Typesense/SearchOnlyCollection.ts","webpack://Typesense/./src/Typesense/SearchClient.ts","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://Typesense/./src/Typesense.ts"],"sourcesContent":["/*\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 var _loggersByName = {};\n var defaultLogger = null;\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() {\n /*jshint validthis:true */\n var level = this.getLevel();\n\n // Replace the actual methods.\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, this.name);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n\n // Return any important warnings.\n if (typeof console === undefinedType && level < this.levels.SILENT) {\n return \"No console available for logging\";\n }\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) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this);\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, factory) {\n // Private instance variables.\n var self = this;\n /**\n * The level inherited from a parent logger (or a global default). We\n * cache this here rather than delegating to the parent so that it stays\n * in sync with the actual logging methods that we have installed (the\n * parent could change levels but we might not have rebuilt the loggers\n * in this child yet).\n * @type {number}\n */\n var inheritedLevel;\n /**\n * The default level for this logger, if any. If set, this overrides\n * `inheritedLevel`.\n * @type {number|null}\n */\n var defaultLevel;\n /**\n * A user-specific level for this logger. If set, this overrides\n * `defaultLevel`.\n * @type {number|null}\n */\n var userLevel;\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 cookieName = encodeURIComponent(storageKey);\n var location = cookie.indexOf(cookieName + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(\n cookie.slice(location + cookieName.length + 1)\n )[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 } 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 function normalizeLevel(input) {\n var level = input;\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 return level;\n } else {\n throw new TypeError(\"log.setLevel() called with invalid level: \" + input);\n }\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 if (userLevel != null) {\n return userLevel;\n } else if (defaultLevel != null) {\n return defaultLevel;\n } else {\n return inheritedLevel;\n }\n };\n\n self.setLevel = function (level, persist) {\n userLevel = normalizeLevel(level);\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(userLevel);\n }\n\n // NOTE: in v2, this should call rebuild(), which updates children.\n return replaceLoggingMethods.call(self);\n };\n\n self.setDefaultLevel = function (level) {\n defaultLevel = normalizeLevel(level);\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.resetLevel = function () {\n userLevel = null;\n clearPersistedLevel();\n replaceLoggingMethods.call(self);\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 self.rebuild = function () {\n if (defaultLogger !== self) {\n inheritedLevel = normalizeLevel(defaultLogger.getLevel());\n }\n replaceLoggingMethods.call(self);\n\n if (defaultLogger === self) {\n for (var childName in _loggersByName) {\n _loggersByName[childName].rebuild();\n }\n }\n };\n\n // Initialize all the internal levels.\n inheritedLevel = normalizeLevel(\n defaultLogger ? defaultLogger.getLevel() : \"WARN\"\n );\n var initialLevel = getPersistedLevel();\n if (initialLevel != null) {\n userLevel = normalizeLevel(initialLevel);\n }\n replaceLoggingMethods.call(self);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n defaultLogger = new Logger();\n\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,\n defaultLogger.methodFactory\n );\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","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 e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw new Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\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))","// 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};","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(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\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 _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n try {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n } catch (e) {\n return typeof fn === \"function\";\n }\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\n}","export default class TypesenseError extends Error {\n httpStatus?: number;\n\n // Source: https://stackoverflow.com/a/58417721/123545\n constructor(message?: string) {\n super(message);\n this.name = new.target.name;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class MissingConfigurationError extends TypesenseError {}\n","import * as logger from \"loglevel\";\nimport { Logger, LogLevelDesc } from \"loglevel\";\nimport { MissingConfigurationError } from \"./Errors\";\nimport type { Agent as HTTPAgent } from \"http\";\nimport type { Agent as HTTPSAgent } from \"https\";\n\nexport interface NodeConfiguration {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n url?: string;\n}\n\nexport interface NodeConfigurationWithHostname {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n}\n\nexport interface NodeConfigurationWithUrl {\n url: string;\n}\n\nexport interface ConfigurationOptions {\n apiKey: string;\n nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n randomizeNodes?: boolean;\n /**\n * @deprecated\n * masterNode is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n masterNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n /**\n * @deprecated\n * readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n readReplicaNodes?:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n connectionTimeoutSeconds?: number;\n timeoutSeconds?: number;\n healthcheckIntervalSeconds?: number;\n numRetries?: number;\n retryIntervalSeconds?: number;\n sendApiKeyAsQueryParam?: boolean | undefined;\n useServerSideSearchCache?: boolean;\n cacheSearchResultsForSeconds?: number;\n additionalHeaders?: Record;\n\n logLevel?: LogLevelDesc;\n logger?: Logger;\n\n /**\n * Set a custom HTTP Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPAgent } = require(\"http\");\n * ...\n * httpAgent: new HTTPAgent({ keepAlive: true }),\n * @type {HTTPAgent}\n */\n httpAgent?: HTTPAgent;\n\n /**\n * Set a custom HTTPS Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPSAgent } = require(\"https\");\n * ...\n * httpsAgent: new HTTPSAgent({ keepAlive: true }),\n * @type {HTTPSAgent}\n */\n httpsAgent?: HTTPSAgent;\n\n /**\n * Set a custom paramsSerializer\n *\n * See axios documentation for more information on how to use this parameter: https://axios-http.com/docs/req_config\n * This is helpful for handling React Native issues like this: https://github.com/axios/axios/issues/6102#issuecomment-2085301397\n * @type {any}\n */\n paramsSerializer?: any;\n}\n\nexport default class Configuration {\n readonly nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n readonly nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n readonly connectionTimeoutSeconds: number;\n readonly healthcheckIntervalSeconds: number;\n readonly numRetries: number;\n readonly retryIntervalSeconds: number;\n readonly apiKey: string;\n readonly sendApiKeyAsQueryParam?: boolean;\n readonly cacheSearchResultsForSeconds: number;\n readonly useServerSideSearchCache: boolean;\n readonly logger: Logger;\n readonly logLevel: LogLevelDesc;\n readonly additionalHeaders?: Record;\n readonly httpAgent?: HTTPAgent;\n readonly httpsAgent?: HTTPSAgent;\n readonly paramsSerializer?: any;\n\n constructor(options: ConfigurationOptions) {\n this.nodes = options.nodes || [];\n this.nodes = this.nodes\n .map((node) => this.setDefaultPathInNode(node))\n .map((node) => this.setDefaultPortInNode(node))\n .map((node) => ({ ...node })) as NodeConfiguration[]; // Make a deep copy\n\n if (options.randomizeNodes == null) {\n options.randomizeNodes = true;\n }\n\n if (options.randomizeNodes === true) {\n this.shuffleArray(this.nodes);\n }\n\n this.nearestNode = options.nearestNode;\n this.nearestNode = this.setDefaultPathInNode(this.nearestNode);\n this.nearestNode = this.setDefaultPortInNode(this.nearestNode);\n\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\n this.apiKey = options.apiKey;\n this.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam; // We will set a default for this in Client and SearchClient\n\n this.cacheSearchResultsForSeconds =\n options.cacheSearchResultsForSeconds || 0; // Disable client-side cache by default\n this.useServerSideSearchCache = options.useServerSideSearchCache || false;\n\n this.logger = options.logger || logger;\n this.logLevel = options.logLevel || \"warn\";\n this.logger.setLevel(this.logLevel);\n\n this.additionalHeaders = options.additionalHeaders;\n\n this.httpAgent = options.httpAgent;\n this.httpsAgent = options.httpsAgent;\n\n this.paramsSerializer = options.paramsSerializer;\n\n this.showDeprecationWarnings(options);\n this.validate();\n }\n\n validate(): boolean {\n if (this.nodes == null || this.nodes.length === 0 || this.validateNodes()) {\n throw new MissingConfigurationError(\n \"Ensure that nodes[].protocol, nodes[].host and nodes[].port are set\",\n );\n }\n\n if (\n this.nearestNode != null &&\n this.isNodeMissingAnyParameters(this.nearestNode)\n ) {\n throw new MissingConfigurationError(\n \"Ensure that nearestNodes.protocol, nearestNodes.host and nearestNodes.port are set\",\n );\n }\n\n if (this.apiKey == null) {\n throw new MissingConfigurationError(\"Ensure that apiKey is set\");\n }\n\n return true;\n }\n\n private validateNodes(): boolean {\n return this.nodes.some((node) => {\n return this.isNodeMissingAnyParameters(node);\n });\n }\n\n private isNodeMissingAnyParameters(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl,\n ): boolean {\n return (\n ![\"protocol\", \"host\", \"port\", \"path\"].every((key) => {\n return node.hasOwnProperty(key);\n }) && node[\"url\"] == null\n );\n }\n\n private setDefaultPathInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (node != null && !node.hasOwnProperty(\"path\")) {\n node[\"path\"] = \"\";\n }\n return node;\n }\n\n private setDefaultPortInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (\n node != null &&\n !node.hasOwnProperty(\"port\") &&\n node.hasOwnProperty(\"protocol\")\n ) {\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\n private showDeprecationWarnings(options: ConfigurationOptions): void {\n if (options.timeoutSeconds) {\n this.logger.warn(\n \"Deprecation warning: timeoutSeconds is now renamed to connectionTimeoutSeconds\",\n );\n }\n if (options.masterNode) {\n this.logger.warn(\n \"Deprecation warning: masterNode is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n if (options.readReplicaNodes) {\n this.logger.warn(\n \"Deprecation warning: readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n }\n\n private shuffleArray(array) {\n for (let i = array.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [array[i], array[j]] = [array[j], array[i]];\n }\n }\n}\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}","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\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 && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let 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 {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\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 *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\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 (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 const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\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 *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && 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 *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\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 *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap\n};\n","'use strict';\n\nimport utils from '../utils.js';\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 {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n 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: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\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 * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\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 */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n 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 *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\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 *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\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 *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\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\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\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 env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\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 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\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} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\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 *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn.apply(null, args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\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 const msie = platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let 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 const 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","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\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 *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default 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\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 *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\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 *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, 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(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const 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 withXSRFToken: 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 beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\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\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, 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 const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n 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(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, 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(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\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 (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : 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 const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst composeSignals = (signals, timeout) => {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (cancel) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = cancel instanceof Error ? cancel : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal &&\n (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort));\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = unsubscribe;\n\n return [signal, () => {\n timer && clearTimeout(timer);\n timer = null;\n }];\n}\n\nexport default composeSignals;\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize, encode) {\n for await (const chunk of iterable) {\n yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize);\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => {\n const iterator = readBytes(stream, chunkSize, encode);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst supportsRequestStream = isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n});\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n return (await new Request(body).arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ?\n composeSignals([signal, cancelToken], timeout) : [];\n\n let finished, request;\n\n const onFinish = () => {\n !finished && setTimeout(() => {\n composedSignal && composedSignal.unsubscribe();\n });\n\n finished = true;\n }\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush, encodeText);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = \"credentials\" in Request.prototype; \n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n isStreamResponse && onFinish();\n }, encodeText),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && onFinish();\n\n stopTimeout && stopTimeout();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n onFinish();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\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 *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(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 config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\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 config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.7.5\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\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 *\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 (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\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 *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(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 {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _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 const {transitional, paramsSerializer, headers} = config;\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 if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let 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 const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\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,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(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, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n 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\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const 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 */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\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\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\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 *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestMalformed extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestUnauthorized extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectNotFound extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectAlreadyExists extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectUnprocessable extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ServerError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class HTTPError extends TypesenseError {}\n","import axios, { AxiosRequestConfig, AxiosResponse, Method } from \"axios\";\nimport { Logger } from \"loglevel\";\nimport {\n HTTPError,\n ObjectAlreadyExists,\n ObjectNotFound,\n ObjectUnprocessable,\n RequestMalformed,\n RequestUnauthorized,\n ServerError,\n} from \"./Errors\";\nimport TypesenseError from \"./Errors/TypesenseError\";\nimport Configuration, { NodeConfiguration } from \"./Configuration\";\nimport { Agent as HTTPAgent } from \"http\";\nimport { Agent as HTTPSAgent } from \"https\";\n\nconst APIKEYHEADERNAME = \"X-TYPESENSE-API-KEY\";\nconst HEALTHY = true;\nconst UNHEALTHY = false;\n\ninterface Node extends NodeConfiguration {\n isHealthy: boolean;\n index: string | number;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class ApiCall {\n private readonly apiKey: string;\n private readonly nodes: Node[];\n private readonly nearestNode: Node;\n private readonly connectionTimeoutSeconds: number;\n private readonly healthcheckIntervalSeconds: number;\n private readonly retryIntervalSeconds: number;\n private readonly sendApiKeyAsQueryParam?: boolean;\n private readonly numRetriesPerRequest: number;\n private readonly additionalUserHeaders?: Record;\n\n private readonly logger: Logger;\n private currentNodeIndex: number;\n\n constructor(private 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\n this.logger = this.configuration.logger;\n\n this.initializeMetadataForNodes();\n this.currentNodeIndex = -1;\n }\n\n async get(\n endpoint: string,\n queryParameters: any = {},\n {\n abortSignal = null,\n responseType = undefined,\n }: {\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n } = {},\n ): Promise {\n return this.performRequest(\"get\", endpoint, {\n queryParameters,\n abortSignal,\n responseType,\n });\n }\n\n async delete(endpoint: string, queryParameters: any = {}): Promise {\n return this.performRequest(\"delete\", endpoint, { queryParameters });\n }\n\n async post(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n additionalHeaders: any = {},\n ): Promise {\n return this.performRequest(\"post\", endpoint, {\n queryParameters,\n bodyParameters,\n additionalHeaders,\n });\n }\n\n async put(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"put\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async patch(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"patch\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async performRequest(\n requestType: Method,\n endpoint: string,\n {\n queryParameters = null,\n bodyParameters = null,\n additionalHeaders = {},\n abortSignal = null,\n responseType = undefined,\n skipConnectionTimeout = false,\n enableKeepAlive = undefined,\n }: {\n queryParameters?: any;\n bodyParameters?: any;\n additionalHeaders?: any;\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n skipConnectionTimeout?: boolean;\n enableKeepAlive?: boolean | undefined;\n },\n ): Promise {\n this.configuration.validate();\n\n const requestNumber = Date.now();\n let lastException;\n this.logger.debug(\n `Request #${requestNumber}: Performing ${requestType.toUpperCase()} request: ${endpoint}`,\n );\n for (\n let numTries = 1;\n numTries <= this.numRetriesPerRequest + 1;\n numTries++\n ) {\n const node = this.getNextNode(requestNumber);\n this.logger.debug(\n `Request #${requestNumber}: Attempting ${requestType.toUpperCase()} request Try #${numTries} to Node ${\n node.index\n }`,\n );\n\n if (abortSignal && abortSignal.aborted) {\n return Promise.reject(new Error(\"Request aborted by caller.\"));\n }\n\n let abortListener;\n\n try {\n const requestOptions: AxiosRequestConfig = {\n method: requestType,\n url: this.uriFor(endpoint, node),\n headers: Object.assign(\n {},\n this.defaultHeaders(),\n additionalHeaders,\n this.additionalUserHeaders,\n ),\n maxContentLength: Infinity,\n maxBodyLength: Infinity,\n responseType,\n validateStatus: (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 (data, headers) => {\n let transformedData = data;\n if (\n headers !== undefined &&\n typeof data === \"string\" &&\n headers[\"content-type\"] &&\n headers[\"content-type\"].startsWith(\"application/json\")\n ) {\n transformedData = JSON.parse(data);\n }\n return transformedData;\n },\n ],\n };\n\n if (skipConnectionTimeout !== true) {\n requestOptions.timeout = this.connectionTimeoutSeconds * 1000;\n }\n\n if (queryParameters && Object.keys(queryParameters).length !== 0) {\n requestOptions.params = queryParameters;\n }\n\n if (this.sendApiKeyAsQueryParam) {\n requestOptions.params = requestOptions.params || {};\n requestOptions.params[\"x-typesense-api-key\"] = this.apiKey;\n }\n\n if (this.configuration.httpAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpAgent`,\n );\n requestOptions.httpAgent = this.configuration.httpAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling KeepAlive`);\n requestOptions.httpAgent = new HTTPAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.httpsAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpsAgent`,\n );\n requestOptions.httpsAgent = this.configuration.httpsAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling keepAlive`);\n requestOptions.httpsAgent = new HTTPSAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.paramsSerializer) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom paramsSerializer`,\n );\n requestOptions.paramsSerializer = this.configuration.paramsSerializer;\n }\n\n if (\n bodyParameters &&\n ((typeof bodyParameters === \"string\" &&\n bodyParameters.length !== 0) ||\n (typeof bodyParameters === \"object\" &&\n Object.keys(bodyParameters).length !== 0))\n ) {\n requestOptions.data = bodyParameters;\n }\n\n // Translate from user-provided AbortController to the Axios request cancel mechanism.\n if (abortSignal) {\n const cancelToken = axios.CancelToken;\n const source = cancelToken.source();\n abortListener = () => source.cancel();\n abortSignal.addEventListener(\"abort\", abortListener);\n requestOptions.cancelToken = source.token;\n }\n\n const response = await axios(requestOptions);\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.setNodeHealthcheck(node, HEALTHY);\n }\n this.logger.debug(\n `Request #${requestNumber}: Request to Node ${node.index} was made. Response Code was ${response.status}.`,\n );\n\n if (response.status >= 200 && response.status < 300) {\n // If response is 2xx return a resolved promise\n return Promise.resolve(response.data);\n } else if (response.status < 500) {\n // Next, if response is anything but 5xx, don't retry, return a custom error\n return Promise.reject(\n this.customErrorForResponse(response, response.data?.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.customErrorForResponse(response, response.data?.message);\n }\n } catch (error: any) {\n // This block handles retries for HTTPStatus > 500 and network layer issues like connection timeouts\n this.setNodeHealthcheck(node, UNHEALTHY);\n lastException = error;\n this.logger.warn(\n `Request #${requestNumber}: Request to Node ${\n node.index\n } failed due to \"${error.code} ${error.message}${\n error.response == null\n ? \"\"\n : \" - \" + JSON.stringify(error.response?.data)\n }\"`,\n );\n // this.logger.debug(error.stack)\n this.logger.warn(\n `Request #${requestNumber}: Sleeping for ${this.retryIntervalSeconds}s and then retrying request...`,\n );\n await this.timer(this.retryIntervalSeconds);\n } finally {\n if (abortSignal && abortListener) {\n abortSignal.removeEventListener(\"abort\", abortListener);\n }\n }\n }\n this.logger.debug(\n `Request #${requestNumber}: No retries left. Raising last error`,\n );\n return Promise.reject(lastException);\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 getNextNode(requestNumber = 0): Node {\n // Check if nearestNode is set and is healthy, if so return it\n if (this.nearestNode != null) {\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: Node ${\n this.nearestNode.index\n } is ${this.nearestNode.isHealthy === true ? \"Healthy\" : \"Unhealthy\"}`,\n );\n if (\n this.nearestNode.isHealthy === true ||\n this.nodeDueForHealthcheck(this.nearestNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${this.nearestNode.index}`,\n );\n return this.nearestNode;\n }\n this.logger.debug(\n `Request #${requestNumber}: Falling back to individual nodes`,\n );\n }\n\n // Fallback to nodes as usual\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: ${this.nodes\n .map(\n (node) =>\n `Node ${node.index} is ${\n node.isHealthy === true ? \"Healthy\" : \"Unhealthy\"\n }`,\n )\n .join(\" || \")}`,\n );\n let candidateNode: Node = this.nodes[0];\n for (let i = 0; i <= this.nodes.length; i++) {\n this.currentNodeIndex = (this.currentNodeIndex + 1) % this.nodes.length;\n candidateNode = this.nodes[this.currentNodeIndex];\n if (\n candidateNode.isHealthy === true ||\n this.nodeDueForHealthcheck(candidateNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\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(\n `Request #${requestNumber}: No healthy nodes were found. Returning the next node, Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\n\n nodeDueForHealthcheck(node, requestNumber = 0): boolean {\n const isDueForHealthcheck =\n Date.now() - node.lastAccessTimestamp >\n this.healthcheckIntervalSeconds * 1000;\n if (isDueForHealthcheck) {\n this.logger.debug(\n `Request #${requestNumber}: Node ${node.index} has exceeded healtcheckIntervalSeconds of ${this.healthcheckIntervalSeconds}. Adding it back into rotation.`,\n );\n }\n return isDueForHealthcheck;\n }\n\n initializeMetadataForNodes(): void {\n if (this.nearestNode != null) {\n this.nearestNode.index = \"nearestNode\";\n this.setNodeHealthcheck(this.nearestNode, HEALTHY);\n }\n\n this.nodes.forEach((node, i) => {\n node.index = i;\n this.setNodeHealthcheck(node, HEALTHY);\n });\n }\n\n setNodeHealthcheck(node, isHealthy): void {\n node.isHealthy = isHealthy;\n node.lastAccessTimestamp = Date.now();\n }\n\n uriFor(endpoint: string, node): string {\n if (node.url != null) {\n return `${node.url}${endpoint}`;\n }\n return `${node.protocol}://${node.host}:${node.port}${node.path}${endpoint}`;\n }\n\n defaultHeaders(): any {\n const defaultHeaders = {};\n if (!this.sendApiKeyAsQueryParam) {\n defaultHeaders[APIKEYHEADERNAME] = this.apiKey;\n }\n defaultHeaders[\"Content-Type\"] = \"application/json\";\n return defaultHeaders;\n }\n\n async timer(seconds): Promise {\n return new Promise((resolve) => setTimeout(resolve, seconds * 1000));\n }\n\n customErrorForResponse(\n response: AxiosResponse,\n messageFromServer: string,\n ): TypesenseError {\n let errorMessage = `Request failed with HTTP code ${response.status}`;\n if (\n typeof messageFromServer === \"string\" &&\n messageFromServer.trim() !== \"\"\n ) {\n errorMessage += ` | Server said: ${messageFromServer}`;\n }\n\n let error = new TypesenseError(errorMessage);\n\n if (response.status === 400) {\n error = new RequestMalformed(errorMessage);\n } else if (response.status === 401) {\n error = new RequestUnauthorized(errorMessage);\n } else if (response.status === 404) {\n error = new ObjectNotFound(errorMessage);\n } else if (response.status === 409) {\n error = new ObjectAlreadyExists(errorMessage);\n } else if (response.status === 422) {\n error = new ObjectUnprocessable(errorMessage);\n } else if (response.status >= 500 && response.status <= 599) {\n error = new ServerError(errorMessage);\n } else {\n error = new HTTPError(errorMessage);\n }\n\n error.httpStatus = response.status;\n\n return error;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { CollectionFieldSchema, CollectionSchema } from \"./Collection\";\n\nexport interface CollectionCreateSchema {\n name: string;\n default_sorting_field?: string;\n fields?: CollectionFieldSchema[];\n symbols_to_index?: string[];\n token_separators?: string[];\n enable_nested_fields?: boolean;\n metadata?: object;\n voice_query_model?: {\n model_name?: string;\n };\n}\n\nexport interface CollectionCreateOptions {\n src_name?: string;\n}\n\nexport interface CollectionsRetrieveOptions {\n exclude_fields?: string;\n}\n\nconst RESOURCEPATH = \"/collections\";\n\nexport default class Collections {\n constructor(private apiCall: ApiCall) {}\n\n async create(\n schema: CollectionCreateSchema,\n options: CollectionCreateOptions = {},\n ): Promise {\n return this.apiCall.post(RESOURCEPATH, schema, options);\n }\n\n async retrieve(\n options: CollectionsRetrieveOptions = {},\n ): Promise {\n return this.apiCall.get(RESOURCEPATH, options);\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import TypesenseError from \"./TypesenseError\";\nimport { ImportResponse } from \"../Documents\";\n\nexport default class ImportError extends TypesenseError {\n importResults: ImportResponse[];\n constructor(message: string, importResults: ImportResponse[]) {\n super(message);\n this.importResults = importResults;\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 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}","const defaultCacheResponseForSeconds = 2 * 60;\nconst defaultMaxSize = 100;\n\nexport default class RequestWithCache {\n private responseCache: Map = new Map();\n private responsePromiseCache: Map = new Map();\n\n clearCache() {\n this.responseCache = new Map();\n this.responsePromiseCache = new Map();\n }\n\n // Todo: should probably be passed a callback instead, or an apiCall instance. Types are messy this way\n async perform(\n requestContext: any,\n requestFunction: (...params: any) => unknown,\n requestFunctionArguments: any[],\n cacheOptions: CacheOptions\n ): Promise {\n const {\n cacheResponseForSeconds = defaultCacheResponseForSeconds,\n maxSize = defaultMaxSize,\n } = cacheOptions;\n const isCacheDisabled = cacheResponseForSeconds <= 0 || maxSize <= 0;\n\n if (isCacheDisabled) {\n return requestFunction.call(requestContext, ...requestFunctionArguments);\n }\n\n const requestFunctionArgumentsJSON = JSON.stringify(\n requestFunctionArguments\n );\n const cacheEntry = this.responseCache.get(requestFunctionArgumentsJSON);\n const now = Date.now();\n\n if (cacheEntry) {\n const isEntryValid =\n now - cacheEntry.requestTimestamp < cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n this.responseCache.set(requestFunctionArgumentsJSON, cacheEntry);\n return Promise.resolve(cacheEntry.response);\n } else {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n\n const cachePromiseEntry = this.responsePromiseCache.get(\n requestFunctionArgumentsJSON\n );\n\n if (cachePromiseEntry) {\n const isEntryValid =\n now - cachePromiseEntry.requestTimestamp <\n cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n this.responsePromiseCache.set(\n requestFunctionArgumentsJSON,\n cachePromiseEntry\n );\n return cachePromiseEntry.responsePromise;\n } else {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n\n const responsePromise = requestFunction.call(\n requestContext,\n ...requestFunctionArguments\n );\n this.responsePromiseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n responsePromise,\n });\n\n const response = await responsePromise;\n this.responseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n response,\n });\n\n const isCacheOverMaxSize = this.responseCache.size > maxSize;\n if (isCacheOverMaxSize) {\n const oldestEntry = this.responseCache.keys().next().value;\n this.responseCache.delete(oldestEntry);\n }\n const isResponsePromiseCacheOverMaxSize =\n this.responsePromiseCache.size > maxSize;\n if (isResponsePromiseCacheOverMaxSize) {\n const oldestEntry = this.responsePromiseCache.keys().next().value;\n this.responsePromiseCache.delete(oldestEntry);\n }\n return response as T;\n }\n}\n\ninterface CacheOptions {\n cacheResponseForSeconds?: number;\n maxSize?: number;\n}\n","import RequestWithCache from \"./RequestWithCache\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport Collections from \"./Collections\";\nimport type {\n DocumentSchema,\n SearchableDocuments,\n SearchOptions,\n SearchParams,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\n\nconst RESOURCEPATH = \"/documents\";\n\nexport class SearchOnlyDocuments\n implements SearchableDocuments\n{\n protected requestWithCache: RequestWithCache = new RequestWithCache();\n\n constructor(\n protected collectionName: string,\n protected apiCall: ApiCall,\n protected configuration: Configuration\n ) {}\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n abortSignal = null,\n }: SearchOptions = {}\n ): Promise> {\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n for (const key in searchParameters) {\n if (Array.isArray(searchParameters[key])) {\n additionalQueryParams[key] = searchParameters[key].join(\",\");\n }\n }\n const queryParams = Object.assign(\n {},\n searchParameters,\n additionalQueryParams\n );\n\n return this.requestWithCache.perform(\n this.apiCall,\n this.apiCall.get,\n [this.endpointPath(\"search\"), queryParams, { abortSignal }],\n {\n cacheResponseForSeconds: cacheSearchResultsForSeconds,\n }\n ) as Promise>;\n }\n\n protected endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + operation\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import type { ReadStream } from \"fs\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport { ImportError } from \"./Errors\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\n// Todo: use generic to extract filter_by values\nexport interface DeleteQuery {\n filter_by?: string;\n batch_size?: number;\n ignore_not_found?: boolean;\n}\n\nexport interface DeleteResponse {\n num_deleted: number;\n}\n\ninterface ImportResponseSuccess {\n success: true;\n}\n\nexport interface ImportResponseFail {\n success: false;\n error: string;\n document: DocumentSchema;\n code: number;\n}\n\nexport type ImportResponse = ImportResponseSuccess | ImportResponseFail;\n\nexport type DocumentSchema = Record;\n\nexport interface SearchParamsWithPreset extends Partial {\n preset: string;\n}\n\ntype DropTokensMode =\n | \"right_to_left\"\n | \"left_to_right\"\n | \"both_sides:3\";\n\ntype OperationMode = \"off\" | \"always\" | \"fallback\";\nexport interface SearchParams {\n // From https://typesense.org/docs/latest/api/documents.html#arguments\n q?: string;\n query_by?: string | string[];\n query_by_weights?: string | number[];\n prefix?: string | boolean | boolean[]; // default: true\n filter_by?: string;\n enable_lazy_filter?: boolean; // default: false\n sort_by?: string | string[]; // default: text match desc\n facet_by?: string | string[];\n max_facet_values?: number;\n facet_sample_threshold?: number;\n facet_sample_percent?: number;\n facet_query?: string;\n facet_query_num_typos?: number;\n facet_return_parent?: string;\n page?: number; // default: 1\n per_page?: number; // default: 10, max 250\n group_by?: string | string[];\n group_limit?: number; // default:\n group_missing_values?: boolean;\n include_fields?: string | string[];\n exclude_fields?: string | string[];\n highlight_fields?: string | string[]; // default: all queried fields\n highlight_full_fields?: string | string[]; // default: all fields\n highlight_affix_num_tokens?: number; // default: 4\n highlight_start_tag?: string; // default: \n highlight_end_tag?: string; // default: \n enable_highlight_v1?: boolean;\n snippet_threshold?: number; // default: 30\n num_typos?: string | number | number[]; // default: 2\n min_len_1typo?: number;\n min_len_2typo?: number;\n split_join_tokens?: OperationMode;\n exhaustive_search?: boolean;\n drop_tokens_threshold?: number; // default: 10\n drop_tokens_mode?: DropTokensMode;\n typo_tokens_threshold?: number; // default: 100\n pinned_hits?: string | string[];\n hidden_hits?: string | string[];\n limit_hits?: number; // default: no limit\n pre_segmented_query?: boolean;\n enable_overrides?: boolean;\n prioritize_exact_match?: boolean; // default: true\n prioritize_token_position?: boolean;\n prioritize_num_matching_fields?: boolean;\n search_cutoff_ms?: number;\n use_cache?: boolean;\n max_candidates?: number;\n infix?: OperationMode | OperationMode[];\n preset?: string;\n text_match_type?: \"max_score\" | \"max_weight\";\n vector_query?: string;\n \"x-typesense-api-key\"?: string;\n \"x-typesense-user-id\"?: string;\n offset?: number;\n limit?: number;\n stopwords?: string;\n conversation?: boolean;\n conversation_model_id?: string;\n conversation_id?: string;\n voice_query?: string;\n}\n\ntype SearchResponseHighlightObject = {\n matched_tokens?: string[];\n snippet?: string;\n value?: string;\n};\n\nexport type SearchResponseHighlight = T extends string | number\n ? SearchResponseHighlightObject\n : {\n [TAttribute in keyof T]?: SearchResponseHighlight;\n };\n\nexport interface SearchResponseHit {\n curated?: true;\n highlights?: [\n {\n field: keyof T;\n snippet?: string;\n value?: string;\n snippets?: string[];\n indices?: number[];\n matched_tokens: string[][] | string[];\n },\n ];\n highlight: SearchResponseHighlight;\n document: T;\n text_match: number;\n text_match_info?: {\n best_field_score: string; // To prevent scores from being truncated by JSON spec\n best_field_weight: number;\n fields_matched: number;\n score: string; // To prevent scores from being truncated by JSON spec\n tokens_matched: number;\n };\n}\n\nexport interface SearchResponseFacetCountSchema {\n counts: {\n count: number;\n highlighted: string;\n value: string;\n }[];\n field_name: keyof T;\n stats: {\n avg?: number;\n max?: number;\n min?: number;\n sum?: number;\n };\n}\n\nexport interface SearchResponseRequestParams {\n collection_name?: string;\n q?: string;\n page?: number;\n per_page?: number;\n first_q?: string;\n voice_query?: {\n transcribed_query?: string;\n };\n}\n\n// Todo: we could infer whether this is a grouped response by adding the search params as a generic\nexport interface SearchResponse {\n facet_counts?: SearchResponseFacetCountSchema[];\n found: number;\n found_docs?: number;\n out_of: number;\n page: number;\n request_params: SearchResponseRequestParams;\n search_time_ms: number;\n search_cutoff?: boolean;\n hits?: SearchResponseHit[];\n grouped_hits?: {\n group_key: string[];\n hits: SearchResponseHit[];\n found?: number;\n }[];\n conversation?: {\n answer: string;\n conversation_history: {\n conversation: object[];\n id: string;\n last_updated: number;\n ttl: number;\n };\n conversation_id: string;\n query: string;\n };\n error?: string;\n code?: number;\n}\n\nexport interface DocumentWriteParameters {\n dirty_values?: \"coerce_or_reject\" | \"coerce_or_drop\" | \"drop\" | \"reject\";\n action?: \"create\" | \"update\" | \"upsert\" | \"emplace\";\n}\n\nexport interface UpdateByFilterParameters {\n filter_by?: string;\n}\n\nexport interface UpdateByFilterResponse {\n num_updated: number;\n}\n\nexport interface DocumentImportParameters extends DocumentWriteParameters {\n batch_size?: number;\n return_doc?: boolean;\n return_id?: boolean;\n}\n\nexport interface DocumentsExportParameters {\n filter_by?: string;\n include_fields?: string;\n exclude_fields?: string;\n}\n\nexport interface SearchableDocuments {\n search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n options: SearchOptions,\n ): Promise>;\n clearCache(): void;\n}\n\nexport interface WriteableDocuments {\n create(document: T, options: DocumentWriteParameters): Promise;\n upsert(document: T, options: DocumentWriteParameters): Promise;\n update(document: T, options: DocumentWriteParameters): Promise;\n delete(query: DeleteQuery): Promise;\n import(\n documents: T[] | string,\n options: DocumentWriteParameters,\n ): Promise;\n export(options: DocumentsExportParameters): Promise;\n}\n\nexport interface SearchOptions {\n cacheSearchResultsForSeconds?: number;\n abortSignal?: AbortSignal | null;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class Documents\n extends SearchOnlyDocuments\n implements WriteableDocuments\n{\n constructor(\n collectionName: string,\n apiCall: ApiCall,\n configuration: Configuration,\n ) {\n super(collectionName, apiCall, configuration);\n }\n\n async create(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(this.endpointPath(), document, options);\n }\n\n async upsert(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"upsert\" }),\n );\n }\n\n async update(\n document: T,\n options: UpdateByFilterParameters,\n ): Promise;\n async update(document: T, options: DocumentWriteParameters): Promise;\n async update(\n document: T,\n options: DocumentWriteParameters | UpdateByFilterParameters = {},\n ): Promise {\n if (!document) throw new Error(\"No document provided\");\n\n if (options[\"filter_by\"] != null) {\n return this.apiCall.patch(\n this.endpointPath(),\n document,\n Object.assign({}, options),\n );\n } else {\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"update\" }),\n );\n }\n }\n\n async delete(\n query: DeleteQuery = {} as DeleteQuery,\n ): Promise {\n return this.apiCall.delete(this.endpointPath(), query);\n }\n\n async createMany(documents: T[], options: DocumentImportParameters = {}) {\n this.configuration.logger.warn(\n \"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 );\n return this.import(documents, options);\n }\n\n /**\n * Import a set of documents in a batch.\n * @param {string|Array} documents - Can be a JSONL string of documents or an array of document objects.\n * @param options\n * @return {string|Array} Returns a JSONL string if the input was a JSONL string, otherwise it returns an array of results.\n */\n async import(\n documents: string,\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[],\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[] | string,\n options: DocumentImportParameters = {},\n ): Promise {\n let documentsInJSONLFormat;\n if (Array.isArray(documents)) {\n try {\n documentsInJSONLFormat = documents\n .map((document) => JSON.stringify(document))\n .join(\"\\n\");\n } catch (error: any) {\n // if rangeerror, throw custom error message\n if (\n error instanceof RangeError &&\n error.message.includes(\"Too many properties to enumerate\")\n ) {\n throw new Error(`${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\n // else, throw the non-range error anyways\n throw new Error(error);\n }\n } else {\n documentsInJSONLFormat = documents;\n }\n\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n if (Array.isArray(documents)) {\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter(\n (r) => r.success === false,\n );\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n } else {\n return resultsInJSONLFormat as string;\n }\n }\n /**\n * Imports documents from a NodeJS readable stream of JSONL.\n */\n async importStream(\n readableStream: ReadStream,\n options: DocumentImportParameters = {},\n ): Promise {\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\n queryParameters: options,\n bodyParameters: readableStream,\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter((r) => r.success === false);\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n }\n\n /**\n * Returns a JSONL string for all the documents in this collection\n */\n async export(options: DocumentsExportParameters = {}): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options);\n }\n\n /**\n * Returns a NodeJS readable stream of JSONL for all the documents in this collection.\n */\n async exportStream(\n options: DocumentsExportParameters = {},\n ): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options, {\n responseType: \"stream\",\n });\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { OverrideSchema } from \"./Override\";\n\nconst RESOURCEPATH = \"/overrides\";\n\nexport interface OverrideRuleQuerySchema {\n query?: string;\n match?: \"exact\" | \"contains\";\n}\n\nexport interface OverrideRuleFilterSchema {\n filter_by?: string;\n}\n\nexport interface OverrideRuleTagsSchema {\n tags?: string[];\n}\n\nexport interface OverrideCreateSchema {\n rule: OverrideRuleQuerySchema &\n OverrideRuleFilterSchema &\n OverrideRuleTagsSchema;\n filter_by?: string;\n sort_by?: string;\n remove_matched_tokens?: boolean;\n replace_query?: string;\n includes?: Array<{\n id: string;\n position: number;\n }>;\n excludes?: Array<{ id: string }>;\n filter_curated_hits?: boolean;\n effective_from_ts?: number;\n effective_to_ts?: number;\n stop_processing?: boolean;\n metadata?: object;\n}\n\nexport interface OverridesRetrieveSchema {\n overrides: OverrideSchema[];\n}\n\nexport default class Overrides {\n constructor(\n private collectionName: string,\n private apiCall: ApiCall,\n ) {}\n\n async upsert(\n overrideId: string,\n params: OverrideCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(overrideId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${\n Overrides.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Overrides, { OverrideCreateSchema } from \"./Overrides\";\n\nexport interface OverrideSchema extends OverrideCreateSchema {\n id: string;\n}\n\nexport interface OverrideDeleteSchema {\n id: string;\n}\n\nexport default class Override {\n constructor(\n private collectionName: string,\n private overrideId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Overrides.RESOURCEPATH}/${encodeURIComponent(this.overrideId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { SynonymSchema } from \"./Synonym\";\n\nconst RESOURCEPATH = \"/synonyms\";\n\nexport interface SynonymCreateSchema {\n synonyms: string[];\n root?: string;\n locale?: string;\n symbols_to_index?: string[];\n}\n\nexport interface SynonymsRetrieveSchema {\n synonyms: SynonymSchema[];\n}\n\nexport default class Synonyms {\n constructor(private collectionName: string, private apiCall: ApiCall) {}\n\n async upsert(\n synonymId: string,\n params: SynonymCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(synonymId),\n params\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${\n Synonyms.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Synonyms, { SynonymCreateSchema } from \"./Synonyms\";\n\nexport interface SynonymSchema extends SynonymCreateSchema {\n id: string;\n}\n\nexport interface SynonymDeleteSchema {\n id: string;\n}\n\nexport default class Synonym {\n constructor(\n private collectionName: string,\n private synonymId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Synonyms.RESOURCEPATH}/${encodeURIComponent(this.synonymId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Documents, {\n DeleteQuery,\n DocumentSchema,\n DocumentWriteParameters,\n} from \"./Documents\";\n\nexport class Document {\n constructor(\n private collectionName: string,\n private documentId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(options?: DeleteQuery): Promise {\n return this.apiCall.delete(this.endpointPath(), options);\n }\n\n async update(\n partialDocument: Partial,\n options: DocumentWriteParameters = {}\n ): Promise {\n return this.apiCall.patch(this.endpointPath(), partialDocument, options);\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Documents.RESOURCEPATH}/${encodeURIComponent(this.documentId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections, { CollectionCreateSchema } from \"./Collections\";\nimport Documents, { DocumentSchema } from \"./Documents\";\nimport { ObjectNotFound } from \"./Errors\";\nimport Overrides from \"./Overrides\";\nimport Override from \"./Override\";\nimport Synonyms from \"./Synonyms\";\nimport Synonym from \"./Synonym\";\nimport { Document } from \"./Document\";\n\nexport type FieldType =\n | \"string\"\n | \"int32\"\n | \"int64\"\n | \"float\"\n | \"bool\"\n | \"geopoint\"\n | \"geopoint[]\"\n | \"string[]\"\n | \"int32[]\"\n | \"int64[]\"\n | \"float[]\"\n | \"bool[]\"\n | \"object\"\n | \"object[]\"\n | \"auto\"\n | \"string*\"\n | \"image\";\n\nexport interface CollectionFieldSchema {\n name: string;\n type: FieldType;\n optional?: boolean;\n facet?: boolean;\n index?: boolean;\n sort?: boolean;\n locale?: string;\n infix?: boolean;\n stem?: boolean;\n num_dim?: number;\n store?: boolean;\n [t: string]: unknown;\n}\n\nexport interface CollectionSchema extends CollectionCreateSchema {\n created_at: number;\n num_documents: number;\n num_memory_shards: number;\n}\n\nexport interface CollectionDropFieldSchema {\n name: string;\n drop: true;\n}\n\nexport interface CollectionUpdateSchema\n extends Partial> {\n fields?: (CollectionFieldSchema | CollectionDropFieldSchema)[];\n}\n\nexport default class Collection {\n private readonly _documents: Documents;\n private individualDocuments: Record> = {};\n private readonly _overrides: Overrides;\n private individualOverrides: Record = {};\n private readonly _synonyms: Synonyms;\n private individualSynonyms: Record = {};\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any,\n ) {\n this.name = name;\n this.apiCall = apiCall;\n this.configuration = configuration;\n\n this._documents = new Documents(\n this.name,\n this.apiCall,\n this.configuration,\n );\n this._overrides = new Overrides(this.name, this.apiCall);\n this._synonyms = new Synonyms(this.name, this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(schema: CollectionUpdateSchema): Promise {\n return this.apiCall.patch(this.endpointPath(), schema);\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n async exists(): Promise {\n try {\n await this.retrieve();\n return true;\n } catch (e) {\n if (e instanceof ObjectNotFound) return false;\n throw e;\n }\n }\n\n documents(): Documents;\n documents(documentId: string): Document;\n documents(documentId?: string): Document | Documents {\n if (!documentId) {\n return this._documents;\n } else {\n if (this.individualDocuments[documentId] === undefined) {\n this.individualDocuments[documentId] = new Document(\n this.name,\n documentId,\n this.apiCall,\n );\n }\n return this.individualDocuments[documentId];\n }\n }\n\n overrides(): Overrides;\n overrides(overrideId: string): Override;\n overrides(overrideId?: string): Overrides | Override {\n if (overrideId === undefined) {\n return this._overrides;\n } else {\n if (this.individualOverrides[overrideId] === undefined) {\n this.individualOverrides[overrideId] = new Override(\n this.name,\n overrideId,\n this.apiCall,\n );\n }\n return this.individualOverrides[overrideId];\n }\n }\n\n synonyms(): Synonyms;\n synonyms(synonymId: string): Synonym;\n synonyms(synonymId?: string): Synonyms | Synonym {\n if (synonymId === undefined) {\n return this._synonyms;\n } else {\n if (this.individualSynonyms[synonymId] === undefined) {\n this.individualSynonyms[synonymId] = new Synonym(\n this.name,\n synonymId,\n this.apiCall,\n );\n }\n return this.individualSynonyms[synonymId];\n }\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/aliases\";\n\nexport interface CollectionAliasCreateSchema {\n collection_name: string;\n}\n\nexport interface CollectionAliasSchema extends CollectionAliasCreateSchema {\n name: string;\n}\n\nexport interface CollectionAliasesResponseSchema {\n aliases: CollectionAliasSchema[];\n}\n\nexport default class Aliases {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n name: string,\n mapping: CollectionAliasCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(name),\n mapping\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n private endpointPath(aliasName): string {\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(aliasName)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import Aliases, { CollectionAliasSchema } from \"./Aliases\";\nimport ApiCall from \"./ApiCall\";\n\nexport default class Alias {\n constructor(private name: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import { createHmac } from \"crypto\";\nimport ApiCall from \"./ApiCall\";\nimport { KeyCreateSchema, KeySchema } from \"./Key\";\nimport { SearchParams } from \"./Documents\";\n\nconst RESOURCEPATH = \"/keys\";\n\nexport interface KeysRetrieveSchema {\n keys: KeySchema[];\n}\n\nexport interface GenerateScopedSearchKeyParams extends Partial {\n expires_at?: number;\n cache_ttl?: number;\n limit_multi_searches?: number;\n}\n\nexport default class Keys {\n constructor(private apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(params: KeyCreateSchema): Promise {\n return this.apiCall.post(Keys.RESOURCEPATH, params);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n generateScopedSearchKey(\n searchKey: string,\n parameters: GenerateScopedSearchKeyParams\n ): string {\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 const paramsJSON = JSON.stringify(parameters);\n const digest = Buffer.from(\n createHmac(\"sha256\", searchKey).update(paramsJSON).digest(\"base64\")\n );\n const keyPrefix = searchKey.substr(0, 4);\n const rawScopedKey = `${digest}${keyPrefix}${paramsJSON}`;\n\n return Buffer.from(rawScopedKey).toString(\"base64\");\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Keys from \"./Keys\";\n\nexport interface KeyCreateSchema {\n actions: string[];\n collections: string[];\n description?: string;\n value?: string;\n value_prefix?: string;\n expires_at?: number;\n}\n\nexport interface KeyDeleteSchema {\n id: number;\n}\n\nexport interface KeySchema extends KeyCreateSchema {\n id: number;\n}\n\nexport default class Key {\n constructor(private id: number, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Keys.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/debug\";\n\nexport interface DebugResponseSchema {\n state: number;\n version: string;\n}\n\nexport default class Debug {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/metrics.json\";\n\nexport interface MetricsResponse {\n [key: `system_cpu${number}_active_percentage`]: string;\n system_cpu_active_percentage: string;\n system_disk_total_bytes: string;\n system_disk_used_bytes: string;\n system_memory_total_bytes: string;\n system_memory_total_swap_bytes?: string;\n system_memory_used_bytes: string;\n system_memory_used_swap_bytes?: string;\n system_network_received_bytes: string;\n system_network_sent_bytes: string;\n typesense_memory_active_bytes: string;\n typesense_memory_allocated_bytes: string;\n typesense_memory_fragmentation_ratio: string;\n typesense_memory_mapped_bytes: string;\n typesense_memory_metadata_bytes: string;\n typesense_memory_resident_bytes: string;\n typesense_memory_retained_bytes: string;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/stats.json\";\n\nexport interface EndpointStats {\n [endpoint: string]: number;\n}\n\nexport interface StatsResponse {\n delete_latency_ms?: number;\n delete_requests_per_second?: number;\n import_latency_ms?: number;\n import_requests_per_second?: number;\n latency_ms?: EndpointStats;\n overloaded_requests_per_second?: number;\n pending_write_batches?: number;\n requests_per_second?: EndpointStats;\n search_latency_ms?: number;\n search_requests_per_second?: number;\n total_requests_per_second?: number;\n write_latency_ms?: number;\n write_requests_per_second?: number;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/health\";\n\nexport interface HealthResponse {\n ok: boolean;\n}\n\nexport default class Health {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/operations\";\n\nexport default class Operations {\n constructor(private apiCall: ApiCall) {}\n\n async perform(\n operationName: \"vote\" | \"snapshot\" | \"cache/clear\" | string,\n queryParameters: Record = {}\n ): Promise {\n return this.apiCall.post(\n `${RESOURCEPATH}/${operationName}`,\n {},\n queryParameters\n );\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport RequestWithCache from \"./RequestWithCache\";\nimport {\n DocumentSchema,\n SearchParams,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\n\nconst RESOURCEPATH = \"/multi_search\";\n\nexport interface MultiSearchRequestSchema extends SearchParams {\n collection?: string;\n \"x-typesense-api-key\"?: string;\n}\n\nexport interface MultiSearchRequestWithPresetSchema\n extends SearchParamsWithPreset {\n collection?: string;\n \"x-typesense-api-key\"?: string;\n}\n\nexport interface MultiSearchRequestsSchema {\n searches: (MultiSearchRequestSchema | MultiSearchRequestWithPresetSchema)[];\n}\n\nexport interface MultiSearchResponse {\n results: { [Index in keyof T]: SearchResponse } & {\n length: T[\"length\"];\n };\n}\n\nexport default class MultiSearch {\n private requestWithCache: RequestWithCache;\n\n constructor(\n private apiCall: ApiCall,\n private configuration: Configuration,\n private useTextContentType: boolean = false\n ) {\n this.requestWithCache = new RequestWithCache();\n }\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async perform(\n searchRequests: MultiSearchRequestsSchema,\n commonParams: Partial = {},\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n }: { cacheSearchResultsForSeconds?: number } = {}\n ): Promise> {\n const additionalHeaders = {};\n if (this.useTextContentType) {\n additionalHeaders[\"content-type\"] = \"text/plain\";\n }\n\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n const queryParams = Object.assign({}, commonParams, additionalQueryParams);\n\n return this.requestWithCache.perform(\n this.apiCall,\n this.apiCall.post,\n [RESOURCEPATH, searchRequests, queryParams, additionalHeaders],\n { cacheResponseForSeconds: cacheSearchResultsForSeconds }\n ) as Promise>;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { PresetSchema } from \"./Preset\";\nimport { SearchParams } from \"./Documents\";\nimport { MultiSearchRequestsSchema } from \"./MultiSearch\";\n\nconst RESOURCEPATH = \"/presets\";\n\nexport interface PresetCreateSchema {\n value: SearchParams | MultiSearchRequestsSchema;\n}\n\nexport interface PresetsRetrieveSchema {\n presets: PresetSchema[];\n}\n\nexport default class Presets {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n presetId: string,\n params: PresetCreateSchema\n ): Promise {\n return this.apiCall.put(this.endpointPath(presetId), params);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Presets.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Presets, { PresetCreateSchema } from \"./Presets\";\n\nexport interface PresetSchema extends PresetCreateSchema {\n name: string;\n}\n\nexport interface PresetDeleteSchema {\n name: string;\n}\n\nexport default class Preset {\n constructor(private presetId: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Presets.RESOURCEPATH}/${encodeURIComponent(this.presetId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n AnalyticsRuleCreateSchema,\n AnalyticsRuleSchema,\n} from \"./AnalyticsRule\";\n\nexport interface AnalyticsRulesRetrieveSchema {\n rules: AnalyticsRuleSchema[];\n}\n\nconst RESOURCEPATH = \"/analytics/rules\";\n\nexport default class AnalyticsRules {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async upsert(\n name: string,\n params: AnalyticsRuleCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(name),\n params\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsRules.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\n\nexport interface AnalyticsRuleCreateSchema {\n type: \"popular_queries\" | \"nohits_queries\" | \"counter\";\n params: {\n source: {\n collections: string[];\n events?: Array<{\n type: string;\n weight: number;\n name: string;\n }>;\n };\n expand_query?: boolean;\n destination: {\n collection: string;\n counter_field?: string;\n };\n limit?: number;\n };\n}\n\nexport interface AnalyticsRuleDeleteSchema {\n name: string;\n}\n\nexport interface AnalyticsRuleSchema extends AnalyticsRuleCreateSchema {\n name: string;\n}\n\nexport default class AnalyticsRule {\n constructor(\n private name: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${AnalyticsRules.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { AnalyticsEventCreateSchema } from \"./AnalyticsEvent\";\n\nconst RESOURCEPATH = \"/analytics/events\";\n\nexport default class AnalyticsEvents {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: AnalyticsEventCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsEvents.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\nimport AnalyticsRule from \"./AnalyticsRule\";\nimport AnalyticsEvents from \"./AnalyticsEvents\";\n\nconst RESOURCEPATH = \"/analytics\";\n\nexport default class Analytics {\n private readonly _analyticsRules: AnalyticsRules;\n private readonly individualAnalyticsRules: Record = {};\n private readonly _analyticsEvents: AnalyticsEvents;\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._analyticsRules = new AnalyticsRules(this.apiCall);\n this._analyticsEvents = new AnalyticsEvents(this.apiCall);\n }\n\n rules(id?: string): AnalyticsRules | AnalyticsRule {\n if (id === undefined) {\n return this._analyticsRules;\n } else {\n if (this.individualAnalyticsRules[id] === undefined) {\n this.individualAnalyticsRules[id] = new AnalyticsRule(id, this.apiCall);\n }\n return this.individualAnalyticsRules[id];\n }\n }\n\n events(): AnalyticsEvents {\n return this._analyticsEvents;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { StopwordSchema } from \"./Stopword\";\n\nconst RESOURCEPATH = \"/stopwords\";\n\nexport interface StopwordCreateSchema {\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordsRetrieveSchema {\n stopwords: StopwordSchema[];\n}\n\nexport default class Stopwords {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n stopwordId: string,\n params: StopwordCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(stopwordId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Stopwords.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Stopwords, { StopwordCreateSchema } from \"./Stopwords\";\n\nexport interface StopwordSchema extends StopwordCreateSchema {\n id: string;\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordDeleteSchema {\n id: string;\n}\n\nexport default class Stopword {\n constructor(\n private stopwordId: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Stopwords.RESOURCEPATH}/${encodeURIComponent(this.stopwordId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n ConversationModelCreateSchema,\n ConversationModelSchema,\n} from \"./ConversationModel\";\n\nconst RESOURCEPATH = \"/conversations/models\";\n\nexport default class ConversationModels {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(\n this.endpointPath(),\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${ConversationModels.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\n\nexport interface ConversationModelCreateSchema {\n id?: string;\n model_name: string;\n api_key?: string;\n system_prompt?: string;\n max_bytes: number;\n history_collection?: string;\n}\n\nexport interface ConversationModelDeleteSchema {\n id: string;\n}\n\nexport interface ConversationModelSchema extends ConversationModelCreateSchema {\n id: string;\n}\n\nexport default class ConversationModel {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async update(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(\n this.endpointPath(),\n );\n }\n\n private endpointPath(): string {\n return `${ConversationModels.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\nimport ConversationModel from \"./ConversationModel\";\nimport { ConversationSchema } from \"./Conversation\";\n\nconst RESOURCEPATH = \"/conversations\";\n\nexport interface ConversationsRetrieveSchema {\n conversations: ConversationSchema[];\n}\n\nexport default class Conversations {\n private readonly _conversationsModels: ConversationModels;\n private readonly individualConversationModels: Record<\n string,\n ConversationModel\n > = {};\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._conversationsModels = new ConversationModels(this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n models(): ConversationModels;\n models(id: string): ConversationModel;\n models(id?: string): ConversationModels | ConversationModel {\n if (id === undefined) {\n return this._conversationsModels;\n } else {\n if (this.individualConversationModels[id] === undefined) {\n this.individualConversationModels[id] = new ConversationModel(\n id,\n this.apiCall,\n );\n }\n return this.individualConversationModels[id];\n }\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Conversations from \"./Conversations\";\n\nexport interface ConversationDeleteSchema {\n id: number;\n}\n\nexport interface ConversationUpdateSchema {\n ttl: number;\n}\n\nexport interface ConversationSchema {\n id: number;\n conversation: object[];\n last_updated: number;\n ttl: number;\n}\n\nexport default class Conversation {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(\n params: ConversationUpdateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Conversations.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","/* eslint-disable no-dupe-class-members */\n\nimport Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Collection from \"./Collection\";\nimport Aliases from \"./Aliases\";\nimport Alias from \"./Alias\";\nimport Keys from \"./Keys\";\nimport Key from \"./Key\";\nimport Debug from \"./Debug\";\nimport Metrics from \"./Metrics\";\nimport Stats from \"./Stats\";\nimport Health from \"./Health\";\nimport Operations from \"./Operations\";\nimport MultiSearch from \"./MultiSearch\";\nimport Presets from \"./Presets\";\nimport Preset from \"./Preset\";\nimport Analytics from \"./Analytics\";\nimport Stopwords from \"./Stopwords\";\nimport Stopword from \"./Stopword\";\nimport Conversations from \"./Conversations\";\nimport Conversation from \"./Conversation\";\n\nexport default class Client {\n configuration: Configuration;\n apiCall: ApiCall;\n debug: Debug;\n metrics: Metrics;\n stats: Stats;\n health: Health;\n operations: Operations;\n multiSearch: MultiSearch;\n analytics: Analytics;\n private readonly _collections: Collections;\n private readonly individualCollections: Record;\n private readonly _aliases: Aliases;\n private readonly individualAliases: Record;\n private readonly _keys: Keys;\n private readonly individualKeys: Record;\n private readonly _presets: Presets;\n private readonly individualPresets: Record;\n private readonly _stopwords: Stopwords;\n private readonly individualStopwords: Record;\n private readonly _conversations: Conversations;\n private readonly individualConversations: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? false;\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.debug = new Debug(this.apiCall);\n this.metrics = new Metrics(this.apiCall);\n this.stats = new Stats(this.apiCall);\n this.health = new Health(this.apiCall);\n this.operations = new Operations(this.apiCall);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration);\n this._collections = new Collections(this.apiCall);\n this.individualCollections = {};\n this._aliases = new Aliases(this.apiCall);\n this.individualAliases = {};\n this._keys = new Keys(this.apiCall);\n this.individualKeys = {};\n this._presets = new Presets(this.apiCall);\n this.individualPresets = {};\n this._stopwords = new Stopwords(this.apiCall);\n this.individualStopwords = {};\n this.analytics = new Analytics(this.apiCall);\n this._conversations = new Conversations(this.apiCall);\n this.individualConversations = {};\n }\n\n collections(): Collections;\n collections = object>(\n collectionName: string,\n ): Collection;\n collections(collectionName?: string): Collections | Collection {\n if (collectionName === undefined) {\n return this._collections;\n } else {\n if (this.individualCollections[collectionName] === undefined) {\n this.individualCollections[collectionName] = new Collection(\n collectionName,\n this.apiCall,\n this.configuration,\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n\n aliases(): Aliases;\n aliases(aliasName: string): Alias;\n aliases(aliasName?: string): Aliases | Alias {\n if (aliasName === undefined) {\n return this._aliases;\n } else {\n if (this.individualAliases[aliasName] === undefined) {\n this.individualAliases[aliasName] = new Alias(aliasName, this.apiCall);\n }\n return this.individualAliases[aliasName];\n }\n }\n\n keys(): Keys;\n keys(id: number): Key;\n keys(id?: number): Keys | Key {\n if (id === undefined) {\n return this._keys;\n } else {\n if (this.individualKeys[id] === undefined) {\n this.individualKeys[id] = new Key(id, this.apiCall);\n }\n return this.individualKeys[id];\n }\n }\n\n presets(): Presets;\n presets(id: string): Preset;\n presets(id?: string): Presets | Preset {\n if (id === undefined) {\n return this._presets;\n } else {\n if (this.individualPresets[id] === undefined) {\n this.individualPresets[id] = new Preset(id, this.apiCall);\n }\n return this.individualPresets[id];\n }\n }\n\n stopwords(): Stopwords;\n stopwords(id: string): Stopword;\n stopwords(id?: string): Stopwords | Stopword {\n if (id === undefined) {\n return this._stopwords;\n } else {\n if (this.individualStopwords[id] === undefined) {\n this.individualStopwords[id] = new Stopword(id, this.apiCall);\n }\n return this.individualStopwords[id];\n }\n }\n\n conversations(): Conversations;\n conversations(id: string): Conversation;\n conversations(id?: string): Conversations | Conversation {\n if (id === undefined) {\n return this._conversations;\n } else {\n if (this.individualConversations[id] === undefined) {\n this.individualConversations[id] = new Conversation(id, this.apiCall);\n }\n return this.individualConversations[id];\n }\n }\n}\n","import { DocumentSchema, SearchableDocuments } from \"./Documents\";\nimport ApiCall from \"./ApiCall\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\nexport class SearchOnlyCollection {\n private readonly _documents: SearchableDocuments;\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any\n ) {\n this._documents = new SearchOnlyDocuments(\n this.name,\n this.apiCall,\n this.configuration\n );\n }\n\n documents(): SearchableDocuments {\n return this._documents;\n }\n}\n","import Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport MultiSearch from \"./MultiSearch\";\nimport { DocumentSchema } from \"./Documents\";\nimport { SearchOnlyCollection } from \"./SearchOnlyCollection\";\n\nexport default class SearchClient {\n public readonly multiSearch: MultiSearch;\n private readonly configuration: Configuration;\n private readonly apiCall: ApiCall;\n private readonly individualCollections: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? true;\n if (\n options.sendApiKeyAsQueryParam === true &&\n (options.apiKey || \"\").length > 2000\n ) {\n console.warn(\n \"[typesense] API Key is longer than 2000 characters which is over the allowed limit, so disabling sending it as a query parameter.\"\n );\n options.sendApiKeyAsQueryParam = false;\n }\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration, true);\n this.individualCollections = {};\n }\n\n clearCache() {\n this.multiSearch.clearCache();\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Object.entries(this.individualCollections).forEach(([_, collection]) => {\n collection.documents().clearCache();\n });\n }\n\n collections(\n collectionName: string\n ): SearchOnlyCollection | SearchOnlyCollection {\n if (!collectionName) {\n throw new Error(\n \"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(\n collectionName,\n this.apiCall,\n this.configuration\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n}\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(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\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}","import Client from \"./Typesense/Client\";\nimport SearchClient from \"./Typesense/SearchClient\";\nimport * as Errors from \"./Typesense/Errors\";\n\nexport { Client, SearchClient, Errors };\nexport default { Client, SearchClient, Errors };\n"],"names":["root","definition","noop","undefinedType","isIE","window","navigator","test","userAgent","logMethods","_loggersByName","defaultLogger","bindMethod","obj","methodName","method","bind","Function","prototype","call","e","apply","arguments","traceForIE","console","log","trace","replaceLoggingMethods","level","this","getLevel","i","length","methodFactory","name","debug","levels","SILENT","enableLoggingWhenConsoleArrives","defaultMethodFactory","_level","_loggerName","undefined","realMethod","Logger","factory","inheritedLevel","defaultLevel","userLevel","self","storageKey","getPersistedLevel","storedLevel","localStorage","ignore","cookie","document","cookieName","encodeURIComponent","location","indexOf","exec","slice","normalizeLevel","input","toUpperCase","TypeError","setLevel","persist","levelNum","levelName","persistLevelIfPossible","setDefaultLevel","resetLevel","removeItem","clearPersistedLevel","enableAll","TRACE","disableAll","rebuild","childName","initialLevel","getLogger","logger","_log","noConflict","getLoggers","_typeof","_regeneratorRuntime","module","exports","__esModule","t","r","Object","n","hasOwnProperty","o","defineProperty","value","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","constructor","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","stop","rval","handle","complete","finish","delegateYield","runtime","regeneratorRuntime","accidentalStrictMode","globalThis","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","key","get","prop","_classCallCheck","instance","Constructor","toPropertyKey","toPrimitive","String","_defineProperties","target","props","descriptor","_createClass","protoProps","staticProps","_defineProperty","_assertThisInitialized","ReferenceError","_possibleConstructorReturn","_getPrototypeOf","_setPrototypeOf","_inherits","subClass","superClass","_isNativeReflectConstruct","Boolean","valueOf","Reflect","construct","_wrapNativeSuper","Class","_cache","Map","fn","toString","has","set","Wrapper","TypesenseError","_Error","message","_this","_callSuper","MissingConfigurationError","_TypesenseError","Configuration","options","nodes","map","node","setDefaultPathInNode","setDefaultPortInNode","_objectSpread","randomizeNodes","shuffleArray","nearestNode","connectionTimeoutSeconds","timeoutSeconds","healthcheckIntervalSeconds","numRetries","retryIntervalSeconds","apiKey","sendApiKeyAsQueryParam","cacheSearchResultsForSeconds","useServerSideSearchCache","logLevel","additionalHeaders","httpAgent","httpsAgent","paramsSerializer","showDeprecationWarnings","validate","validateNodes","isNodeMissingAnyParameters","_this2","some","every","warn","masterNode","readReplicaNodes","array","j","Math","floor","random","_ref","asyncGeneratorStep","gen","reject","_next","_throw","info","error","_asyncToGenerator","args","err","thisArg","kindOf","cache","thing","str","toLowerCase","kindOfTest","typeOfTest","isArray","Array","isUndefined","isArrayBuffer","isString","isFunction","isNumber","isObject","isPlainObject","val","isDate","isFile","isBlob","isFileList","isURLSearchParams","isReadableStream","isRequest","isResponse","isHeaders","allOwnKeys","getOwnPropertyNames","len","findKey","_key","_global","global","isContextDefined","context","isTypedArray","TypedArray","Uint8Array","isHTMLForm","isRegExp","reduceDescriptors","reducer","descriptors","getOwnPropertyDescriptors","reducedDescriptors","ret","defineProperties","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","isAsyncFn","_setImmediate","setImmediateSupported","setImmediate","postMessageSupported","postMessage","token","callbacks","addEventListener","source","data","shift","cb","setTimeout","asap","queueMicrotask","process","nextTick","isBuffer","isFormData","kind","FormData","append","isArrayBufferView","result","ArrayBuffer","isView","buffer","isBoolean","isStream","pipe","merge","caseless","assignValue","targetKey","extend","b","trim","replace","stripBOM","content","charCodeAt","inherits","superConstructor","assign","toFlatObject","sourceObj","destObj","filter","propFilter","merged","endsWith","searchString","position","lastIndex","toArray","arr","forEachEntry","pair","matchAll","regExp","matches","hasOwnProp","freezeMethods","toObjectSet","arrayOrString","delimiter","split","toCamelCase","m","p1","p2","toFiniteNumber","defaultValue","Number","isFinite","generateString","size","alphabet","isSpecCompliantForm","toJSONObject","stack","visit","reducedValue","isThenable","catch","AxiosError","code","config","request","response","captureStackTrace","status","utils","toJSON","description","number","fileName","lineNumber","columnNumber","from","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","path","dots","concat","join","predicates","formData","metaTokens","indexes","option","visitor","defaultVisitor","useBlob","Blob","convertValue","toISOString","Buffer","JSON","stringify","isFlatArray","el","index","exposedHelpers","build","encode","charMap","match","AxiosURLSearchParams","params","_pairs","encoder","_encode","buildURL","url","serializeFn","serialize","serializedParams","hashmarkIndex","handlers","use","fulfilled","rejected","synchronous","runWhen","eject","id","clear","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","isBrowser","classes","URLSearchParams","protocols","hasBrowserEnv","_navigator","hasStandardBrowserEnv","product","hasStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","origin","href","buildPath","isNumericKey","isLast","arrayToObject","entries","parsePropPath","defaults","transitional","adapter","transformRequest","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","setContentType","platform","helpers","isNode","toURLEncodedForm","formSerializer","_FormData","env","rawValue","parser","parse","stringifySafely","transformResponse","JSONRequested","responseType","strictJSONParsing","ERR_BAD_RESPONSE","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","ignoreDuplicateOf","$internals","normalizeHeader","header","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","rawHeaders","parsed","line","substring","parseHeaders","tokens","tokensRE","parseTokens","matcher","deleted","deleteHeader","normalize","format","normalized","w","char","formatHeader","targets","asStrings","first","computed","accessor","accessors","defineAccessor","accessorName","arg1","arg2","arg3","buildAccessors","mapped","headerValue","transformData","fns","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","settle","ERR_BAD_REQUEST","progressEventReducer","listener","isDownloadStream","freq","bytesNotified","_speedometer","samplesCount","min","bytes","timestamps","firstSampleTS","head","tail","chunkLength","now","Date","startedAt","bytesCount","passed","round","lastArgs","timer","timestamp","threshold","clearTimeout","loaded","total","lengthComputable","progressBytes","rate","progress","estimated","event","progressEventDecorator","throttled","asyncDecorator","msie","urlParsingNode","createElement","originURL","resolveURL","setAttribute","protocol","host","search","hash","hostname","port","pathname","requestURL","write","expires","domain","secure","toGMTString","read","RegExp","decodeURIComponent","remove","buildFullPath","baseURL","requestedURL","relativeURL","combineURLs","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","withCredentials","withXSRFToken","onUploadProgress","onDownloadProgress","decompress","beforeRedirect","transport","cancelToken","socketPath","responseEncoding","configValue","newConfig","auth","btoa","username","password","unescape","isURLSameOrigin","xsrfValue","cookies","XMLHttpRequest","_config","resolveConfig","requestData","requestHeaders","onCanceled","uploadThrottled","downloadThrottled","flushUpload","flushDownload","unsubscribe","signal","removeEventListener","onloadend","responseHeaders","getAllResponseHeaders","responseText","statusText","open","onreadystatechange","readyState","responseURL","onabort","ECONNABORTED","onerror","ERR_NETWORK","ontimeout","timeoutErrorMessage","ETIMEDOUT","setRequestHeader","upload","cancel","abort","subscribe","aborted","parseProtocol","send","signals","controller","AbortController","reason","streamChunk","chunk","chunkSize","byteLength","end","pos","trackStream","stream","onProgress","onFinish","iterable","readBytes","_onFinish","ReadableStream","pull","close","loadedBytes","enqueue","return","highWaterMark","isFetchSupported","fetch","Request","Response","isReadableStreamSupported","encodeText","TextEncoder","arrayBuffer","supportsRequestStream","duplexAccessed","hasContentType","body","duplex","supportsResponseStream","resolvers","res","_","ERR_NOT_SUPPORT","knownAdapters","http","xhr","fetchOptions","finished","composedSignal","stopTimeout","requestContentLength","getContentLength","getBodyLength","resolveBodyLength","contentTypeHeader","_request","flush","isCredentialsSupported","credentials","isStreamResponse","responseContentLength","responseData","renderReason","isResolvedHandle","adapters","nameOrAdapter","rejectedReasons","reasons","state","throwIfCancellationRequested","throwIfRequested","dispatchRequest","validators","deprecatedWarnings","validator","version","formatMessage","opt","desc","opts","ERR_DEPRECATED","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","Axios","instanceConfig","interceptors","configOrUrl","dummy","boolean","function","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","unshift","responseInterceptorChain","promise","chain","onFulfilled","onRejected","getUri","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","splice","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","axios","createInstance","defaultConfig","VERSION","toFormData","Cancel","all","promises","spread","callback","isAxiosError","payload","formToJSON","getAdapter","default","RequestMalformed","RequestUnauthorized","ObjectNotFound","ObjectAlreadyExists","ObjectUnprocessable","ServerError","HTTPError","HEALTHY","isNodeJSEnvironment","versions","ApiCall","configuration","numRetriesPerRequest","additionalUserHeaders","initializeMetadataForNodes","currentNodeIndex","_timer","_performRequest","_patch","_put","_post","_delete2","_get","_callee","endpoint","queryParameters","_ref$abortSignal","abortSignal","_ref$responseType","_args","_context","performRequest","_x","_callee2","_args2","_context2","_x2","_callee3","bodyParameters","_args3","_context3","_x3","_callee4","_args4","_context4","_x4","_callee5","_args5","_context5","_x5","_callee6","requestType","_ref2","_ref2$queryParameters","_ref2$bodyParameters","_ref2$additionalHeade","_ref2$abortSignal","_ref2$responseType","_ref2$skipConnectionT","skipConnectionTimeout","_ref2$enableKeepAlive","enableKeepAlive","requestNumber","lastException","_loop","_ret","numTries","_context7","abortListener","requestOptions","_response$data","_response$data2","_error$response","_context6","getNextNode","uriFor","defaultHeaders","Infinity","transformedData","startsWith","HTTPAgent","keepAlive","HTTPSAgent","setNodeHealthcheck","customErrorForResponse","t0","_x6","_x7","_x8","isHealthy","nodeDueForHealthcheck","candidateNode","isDueForHealthcheck","lastAccessTimestamp","_callee7","seconds","_context8","_x9","messageFromServer","errorMessage","httpStatus","RESOURCEPATH","Collections","apiCall","_retrieve","_create","post","ImportError","importResults","_arrayLikeToArray","arr2","_unsupportedIterableToArray","minLen","_toConsumableArray","iter","RequestWithCache","_perform","responseCache","responsePromiseCache","requestContext","requestFunction","requestFunctionArguments","cacheOptions","_cacheOptions$cacheRe","cacheResponseForSeconds","_cacheOptions$maxSize","maxSize","requestFunctionArgumentsJSON","cacheEntry","cachePromiseEntry","responsePromise","oldestEntry","_oldestEntry","requestTimestamp","delete","SearchOnlyDocuments","collectionName","_search","requestWithCache","clearCache","searchParameters","_ref$cacheSearchResul","additionalQueryParams","queryParams","perform","endpointPath","operation","Documents","_exportStream","_export2","_importStream","_import2","_createMany","_update","_upsert","action","patch","query","documents","import","documentsInJSONLFormat","resultsInJSONLFormat","resultsInJSONFormat","failedItems","_args6","RangeError","includes","success","readableStream","_args7","_callee8","_args8","_callee9","_args9","_context9","Overrides","overrideId","put","Override","Synonyms","synonymId","Synonym","Document","documentId","partialDocument","Collection","_documents","_overrides","_synonyms","_exists","retrieve","individualDocuments","individualOverrides","individualSynonyms","Aliases","mapping","aliasName","Alias","Keys","searchKey","parameters","paramsJSON","digest","createHmac","update","keyPrefix","substr","rawScopedKey","Key","Debug","Metrics","Health","Operations","operationName","MultiSearch","useTextContentType","searchRequests","commonParams","Presets","presetId","Preset","AnalyticsRules","AnalyticsRule","AnalyticsEvents","Analytics","_analyticsRules","_analyticsEvents","individualAnalyticsRules","Stopwords","stopwordId","Stopword","ConversationModels","ConversationModel","Conversations","_conversationsModels","individualConversationModels","Conversation","Client","_options$sendApiKeyAs","metrics","stats","Stats","health","operations","multiSearch","_collections","individualCollections","_aliases","individualAliases","_keys","individualKeys","_presets","individualPresets","_stopwords","individualStopwords","analytics","_conversations","individualConversations","SearchOnlyCollection","SearchClient","Errors"],"sourceRoot":""} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 743963d8..6b89fcbb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3038,21 +3038,13 @@ "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.2.tgz", "integrity": "sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "@types/estree": "*", "@types/json-schema": "*" } }, - "node_modules/@types/eslint-scope": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", - "dev": true, - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, "node_modules/@types/estree": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", @@ -3394,9 +3386,9 @@ "dev": true }, "node_modules/@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", + "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", "dev": true, "dependencies": { "@webassemblyjs/helper-numbers": "1.11.6", @@ -3416,9 +3408,9 @@ "dev": true }, "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", "dev": true }, "node_modules/@webassemblyjs/helper-numbers": { @@ -3439,15 +3431,15 @@ "dev": true }, "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", + "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" + "@webassemblyjs/wasm-gen": "1.12.1" } }, "node_modules/@webassemblyjs/ieee754": { @@ -3475,28 +3467,28 @@ "dev": true }, "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", + "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" + "@webassemblyjs/helper-wasm-section": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-opt": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1", + "@webassemblyjs/wast-printer": "1.12.1" } }, "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", + "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", "@webassemblyjs/ieee754": "1.11.6", "@webassemblyjs/leb128": "1.11.6", @@ -3504,24 +3496,24 @@ } }, "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", + "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1" } }, "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", + "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-api-error": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", "@webassemblyjs/ieee754": "1.11.6", @@ -3530,12 +3522,12 @@ } }, "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", + "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@xtuc/long": "4.2.2" } }, @@ -3607,10 +3599,10 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "node_modules/acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", "dev": true, "peerDependencies": { "acorn": "^8" @@ -5462,9 +5454,9 @@ "license": "ISC" }, "node_modules/elliptic": { - "version": "6.5.6", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.6.tgz", - "integrity": "sha512-mpzdtpeCLuS3BmE3pO3Cpp5bbjlOPY2Q0PgoF+Od1XZrHLYI28Xe3ossCmYCQt11FQKEYd9+PF8jymTvtWJSHQ==", + "version": "6.5.7", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.7.tgz", + "integrity": "sha512-ESVCtTwiA+XhY3wyh24QqRGBoP3rEdDUl3EDUUo9tft074fi19IrdpH7hLCMMP3CIj7jb3W96rn8lt/BqIlt5Q==", "dev": true, "dependencies": { "bn.js": "^4.11.9", @@ -5489,9 +5481,9 @@ "dev": true }, "node_modules/enhanced-resolve": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", + "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", "dev": true, "dependencies": { "graceful-fs": "^4.2.4", @@ -8670,12 +8662,12 @@ } }, "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, "dependencies": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" }, "engines": { @@ -12329,9 +12321,9 @@ "dev": true }, "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", + "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", "dev": true, "dependencies": { "glob-to-regexp": "^0.4.1", @@ -12349,26 +12341,25 @@ "license": "BSD-2-Clause" }, "node_modules/webpack": { - "version": "5.90.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.0.tgz", - "integrity": "sha512-bdmyXRCXeeNIePv6R6tGPyy20aUobw4Zy8r0LUS2EWO+U+Ke/gYDgsCh7bl5rB6jPpr4r0SZa6dPxBxLooDT3w==", + "version": "5.94.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz", + "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", "dev": true, "dependencies": { - "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.5", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", + "acorn-import-attributes": "^1.9.5", "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", + "enhanced-resolve": "^5.17.1", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", + "graceful-fs": "^4.2.11", "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", @@ -12376,7 +12367,7 @@ "schema-utils": "^3.2.0", "tapable": "^2.1.1", "terser-webpack-plugin": "^5.3.10", - "watchpack": "^2.4.0", + "watchpack": "^2.4.1", "webpack-sources": "^3.2.3" }, "bin": { From 736a1b1713e4e5d74da788280c7e92a2a4675100 Mon Sep 17 00:00:00 2001 From: Jason Bosco Date: Thu, 29 Aug 2024 11:35:09 -0500 Subject: [PATCH 14/21] 2.0.0-4 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6b89fcbb..da140df8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "typesense", - "version": "2.0.0-3", + "version": "2.0.0-4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "typesense", - "version": "2.0.0-3", + "version": "2.0.0-4", "license": "Apache-2.0", "dependencies": { "axios": "^1.7.5" diff --git a/package.json b/package.json index 80202eda..6d651b82 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "typesense", - "version": "2.0.0-3", + "version": "2.0.0-4", "description": "Javascript Library for Typesense", "homepage": "https://github.com/typesense/typesense-js", "author": { From 92990d383e9e42c91bdc388f19e8cd5c5e2ccda7 Mon Sep 17 00:00:00 2001 From: Fanis Tharropoulos Date: Mon, 2 Sep 2024 10:32:30 +0300 Subject: [PATCH 15/21] fix: add override tags params to search params interface - Enhance the `SearchParams` interface in `Documents.ts` by adding the `override_tags` option. This option allows specifying tags for overriding search behavior, providing greater flexibility in query customization. --- src/Typesense/Documents.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Typesense/Documents.ts b/src/Typesense/Documents.ts index 1be93e9b..9d3496ad 100644 --- a/src/Typesense/Documents.ts +++ b/src/Typesense/Documents.ts @@ -83,6 +83,7 @@ export interface SearchParams { limit_hits?: number; // default: no limit pre_segmented_query?: boolean; enable_overrides?: boolean; + override_tags?: string | string[]; prioritize_exact_match?: boolean; // default: true prioritize_token_position?: boolean; prioritize_num_matching_fields?: boolean; From fa61a96e874b702506f61923ad4937d775e60025 Mon Sep 17 00:00:00 2001 From: Jason Bosco Date: Mon, 2 Sep 2024 11:36:17 -0500 Subject: [PATCH 16/21] Build --- dist/typesense.js.map | 2 +- dist/typesense.min.js.map | 2 +- lib/Typesense/Documents.d.ts | 1 + lib/Typesense/Documents.js.map | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/dist/typesense.js.map b/dist/typesense.js.map index 8e607910..91275754 100644 --- a/dist/typesense.js.map +++ b/dist/typesense.js.map @@ -1 +1 @@ -{"version":3,"file":"typesense.js","mappings":"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;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;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;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA,qDAAqD;AACrD,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,sBAAsB;AACtB;;AAEA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA,oCAAoC;AACpC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;;;;;;;;;;ACpWD;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA,cAAc,sGAAiC;AAC/C;AACA,gBAAgB;AAChB;AACA;AACA,GAAG,EAAE,yBAAyB,SAAS,yBAAyB;AAChE;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,KAAK;AACL,iDAAiD;AACjD;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;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;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;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,eAAe;AAClC;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,SAAS;AACtB;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;;;;;;;;;;;;;;;ACHe;AACf;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;ACLA;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;;;;;;;;;;;;;;;;;ACJiD;AACoB;AACtD;AACf,MAAM,wEAAwB;AAC9B;AACA;AACA;AACA,cAAc,8DAAc;AAC5B;;;;;;;;;;;;;;;;ACR+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;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACLiD;AAClC;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH,kBAAkB,8DAAc;AAChC;;;;;;;;;;;;;;;AChBe;AACf;AACA;AACA,IAAI;AACJ;AACA;AACA;;;;;;;;;;;;;;;ACNe;AACf;AACA,yFAAyF;AACzF,IAAI;AACJ;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;ACPe;AACf;AACA;;;;;;;;;;;;;;;ACFe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,YAAY,kEAAkE;AACtF,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;AC1Be;AACf;AACA;;;;;;;;;;;;;;;ACFe;AACf;AACA;;;;;;;;;;;;;;;;;ACFkC;AAC6B;AAChD;AACf,eAAe,sDAAO;AACtB;AACA,IAAI;AACJ;AACA;AACA,S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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP,oCAAoC,iDAAK;;AAEzC,wDAAwD,wFAAsB;AAC9E;AACA,QAAQ,sFAAoB,CAAC,gFAAc;AAC3C;;AAEA;AACA,QAAQ,oEAAW;AACnB;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA,uCAAuC,iDAAK;;AAE5C;;AAEA;;AAEA;AACA,MAAM,2DAAM;AACZ;AACA,iBAAiB,6DAAY;AAC7B;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,IAAI;AACJ;;AAEA;AACA;AACA,YAAY,2DAAU,kBAAkB,2DAAU;AAClD;AACA;AACA;AACA;AACA;;AAEA,UAAU,2DAAU;AACpB;AACA,CAAC,CAAC,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrO+B;AACO;AACsB;AAChB;AACQ;AACC;AACZ;AACO;AACqB;AAChB;;AAExD;;AAEA,iEAAe;AACf;AACA,oBAAoB,qEAAa;AACjC;AACA,2BAA2B,6DAAY;AACvC,SAAS,oDAAoD;AAC7D;AACA;AACA;;AAEA;AACA,oCAAoC;AACpC,wCAAwC;;AAExC;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,8BAA8B,6DAAY;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAM,2DAAM;AACZ;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,iBAAiB,2DAAU,oBAAoB,2DAAU;;AAEzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,2DAAU,kBAAkB,2DAAU;;AAEvD;AACA;AACA;;AAEA;AACA;AACA;AACA,mDAAmD,iEAAoB;AACvE;AACA;AACA;AACA,iBAAiB,2DAAU;AAC3B;AACA,2CAA2C,2DAAU,aAAa,2DAAU;AAC5E;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAM,iDAAK;AACX;AACA,OAAO;AACP;;AAEA;AACA,SAAS,iDAAK;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,4CAA4C,sFAAoB;AAChE;AACA;;AAEA;AACA;AACA,wCAAwC,sFAAoB;;AAE5D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,gEAAa;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,qEAAa;;AAElC,oBAAoB,0DAAQ;AAC5B,iBAAiB,2DAAU,2CAA2C,2DAAU;AAChF;AACA;;;AAGA;AACA;AACA,GAAG;AACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpMY;;AAEkB;AACM;AACD;AACY;AACL;AACc;AACH;AACJ;AACN;AACN;AACW;AACH;AACL;AACY;AACH;AACJ;AACW;;AAEzD;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,OAAO;AACpB;AACA;AACA,sBAAsB,sDAAK;AAC3B,mBAAmB,4DAAI,CAAC,sDAAK;;AAE7B;AACA,EAAE,iDAAK,kBAAkB,sDAAK,sBAAsB,iBAAiB;;AAErE;AACA,EAAE,iDAAK,kCAAkC,iBAAiB;;AAE1D;AACA;AACA,0BAA0B,gEAAW;AACrC;;AAEA;AACA;;AAEA;AACA,6BAA6B,0DAAQ;;AAErC;AACA,cAAc,sDAAK;;AAEnB;AACA,sBAAsB,gEAAa;AACnC,oBAAoB,8DAAW;AAC/B,iBAAiB,2DAAQ;AACzB,gBAAgB,iDAAO;AACvB,mBAAmB,8DAAU;;AAE7B;AACA,mBAAmB,4DAAU;;AAE7B;AACA;;AAEA;AACA;AACA;AACA;;AAEA,eAAe,2DAAM;;AAErB;AACA,qBAAqB,iEAAY;;AAEjC;AACA,oBAAoB,4DAAW;;AAE/B,qBAAqB,8DAAY;;AAEjC,4BAA4B,uEAAc,CAAC,iDAAK;;AAEhD,mBAAmB,8DAAQ;;AAE3B,uBAAuB,mEAAc;;AAErC;;AAEA;AACA,iEAAe,KAAK;;;;;;;;;;;;;;;;;ACxFP;;AAEkC;;AAE/C;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,yDAAa;AACtC;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA,iEAAe,WAAW,EAAC;;;;;;;;;;;;;;;;;;ACxHd;;AAEkC;AACf;;AAEhC;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,aAAa,eAAe;AAC5B;AACA;AACA;AACA,EAAE,2DAAU,oDAAoD,2DAAU;AAC1E;AACA;;AAEA,iDAAK,yBAAyB,2DAAU;AACxC;AACA,CAAC;;AAED,iEAAe,aAAa,EAAC;;;;;;;;;;;;;;;;ACxBhB;;AAEE;AACf;AACA;;;;;;;;;;;;;;;;;;;;;;;;ACJa;;AAEqB;AACY;AACW;AACN;AACR;AACI;AACC;AACH;;AAE7C,mBAAmB,6DAAS;;AAE5B;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,mBAAmB,8DAAkB;AACrC,oBAAoB,8DAAkB;AACtC;AACA;;AAEA;AACA;AACA;AACA,aAAa,eAAe;AAC5B,aAAa,SAAS;AACtB;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA,oEAAoE;;AAEpE;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA,aAAa,2DAAW;;AAExB,WAAW,yCAAyC;;AAEpD;AACA,MAAM,6DAAS;AACf;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,UAAU,iDAAK;AACf;AACA;AACA;AACA,QAAQ;AACR,QAAQ,6DAAS;AACjB;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA,oCAAoC,iDAAK;AACzC;AACA;AACA;;AAEA,eAAe,iDAAK;AACpB;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,wDAAY;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA,qBAAqB,2DAAe;AACpC;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA,gBAAgB,2DAAe;AAC/B,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,aAAa,2DAAW;AACxB,qBAAqB,6DAAa;AAClC,WAAW,gEAAQ;AACnB;AACA;;AAEA;AACA,iDAAK;AACL;AACA;AACA,wBAAwB,2DAAW,aAAa;AAChD;AACA;AACA,yBAAyB;AACzB,KAAK;AACL;AACA,CAAC;;AAED,iDAAK;AACL;;AAEA;AACA;AACA,0BAA0B,2DAAW,aAAa;AAClD;AACA;AACA;AACA,UAAU,IAAI;AACd;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA,CAAC;;AAED,iEAAe,KAAK,EAAC;;;;;;;;;;;;;;;;;ACnOR;;AAEmB;;AAEhC;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,OAAO;AACpB;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iDAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,iDAAK;AACnB;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,CAAC;;AAED;AACA,kDAAkD,YAAY;;AAE9D;AACA;AACA;;AAEA,EAAE,iDAAK;AACP;AACA,GAAG;AACH;AACA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,iEAAe,UAAU,EAAC;;;;;;;;;;;;;;;;;;ACtGb;;AAEmB;AACsB;;AAEtD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS,iDAAK;AACd;;AAEA;AACA;AACA,2BAA2B,mBAAmB;AAC9C;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,MAAM,iDAAK;AACX;AACA;;AAEA;AACA;AACA;;AAEA,OAAO,iDAAK;;AAEZ,MAAM,iDAAK;AACX;AACA;;AAEA,MAAM,iDAAK;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,uBAAuB,iDAAK;;AAE5B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,iDAAK;;AAEvB;AACA;AACA;AACA;;AAEA;AACA,MAAM,iDAAK;;AAEX,QAAQ,iDAAK;AACb;AACA,MAAM,QAAQ,iDAAK;AACnB,iBAAiB,oEAAY;AAC7B,MAAM,SAAS,iDAAK;AACpB;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB,iDAAK;;AAEvB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,YAAY,iDAAK;AACjB;AACA;;AAEA,YAAY,iDAAK;AACjB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB,iDAAK;;AAEvB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,oBAAoB,iDAAK;;AAEzB;AACA;;AAEA;AACA;AACA;AACA;;AAEA,QAAQ,iDAAK;AACb;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,IAAI,iDAAK;AACT,kBAAkB,iDAAK;;AAEvB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,IAAI,iDAAK;AACT,sEAAsE,iDAAK;AAC3E,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,IAAI,iDAAK;;AAET;AACA;AACA;;AAEA;;AAEA;AACA,iDAAK,6CAA6C,MAAM;AACxD,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,iDAAK;;AAEL,iEAAe,YAAY,EAAC;;;;;;;;;;;;;;;;;AC7Sf;;AAEqB;;AAElC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB,aAAa,UAAU;AACvB;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,UAAU;AACvB;AACA,eAAe;AACf;AACA;AACA,IAAI,iDAAK;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,iEAAe,kBAAkB,EAAC;;;;;;;;;;;;;;;;;;ACtErB;;AAE2C;AACJ;;AAEpD;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf,kBAAkB,qEAAa;AAC/B,WAAW,mEAAW;AACtB;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;ACpBa;;AAEkC;AACF;AACD;AACW;AACJ;AACJ;;AAE/C;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,gEAAa;AAC3B;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACe;AACf;;AAEA,mBAAmB,6DAAY;;AAE/B;AACA,gBAAgB,yDAAa;AAC7B;AACA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,6DAAQ,8BAA8B,0DAAQ;;AAEhE;AACA;;AAEA;AACA,oBAAoB,yDAAa;AACjC;AACA;AACA;AACA;;AAEA,uBAAuB,6DAAY;;AAEnC;AACA,GAAG;AACH,SAAS,+DAAQ;AACjB;;AAEA;AACA;AACA,+BAA+B,yDAAa;AAC5C;AACA;AACA;AACA;AACA,kCAAkC,6DAAY;AAC9C;AACA;;AAEA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;AChFa;;AAEmB;AACa;;AAE7C,oDAAoD,wDAAY,KAAK,WAAW;;AAEhF;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;;AAEA;AACA,QAAQ,iDAAK,0BAA0B,iDAAK;AAC5C,aAAa,iDAAK,aAAa,SAAS;AACxC,MAAM,SAAS,iDAAK;AACpB,aAAa,iDAAK,SAAS;AAC3B,MAAM,SAAS,iDAAK;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS,iDAAK;AACd;AACA,MAAM,UAAU,iDAAK;AACrB;AACA;AACA;;AAEA;AACA;AACA,SAAS,iDAAK;AACd;AACA;AACA;;AAEA;AACA;AACA,SAAS,iDAAK;AACd;AACA,MAAM,UAAU,iDAAK;AACrB;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;AACA;AACA;AACA;;AAEA,EAAE,iDAAK,qCAAqC;AAC5C;AACA;AACA,KAAK,iDAAK;AACV,GAAG;;AAEH;AACA;;;;;;;;;;;;;;;;;ACzGa;;AAE4B;;AAEzC;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;AACA,IAAI;AACJ,eAAe,sDAAU;AACzB;AACA,OAAO,sDAAU,kBAAkB,sDAAU;AAC7C;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;AC1Ba;;AAEqB;AACU;AACO;;AAEnD;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB;AACA,aAAa,GAAG;AAChB;AACe;AACf,yBAAyB,0DAAQ;AACjC;AACA,kBAAkB,6DAAY;AAC9B;;AAEA,EAAE,iDAAK;AACP;AACA,GAAG;;AAEH;;AAEA;AACA;;;;;;;;;;;;;;;;;;;;;;;AC3Ba;;AAEmB;AACe;AACM;AACH;AACY;AAClB;AACc;;AAE1D;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA,MAAM,iDAAK;AACX;AACA;AACA,aAAa,iDAAK;AAClB,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,gBAAgB,wDAAoB;;AAEpC;;AAEA;AACA;AACA;AACA,4BAA4B,iDAAK;;AAEjC,2BAA2B,iDAAK;AAChC;AACA;;AAEA,uBAAuB,iDAAK;;AAE5B;AACA,iDAAiD,sEAAc;AAC/D;;AAEA,QAAQ,iDAAK;AACb,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX;AACA;AACA;AACA,QAAQ,iDAAK;AACb;AACA;AACA,QAAQ,iDAAK;AACb,gEAAgE;AAChE;AACA;;AAEA;;AAEA;AACA;AACA,eAAe,wEAAgB;AAC/B;;AAEA,wBAAwB,iDAAK;AAC7B;;AAEA,eAAe,kEAAU;AACzB,wBAAwB,iBAAiB;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA,QAAQ,iDAAK,qBAAqB,iDAAK;AACvC;AACA;;AAEA,gBAAgB,iDAAK;AACrB;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA,kBAAkB,2DAAU,SAAS,2DAAU;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,cAAc,0DAAQ;AACtB,UAAU,0DAAQ;AAClB,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iDAAK;AACL;AACA,CAAC;;AAED,iEAAe,QAAQ,EAAC;;;;;;;;;;;;;;;;AChKX;;AAEb,iEAAe;AACf;AACA;AACA;AACA,CAAC,EAAC;;;;;;;;;;;;;;;;ACNK;;;;;;;;;;;;;;;;ACAM;;AAE4B;;AAEzC;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,WAAW,qBAAqB;AAChC,WAAW,qBAAqB;AAChC;AACA,aAAa;AACb;AACA;AACA;;AAEA,YAAY,0DAAU;AACtB;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA,GAAG;AACH;;AAEA,iEAAe,oBAAoB,EAAC;;;;;;;;;;;;;;;;ACzDpC;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;;AAEA;AACA;AACA,CAAC;;AAED,iEAAe,cAAc,EAAC;;;;;;;;;;;;;;;;ACtEjB;;AAEE;AACf;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACNa;;AAEmB;AACsC;;AAEtE;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,IAAI;AACJ,uBAAuB,iDAAK;AAC5B;AACA,UAAU,wEAAoB;AAC9B;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;AC9Da;;AAEb;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AA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AgB;;AAEvB;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACA,OAAO,SAAS;;AAEhB;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;;AAGA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,UAAU;AACrB;AACA,WAAW,SAAS;AACpB,aAAa;AACb;AACA,2BAA2B,oBAAoB,IAAI;AACnD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS;AAC5C,4BAA4B;AAC5B;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA,SAAS,UAAU;AACnB;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,kCAAkC;AAClC,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;;AAEA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA,gCAAgC,WAAW,IAAI;AAC/C;AACA;AACA,eAAe,4DAAI;AACnB,MAAM;AACN;AACA;AACA,GAAG,GAAG,WAAW;AACjB;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,kBAAkB;AAC7B,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,WAAW,kBAAkB;AAC7B,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B,eAAe;;AAEzC;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS,QAAQ;AACjB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,0CAA0C,aAAa;AACvD;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,GAAG,WAAW,cAAc;AAC5B,CAAC;AACD;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,iEAAe;AACf;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,EAAC;;;;;;;UCvvBF;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;;;;;;;ACNwC;AACY;AACP;AAEL;AACxC,iEAAe;EAAE9B,MAAM,EAANA,yDAAM;EAAEuL,YAAY,EAAZA,+DAAY;EAAEU,MAAM,EAANA,8CAAMA;AAAC,CAAC,E","sources":["webpack://Typesense/./src/Typesense/Alias.ts","webpack://Typesense/./src/Typesense/Aliases.ts","webpack://Typesense/./src/Typesense/Analytics.ts","webpack://Typesense/./src/Typesense/AnalyticsEvents.ts","webpack://Typesense/./src/Typesense/AnalyticsRule.ts","webpack://Typesense/./src/Typesense/AnalyticsRules.ts","webpack://Typesense/./src/Typesense/ApiCall.ts","webpack://Typesense/./src/Typesense/Client.ts","webpack://Typesense/./src/Typesense/Collection.ts","webpack://Typesense/./src/Typesense/Collections.ts","webpack://Typesense/./src/Typesense/Configuration.ts","webpack://Typesense/./src/Typesense/Conversation.ts","webpack://Typesense/./src/Typesense/ConversationModel.ts","webpack://Typesense/./src/Typesense/ConversationModels.ts","webpack://Typesense/./src/Typesense/Conversations.ts","webpack://Typesense/./src/Typesense/Debug.ts","webpack://Typesense/./src/Typesense/Document.ts","webpack://Typesense/./src/Typesense/Documents.ts","webpack://Typesense/./src/Typesense/Errors/HTTPError.ts","webpack://Typesense/./src/Typesense/Errors/ImportError.ts","webpack://Typesense/./src/Typesense/Errors/MissingConfigurationError.ts","webpack://Typesense/./src/Typesense/Errors/ObjectAlreadyExists.ts","webpack://Typesense/./src/Typesense/Errors/ObjectNotFound.ts","webpack://Typesense/./src/Typesense/Errors/ObjectUnprocessable.ts","webpack://Typesense/./src/Typesense/Errors/RequestMalformed.ts","webpack://Typesense/./src/Typesense/Errors/RequestUnauthorized.ts","webpack://Typesense/./src/Typesense/Errors/ServerError.ts","webpack://Typesense/./src/Typesense/Errors/TypesenseError.ts","webpack://Typesense/./src/Typesense/Errors/index.ts","webpack://Typesense/./src/Typesense/Health.ts","webpack://Typesense/./src/Typesense/Key.ts","webpack://Typesense/./src/Typesense/Keys.ts","webpack://Typesense/./src/Typesense/Metrics.ts","webpack://Typesense/./src/Typesense/MultiSearch.ts","webpack://Typesense/./src/Typesense/Operations.ts","webpack://Typesense/./src/Typesense/Override.ts","webpack://Typesense/./src/Typesense/Overrides.ts","webpack://Typesense/./src/Typesense/Preset.ts","webpack://Typesense/./src/Typesense/Presets.ts","webpack://Typesense/./src/Typesense/RequestWithCache.ts","webpack://Typesense/./src/Typesense/SearchClient.ts","webpack://Typesense/./src/Typesense/SearchOnlyCollection.ts","webpack://Typesense/./src/Typesense/SearchOnlyDocuments.ts","webpack://Typesense/./src/Typesense/Stats.ts","webpack://Typesense/./src/Typesense/Stopword.ts","webpack://Typesense/./src/Typesense/Stopwords.ts","webpack://Typesense/./src/Typesense/Synonym.ts","webpack://Typesense/./src/Typesense/Synonyms.ts","webpack://Typesense/./node_modules/loglevel/lib/loglevel.js","webpack://Typesense/ignored|/Users/jason/Programming/jprojs/typesense/typesense-js/src/Typesense|crypto","webpack://Typesense/ignored|/Users/jason/Programming/jprojs/typesense/typesense-js/src/Typesense|http","webpack://Typesense/ignored|/Users/jason/Programming/jprojs/typesense/typesense-js/src/Typesense|https","webpack://Typesense/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/regenerator/index.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://Typesense/./node_modules/axios/lib/adapters/adapters.js","webpack://Typesense/./node_modules/axios/lib/adapters/fetch.js","webpack://Typesense/./node_modules/axios/lib/adapters/xhr.js","webpack://Typesense/./node_modules/axios/lib/axios.js","webpack://Typesense/./node_modules/axios/lib/cancel/CancelToken.js","webpack://Typesense/./node_modules/axios/lib/cancel/CanceledError.js","webpack://Typesense/./node_modules/axios/lib/cancel/isCancel.js","webpack://Typesense/./node_modules/axios/lib/core/Axios.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosError.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://Typesense/./node_modules/axios/lib/core/InterceptorManager.js","webpack://Typesense/./node_modules/axios/lib/core/buildFullPath.js","webpack://Typesense/./node_modules/axios/lib/core/dispatchRequest.js","webpack://Typesense/./node_modules/axios/lib/core/mergeConfig.js","webpack://Typesense/./node_modules/axios/lib/core/settle.js","webpack://Typesense/./node_modules/axios/lib/core/transformData.js","webpack://Typesense/./node_modules/axios/lib/defaults/index.js","webpack://Typesense/./node_modules/axios/lib/defaults/transitional.js","webpack://Typesense/./node_modules/axios/lib/env/data.js","webpack://Typesense/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://Typesense/./node_modules/axios/lib/helpers/bind.js","webpack://Typesense/./node_modules/axios/lib/helpers/buildURL.js","webpack://Typesense/./node_modules/axios/lib/helpers/combineURLs.js","webpack://Typesense/./node_modules/axios/lib/helpers/composeSignals.js","webpack://Typesense/./node_modules/axios/lib/helpers/cookies.js","webpack://Typesense/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://Typesense/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://Typesense/./node_modules/axios/lib/helpers/null.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://Typesense/./node_modules/axios/lib/helpers/progressEventReducer.js","webpack://Typesense/./node_modules/axios/lib/helpers/resolveConfig.js","webpack://Typesense/./node_modules/axios/lib/helpers/speedometer.js","webpack://Typesense/./node_modules/axios/lib/helpers/spread.js","webpack://Typesense/./node_modules/axios/lib/helpers/throttle.js","webpack://Typesense/./node_modules/axios/lib/helpers/toFormData.js","webpack://Typesense/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://Typesense/./node_modules/axios/lib/helpers/trackStream.js","webpack://Typesense/./node_modules/axios/lib/helpers/validator.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/index.js","webpack://Typesense/./node_modules/axios/lib/platform/common/utils.js","webpack://Typesense/./node_modules/axios/lib/platform/index.js","webpack://Typesense/./node_modules/axios/lib/utils.js","webpack://Typesense/webpack/bootstrap","webpack://Typesense/webpack/runtime/compat get default export","webpack://Typesense/webpack/runtime/define property getters","webpack://Typesense/webpack/runtime/hasOwnProperty shorthand","webpack://Typesense/webpack/runtime/make namespace object","webpack://Typesense/./src/Typesense.ts"],"sourcesContent":["import Aliases, { CollectionAliasSchema } from \"./Aliases\";\nimport ApiCall from \"./ApiCall\";\n\nexport default class Alias {\n constructor(private name: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/aliases\";\n\nexport interface CollectionAliasCreateSchema {\n collection_name: string;\n}\n\nexport interface CollectionAliasSchema extends CollectionAliasCreateSchema {\n name: string;\n}\n\nexport interface CollectionAliasesResponseSchema {\n aliases: CollectionAliasSchema[];\n}\n\nexport default class Aliases {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n name: string,\n mapping: CollectionAliasCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(name),\n mapping\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n private endpointPath(aliasName): string {\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(aliasName)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\nimport AnalyticsRule from \"./AnalyticsRule\";\nimport AnalyticsEvents from \"./AnalyticsEvents\";\n\nconst RESOURCEPATH = \"/analytics\";\n\nexport default class Analytics {\n private readonly _analyticsRules: AnalyticsRules;\n private readonly individualAnalyticsRules: Record = {};\n private readonly _analyticsEvents: AnalyticsEvents;\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._analyticsRules = new AnalyticsRules(this.apiCall);\n this._analyticsEvents = new AnalyticsEvents(this.apiCall);\n }\n\n rules(id?: string): AnalyticsRules | AnalyticsRule {\n if (id === undefined) {\n return this._analyticsRules;\n } else {\n if (this.individualAnalyticsRules[id] === undefined) {\n this.individualAnalyticsRules[id] = new AnalyticsRule(id, this.apiCall);\n }\n return this.individualAnalyticsRules[id];\n }\n }\n\n events(): AnalyticsEvents {\n return this._analyticsEvents;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { AnalyticsEventCreateSchema } from \"./AnalyticsEvent\";\n\nconst RESOURCEPATH = \"/analytics/events\";\n\nexport default class AnalyticsEvents {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: AnalyticsEventCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsEvents.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\n\nexport interface AnalyticsRuleCreateSchema {\n type: \"popular_queries\" | \"nohits_queries\" | \"counter\";\n params: {\n source: {\n collections: string[];\n events?: Array<{\n type: string;\n weight: number;\n name: string;\n }>;\n };\n expand_query?: boolean;\n destination: {\n collection: string;\n counter_field?: string;\n };\n limit?: number;\n };\n}\n\nexport interface AnalyticsRuleDeleteSchema {\n name: string;\n}\n\nexport interface AnalyticsRuleSchema extends AnalyticsRuleCreateSchema {\n name: string;\n}\n\nexport default class AnalyticsRule {\n constructor(\n private name: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${AnalyticsRules.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n AnalyticsRuleCreateSchema,\n AnalyticsRuleSchema,\n} from \"./AnalyticsRule\";\n\nexport interface AnalyticsRulesRetrieveSchema {\n rules: AnalyticsRuleSchema[];\n}\n\nconst RESOURCEPATH = \"/analytics/rules\";\n\nexport default class AnalyticsRules {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async upsert(\n name: string,\n params: AnalyticsRuleCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(name),\n params\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsRules.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import axios, { AxiosRequestConfig, AxiosResponse, Method } from \"axios\";\nimport { Logger } from \"loglevel\";\nimport {\n HTTPError,\n ObjectAlreadyExists,\n ObjectNotFound,\n ObjectUnprocessable,\n RequestMalformed,\n RequestUnauthorized,\n ServerError,\n} from \"./Errors\";\nimport TypesenseError from \"./Errors/TypesenseError\";\nimport Configuration, { NodeConfiguration } from \"./Configuration\";\nimport { Agent as HTTPAgent } from \"http\";\nimport { Agent as HTTPSAgent } from \"https\";\n\nconst APIKEYHEADERNAME = \"X-TYPESENSE-API-KEY\";\nconst HEALTHY = true;\nconst UNHEALTHY = false;\n\ninterface Node extends NodeConfiguration {\n isHealthy: boolean;\n index: string | number;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class ApiCall {\n private readonly apiKey: string;\n private readonly nodes: Node[];\n private readonly nearestNode: Node;\n private readonly connectionTimeoutSeconds: number;\n private readonly healthcheckIntervalSeconds: number;\n private readonly retryIntervalSeconds: number;\n private readonly sendApiKeyAsQueryParam?: boolean;\n private readonly numRetriesPerRequest: number;\n private readonly additionalUserHeaders?: Record;\n\n private readonly logger: Logger;\n private currentNodeIndex: number;\n\n constructor(private 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\n this.logger = this.configuration.logger;\n\n this.initializeMetadataForNodes();\n this.currentNodeIndex = -1;\n }\n\n async get(\n endpoint: string,\n queryParameters: any = {},\n {\n abortSignal = null,\n responseType = undefined,\n }: {\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n } = {},\n ): Promise {\n return this.performRequest(\"get\", endpoint, {\n queryParameters,\n abortSignal,\n responseType,\n });\n }\n\n async delete(endpoint: string, queryParameters: any = {}): Promise {\n return this.performRequest(\"delete\", endpoint, { queryParameters });\n }\n\n async post(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n additionalHeaders: any = {},\n ): Promise {\n return this.performRequest(\"post\", endpoint, {\n queryParameters,\n bodyParameters,\n additionalHeaders,\n });\n }\n\n async put(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"put\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async patch(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"patch\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async performRequest(\n requestType: Method,\n endpoint: string,\n {\n queryParameters = null,\n bodyParameters = null,\n additionalHeaders = {},\n abortSignal = null,\n responseType = undefined,\n skipConnectionTimeout = false,\n enableKeepAlive = undefined,\n }: {\n queryParameters?: any;\n bodyParameters?: any;\n additionalHeaders?: any;\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n skipConnectionTimeout?: boolean;\n enableKeepAlive?: boolean | undefined;\n },\n ): Promise {\n this.configuration.validate();\n\n const requestNumber = Date.now();\n let lastException;\n this.logger.debug(\n `Request #${requestNumber}: Performing ${requestType.toUpperCase()} request: ${endpoint}`,\n );\n for (\n let numTries = 1;\n numTries <= this.numRetriesPerRequest + 1;\n numTries++\n ) {\n const node = this.getNextNode(requestNumber);\n this.logger.debug(\n `Request #${requestNumber}: Attempting ${requestType.toUpperCase()} request Try #${numTries} to Node ${\n node.index\n }`,\n );\n\n if (abortSignal && abortSignal.aborted) {\n return Promise.reject(new Error(\"Request aborted by caller.\"));\n }\n\n let abortListener;\n\n try {\n const requestOptions: AxiosRequestConfig = {\n method: requestType,\n url: this.uriFor(endpoint, node),\n headers: Object.assign(\n {},\n this.defaultHeaders(),\n additionalHeaders,\n this.additionalUserHeaders,\n ),\n maxContentLength: Infinity,\n maxBodyLength: Infinity,\n responseType,\n validateStatus: (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 (data, headers) => {\n let transformedData = data;\n if (\n headers !== undefined &&\n typeof data === \"string\" &&\n headers[\"content-type\"] &&\n headers[\"content-type\"].startsWith(\"application/json\")\n ) {\n transformedData = JSON.parse(data);\n }\n return transformedData;\n },\n ],\n };\n\n if (skipConnectionTimeout !== true) {\n requestOptions.timeout = this.connectionTimeoutSeconds * 1000;\n }\n\n if (queryParameters && Object.keys(queryParameters).length !== 0) {\n requestOptions.params = queryParameters;\n }\n\n if (this.sendApiKeyAsQueryParam) {\n requestOptions.params = requestOptions.params || {};\n requestOptions.params[\"x-typesense-api-key\"] = this.apiKey;\n }\n\n if (this.configuration.httpAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpAgent`,\n );\n requestOptions.httpAgent = this.configuration.httpAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling KeepAlive`);\n requestOptions.httpAgent = new HTTPAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.httpsAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpsAgent`,\n );\n requestOptions.httpsAgent = this.configuration.httpsAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling keepAlive`);\n requestOptions.httpsAgent = new HTTPSAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.paramsSerializer) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom paramsSerializer`,\n );\n requestOptions.paramsSerializer = this.configuration.paramsSerializer;\n }\n\n if (\n bodyParameters &&\n ((typeof bodyParameters === \"string\" &&\n bodyParameters.length !== 0) ||\n (typeof bodyParameters === \"object\" &&\n Object.keys(bodyParameters).length !== 0))\n ) {\n requestOptions.data = bodyParameters;\n }\n\n // Translate from user-provided AbortController to the Axios request cancel mechanism.\n if (abortSignal) {\n const cancelToken = axios.CancelToken;\n const source = cancelToken.source();\n abortListener = () => source.cancel();\n abortSignal.addEventListener(\"abort\", abortListener);\n requestOptions.cancelToken = source.token;\n }\n\n const response = await axios(requestOptions);\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.setNodeHealthcheck(node, HEALTHY);\n }\n this.logger.debug(\n `Request #${requestNumber}: Request to Node ${node.index} was made. Response Code was ${response.status}.`,\n );\n\n if (response.status >= 200 && response.status < 300) {\n // If response is 2xx return a resolved promise\n return Promise.resolve(response.data);\n } else if (response.status < 500) {\n // Next, if response is anything but 5xx, don't retry, return a custom error\n return Promise.reject(\n this.customErrorForResponse(response, response.data?.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.customErrorForResponse(response, response.data?.message);\n }\n } catch (error: any) {\n // This block handles retries for HTTPStatus > 500 and network layer issues like connection timeouts\n this.setNodeHealthcheck(node, UNHEALTHY);\n lastException = error;\n this.logger.warn(\n `Request #${requestNumber}: Request to Node ${\n node.index\n } failed due to \"${error.code} ${error.message}${\n error.response == null\n ? \"\"\n : \" - \" + JSON.stringify(error.response?.data)\n }\"`,\n );\n // this.logger.debug(error.stack)\n this.logger.warn(\n `Request #${requestNumber}: Sleeping for ${this.retryIntervalSeconds}s and then retrying request...`,\n );\n await this.timer(this.retryIntervalSeconds);\n } finally {\n if (abortSignal && abortListener) {\n abortSignal.removeEventListener(\"abort\", abortListener);\n }\n }\n }\n this.logger.debug(\n `Request #${requestNumber}: No retries left. Raising last error`,\n );\n return Promise.reject(lastException);\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 getNextNode(requestNumber = 0): Node {\n // Check if nearestNode is set and is healthy, if so return it\n if (this.nearestNode != null) {\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: Node ${\n this.nearestNode.index\n } is ${this.nearestNode.isHealthy === true ? \"Healthy\" : \"Unhealthy\"}`,\n );\n if (\n this.nearestNode.isHealthy === true ||\n this.nodeDueForHealthcheck(this.nearestNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${this.nearestNode.index}`,\n );\n return this.nearestNode;\n }\n this.logger.debug(\n `Request #${requestNumber}: Falling back to individual nodes`,\n );\n }\n\n // Fallback to nodes as usual\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: ${this.nodes\n .map(\n (node) =>\n `Node ${node.index} is ${\n node.isHealthy === true ? \"Healthy\" : \"Unhealthy\"\n }`,\n )\n .join(\" || \")}`,\n );\n let candidateNode: Node = this.nodes[0];\n for (let i = 0; i <= this.nodes.length; i++) {\n this.currentNodeIndex = (this.currentNodeIndex + 1) % this.nodes.length;\n candidateNode = this.nodes[this.currentNodeIndex];\n if (\n candidateNode.isHealthy === true ||\n this.nodeDueForHealthcheck(candidateNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\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(\n `Request #${requestNumber}: No healthy nodes were found. Returning the next node, Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\n\n nodeDueForHealthcheck(node, requestNumber = 0): boolean {\n const isDueForHealthcheck =\n Date.now() - node.lastAccessTimestamp >\n this.healthcheckIntervalSeconds * 1000;\n if (isDueForHealthcheck) {\n this.logger.debug(\n `Request #${requestNumber}: Node ${node.index} has exceeded healtcheckIntervalSeconds of ${this.healthcheckIntervalSeconds}. Adding it back into rotation.`,\n );\n }\n return isDueForHealthcheck;\n }\n\n initializeMetadataForNodes(): void {\n if (this.nearestNode != null) {\n this.nearestNode.index = \"nearestNode\";\n this.setNodeHealthcheck(this.nearestNode, HEALTHY);\n }\n\n this.nodes.forEach((node, i) => {\n node.index = i;\n this.setNodeHealthcheck(node, HEALTHY);\n });\n }\n\n setNodeHealthcheck(node, isHealthy): void {\n node.isHealthy = isHealthy;\n node.lastAccessTimestamp = Date.now();\n }\n\n uriFor(endpoint: string, node): string {\n if (node.url != null) {\n return `${node.url}${endpoint}`;\n }\n return `${node.protocol}://${node.host}:${node.port}${node.path}${endpoint}`;\n }\n\n defaultHeaders(): any {\n const defaultHeaders = {};\n if (!this.sendApiKeyAsQueryParam) {\n defaultHeaders[APIKEYHEADERNAME] = this.apiKey;\n }\n defaultHeaders[\"Content-Type\"] = \"application/json\";\n return defaultHeaders;\n }\n\n async timer(seconds): Promise {\n return new Promise((resolve) => setTimeout(resolve, seconds * 1000));\n }\n\n customErrorForResponse(\n response: AxiosResponse,\n messageFromServer: string,\n ): TypesenseError {\n let errorMessage = `Request failed with HTTP code ${response.status}`;\n if (\n typeof messageFromServer === \"string\" &&\n messageFromServer.trim() !== \"\"\n ) {\n errorMessage += ` | Server said: ${messageFromServer}`;\n }\n\n let error = new TypesenseError(errorMessage);\n\n if (response.status === 400) {\n error = new RequestMalformed(errorMessage);\n } else if (response.status === 401) {\n error = new RequestUnauthorized(errorMessage);\n } else if (response.status === 404) {\n error = new ObjectNotFound(errorMessage);\n } else if (response.status === 409) {\n error = new ObjectAlreadyExists(errorMessage);\n } else if (response.status === 422) {\n error = new ObjectUnprocessable(errorMessage);\n } else if (response.status >= 500 && response.status <= 599) {\n error = new ServerError(errorMessage);\n } else {\n error = new HTTPError(errorMessage);\n }\n\n error.httpStatus = response.status;\n\n return error;\n }\n}\n","/* eslint-disable no-dupe-class-members */\n\nimport Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Collection from \"./Collection\";\nimport Aliases from \"./Aliases\";\nimport Alias from \"./Alias\";\nimport Keys from \"./Keys\";\nimport Key from \"./Key\";\nimport Debug from \"./Debug\";\nimport Metrics from \"./Metrics\";\nimport Stats from \"./Stats\";\nimport Health from \"./Health\";\nimport Operations from \"./Operations\";\nimport MultiSearch from \"./MultiSearch\";\nimport Presets from \"./Presets\";\nimport Preset from \"./Preset\";\nimport Analytics from \"./Analytics\";\nimport Stopwords from \"./Stopwords\";\nimport Stopword from \"./Stopword\";\nimport Conversations from \"./Conversations\";\nimport Conversation from \"./Conversation\";\n\nexport default class Client {\n configuration: Configuration;\n apiCall: ApiCall;\n debug: Debug;\n metrics: Metrics;\n stats: Stats;\n health: Health;\n operations: Operations;\n multiSearch: MultiSearch;\n analytics: Analytics;\n private readonly _collections: Collections;\n private readonly individualCollections: Record;\n private readonly _aliases: Aliases;\n private readonly individualAliases: Record;\n private readonly _keys: Keys;\n private readonly individualKeys: Record;\n private readonly _presets: Presets;\n private readonly individualPresets: Record;\n private readonly _stopwords: Stopwords;\n private readonly individualStopwords: Record;\n private readonly _conversations: Conversations;\n private readonly individualConversations: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? false;\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.debug = new Debug(this.apiCall);\n this.metrics = new Metrics(this.apiCall);\n this.stats = new Stats(this.apiCall);\n this.health = new Health(this.apiCall);\n this.operations = new Operations(this.apiCall);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration);\n this._collections = new Collections(this.apiCall);\n this.individualCollections = {};\n this._aliases = new Aliases(this.apiCall);\n this.individualAliases = {};\n this._keys = new Keys(this.apiCall);\n this.individualKeys = {};\n this._presets = new Presets(this.apiCall);\n this.individualPresets = {};\n this._stopwords = new Stopwords(this.apiCall);\n this.individualStopwords = {};\n this.analytics = new Analytics(this.apiCall);\n this._conversations = new Conversations(this.apiCall);\n this.individualConversations = {};\n }\n\n collections(): Collections;\n collections = object>(\n collectionName: string,\n ): Collection;\n collections(collectionName?: string): Collections | Collection {\n if (collectionName === undefined) {\n return this._collections;\n } else {\n if (this.individualCollections[collectionName] === undefined) {\n this.individualCollections[collectionName] = new Collection(\n collectionName,\n this.apiCall,\n this.configuration,\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n\n aliases(): Aliases;\n aliases(aliasName: string): Alias;\n aliases(aliasName?: string): Aliases | Alias {\n if (aliasName === undefined) {\n return this._aliases;\n } else {\n if (this.individualAliases[aliasName] === undefined) {\n this.individualAliases[aliasName] = new Alias(aliasName, this.apiCall);\n }\n return this.individualAliases[aliasName];\n }\n }\n\n keys(): Keys;\n keys(id: number): Key;\n keys(id?: number): Keys | Key {\n if (id === undefined) {\n return this._keys;\n } else {\n if (this.individualKeys[id] === undefined) {\n this.individualKeys[id] = new Key(id, this.apiCall);\n }\n return this.individualKeys[id];\n }\n }\n\n presets(): Presets;\n presets(id: string): Preset;\n presets(id?: string): Presets | Preset {\n if (id === undefined) {\n return this._presets;\n } else {\n if (this.individualPresets[id] === undefined) {\n this.individualPresets[id] = new Preset(id, this.apiCall);\n }\n return this.individualPresets[id];\n }\n }\n\n stopwords(): Stopwords;\n stopwords(id: string): Stopword;\n stopwords(id?: string): Stopwords | Stopword {\n if (id === undefined) {\n return this._stopwords;\n } else {\n if (this.individualStopwords[id] === undefined) {\n this.individualStopwords[id] = new Stopword(id, this.apiCall);\n }\n return this.individualStopwords[id];\n }\n }\n\n conversations(): Conversations;\n conversations(id: string): Conversation;\n conversations(id?: string): Conversations | Conversation {\n if (id === undefined) {\n return this._conversations;\n } else {\n if (this.individualConversations[id] === undefined) {\n this.individualConversations[id] = new Conversation(id, this.apiCall);\n }\n return this.individualConversations[id];\n }\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections, { CollectionCreateSchema } from \"./Collections\";\nimport Documents, { DocumentSchema } from \"./Documents\";\nimport { ObjectNotFound } from \"./Errors\";\nimport Overrides from \"./Overrides\";\nimport Override from \"./Override\";\nimport Synonyms from \"./Synonyms\";\nimport Synonym from \"./Synonym\";\nimport { Document } from \"./Document\";\n\nexport type FieldType =\n | \"string\"\n | \"int32\"\n | \"int64\"\n | \"float\"\n | \"bool\"\n | \"geopoint\"\n | \"geopoint[]\"\n | \"string[]\"\n | \"int32[]\"\n | \"int64[]\"\n | \"float[]\"\n | \"bool[]\"\n | \"object\"\n | \"object[]\"\n | \"auto\"\n | \"string*\"\n | \"image\";\n\nexport interface CollectionFieldSchema {\n name: string;\n type: FieldType;\n optional?: boolean;\n facet?: boolean;\n index?: boolean;\n sort?: boolean;\n locale?: string;\n infix?: boolean;\n stem?: boolean;\n num_dim?: number;\n store?: boolean;\n [t: string]: unknown;\n}\n\nexport interface CollectionSchema extends CollectionCreateSchema {\n created_at: number;\n num_documents: number;\n num_memory_shards: number;\n}\n\nexport interface CollectionDropFieldSchema {\n name: string;\n drop: true;\n}\n\nexport interface CollectionUpdateSchema\n extends Partial> {\n fields?: (CollectionFieldSchema | CollectionDropFieldSchema)[];\n}\n\nexport default class Collection {\n private readonly _documents: Documents;\n private individualDocuments: Record> = {};\n private readonly _overrides: Overrides;\n private individualOverrides: Record = {};\n private readonly _synonyms: Synonyms;\n private individualSynonyms: Record = {};\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any,\n ) {\n this.name = name;\n this.apiCall = apiCall;\n this.configuration = configuration;\n\n this._documents = new Documents(\n this.name,\n this.apiCall,\n this.configuration,\n );\n this._overrides = new Overrides(this.name, this.apiCall);\n this._synonyms = new Synonyms(this.name, this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(schema: CollectionUpdateSchema): Promise {\n return this.apiCall.patch(this.endpointPath(), schema);\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n async exists(): Promise {\n try {\n await this.retrieve();\n return true;\n } catch (e) {\n if (e instanceof ObjectNotFound) return false;\n throw e;\n }\n }\n\n documents(): Documents;\n documents(documentId: string): Document;\n documents(documentId?: string): Document | Documents {\n if (!documentId) {\n return this._documents;\n } else {\n if (this.individualDocuments[documentId] === undefined) {\n this.individualDocuments[documentId] = new Document(\n this.name,\n documentId,\n this.apiCall,\n );\n }\n return this.individualDocuments[documentId];\n }\n }\n\n overrides(): Overrides;\n overrides(overrideId: string): Override;\n overrides(overrideId?: string): Overrides | Override {\n if (overrideId === undefined) {\n return this._overrides;\n } else {\n if (this.individualOverrides[overrideId] === undefined) {\n this.individualOverrides[overrideId] = new Override(\n this.name,\n overrideId,\n this.apiCall,\n );\n }\n return this.individualOverrides[overrideId];\n }\n }\n\n synonyms(): Synonyms;\n synonyms(synonymId: string): Synonym;\n synonyms(synonymId?: string): Synonyms | Synonym {\n if (synonymId === undefined) {\n return this._synonyms;\n } else {\n if (this.individualSynonyms[synonymId] === undefined) {\n this.individualSynonyms[synonymId] = new Synonym(\n this.name,\n synonymId,\n this.apiCall,\n );\n }\n return this.individualSynonyms[synonymId];\n }\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { CollectionFieldSchema, CollectionSchema } from \"./Collection\";\n\nexport interface CollectionCreateSchema {\n name: string;\n default_sorting_field?: string;\n fields?: CollectionFieldSchema[];\n symbols_to_index?: string[];\n token_separators?: string[];\n enable_nested_fields?: boolean;\n metadata?: object;\n voice_query_model?: {\n model_name?: string;\n };\n}\n\nexport interface CollectionCreateOptions {\n src_name?: string;\n}\n\nexport interface CollectionsRetrieveOptions {\n exclude_fields?: string;\n}\n\nconst RESOURCEPATH = \"/collections\";\n\nexport default class Collections {\n constructor(private apiCall: ApiCall) {}\n\n async create(\n schema: CollectionCreateSchema,\n options: CollectionCreateOptions = {},\n ): Promise {\n return this.apiCall.post(RESOURCEPATH, schema, options);\n }\n\n async retrieve(\n options: CollectionsRetrieveOptions = {},\n ): Promise {\n return this.apiCall.get(RESOURCEPATH, options);\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import * as logger from \"loglevel\";\nimport { Logger, LogLevelDesc } from \"loglevel\";\nimport { MissingConfigurationError } from \"./Errors\";\nimport type { Agent as HTTPAgent } from \"http\";\nimport type { Agent as HTTPSAgent } from \"https\";\n\nexport interface NodeConfiguration {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n url?: string;\n}\n\nexport interface NodeConfigurationWithHostname {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n}\n\nexport interface NodeConfigurationWithUrl {\n url: string;\n}\n\nexport interface ConfigurationOptions {\n apiKey: string;\n nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n randomizeNodes?: boolean;\n /**\n * @deprecated\n * masterNode is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n masterNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n /**\n * @deprecated\n * readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n readReplicaNodes?:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n connectionTimeoutSeconds?: number;\n timeoutSeconds?: number;\n healthcheckIntervalSeconds?: number;\n numRetries?: number;\n retryIntervalSeconds?: number;\n sendApiKeyAsQueryParam?: boolean | undefined;\n useServerSideSearchCache?: boolean;\n cacheSearchResultsForSeconds?: number;\n additionalHeaders?: Record;\n\n logLevel?: LogLevelDesc;\n logger?: Logger;\n\n /**\n * Set a custom HTTP Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPAgent } = require(\"http\");\n * ...\n * httpAgent: new HTTPAgent({ keepAlive: true }),\n * @type {HTTPAgent}\n */\n httpAgent?: HTTPAgent;\n\n /**\n * Set a custom HTTPS Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPSAgent } = require(\"https\");\n * ...\n * httpsAgent: new HTTPSAgent({ keepAlive: true }),\n * @type {HTTPSAgent}\n */\n httpsAgent?: HTTPSAgent;\n\n /**\n * Set a custom paramsSerializer\n *\n * See axios documentation for more information on how to use this parameter: https://axios-http.com/docs/req_config\n * This is helpful for handling React Native issues like this: https://github.com/axios/axios/issues/6102#issuecomment-2085301397\n * @type {any}\n */\n paramsSerializer?: any;\n}\n\nexport default class Configuration {\n readonly nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n readonly nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n readonly connectionTimeoutSeconds: number;\n readonly healthcheckIntervalSeconds: number;\n readonly numRetries: number;\n readonly retryIntervalSeconds: number;\n readonly apiKey: string;\n readonly sendApiKeyAsQueryParam?: boolean;\n readonly cacheSearchResultsForSeconds: number;\n readonly useServerSideSearchCache: boolean;\n readonly logger: Logger;\n readonly logLevel: LogLevelDesc;\n readonly additionalHeaders?: Record;\n readonly httpAgent?: HTTPAgent;\n readonly httpsAgent?: HTTPSAgent;\n readonly paramsSerializer?: any;\n\n constructor(options: ConfigurationOptions) {\n this.nodes = options.nodes || [];\n this.nodes = this.nodes\n .map((node) => this.setDefaultPathInNode(node))\n .map((node) => this.setDefaultPortInNode(node))\n .map((node) => ({ ...node })) as NodeConfiguration[]; // Make a deep copy\n\n if (options.randomizeNodes == null) {\n options.randomizeNodes = true;\n }\n\n if (options.randomizeNodes === true) {\n this.shuffleArray(this.nodes);\n }\n\n this.nearestNode = options.nearestNode;\n this.nearestNode = this.setDefaultPathInNode(this.nearestNode);\n this.nearestNode = this.setDefaultPortInNode(this.nearestNode);\n\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\n this.apiKey = options.apiKey;\n this.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam; // We will set a default for this in Client and SearchClient\n\n this.cacheSearchResultsForSeconds =\n options.cacheSearchResultsForSeconds || 0; // Disable client-side cache by default\n this.useServerSideSearchCache = options.useServerSideSearchCache || false;\n\n this.logger = options.logger || logger;\n this.logLevel = options.logLevel || \"warn\";\n this.logger.setLevel(this.logLevel);\n\n this.additionalHeaders = options.additionalHeaders;\n\n this.httpAgent = options.httpAgent;\n this.httpsAgent = options.httpsAgent;\n\n this.paramsSerializer = options.paramsSerializer;\n\n this.showDeprecationWarnings(options);\n this.validate();\n }\n\n validate(): boolean {\n if (this.nodes == null || this.nodes.length === 0 || this.validateNodes()) {\n throw new MissingConfigurationError(\n \"Ensure that nodes[].protocol, nodes[].host and nodes[].port are set\",\n );\n }\n\n if (\n this.nearestNode != null &&\n this.isNodeMissingAnyParameters(this.nearestNode)\n ) {\n throw new MissingConfigurationError(\n \"Ensure that nearestNodes.protocol, nearestNodes.host and nearestNodes.port are set\",\n );\n }\n\n if (this.apiKey == null) {\n throw new MissingConfigurationError(\"Ensure that apiKey is set\");\n }\n\n return true;\n }\n\n private validateNodes(): boolean {\n return this.nodes.some((node) => {\n return this.isNodeMissingAnyParameters(node);\n });\n }\n\n private isNodeMissingAnyParameters(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl,\n ): boolean {\n return (\n ![\"protocol\", \"host\", \"port\", \"path\"].every((key) => {\n return node.hasOwnProperty(key);\n }) && node[\"url\"] == null\n );\n }\n\n private setDefaultPathInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (node != null && !node.hasOwnProperty(\"path\")) {\n node[\"path\"] = \"\";\n }\n return node;\n }\n\n private setDefaultPortInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (\n node != null &&\n !node.hasOwnProperty(\"port\") &&\n node.hasOwnProperty(\"protocol\")\n ) {\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\n private showDeprecationWarnings(options: ConfigurationOptions): void {\n if (options.timeoutSeconds) {\n this.logger.warn(\n \"Deprecation warning: timeoutSeconds is now renamed to connectionTimeoutSeconds\",\n );\n }\n if (options.masterNode) {\n this.logger.warn(\n \"Deprecation warning: masterNode is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n if (options.readReplicaNodes) {\n this.logger.warn(\n \"Deprecation warning: readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n }\n\n private shuffleArray(array) {\n for (let i = array.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [array[i], array[j]] = [array[j], array[i]];\n }\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Conversations from \"./Conversations\";\n\nexport interface ConversationDeleteSchema {\n id: number;\n}\n\nexport interface ConversationUpdateSchema {\n ttl: number;\n}\n\nexport interface ConversationSchema {\n id: number;\n conversation: object[];\n last_updated: number;\n ttl: number;\n}\n\nexport default class Conversation {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(\n params: ConversationUpdateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Conversations.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\n\nexport interface ConversationModelCreateSchema {\n id?: string;\n model_name: string;\n api_key?: string;\n system_prompt?: string;\n max_bytes: number;\n history_collection?: string;\n}\n\nexport interface ConversationModelDeleteSchema {\n id: string;\n}\n\nexport interface ConversationModelSchema extends ConversationModelCreateSchema {\n id: string;\n}\n\nexport default class ConversationModel {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async update(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(\n this.endpointPath(),\n );\n }\n\n private endpointPath(): string {\n return `${ConversationModels.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n ConversationModelCreateSchema,\n ConversationModelSchema,\n} from \"./ConversationModel\";\n\nconst RESOURCEPATH = \"/conversations/models\";\n\nexport default class ConversationModels {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(\n this.endpointPath(),\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${ConversationModels.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\nimport ConversationModel from \"./ConversationModel\";\nimport { ConversationSchema } from \"./Conversation\";\n\nconst RESOURCEPATH = \"/conversations\";\n\nexport interface ConversationsRetrieveSchema {\n conversations: ConversationSchema[];\n}\n\nexport default class Conversations {\n private readonly _conversationsModels: ConversationModels;\n private readonly individualConversationModels: Record<\n string,\n ConversationModel\n > = {};\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._conversationsModels = new ConversationModels(this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n models(): ConversationModels;\n models(id: string): ConversationModel;\n models(id?: string): ConversationModels | ConversationModel {\n if (id === undefined) {\n return this._conversationsModels;\n } else {\n if (this.individualConversationModels[id] === undefined) {\n this.individualConversationModels[id] = new ConversationModel(\n id,\n this.apiCall,\n );\n }\n return this.individualConversationModels[id];\n }\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/debug\";\n\nexport interface DebugResponseSchema {\n state: number;\n version: string;\n}\n\nexport default class Debug {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Documents, {\n DeleteQuery,\n DocumentSchema,\n DocumentWriteParameters,\n} from \"./Documents\";\n\nexport class Document {\n constructor(\n private collectionName: string,\n private documentId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(options?: DeleteQuery): Promise {\n return this.apiCall.delete(this.endpointPath(), options);\n }\n\n async update(\n partialDocument: Partial,\n options: DocumentWriteParameters = {}\n ): Promise {\n return this.apiCall.patch(this.endpointPath(), partialDocument, options);\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Documents.RESOURCEPATH}/${encodeURIComponent(this.documentId)}`;\n }\n}\n","import type { ReadStream } from \"fs\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport { ImportError } from \"./Errors\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\n// Todo: use generic to extract filter_by values\nexport interface DeleteQuery {\n filter_by?: string;\n batch_size?: number;\n ignore_not_found?: boolean;\n}\n\nexport interface DeleteResponse {\n num_deleted: number;\n}\n\ninterface ImportResponseSuccess {\n success: true;\n}\n\nexport interface ImportResponseFail {\n success: false;\n error: string;\n document: DocumentSchema;\n code: number;\n}\n\nexport type ImportResponse = ImportResponseSuccess | ImportResponseFail;\n\nexport type DocumentSchema = Record;\n\nexport interface SearchParamsWithPreset extends Partial {\n preset: string;\n}\n\ntype DropTokensMode =\n | \"right_to_left\"\n | \"left_to_right\"\n | \"both_sides:3\";\n\ntype OperationMode = \"off\" | \"always\" | \"fallback\";\nexport interface SearchParams {\n // From https://typesense.org/docs/latest/api/documents.html#arguments\n q?: string;\n query_by?: string | string[];\n query_by_weights?: string | number[];\n prefix?: string | boolean | boolean[]; // default: true\n filter_by?: string;\n enable_lazy_filter?: boolean; // default: false\n sort_by?: string | string[]; // default: text match desc\n facet_by?: string | string[];\n max_facet_values?: number;\n facet_sample_threshold?: number;\n facet_sample_percent?: number;\n facet_query?: string;\n facet_query_num_typos?: number;\n facet_return_parent?: string;\n page?: number; // default: 1\n per_page?: number; // default: 10, max 250\n group_by?: string | string[];\n group_limit?: number; // default:\n group_missing_values?: boolean;\n include_fields?: string | string[];\n exclude_fields?: string | string[];\n highlight_fields?: string | string[]; // default: all queried fields\n highlight_full_fields?: string | string[]; // default: all fields\n highlight_affix_num_tokens?: number; // default: 4\n highlight_start_tag?: string; // default: \n highlight_end_tag?: string; // default: \n enable_highlight_v1?: boolean;\n snippet_threshold?: number; // default: 30\n num_typos?: string | number | number[]; // default: 2\n min_len_1typo?: number;\n min_len_2typo?: number;\n split_join_tokens?: OperationMode;\n exhaustive_search?: boolean;\n drop_tokens_threshold?: number; // default: 10\n drop_tokens_mode?: DropTokensMode;\n typo_tokens_threshold?: number; // default: 100\n pinned_hits?: string | string[];\n hidden_hits?: string | string[];\n limit_hits?: number; // default: no limit\n pre_segmented_query?: boolean;\n enable_overrides?: boolean;\n prioritize_exact_match?: boolean; // default: true\n prioritize_token_position?: boolean;\n prioritize_num_matching_fields?: boolean;\n search_cutoff_ms?: number;\n use_cache?: boolean;\n max_candidates?: number;\n infix?: OperationMode | OperationMode[];\n preset?: string;\n text_match_type?: \"max_score\" | \"max_weight\";\n vector_query?: string;\n \"x-typesense-api-key\"?: string;\n \"x-typesense-user-id\"?: string;\n offset?: number;\n limit?: number;\n stopwords?: string;\n conversation?: boolean;\n conversation_model_id?: string;\n conversation_id?: string;\n voice_query?: string;\n}\n\ntype SearchResponseHighlightObject = {\n matched_tokens?: string[];\n snippet?: string;\n value?: string;\n};\n\nexport type SearchResponseHighlight = T extends string | number\n ? SearchResponseHighlightObject\n : {\n [TAttribute in keyof T]?: SearchResponseHighlight;\n };\n\nexport interface SearchResponseHit {\n curated?: true;\n highlights?: [\n {\n field: keyof T;\n snippet?: string;\n value?: string;\n snippets?: string[];\n indices?: number[];\n matched_tokens: string[][] | string[];\n },\n ];\n highlight: SearchResponseHighlight;\n document: T;\n text_match: number;\n text_match_info?: {\n best_field_score: string; // To prevent scores from being truncated by JSON spec\n best_field_weight: number;\n fields_matched: number;\n score: string; // To prevent scores from being truncated by JSON spec\n tokens_matched: number;\n };\n}\n\nexport interface SearchResponseFacetCountSchema {\n counts: {\n count: number;\n highlighted: string;\n value: string;\n }[];\n field_name: keyof T;\n stats: {\n avg?: number;\n max?: number;\n min?: number;\n sum?: number;\n };\n}\n\nexport interface SearchResponseRequestParams {\n collection_name?: string;\n q?: string;\n page?: number;\n per_page?: number;\n first_q?: string;\n voice_query?: {\n transcribed_query?: string;\n };\n}\n\n// Todo: we could infer whether this is a grouped response by adding the search params as a generic\nexport interface SearchResponse {\n facet_counts?: SearchResponseFacetCountSchema[];\n found: number;\n found_docs?: number;\n out_of: number;\n page: number;\n request_params: SearchResponseRequestParams;\n search_time_ms: number;\n search_cutoff?: boolean;\n hits?: SearchResponseHit[];\n grouped_hits?: {\n group_key: string[];\n hits: SearchResponseHit[];\n found?: number;\n }[];\n conversation?: {\n answer: string;\n conversation_history: {\n conversation: object[];\n id: string;\n last_updated: number;\n ttl: number;\n };\n conversation_id: string;\n query: string;\n };\n error?: string;\n code?: number;\n}\n\nexport interface DocumentWriteParameters {\n dirty_values?: \"coerce_or_reject\" | \"coerce_or_drop\" | \"drop\" | \"reject\";\n action?: \"create\" | \"update\" | \"upsert\" | \"emplace\";\n}\n\nexport interface UpdateByFilterParameters {\n filter_by?: string;\n}\n\nexport interface UpdateByFilterResponse {\n num_updated: number;\n}\n\nexport interface DocumentImportParameters extends DocumentWriteParameters {\n batch_size?: number;\n return_doc?: boolean;\n return_id?: boolean;\n}\n\nexport interface DocumentsExportParameters {\n filter_by?: string;\n include_fields?: string;\n exclude_fields?: string;\n}\n\nexport interface SearchableDocuments {\n search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n options: SearchOptions,\n ): Promise>;\n clearCache(): void;\n}\n\nexport interface WriteableDocuments {\n create(document: T, options: DocumentWriteParameters): Promise;\n upsert(document: T, options: DocumentWriteParameters): Promise;\n update(document: T, options: DocumentWriteParameters): Promise;\n delete(query: DeleteQuery): Promise;\n import(\n documents: T[] | string,\n options: DocumentWriteParameters,\n ): Promise;\n export(options: DocumentsExportParameters): Promise;\n}\n\nexport interface SearchOptions {\n cacheSearchResultsForSeconds?: number;\n abortSignal?: AbortSignal | null;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class Documents\n extends SearchOnlyDocuments\n implements WriteableDocuments\n{\n constructor(\n collectionName: string,\n apiCall: ApiCall,\n configuration: Configuration,\n ) {\n super(collectionName, apiCall, configuration);\n }\n\n async create(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(this.endpointPath(), document, options);\n }\n\n async upsert(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"upsert\" }),\n );\n }\n\n async update(\n document: T,\n options: UpdateByFilterParameters,\n ): Promise;\n async update(document: T, options: DocumentWriteParameters): Promise;\n async update(\n document: T,\n options: DocumentWriteParameters | UpdateByFilterParameters = {},\n ): Promise {\n if (!document) throw new Error(\"No document provided\");\n\n if (options[\"filter_by\"] != null) {\n return this.apiCall.patch(\n this.endpointPath(),\n document,\n Object.assign({}, options),\n );\n } else {\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"update\" }),\n );\n }\n }\n\n async delete(\n query: DeleteQuery = {} as DeleteQuery,\n ): Promise {\n return this.apiCall.delete(this.endpointPath(), query);\n }\n\n async createMany(documents: T[], options: DocumentImportParameters = {}) {\n this.configuration.logger.warn(\n \"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 );\n return this.import(documents, options);\n }\n\n /**\n * Import a set of documents in a batch.\n * @param {string|Array} documents - Can be a JSONL string of documents or an array of document objects.\n * @param options\n * @return {string|Array} Returns a JSONL string if the input was a JSONL string, otherwise it returns an array of results.\n */\n async import(\n documents: string,\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[],\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[] | string,\n options: DocumentImportParameters = {},\n ): Promise {\n let documentsInJSONLFormat;\n if (Array.isArray(documents)) {\n try {\n documentsInJSONLFormat = documents\n .map((document) => JSON.stringify(document))\n .join(\"\\n\");\n } catch (error: any) {\n // if rangeerror, throw custom error message\n if (\n error instanceof RangeError &&\n error.message.includes(\"Too many properties to enumerate\")\n ) {\n throw new Error(`${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\n // else, throw the non-range error anyways\n throw new Error(error);\n }\n } else {\n documentsInJSONLFormat = documents;\n }\n\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n if (Array.isArray(documents)) {\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter(\n (r) => r.success === false,\n );\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n } else {\n return resultsInJSONLFormat as string;\n }\n }\n /**\n * Imports documents from a NodeJS readable stream of JSONL.\n */\n async importStream(\n readableStream: ReadStream,\n options: DocumentImportParameters = {},\n ): Promise {\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\n queryParameters: options,\n bodyParameters: readableStream,\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter((r) => r.success === false);\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n }\n\n /**\n * Returns a JSONL string for all the documents in this collection\n */\n async export(options: DocumentsExportParameters = {}): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options);\n }\n\n /**\n * Returns a NodeJS readable stream of JSONL for all the documents in this collection.\n */\n async exportStream(\n options: DocumentsExportParameters = {},\n ): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options, {\n responseType: \"stream\",\n });\n }\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class HTTPError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\nimport { ImportResponse } from \"../Documents\";\n\nexport default class ImportError extends TypesenseError {\n importResults: ImportResponse[];\n constructor(message: string, importResults: ImportResponse[]) {\n super(message);\n this.importResults = importResults;\n }\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class MissingConfigurationError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectAlreadyExists extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectNotFound extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectUnprocessable extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestMalformed extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestUnauthorized extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ServerError extends TypesenseError {}\n","export default class TypesenseError extends Error {\n httpStatus?: number;\n\n // Source: https://stackoverflow.com/a/58417721/123545\n constructor(message?: string) {\n super(message);\n this.name = new.target.name;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n","import HTTPError from \"./HTTPError\";\nimport MissingConfigurationError from \"./MissingConfigurationError\";\nimport ObjectAlreadyExists from \"./ObjectAlreadyExists\";\nimport ObjectNotFound from \"./ObjectNotFound\";\nimport ObjectUnprocessable from \"./ObjectUnprocessable\";\nimport RequestMalformed from \"./RequestMalformed\";\nimport RequestUnauthorized from \"./RequestUnauthorized\";\nimport ServerError from \"./ServerError\";\nimport ImportError from \"./ImportError\";\nimport TypesenseError from \"./TypesenseError\";\n\nexport {\n HTTPError,\n MissingConfigurationError,\n ObjectAlreadyExists,\n ObjectNotFound,\n ObjectUnprocessable,\n RequestMalformed,\n RequestUnauthorized,\n ServerError,\n TypesenseError,\n ImportError,\n};\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/health\";\n\nexport interface HealthResponse {\n ok: boolean;\n}\n\nexport default class Health {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Keys from \"./Keys\";\n\nexport interface KeyCreateSchema {\n actions: string[];\n collections: string[];\n description?: string;\n value?: string;\n value_prefix?: string;\n expires_at?: number;\n}\n\nexport interface KeyDeleteSchema {\n id: number;\n}\n\nexport interface KeySchema extends KeyCreateSchema {\n id: number;\n}\n\nexport default class Key {\n constructor(private id: number, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Keys.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import { createHmac } from \"crypto\";\nimport ApiCall from \"./ApiCall\";\nimport { KeyCreateSchema, KeySchema } from \"./Key\";\nimport { SearchParams } from \"./Documents\";\n\nconst RESOURCEPATH = \"/keys\";\n\nexport interface KeysRetrieveSchema {\n keys: KeySchema[];\n}\n\nexport interface GenerateScopedSearchKeyParams extends Partial {\n expires_at?: number;\n cache_ttl?: number;\n limit_multi_searches?: number;\n}\n\nexport default class Keys {\n constructor(private apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(params: KeyCreateSchema): Promise {\n return this.apiCall.post(Keys.RESOURCEPATH, params);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n generateScopedSearchKey(\n searchKey: string,\n parameters: GenerateScopedSearchKeyParams\n ): string {\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 const paramsJSON = JSON.stringify(parameters);\n const digest = Buffer.from(\n createHmac(\"sha256\", searchKey).update(paramsJSON).digest(\"base64\")\n );\n const keyPrefix = searchKey.substr(0, 4);\n const rawScopedKey = `${digest}${keyPrefix}${paramsJSON}`;\n\n return Buffer.from(rawScopedKey).toString(\"base64\");\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/metrics.json\";\n\nexport interface MetricsResponse {\n [key: `system_cpu${number}_active_percentage`]: string;\n system_cpu_active_percentage: string;\n system_disk_total_bytes: string;\n system_disk_used_bytes: string;\n system_memory_total_bytes: string;\n system_memory_total_swap_bytes?: string;\n system_memory_used_bytes: string;\n system_memory_used_swap_bytes?: string;\n system_network_received_bytes: string;\n system_network_sent_bytes: string;\n typesense_memory_active_bytes: string;\n typesense_memory_allocated_bytes: string;\n typesense_memory_fragmentation_ratio: string;\n typesense_memory_mapped_bytes: string;\n typesense_memory_metadata_bytes: string;\n typesense_memory_resident_bytes: string;\n typesense_memory_retained_bytes: string;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport RequestWithCache from \"./RequestWithCache\";\nimport {\n DocumentSchema,\n SearchParams,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\n\nconst RESOURCEPATH = \"/multi_search\";\n\nexport interface MultiSearchRequestSchema extends SearchParams {\n collection?: string;\n \"x-typesense-api-key\"?: string;\n}\n\nexport interface MultiSearchRequestWithPresetSchema\n extends SearchParamsWithPreset {\n collection?: string;\n \"x-typesense-api-key\"?: string;\n}\n\nexport interface MultiSearchRequestsSchema {\n searches: (MultiSearchRequestSchema | MultiSearchRequestWithPresetSchema)[];\n}\n\nexport interface MultiSearchResponse {\n results: { [Index in keyof T]: SearchResponse } & {\n length: T[\"length\"];\n };\n}\n\nexport default class MultiSearch {\n private requestWithCache: RequestWithCache;\n\n constructor(\n private apiCall: ApiCall,\n private configuration: Configuration,\n private useTextContentType: boolean = false\n ) {\n this.requestWithCache = new RequestWithCache();\n }\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async perform(\n searchRequests: MultiSearchRequestsSchema,\n commonParams: Partial = {},\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n }: { cacheSearchResultsForSeconds?: number } = {}\n ): Promise> {\n const additionalHeaders = {};\n if (this.useTextContentType) {\n additionalHeaders[\"content-type\"] = \"text/plain\";\n }\n\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n const queryParams = Object.assign({}, commonParams, additionalQueryParams);\n\n return this.requestWithCache.perform(\n this.apiCall,\n this.apiCall.post,\n [RESOURCEPATH, searchRequests, queryParams, additionalHeaders],\n { cacheResponseForSeconds: cacheSearchResultsForSeconds }\n ) as Promise>;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/operations\";\n\nexport default class Operations {\n constructor(private apiCall: ApiCall) {}\n\n async perform(\n operationName: \"vote\" | \"snapshot\" | \"cache/clear\" | string,\n queryParameters: Record = {}\n ): Promise {\n return this.apiCall.post(\n `${RESOURCEPATH}/${operationName}`,\n {},\n queryParameters\n );\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Overrides, { OverrideCreateSchema } from \"./Overrides\";\n\nexport interface OverrideSchema extends OverrideCreateSchema {\n id: string;\n}\n\nexport interface OverrideDeleteSchema {\n id: string;\n}\n\nexport default class Override {\n constructor(\n private collectionName: string,\n private overrideId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Overrides.RESOURCEPATH}/${encodeURIComponent(this.overrideId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { OverrideSchema } from \"./Override\";\n\nconst RESOURCEPATH = \"/overrides\";\n\nexport interface OverrideRuleQuerySchema {\n query?: string;\n match?: \"exact\" | \"contains\";\n}\n\nexport interface OverrideRuleFilterSchema {\n filter_by?: string;\n}\n\nexport interface OverrideRuleTagsSchema {\n tags?: string[];\n}\n\nexport interface OverrideCreateSchema {\n rule: OverrideRuleQuerySchema &\n OverrideRuleFilterSchema &\n OverrideRuleTagsSchema;\n filter_by?: string;\n sort_by?: string;\n remove_matched_tokens?: boolean;\n replace_query?: string;\n includes?: Array<{\n id: string;\n position: number;\n }>;\n excludes?: Array<{ id: string }>;\n filter_curated_hits?: boolean;\n effective_from_ts?: number;\n effective_to_ts?: number;\n stop_processing?: boolean;\n metadata?: object;\n}\n\nexport interface OverridesRetrieveSchema {\n overrides: OverrideSchema[];\n}\n\nexport default class Overrides {\n constructor(\n private collectionName: string,\n private apiCall: ApiCall,\n ) {}\n\n async upsert(\n overrideId: string,\n params: OverrideCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(overrideId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${\n Overrides.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Presets, { PresetCreateSchema } from \"./Presets\";\n\nexport interface PresetSchema extends PresetCreateSchema {\n name: string;\n}\n\nexport interface PresetDeleteSchema {\n name: string;\n}\n\nexport default class Preset {\n constructor(private presetId: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Presets.RESOURCEPATH}/${encodeURIComponent(this.presetId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { PresetSchema } from \"./Preset\";\nimport { SearchParams } from \"./Documents\";\nimport { MultiSearchRequestsSchema } from \"./MultiSearch\";\n\nconst RESOURCEPATH = \"/presets\";\n\nexport interface PresetCreateSchema {\n value: SearchParams | MultiSearchRequestsSchema;\n}\n\nexport interface PresetsRetrieveSchema {\n presets: PresetSchema[];\n}\n\nexport default class Presets {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n presetId: string,\n params: PresetCreateSchema\n ): Promise {\n return this.apiCall.put(this.endpointPath(presetId), params);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Presets.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","const defaultCacheResponseForSeconds = 2 * 60;\nconst defaultMaxSize = 100;\n\nexport default class RequestWithCache {\n private responseCache: Map = new Map();\n private responsePromiseCache: Map = new Map();\n\n clearCache() {\n this.responseCache = new Map();\n this.responsePromiseCache = new Map();\n }\n\n // Todo: should probably be passed a callback instead, or an apiCall instance. Types are messy this way\n async perform(\n requestContext: any,\n requestFunction: (...params: any) => unknown,\n requestFunctionArguments: any[],\n cacheOptions: CacheOptions\n ): Promise {\n const {\n cacheResponseForSeconds = defaultCacheResponseForSeconds,\n maxSize = defaultMaxSize,\n } = cacheOptions;\n const isCacheDisabled = cacheResponseForSeconds <= 0 || maxSize <= 0;\n\n if (isCacheDisabled) {\n return requestFunction.call(requestContext, ...requestFunctionArguments);\n }\n\n const requestFunctionArgumentsJSON = JSON.stringify(\n requestFunctionArguments\n );\n const cacheEntry = this.responseCache.get(requestFunctionArgumentsJSON);\n const now = Date.now();\n\n if (cacheEntry) {\n const isEntryValid =\n now - cacheEntry.requestTimestamp < cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n this.responseCache.set(requestFunctionArgumentsJSON, cacheEntry);\n return Promise.resolve(cacheEntry.response);\n } else {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n\n const cachePromiseEntry = this.responsePromiseCache.get(\n requestFunctionArgumentsJSON\n );\n\n if (cachePromiseEntry) {\n const isEntryValid =\n now - cachePromiseEntry.requestTimestamp <\n cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n this.responsePromiseCache.set(\n requestFunctionArgumentsJSON,\n cachePromiseEntry\n );\n return cachePromiseEntry.responsePromise;\n } else {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n\n const responsePromise = requestFunction.call(\n requestContext,\n ...requestFunctionArguments\n );\n this.responsePromiseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n responsePromise,\n });\n\n const response = await responsePromise;\n this.responseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n response,\n });\n\n const isCacheOverMaxSize = this.responseCache.size > maxSize;\n if (isCacheOverMaxSize) {\n const oldestEntry = this.responseCache.keys().next().value;\n this.responseCache.delete(oldestEntry);\n }\n const isResponsePromiseCacheOverMaxSize =\n this.responsePromiseCache.size > maxSize;\n if (isResponsePromiseCacheOverMaxSize) {\n const oldestEntry = this.responsePromiseCache.keys().next().value;\n this.responsePromiseCache.delete(oldestEntry);\n }\n return response as T;\n }\n}\n\ninterface CacheOptions {\n cacheResponseForSeconds?: number;\n maxSize?: number;\n}\n","import Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport MultiSearch from \"./MultiSearch\";\nimport { DocumentSchema } from \"./Documents\";\nimport { SearchOnlyCollection } from \"./SearchOnlyCollection\";\n\nexport default class SearchClient {\n public readonly multiSearch: MultiSearch;\n private readonly configuration: Configuration;\n private readonly apiCall: ApiCall;\n private readonly individualCollections: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? true;\n if (\n options.sendApiKeyAsQueryParam === true &&\n (options.apiKey || \"\").length > 2000\n ) {\n console.warn(\n \"[typesense] API Key is longer than 2000 characters which is over the allowed limit, so disabling sending it as a query parameter.\"\n );\n options.sendApiKeyAsQueryParam = false;\n }\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration, true);\n this.individualCollections = {};\n }\n\n clearCache() {\n this.multiSearch.clearCache();\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Object.entries(this.individualCollections).forEach(([_, collection]) => {\n collection.documents().clearCache();\n });\n }\n\n collections(\n collectionName: string\n ): SearchOnlyCollection | SearchOnlyCollection {\n if (!collectionName) {\n throw new Error(\n \"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(\n collectionName,\n this.apiCall,\n this.configuration\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n}\n","import { DocumentSchema, SearchableDocuments } from \"./Documents\";\nimport ApiCall from \"./ApiCall\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\nexport class SearchOnlyCollection {\n private readonly _documents: SearchableDocuments;\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any\n ) {\n this._documents = new SearchOnlyDocuments(\n this.name,\n this.apiCall,\n this.configuration\n );\n }\n\n documents(): SearchableDocuments {\n return this._documents;\n }\n}\n","import RequestWithCache from \"./RequestWithCache\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport Collections from \"./Collections\";\nimport type {\n DocumentSchema,\n SearchableDocuments,\n SearchOptions,\n SearchParams,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\n\nconst RESOURCEPATH = \"/documents\";\n\nexport class SearchOnlyDocuments\n implements SearchableDocuments\n{\n protected requestWithCache: RequestWithCache = new RequestWithCache();\n\n constructor(\n protected collectionName: string,\n protected apiCall: ApiCall,\n protected configuration: Configuration\n ) {}\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n abortSignal = null,\n }: SearchOptions = {}\n ): Promise> {\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n for (const key in searchParameters) {\n if (Array.isArray(searchParameters[key])) {\n additionalQueryParams[key] = searchParameters[key].join(\",\");\n }\n }\n const queryParams = Object.assign(\n {},\n searchParameters,\n additionalQueryParams\n );\n\n return this.requestWithCache.perform(\n this.apiCall,\n this.apiCall.get,\n [this.endpointPath(\"search\"), queryParams, { abortSignal }],\n {\n cacheResponseForSeconds: cacheSearchResultsForSeconds,\n }\n ) as Promise>;\n }\n\n protected endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + operation\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/stats.json\";\n\nexport interface EndpointStats {\n [endpoint: string]: number;\n}\n\nexport interface StatsResponse {\n delete_latency_ms?: number;\n delete_requests_per_second?: number;\n import_latency_ms?: number;\n import_requests_per_second?: number;\n latency_ms?: EndpointStats;\n overloaded_requests_per_second?: number;\n pending_write_batches?: number;\n requests_per_second?: EndpointStats;\n search_latency_ms?: number;\n search_requests_per_second?: number;\n total_requests_per_second?: number;\n write_latency_ms?: number;\n write_requests_per_second?: number;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Stopwords, { StopwordCreateSchema } from \"./Stopwords\";\n\nexport interface StopwordSchema extends StopwordCreateSchema {\n id: string;\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordDeleteSchema {\n id: string;\n}\n\nexport default class Stopword {\n constructor(\n private stopwordId: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Stopwords.RESOURCEPATH}/${encodeURIComponent(this.stopwordId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { StopwordSchema } from \"./Stopword\";\n\nconst RESOURCEPATH = \"/stopwords\";\n\nexport interface StopwordCreateSchema {\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordsRetrieveSchema {\n stopwords: StopwordSchema[];\n}\n\nexport default class Stopwords {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n stopwordId: string,\n params: StopwordCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(stopwordId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Stopwords.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Synonyms, { SynonymCreateSchema } from \"./Synonyms\";\n\nexport interface SynonymSchema extends SynonymCreateSchema {\n id: string;\n}\n\nexport interface SynonymDeleteSchema {\n id: string;\n}\n\nexport default class Synonym {\n constructor(\n private collectionName: string,\n private synonymId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Synonyms.RESOURCEPATH}/${encodeURIComponent(this.synonymId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { SynonymSchema } from \"./Synonym\";\n\nconst RESOURCEPATH = \"/synonyms\";\n\nexport interface SynonymCreateSchema {\n synonyms: string[];\n root?: string;\n locale?: string;\n symbols_to_index?: string[];\n}\n\nexport interface SynonymsRetrieveSchema {\n synonyms: SynonymSchema[];\n}\n\nexport default class Synonyms {\n constructor(private collectionName: string, private apiCall: ApiCall) {}\n\n async upsert(\n synonymId: string,\n params: SynonymCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(synonymId),\n params\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${\n Synonyms.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\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 var _loggersByName = {};\n var defaultLogger = null;\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() {\n /*jshint validthis:true */\n var level = this.getLevel();\n\n // Replace the actual methods.\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, this.name);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n\n // Return any important warnings.\n if (typeof console === undefinedType && level < this.levels.SILENT) {\n return \"No console available for logging\";\n }\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) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this);\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, factory) {\n // Private instance variables.\n var self = this;\n /**\n * The level inherited from a parent logger (or a global default). We\n * cache this here rather than delegating to the parent so that it stays\n * in sync with the actual logging methods that we have installed (the\n * parent could change levels but we might not have rebuilt the loggers\n * in this child yet).\n * @type {number}\n */\n var inheritedLevel;\n /**\n * The default level for this logger, if any. If set, this overrides\n * `inheritedLevel`.\n * @type {number|null}\n */\n var defaultLevel;\n /**\n * A user-specific level for this logger. If set, this overrides\n * `defaultLevel`.\n * @type {number|null}\n */\n var userLevel;\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 cookieName = encodeURIComponent(storageKey);\n var location = cookie.indexOf(cookieName + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(\n cookie.slice(location + cookieName.length + 1)\n )[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 } 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 function normalizeLevel(input) {\n var level = input;\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 return level;\n } else {\n throw new TypeError(\"log.setLevel() called with invalid level: \" + input);\n }\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 if (userLevel != null) {\n return userLevel;\n } else if (defaultLevel != null) {\n return defaultLevel;\n } else {\n return inheritedLevel;\n }\n };\n\n self.setLevel = function (level, persist) {\n userLevel = normalizeLevel(level);\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(userLevel);\n }\n\n // NOTE: in v2, this should call rebuild(), which updates children.\n return replaceLoggingMethods.call(self);\n };\n\n self.setDefaultLevel = function (level) {\n defaultLevel = normalizeLevel(level);\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.resetLevel = function () {\n userLevel = null;\n clearPersistedLevel();\n replaceLoggingMethods.call(self);\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 self.rebuild = function () {\n if (defaultLogger !== self) {\n inheritedLevel = normalizeLevel(defaultLogger.getLevel());\n }\n replaceLoggingMethods.call(self);\n\n if (defaultLogger === self) {\n for (var childName in _loggersByName) {\n _loggersByName[childName].rebuild();\n }\n }\n };\n\n // Initialize all the internal levels.\n inheritedLevel = normalizeLevel(\n defaultLogger ? defaultLogger.getLevel() : \"WARN\"\n );\n var initialLevel = getPersistedLevel();\n if (initialLevel != null) {\n userLevel = normalizeLevel(initialLevel);\n }\n replaceLoggingMethods.call(self);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n defaultLogger = new Logger();\n\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,\n defaultLogger.methodFactory\n );\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","/* (ignored) */","/* (ignored) */","/* (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 e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw new Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\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}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\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 setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\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 _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _isNativeFunction(fn) {\n try {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n } catch (e) {\n return typeof fn === \"function\";\n }\n}","export default function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\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(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\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 _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\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(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\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 getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst supportsRequestStream = isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n});\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n return (await new Request(body).arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ?\n composeSignals([signal, cancelToken], timeout) : [];\n\n let finished, request;\n\n const onFinish = () => {\n !finished && setTimeout(() => {\n composedSignal && composedSignal.unsubscribe();\n });\n\n finished = true;\n }\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush, encodeText);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = \"credentials\" in Request.prototype; \n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n isStreamResponse && onFinish();\n }, encodeText),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && onFinish();\n\n stopTimeout && stopTimeout();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n onFinish();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, 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 const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n 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(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, 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(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\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 (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : 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 const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\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\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(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, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n 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\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const 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 */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(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 {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _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 const {transitional, paramsSerializer, headers} = config;\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 if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let 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 const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\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,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport utils from '../utils.js';\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 {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n 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: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\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 */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n 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 *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\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 *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\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 *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\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 *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(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 config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\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 config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\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 *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, 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(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const 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 withXSRFToken: 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 beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\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 *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\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\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\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 env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\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 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","export const VERSION = \"1.7.5\";","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\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 * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\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 *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst composeSignals = (signals, timeout) => {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (cancel) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = cancel instanceof Error ? cancel : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal &&\n (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort));\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = unsubscribe;\n\n return [signal, () => {\n timer && clearTimeout(timer);\n timer = null;\n }];\n}\n\nexport default composeSignals;\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default 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\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\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 const msie = platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let 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 const 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","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\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} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\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\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\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 *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn.apply(null, args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize, encode) {\n for await (const chunk of iterable) {\n yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize);\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => {\n const iterator = readBytes(stream, chunkSize, encode);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\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 *\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 (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\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 *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\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 *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\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 && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let 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 {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\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 *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\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 (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 const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\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 *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && 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 *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\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 *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap\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))","// 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};","import Client from \"./Typesense/Client\";\nimport SearchClient from \"./Typesense/SearchClient\";\nimport * as Errors from \"./Typesense/Errors\";\n\nexport { Client, SearchClient, Errors };\nexport default { Client, SearchClient, Errors };\n"],"names":["Aliases","Alias","name","apiCall","_classCallCheck","_createClass","key","value","_retrieve","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","abrupt","get","endpointPath","stop","retrieve","apply","arguments","_delete2","_callee2","_callee2$","_context2","delete","_delete","concat","RESOURCEPATH","encodeURIComponent","default","_upsert","mapping","put","upsert","_x","_x2","aliasName","AnalyticsRules","AnalyticsRule","AnalyticsEvents","Analytics","_defineProperty","_analyticsRules","_analyticsEvents","rules","id","undefined","individualAnalyticsRules","events","_create","params","post","create","operation","axios","HTTPError","ObjectAlreadyExists","ObjectNotFound","ObjectUnprocessable","RequestMalformed","RequestUnauthorized","ServerError","TypesenseError","Agent","HTTPAgent","HTTPSAgent","APIKEYHEADERNAME","HEALTHY","UNHEALTHY","isNodeJSEnvironment","process","versions","node","ApiCall","configuration","apiKey","nodes","JSON","parse","stringify","nearestNode","connectionTimeoutSeconds","healthcheckIntervalSeconds","numRetriesPerRequest","numRetries","retryIntervalSeconds","sendApiKeyAsQueryParam","additionalUserHeaders","additionalHeaders","logger","initializeMetadataForNodes","currentNodeIndex","_get","endpoint","queryParameters","_ref","_ref$abortSignal","abortSignal","_ref$responseType","responseType","_args","length","performRequest","_args2","_post","_callee3","bodyParameters","_args3","_callee3$","_context3","_x3","_put","_callee4","_args4","_callee4$","_context4","_x4","_patch","_callee5","_args5","_callee5$","_context5","patch","_x5","_performRequest","_callee6","requestType","_ref2","_this","_ref2$queryParameters","_ref2$bodyParameters","_ref2$additionalHeade","_ref2$abortSignal","_ref2$responseType","_ref2$skipConnectionT","skipConnectionTimeout","_ref2$enableKeepAlive","enableKeepAlive","requestNumber","lastException","_loop","_ret","numTries","_callee6$","_context7","validate","Date","now","debug","toUpperCase","abortListener","requestOptions","cancelToken","source","response","_response$data","_response$data2","_error$response","_loop$","_context6","getNextNode","index","aborted","v","Promise","reject","Error","method","url","uriFor","headers","Object","assign","defaultHeaders","maxContentLength","Infinity","maxBodyLength","validateStatus","status","transformResponse","data","transformedData","startsWith","timeout","keys","httpAgent","warn","keepAlive","httpsAgent","paramsSerializer","_typeof","CancelToken","cancel","addEventListener","token","sent","setNodeHealthcheck","resolve","customErrorForResponse","message","t0","code","timer","removeEventListener","finish","delegateYield","_x6","_x7","_x8","isHealthy","nodeDueForHealthcheck","map","join","candidateNode","i","isDueForHealthcheck","lastAccessTimestamp","_this2","forEach","protocol","host","port","path","_timer","_callee7","seconds","_callee7$","_context8","setTimeout","_x9","messageFromServer","errorMessage","trim","error","httpStatus","Configuration","Collections","Collection","Keys","Key","Debug","Metrics","Stats","Health","Operations","MultiSearch","Presets","Preset","Stopwords","Stopword","Conversations","Conversation","Client","options","_options$sendApiKeyAs","metrics","stats","health","operations","multiSearch","_collections","individualCollections","_aliases","individualAliases","_keys","individualKeys","_presets","individualPresets","_stopwords","individualStopwords","analytics","_conversations","individualConversations","collections","collectionName","aliases","presets","stopwords","conversations","Documents","Overrides","Override","Synonyms","Synonym","Document","_documents","_overrides","_synonyms","_update","schema","update","_exists","exists","documents","documentId","individualDocuments","overrides","overrideId","individualOverrides","synonyms","synonymId","individualSynonyms","MissingConfigurationError","setDefaultPathInNode","setDefaultPortInNode","_objectSpread","randomizeNodes","shuffleArray","timeoutSeconds","cacheSearchResultsForSeconds","useServerSideSearchCache","logLevel","setLevel","showDeprecationWarnings","validateNodes","isNodeMissingAnyParameters","some","every","hasOwnProperty","masterNode","readReplicaNodes","array","j","Math","floor","random","ConversationModels","ConversationModel","_conversationsModels","models","individualConversationModels","partialDocument","ImportError","SearchOnlyDocuments","_inherits","_callSuper","document","action","query","_createMany","import","createMany","_import2","documentsInJSONLFormat","resultsInJSONLFormat","resultsInJSONFormat","failedItems","_args6","Array","isArray","RangeError","includes","split","r","filter","success","_import","_importStream","readableStream","_args7","importStream","_export2","_callee8","_args8","_callee8$","_export","_exportStream","_callee9","_args9","_callee9$","_context9","exportStream","_TypesenseError","importResults","_Error","constructor","setPrototypeOf","_assertThisInitialized","prototype","_wrapNativeSuper","createHmac","generateScopedSearchKey","searchKey","parameters","paramsJSON","digest","Buffer","from","keyPrefix","substr","rawScopedKey","toString","RequestWithCache","useTextContentType","requestWithCache","clearCache","_perform","searchRequests","commonParams","_ref$cacheSearchResul","additionalQueryParams","queryParams","perform","cacheResponseForSeconds","operationName","presetId","defaultCacheResponseForSeconds","defaultMaxSize","Map","responseCache","responsePromiseCache","requestContext","requestFunction","requestFunctionArguments","cacheOptions","_cacheOptions$cacheRe","_cacheOptions$maxSize","maxSize","isCacheDisabled","requestFunctionArgumentsJSON","cacheEntry","isEntryValid","cachePromiseEntry","_isEntryValid","responsePromise","isCacheOverMaxSize","oldestEntry","isResponsePromiseCacheOverMaxSize","_oldestEntry","call","_toConsumableArray","requestTimestamp","set","size","SearchOnlyCollection","SearchClient","console","entries","_slicedToArray","_","collection","_search","searchParameters","search","stopwordId","Errors"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"typesense.js","mappings":"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;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;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;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA,qDAAqD;AACrD,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,sBAAsB;AACtB;;AAEA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA,oCAAoC;AACpC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;;;;;;;;;;ACpWD;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA,cAAc,sGAAiC;AAC/C;AACA,gBAAgB;AAChB;AACA;AACA,GAAG,EAAE,yBAAyB,SAAS,yBAAyB;AAChE;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,KAAK;AACL,iDAAiD;AACjD;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;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;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;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,eAAe;AAClC;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,SAAS;AACtB;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;;;;;;;;;;;;;;;ACHe;AACf;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;ACLA;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;;;;;;;;;;;;;;;;;ACJiD;AACoB;AACtD;AACf,MAAM,wEAAwB;AAC9B;AACA;AACA;AACA,cAAc,8DAAc;AAC5B;;;;;;;;;;;;;;;;ACR+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;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACLiD;AAClC;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH,kBAAkB,8DAAc;AAChC;;;;;;;;;;;;;;;AChBe;AACf;AACA;AACA,IAAI;AACJ;AACA;AACA;;;;;;;;;;;;;;;ACNe;AACf;AACA,yFAAyF;AACzF,IAAI;AACJ;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;ACPe;AACf;AACA;;;;;;;;;;;;;;;ACFe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,YAAY,kEAAkE;AACtF,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;AC1Be;AACf;AACA;;;;;;;;;;;;;;;ACFe;AACf;AACA;;;;;;;;;;;;;;;;;ACFkC;AAC6B;AAChD;AACf,eAAe,sDAAO;AACtB;AACA,IAAI;AACJ;AACA;AACA,S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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP,oCAAoC,iDAAK;;AAEzC,wDAAwD,wFAAsB;AAC9E;AACA,QAAQ,sFAAoB,CAAC,gFAAc;AAC3C;;AAEA;AACA,QAAQ,oEAAW;AACnB;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA,uCAAuC,iDAAK;;AAE5C;;AAEA;;AAEA;AACA,MAAM,2DAAM;AACZ;AACA,iBAAiB,6DAAY;AAC7B;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,IAAI;AACJ;;AAEA;AACA;AACA,YAAY,2DAAU,kBAAkB,2DAAU;AAClD;AACA;AACA;AACA;AACA;;AAEA,UAAU,2DAAU;AACpB;AACA,CAAC,CAAC,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrO+B;AACO;AACsB;AAChB;AACQ;AACC;AACZ;AACO;AACqB;AAChB;;AAExD;;AAEA,iEAAe;AACf;AACA,oBAAoB,qEAAa;AACjC;AACA,2BAA2B,6DAAY;AACvC,SAAS,oDAAoD;AAC7D;AACA;AACA;;AAEA;AACA,oCAAoC;AACpC,wCAAwC;;AAExC;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,8BAA8B,6DAAY;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAM,2DAAM;AACZ;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,iBAAiB,2DAAU,oBAAoB,2DAAU;;AAEzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,2DAAU,kBAAkB,2DAAU;;AAEvD;AACA;AACA;;AAEA;AACA;AACA;AACA,mDAAmD,iEAAoB;AACvE;AACA;AACA;AACA,iBAAiB,2DAAU;AAC3B;AACA,2CAA2C,2DAAU,aAAa,2DAAU;AAC5E;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAM,iDAAK;AACX;AACA,OAAO;AACP;;AAEA;AACA,SAAS,iDAAK;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,4CAA4C,sFAAoB;AAChE;AACA;;AAEA;AACA;AACA,wCAAwC,sFAAoB;;AAE5D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,gEAAa;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,qEAAa;;AAElC,oBAAoB,0DAAQ;AAC5B,iBAAiB,2DAAU,2CAA2C,2DAAU;AAChF;AACA;;;AAGA;AACA;AACA,GAAG;AACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpMY;;AAEkB;AACM;AACD;AACY;AACL;AACc;AACH;AACJ;AACN;AACN;AACW;AACH;AACL;AACY;AACH;AACJ;AACW;;AAEzD;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,OAAO;AACpB;AACA;AACA,sBAAsB,sDAAK;AAC3B,mBAAmB,4DAAI,CAAC,sDAAK;;AAE7B;AACA,EAAE,iDAAK,kBAAkB,sDAAK,sBAAsB,iBAAiB;;AAErE;AACA,EAAE,iDAAK,kCAAkC,iBAAiB;;AAE1D;AACA;AACA,0BAA0B,gEAAW;AACrC;;AAEA;AACA;;AAEA;AACA,6BAA6B,0DAAQ;;AAErC;AACA,cAAc,sDAAK;;AAEnB;AACA,sBAAsB,gEAAa;AACnC,oBAAoB,8DAAW;AAC/B,iBAAiB,2DAAQ;AACzB,gBAAgB,iDAAO;AACvB,mBAAmB,8DAAU;;AAE7B;AACA,mBAAmB,4DAAU;;AAE7B;AACA;;AAEA;AACA;AACA;AACA;;AAEA,eAAe,2DAAM;;AAErB;AACA,qBAAqB,iEAAY;;AAEjC;AACA,oBAAoB,4DAAW;;AAE/B,qBAAqB,8DAAY;;AAEjC,4BAA4B,uEAAc,CAAC,iDAAK;;AAEhD,mBAAmB,8DAAQ;;AAE3B,uBAAuB,mEAAc;;AAErC;;AAEA;AACA,iEAAe,KAAK;;;;;;;;;;;;;;;;;ACxFP;;AAEkC;;AAE/C;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,yDAAa;AACtC;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA,iEAAe,WAAW,EAAC;;;;;;;;;;;;;;;;;;ACxHd;;AAEkC;AACf;;AAEhC;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,aAAa,eAAe;AAC5B;AACA;AACA;AACA,EAAE,2DAAU,oDAAoD,2DAAU;AAC1E;AACA;;AAEA,iDAAK,yBAAyB,2DAAU;AACxC;AACA,CAAC;;AAED,iEAAe,aAAa,EAAC;;;;;;;;;;;;;;;;ACxBhB;;AAEE;AACf;AACA;;;;;;;;;;;;;;;;;;;;;;;;ACJa;;AAEqB;AACY;AACW;AACN;AACR;AACI;AACC;AACH;;AAE7C,mBAAmB,6DAAS;;AAE5B;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,mBAAmB,8DAAkB;AACrC,oBAAoB,8DAAkB;AACtC;AACA;;AAEA;AACA;AACA;AACA,aAAa,eAAe;AAC5B,aAAa,SAAS;AACtB;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA,oEAAoE;;AAEpE;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA,aAAa,2DAAW;;AAExB,WAAW,yCAAyC;;AAEpD;AACA,MAAM,6DAAS;AACf;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,UAAU,iDAAK;AACf;AACA;AACA;AACA,QAAQ;AACR,QAAQ,6DAAS;AACjB;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA,oCAAoC,iDAAK;AACzC;AACA;AACA;;AAEA,eAAe,iDAAK;AACpB;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,wDAAY;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA,qBAAqB,2DAAe;AACpC;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA,gBAAgB,2DAAe;AAC/B,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,aAAa,2DAAW;AACxB,qBAAqB,6DAAa;AAClC,WAAW,gEAAQ;AACnB;AACA;;AAEA;AACA,iDAAK;AACL;AACA;AACA,wBAAwB,2DAAW,aAAa;AAChD;AACA;AACA,yBAAyB;AACzB,KAAK;AACL;AACA,CAAC;;AAED,iDAAK;AACL;;AAEA;AACA;AACA,0BAA0B,2DAAW,aAAa;AAClD;AACA;AACA;AACA,UAAU,IAAI;AACd;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA,CAAC;;AAED,iEAAe,KAAK,EAAC;;;;;;;;;;;;;;;;;ACnOR;;AAEmB;;AAEhC;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,OAAO;AACpB;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iDAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,iDAAK;AACnB;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,CAAC;;AAED;AACA,kDAAkD,YAAY;;AAE9D;AACA;AACA;;AAEA,EAAE,iDAAK;AACP;AACA,GAAG;AACH;AACA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,iEAAe,UAAU,EAAC;;;;;;;;;;;;;;;;;;ACtGb;;AAEmB;AACsB;;AAEtD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS,iDAAK;AACd;;AAEA;AACA;AACA,2BAA2B,mBAAmB;AAC9C;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,MAAM,iDAAK;AACX;AACA;;AAEA;AACA;AACA;;AAEA,OAAO,iDAAK;;AAEZ,MAAM,iDAAK;AACX;AACA;;AAEA,MAAM,iDAAK;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,uBAAuB,iDAAK;;AAE5B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,iDAAK;;AAEvB;AACA;AACA;AACA;;AAEA;AACA,MAAM,iDAAK;;AAEX,QAAQ,iDAAK;AACb;AACA,MAAM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e;AACf;AACA;AACA;;AAEA;AACA,QAAQ,iDAAK,0BAA0B,iDAAK;AAC5C,aAAa,iDAAK,aAAa,SAAS;AACxC,MAAM,SAAS,iDAAK;AACpB,aAAa,iDAAK,SAAS;AAC3B,MAAM,SAAS,iDAAK;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS,iDAAK;AACd;AACA,MAAM,UAAU,iDAAK;AACrB;AACA;AACA;;AAEA;AACA;AACA,SAAS,iDAAK;AACd;AACA;AACA;;AAEA;AACA;AACA,SAAS,iDAAK;AACd;AACA,MAAM,UAAU,iDAAK;AACrB;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;AACA;AACA;AACA;;AAEA,EAAE,iDAAK,qCAAqC;AAC5C;AACA;AACA,KAAK,iDAAK;AACV,GAAG;;AAEH;AACA;;;;;;;;;;;;;;;;;ACzGa;;AAE4B;;AAEzC;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;AACA,IAAI;AACJ,eAAe,sDAAU;AACzB;AACA,OAAO,sDAAU,kBAAkB,sDAAU;AAC7C;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;AC1Ba;;AAEqB;AACU;AACO;;AAEnD;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB;AACA,aAAa,GAAG;AAChB;AACe;AACf,yBAAyB,0DAAQ;AACjC;AACA,kBAAkB,6DAAY;AAC9B;;AAEA,EAAE,iDAAK;AACP;AACA,GAAG;;AAEH;;AAEA;AACA;;;;;;;;;;;;;;;;;;;;;;;AC3Ba;;AAEmB;AACe;AACM;AACH;AACY;AAClB;AACc;;AAE1D;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA,MAAM,iDAAK;AACX;AACA;AACA,aAAa,iDAAK;AAClB,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,gBAAgB,wDAAoB;;AAEpC;;AAEA;AACA;AACA;AACA,4BAA4B,iDAAK;;AAEjC,2BAA2B,iDAAK;AAChC;AACA;;AAEA,uBAAuB,iDAAK;;AAE5B;AACA,iDAAiD,sEAAc;AAC/D;;AAEA,QAAQ,iDAAK;AACb,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX;AACA;AACA;AACA,QAAQ,iDAAK;AACb;AACA;AACA,QAAQ,iDAAK;AACb,gEAAgE;AAChE;AACA;;AAEA;;AAEA;AACA;AACA,eAAe,wEAAgB;AAC/B;;AAEA,wBAAwB,iDAAK;AAC7B;;AAEA,eAAe,kEAAU;AACzB,wBAAwB,iBAAiB;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA,QAAQ,iDAAK,qBAAqB,iDAAK;AACvC;AACA;;AAEA,gBAAgB,iDAAK;AACrB;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA,kBAAkB,2DAAU,SAAS,2DAAU;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,cAAc,0DAAQ;AACtB,UAAU,0DAAQ;AAClB,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iDAAK;AACL;AACA,CAAC;;AAED,iEAAe,QAAQ,EAAC;;;;;;;;;;;;;;;;AChKX;;AAEb,iEAAe;AACf;AACA;AACA;AACA,CAAC,EAAC;;;;;;;;;;;;;;;;ACNK;;;;;;;;;;;;;;;;ACAM;;AAE4B;;AAEzC;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,WAAW,qBAAqB;AAChC,WAAW,qBAAqB;AAChC;AACA,aAAa;AACb;AACA;AACA;;AAEA,YAAY,0DAAU;AACtB;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA,GAAG;AACH;;AAEA,iEAAe,oBAAoB,EAAC;;;;;;;;;;;;;;;;ACzDpC;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;;AAEA;AACA;AACA,CAAC;;AAED,iEAAe,cAAc,EAAC;;;;;;;;;;;;;;;;ACtEjB;;AAEE;AACf;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACNa;;AAEmB;AACsC;;AAEtE;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,IAAI;AACJ,uBAAuB,iDAAK;AAC5B;AACA,UAAU,wEAAoB;AAC9B;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;AC9Da;;AAEb;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AA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AgB;;AAEvB;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACA,OAAO,SAAS;;AAEhB;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;;AAGA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,UAAU;AACrB;AACA,WAAW,SAAS;AACpB,aAAa;AACb;AACA,2BAA2B,oBAAoB,IAAI;AACnD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS;AAC5C,4BAA4B;AAC5B;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA,SAAS,UAAU;AACnB;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,kCAAkC;AAClC,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;;AAEA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA,gCAAgC,WAAW,IAAI;AAC/C;AACA;AACA,eAAe,4DAAI;AACnB,MAAM;AACN;AACA;AACA,GAAG,GAAG,WAAW;AACjB;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,kBAAkB;AAC7B,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,WAAW,kBAAkB;AAC7B,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B,eAAe;;AAEzC;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS,QAAQ;AACjB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,0CAA0C,aAAa;AACvD;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,GAAG,WAAW,cAAc;AAC5B,CAAC;AACD;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,iEAAe;AACf;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,EAAC;;;;;;;UCvvBF;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;;;;;;;ACNwC;AACY;AACP;AAEL;AACxC,iEAAe;EAAE9B,MAAM,EAANA,yDAAM;EAAEuL,YAAY,EAAZA,+DAAY;EAAEU,MAAM,EAANA,8CAAMA;AAAC,CAAC,E","sources":["webpack://Typesense/./src/Typesense/Alias.ts","webpack://Typesense/./src/Typesense/Aliases.ts","webpack://Typesense/./src/Typesense/Analytics.ts","webpack://Typesense/./src/Typesense/AnalyticsEvents.ts","webpack://Typesense/./src/Typesense/AnalyticsRule.ts","webpack://Typesense/./src/Typesense/AnalyticsRules.ts","webpack://Typesense/./src/Typesense/ApiCall.ts","webpack://Typesense/./src/Typesense/Client.ts","webpack://Typesense/./src/Typesense/Collection.ts","webpack://Typesense/./src/Typesense/Collections.ts","webpack://Typesense/./src/Typesense/Configuration.ts","webpack://Typesense/./src/Typesense/Conversation.ts","webpack://Typesense/./src/Typesense/ConversationModel.ts","webpack://Typesense/./src/Typesense/ConversationModels.ts","webpack://Typesense/./src/Typesense/Conversations.ts","webpack://Typesense/./src/Typesense/Debug.ts","webpack://Typesense/./src/Typesense/Document.ts","webpack://Typesense/./src/Typesense/Documents.ts","webpack://Typesense/./src/Typesense/Errors/HTTPError.ts","webpack://Typesense/./src/Typesense/Errors/ImportError.ts","webpack://Typesense/./src/Typesense/Errors/MissingConfigurationError.ts","webpack://Typesense/./src/Typesense/Errors/ObjectAlreadyExists.ts","webpack://Typesense/./src/Typesense/Errors/ObjectNotFound.ts","webpack://Typesense/./src/Typesense/Errors/ObjectUnprocessable.ts","webpack://Typesense/./src/Typesense/Errors/RequestMalformed.ts","webpack://Typesense/./src/Typesense/Errors/RequestUnauthorized.ts","webpack://Typesense/./src/Typesense/Errors/ServerError.ts","webpack://Typesense/./src/Typesense/Errors/TypesenseError.ts","webpack://Typesense/./src/Typesense/Errors/index.ts","webpack://Typesense/./src/Typesense/Health.ts","webpack://Typesense/./src/Typesense/Key.ts","webpack://Typesense/./src/Typesense/Keys.ts","webpack://Typesense/./src/Typesense/Metrics.ts","webpack://Typesense/./src/Typesense/MultiSearch.ts","webpack://Typesense/./src/Typesense/Operations.ts","webpack://Typesense/./src/Typesense/Override.ts","webpack://Typesense/./src/Typesense/Overrides.ts","webpack://Typesense/./src/Typesense/Preset.ts","webpack://Typesense/./src/Typesense/Presets.ts","webpack://Typesense/./src/Typesense/RequestWithCache.ts","webpack://Typesense/./src/Typesense/SearchClient.ts","webpack://Typesense/./src/Typesense/SearchOnlyCollection.ts","webpack://Typesense/./src/Typesense/SearchOnlyDocuments.ts","webpack://Typesense/./src/Typesense/Stats.ts","webpack://Typesense/./src/Typesense/Stopword.ts","webpack://Typesense/./src/Typesense/Stopwords.ts","webpack://Typesense/./src/Typesense/Synonym.ts","webpack://Typesense/./src/Typesense/Synonyms.ts","webpack://Typesense/./node_modules/loglevel/lib/loglevel.js","webpack://Typesense/ignored|/Users/jason/Programming/jprojs/typesense/typesense-js/src/Typesense|crypto","webpack://Typesense/ignored|/Users/jason/Programming/jprojs/typesense/typesense-js/src/Typesense|http","webpack://Typesense/ignored|/Users/jason/Programming/jprojs/typesense/typesense-js/src/Typesense|https","webpack://Typesense/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/regenerator/index.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://Typesense/./node_modules/axios/lib/adapters/adapters.js","webpack://Typesense/./node_modules/axios/lib/adapters/fetch.js","webpack://Typesense/./node_modules/axios/lib/adapters/xhr.js","webpack://Typesense/./node_modules/axios/lib/axios.js","webpack://Typesense/./node_modules/axios/lib/cancel/CancelToken.js","webpack://Typesense/./node_modules/axios/lib/cancel/CanceledError.js","webpack://Typesense/./node_modules/axios/lib/cancel/isCancel.js","webpack://Typesense/./node_modules/axios/lib/core/Axios.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosError.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://Typesense/./node_modules/axios/lib/core/InterceptorManager.js","webpack://Typesense/./node_modules/axios/lib/core/buildFullPath.js","webpack://Typesense/./node_modules/axios/lib/core/dispatchRequest.js","webpack://Typesense/./node_modules/axios/lib/core/mergeConfig.js","webpack://Typesense/./node_modules/axios/lib/core/settle.js","webpack://Typesense/./node_modules/axios/lib/core/transformData.js","webpack://Typesense/./node_modules/axios/lib/defaults/index.js","webpack://Typesense/./node_modules/axios/lib/defaults/transitional.js","webpack://Typesense/./node_modules/axios/lib/env/data.js","webpack://Typesense/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://Typesense/./node_modules/axios/lib/helpers/bind.js","webpack://Typesense/./node_modules/axios/lib/helpers/buildURL.js","webpack://Typesense/./node_modules/axios/lib/helpers/combineURLs.js","webpack://Typesense/./node_modules/axios/lib/helpers/composeSignals.js","webpack://Typesense/./node_modules/axios/lib/helpers/cookies.js","webpack://Typesense/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://Typesense/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://Typesense/./node_modules/axios/lib/helpers/null.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://Typesense/./node_modules/axios/lib/helpers/progressEventReducer.js","webpack://Typesense/./node_modules/axios/lib/helpers/resolveConfig.js","webpack://Typesense/./node_modules/axios/lib/helpers/speedometer.js","webpack://Typesense/./node_modules/axios/lib/helpers/spread.js","webpack://Typesense/./node_modules/axios/lib/helpers/throttle.js","webpack://Typesense/./node_modules/axios/lib/helpers/toFormData.js","webpack://Typesense/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://Typesense/./node_modules/axios/lib/helpers/trackStream.js","webpack://Typesense/./node_modules/axios/lib/helpers/validator.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/index.js","webpack://Typesense/./node_modules/axios/lib/platform/common/utils.js","webpack://Typesense/./node_modules/axios/lib/platform/index.js","webpack://Typesense/./node_modules/axios/lib/utils.js","webpack://Typesense/webpack/bootstrap","webpack://Typesense/webpack/runtime/compat get default export","webpack://Typesense/webpack/runtime/define property getters","webpack://Typesense/webpack/runtime/hasOwnProperty shorthand","webpack://Typesense/webpack/runtime/make namespace object","webpack://Typesense/./src/Typesense.ts"],"sourcesContent":["import Aliases, { CollectionAliasSchema } from \"./Aliases\";\nimport ApiCall from \"./ApiCall\";\n\nexport default class Alias {\n constructor(private name: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/aliases\";\n\nexport interface CollectionAliasCreateSchema {\n collection_name: string;\n}\n\nexport interface CollectionAliasSchema extends CollectionAliasCreateSchema {\n name: string;\n}\n\nexport interface CollectionAliasesResponseSchema {\n aliases: CollectionAliasSchema[];\n}\n\nexport default class Aliases {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n name: string,\n mapping: CollectionAliasCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(name),\n mapping\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n private endpointPath(aliasName): string {\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(aliasName)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\nimport AnalyticsRule from \"./AnalyticsRule\";\nimport AnalyticsEvents from \"./AnalyticsEvents\";\n\nconst RESOURCEPATH = \"/analytics\";\n\nexport default class Analytics {\n private readonly _analyticsRules: AnalyticsRules;\n private readonly individualAnalyticsRules: Record = {};\n private readonly _analyticsEvents: AnalyticsEvents;\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._analyticsRules = new AnalyticsRules(this.apiCall);\n this._analyticsEvents = new AnalyticsEvents(this.apiCall);\n }\n\n rules(id?: string): AnalyticsRules | AnalyticsRule {\n if (id === undefined) {\n return this._analyticsRules;\n } else {\n if (this.individualAnalyticsRules[id] === undefined) {\n this.individualAnalyticsRules[id] = new AnalyticsRule(id, this.apiCall);\n }\n return this.individualAnalyticsRules[id];\n }\n }\n\n events(): AnalyticsEvents {\n return this._analyticsEvents;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { AnalyticsEventCreateSchema } from \"./AnalyticsEvent\";\n\nconst RESOURCEPATH = \"/analytics/events\";\n\nexport default class AnalyticsEvents {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: AnalyticsEventCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsEvents.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\n\nexport interface AnalyticsRuleCreateSchema {\n type: \"popular_queries\" | \"nohits_queries\" | \"counter\";\n params: {\n source: {\n collections: string[];\n events?: Array<{\n type: string;\n weight: number;\n name: string;\n }>;\n };\n expand_query?: boolean;\n destination: {\n collection: string;\n counter_field?: string;\n };\n limit?: number;\n };\n}\n\nexport interface AnalyticsRuleDeleteSchema {\n name: string;\n}\n\nexport interface AnalyticsRuleSchema extends AnalyticsRuleCreateSchema {\n name: string;\n}\n\nexport default class AnalyticsRule {\n constructor(\n private name: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${AnalyticsRules.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n AnalyticsRuleCreateSchema,\n AnalyticsRuleSchema,\n} from \"./AnalyticsRule\";\n\nexport interface AnalyticsRulesRetrieveSchema {\n rules: AnalyticsRuleSchema[];\n}\n\nconst RESOURCEPATH = \"/analytics/rules\";\n\nexport default class AnalyticsRules {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async upsert(\n name: string,\n params: AnalyticsRuleCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(name),\n params\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsRules.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import axios, { AxiosRequestConfig, AxiosResponse, Method } from \"axios\";\nimport { Logger } from \"loglevel\";\nimport {\n HTTPError,\n ObjectAlreadyExists,\n ObjectNotFound,\n ObjectUnprocessable,\n RequestMalformed,\n RequestUnauthorized,\n ServerError,\n} from \"./Errors\";\nimport TypesenseError from \"./Errors/TypesenseError\";\nimport Configuration, { NodeConfiguration } from \"./Configuration\";\nimport { Agent as HTTPAgent } from \"http\";\nimport { Agent as HTTPSAgent } from \"https\";\n\nconst APIKEYHEADERNAME = \"X-TYPESENSE-API-KEY\";\nconst HEALTHY = true;\nconst UNHEALTHY = false;\n\ninterface Node extends NodeConfiguration {\n isHealthy: boolean;\n index: string | number;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class ApiCall {\n private readonly apiKey: string;\n private readonly nodes: Node[];\n private readonly nearestNode: Node;\n private readonly connectionTimeoutSeconds: number;\n private readonly healthcheckIntervalSeconds: number;\n private readonly retryIntervalSeconds: number;\n private readonly sendApiKeyAsQueryParam?: boolean;\n private readonly numRetriesPerRequest: number;\n private readonly additionalUserHeaders?: Record;\n\n private readonly logger: Logger;\n private currentNodeIndex: number;\n\n constructor(private 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\n this.logger = this.configuration.logger;\n\n this.initializeMetadataForNodes();\n this.currentNodeIndex = -1;\n }\n\n async get(\n endpoint: string,\n queryParameters: any = {},\n {\n abortSignal = null,\n responseType = undefined,\n }: {\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n } = {},\n ): Promise {\n return this.performRequest(\"get\", endpoint, {\n queryParameters,\n abortSignal,\n responseType,\n });\n }\n\n async delete(endpoint: string, queryParameters: any = {}): Promise {\n return this.performRequest(\"delete\", endpoint, { queryParameters });\n }\n\n async post(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n additionalHeaders: any = {},\n ): Promise {\n return this.performRequest(\"post\", endpoint, {\n queryParameters,\n bodyParameters,\n additionalHeaders,\n });\n }\n\n async put(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"put\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async patch(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"patch\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async performRequest(\n requestType: Method,\n endpoint: string,\n {\n queryParameters = null,\n bodyParameters = null,\n additionalHeaders = {},\n abortSignal = null,\n responseType = undefined,\n skipConnectionTimeout = false,\n enableKeepAlive = undefined,\n }: {\n queryParameters?: any;\n bodyParameters?: any;\n additionalHeaders?: any;\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n skipConnectionTimeout?: boolean;\n enableKeepAlive?: boolean | undefined;\n },\n ): Promise {\n this.configuration.validate();\n\n const requestNumber = Date.now();\n let lastException;\n this.logger.debug(\n `Request #${requestNumber}: Performing ${requestType.toUpperCase()} request: ${endpoint}`,\n );\n for (\n let numTries = 1;\n numTries <= this.numRetriesPerRequest + 1;\n numTries++\n ) {\n const node = this.getNextNode(requestNumber);\n this.logger.debug(\n `Request #${requestNumber}: Attempting ${requestType.toUpperCase()} request Try #${numTries} to Node ${\n node.index\n }`,\n );\n\n if (abortSignal && abortSignal.aborted) {\n return Promise.reject(new Error(\"Request aborted by caller.\"));\n }\n\n let abortListener;\n\n try {\n const requestOptions: AxiosRequestConfig = {\n method: requestType,\n url: this.uriFor(endpoint, node),\n headers: Object.assign(\n {},\n this.defaultHeaders(),\n additionalHeaders,\n this.additionalUserHeaders,\n ),\n maxContentLength: Infinity,\n maxBodyLength: Infinity,\n responseType,\n validateStatus: (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 (data, headers) => {\n let transformedData = data;\n if (\n headers !== undefined &&\n typeof data === \"string\" &&\n headers[\"content-type\"] &&\n headers[\"content-type\"].startsWith(\"application/json\")\n ) {\n transformedData = JSON.parse(data);\n }\n return transformedData;\n },\n ],\n };\n\n if (skipConnectionTimeout !== true) {\n requestOptions.timeout = this.connectionTimeoutSeconds * 1000;\n }\n\n if (queryParameters && Object.keys(queryParameters).length !== 0) {\n requestOptions.params = queryParameters;\n }\n\n if (this.sendApiKeyAsQueryParam) {\n requestOptions.params = requestOptions.params || {};\n requestOptions.params[\"x-typesense-api-key\"] = this.apiKey;\n }\n\n if (this.configuration.httpAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpAgent`,\n );\n requestOptions.httpAgent = this.configuration.httpAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling KeepAlive`);\n requestOptions.httpAgent = new HTTPAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.httpsAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpsAgent`,\n );\n requestOptions.httpsAgent = this.configuration.httpsAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling keepAlive`);\n requestOptions.httpsAgent = new HTTPSAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.paramsSerializer) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom paramsSerializer`,\n );\n requestOptions.paramsSerializer = this.configuration.paramsSerializer;\n }\n\n if (\n bodyParameters &&\n ((typeof bodyParameters === \"string\" &&\n bodyParameters.length !== 0) ||\n (typeof bodyParameters === \"object\" &&\n Object.keys(bodyParameters).length !== 0))\n ) {\n requestOptions.data = bodyParameters;\n }\n\n // Translate from user-provided AbortController to the Axios request cancel mechanism.\n if (abortSignal) {\n const cancelToken = axios.CancelToken;\n const source = cancelToken.source();\n abortListener = () => source.cancel();\n abortSignal.addEventListener(\"abort\", abortListener);\n requestOptions.cancelToken = source.token;\n }\n\n const response = await axios(requestOptions);\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.setNodeHealthcheck(node, HEALTHY);\n }\n this.logger.debug(\n `Request #${requestNumber}: Request to Node ${node.index} was made. Response Code was ${response.status}.`,\n );\n\n if (response.status >= 200 && response.status < 300) {\n // If response is 2xx return a resolved promise\n return Promise.resolve(response.data);\n } else if (response.status < 500) {\n // Next, if response is anything but 5xx, don't retry, return a custom error\n return Promise.reject(\n this.customErrorForResponse(response, response.data?.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.customErrorForResponse(response, response.data?.message);\n }\n } catch (error: any) {\n // This block handles retries for HTTPStatus > 500 and network layer issues like connection timeouts\n this.setNodeHealthcheck(node, UNHEALTHY);\n lastException = error;\n this.logger.warn(\n `Request #${requestNumber}: Request to Node ${\n node.index\n } failed due to \"${error.code} ${error.message}${\n error.response == null\n ? \"\"\n : \" - \" + JSON.stringify(error.response?.data)\n }\"`,\n );\n // this.logger.debug(error.stack)\n this.logger.warn(\n `Request #${requestNumber}: Sleeping for ${this.retryIntervalSeconds}s and then retrying request...`,\n );\n await this.timer(this.retryIntervalSeconds);\n } finally {\n if (abortSignal && abortListener) {\n abortSignal.removeEventListener(\"abort\", abortListener);\n }\n }\n }\n this.logger.debug(\n `Request #${requestNumber}: No retries left. Raising last error`,\n );\n return Promise.reject(lastException);\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 getNextNode(requestNumber = 0): Node {\n // Check if nearestNode is set and is healthy, if so return it\n if (this.nearestNode != null) {\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: Node ${\n this.nearestNode.index\n } is ${this.nearestNode.isHealthy === true ? \"Healthy\" : \"Unhealthy\"}`,\n );\n if (\n this.nearestNode.isHealthy === true ||\n this.nodeDueForHealthcheck(this.nearestNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${this.nearestNode.index}`,\n );\n return this.nearestNode;\n }\n this.logger.debug(\n `Request #${requestNumber}: Falling back to individual nodes`,\n );\n }\n\n // Fallback to nodes as usual\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: ${this.nodes\n .map(\n (node) =>\n `Node ${node.index} is ${\n node.isHealthy === true ? \"Healthy\" : \"Unhealthy\"\n }`,\n )\n .join(\" || \")}`,\n );\n let candidateNode: Node = this.nodes[0];\n for (let i = 0; i <= this.nodes.length; i++) {\n this.currentNodeIndex = (this.currentNodeIndex + 1) % this.nodes.length;\n candidateNode = this.nodes[this.currentNodeIndex];\n if (\n candidateNode.isHealthy === true ||\n this.nodeDueForHealthcheck(candidateNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\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(\n `Request #${requestNumber}: No healthy nodes were found. Returning the next node, Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\n\n nodeDueForHealthcheck(node, requestNumber = 0): boolean {\n const isDueForHealthcheck =\n Date.now() - node.lastAccessTimestamp >\n this.healthcheckIntervalSeconds * 1000;\n if (isDueForHealthcheck) {\n this.logger.debug(\n `Request #${requestNumber}: Node ${node.index} has exceeded healtcheckIntervalSeconds of ${this.healthcheckIntervalSeconds}. Adding it back into rotation.`,\n );\n }\n return isDueForHealthcheck;\n }\n\n initializeMetadataForNodes(): void {\n if (this.nearestNode != null) {\n this.nearestNode.index = \"nearestNode\";\n this.setNodeHealthcheck(this.nearestNode, HEALTHY);\n }\n\n this.nodes.forEach((node, i) => {\n node.index = i;\n this.setNodeHealthcheck(node, HEALTHY);\n });\n }\n\n setNodeHealthcheck(node, isHealthy): void {\n node.isHealthy = isHealthy;\n node.lastAccessTimestamp = Date.now();\n }\n\n uriFor(endpoint: string, node): string {\n if (node.url != null) {\n return `${node.url}${endpoint}`;\n }\n return `${node.protocol}://${node.host}:${node.port}${node.path}${endpoint}`;\n }\n\n defaultHeaders(): any {\n const defaultHeaders = {};\n if (!this.sendApiKeyAsQueryParam) {\n defaultHeaders[APIKEYHEADERNAME] = this.apiKey;\n }\n defaultHeaders[\"Content-Type\"] = \"application/json\";\n return defaultHeaders;\n }\n\n async timer(seconds): Promise {\n return new Promise((resolve) => setTimeout(resolve, seconds * 1000));\n }\n\n customErrorForResponse(\n response: AxiosResponse,\n messageFromServer: string,\n ): TypesenseError {\n let errorMessage = `Request failed with HTTP code ${response.status}`;\n if (\n typeof messageFromServer === \"string\" &&\n messageFromServer.trim() !== \"\"\n ) {\n errorMessage += ` | Server said: ${messageFromServer}`;\n }\n\n let error = new TypesenseError(errorMessage);\n\n if (response.status === 400) {\n error = new RequestMalformed(errorMessage);\n } else if (response.status === 401) {\n error = new RequestUnauthorized(errorMessage);\n } else if (response.status === 404) {\n error = new ObjectNotFound(errorMessage);\n } else if (response.status === 409) {\n error = new ObjectAlreadyExists(errorMessage);\n } else if (response.status === 422) {\n error = new ObjectUnprocessable(errorMessage);\n } else if (response.status >= 500 && response.status <= 599) {\n error = new ServerError(errorMessage);\n } else {\n error = new HTTPError(errorMessage);\n }\n\n error.httpStatus = response.status;\n\n return error;\n }\n}\n","/* eslint-disable no-dupe-class-members */\n\nimport Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Collection from \"./Collection\";\nimport Aliases from \"./Aliases\";\nimport Alias from \"./Alias\";\nimport Keys from \"./Keys\";\nimport Key from \"./Key\";\nimport Debug from \"./Debug\";\nimport Metrics from \"./Metrics\";\nimport Stats from \"./Stats\";\nimport Health from \"./Health\";\nimport Operations from \"./Operations\";\nimport MultiSearch from \"./MultiSearch\";\nimport Presets from \"./Presets\";\nimport Preset from \"./Preset\";\nimport Analytics from \"./Analytics\";\nimport Stopwords from \"./Stopwords\";\nimport Stopword from \"./Stopword\";\nimport Conversations from \"./Conversations\";\nimport Conversation from \"./Conversation\";\n\nexport default class Client {\n configuration: Configuration;\n apiCall: ApiCall;\n debug: Debug;\n metrics: Metrics;\n stats: Stats;\n health: Health;\n operations: Operations;\n multiSearch: MultiSearch;\n analytics: Analytics;\n private readonly _collections: Collections;\n private readonly individualCollections: Record;\n private readonly _aliases: Aliases;\n private readonly individualAliases: Record;\n private readonly _keys: Keys;\n private readonly individualKeys: Record;\n private readonly _presets: Presets;\n private readonly individualPresets: Record;\n private readonly _stopwords: Stopwords;\n private readonly individualStopwords: Record;\n private readonly _conversations: Conversations;\n private readonly individualConversations: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? false;\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.debug = new Debug(this.apiCall);\n this.metrics = new Metrics(this.apiCall);\n this.stats = new Stats(this.apiCall);\n this.health = new Health(this.apiCall);\n this.operations = new Operations(this.apiCall);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration);\n this._collections = new Collections(this.apiCall);\n this.individualCollections = {};\n this._aliases = new Aliases(this.apiCall);\n this.individualAliases = {};\n this._keys = new Keys(this.apiCall);\n this.individualKeys = {};\n this._presets = new Presets(this.apiCall);\n this.individualPresets = {};\n this._stopwords = new Stopwords(this.apiCall);\n this.individualStopwords = {};\n this.analytics = new Analytics(this.apiCall);\n this._conversations = new Conversations(this.apiCall);\n this.individualConversations = {};\n }\n\n collections(): Collections;\n collections = object>(\n collectionName: string,\n ): Collection;\n collections(collectionName?: string): Collections | Collection {\n if (collectionName === undefined) {\n return this._collections;\n } else {\n if (this.individualCollections[collectionName] === undefined) {\n this.individualCollections[collectionName] = new Collection(\n collectionName,\n this.apiCall,\n this.configuration,\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n\n aliases(): Aliases;\n aliases(aliasName: string): Alias;\n aliases(aliasName?: string): Aliases | Alias {\n if (aliasName === undefined) {\n return this._aliases;\n } else {\n if (this.individualAliases[aliasName] === undefined) {\n this.individualAliases[aliasName] = new Alias(aliasName, this.apiCall);\n }\n return this.individualAliases[aliasName];\n }\n }\n\n keys(): Keys;\n keys(id: number): Key;\n keys(id?: number): Keys | Key {\n if (id === undefined) {\n return this._keys;\n } else {\n if (this.individualKeys[id] === undefined) {\n this.individualKeys[id] = new Key(id, this.apiCall);\n }\n return this.individualKeys[id];\n }\n }\n\n presets(): Presets;\n presets(id: string): Preset;\n presets(id?: string): Presets | Preset {\n if (id === undefined) {\n return this._presets;\n } else {\n if (this.individualPresets[id] === undefined) {\n this.individualPresets[id] = new Preset(id, this.apiCall);\n }\n return this.individualPresets[id];\n }\n }\n\n stopwords(): Stopwords;\n stopwords(id: string): Stopword;\n stopwords(id?: string): Stopwords | Stopword {\n if (id === undefined) {\n return this._stopwords;\n } else {\n if (this.individualStopwords[id] === undefined) {\n this.individualStopwords[id] = new Stopword(id, this.apiCall);\n }\n return this.individualStopwords[id];\n }\n }\n\n conversations(): Conversations;\n conversations(id: string): Conversation;\n conversations(id?: string): Conversations | Conversation {\n if (id === undefined) {\n return this._conversations;\n } else {\n if (this.individualConversations[id] === undefined) {\n this.individualConversations[id] = new Conversation(id, this.apiCall);\n }\n return this.individualConversations[id];\n }\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections, { CollectionCreateSchema } from \"./Collections\";\nimport Documents, { DocumentSchema } from \"./Documents\";\nimport { ObjectNotFound } from \"./Errors\";\nimport Overrides from \"./Overrides\";\nimport Override from \"./Override\";\nimport Synonyms from \"./Synonyms\";\nimport Synonym from \"./Synonym\";\nimport { Document } from \"./Document\";\n\nexport type FieldType =\n | \"string\"\n | \"int32\"\n | \"int64\"\n | \"float\"\n | \"bool\"\n | \"geopoint\"\n | \"geopoint[]\"\n | \"string[]\"\n | \"int32[]\"\n | \"int64[]\"\n | \"float[]\"\n | \"bool[]\"\n | \"object\"\n | \"object[]\"\n | \"auto\"\n | \"string*\"\n | \"image\";\n\nexport interface CollectionFieldSchema {\n name: string;\n type: FieldType;\n optional?: boolean;\n facet?: boolean;\n index?: boolean;\n sort?: boolean;\n locale?: string;\n infix?: boolean;\n stem?: boolean;\n num_dim?: number;\n store?: boolean;\n [t: string]: unknown;\n}\n\nexport interface CollectionSchema extends CollectionCreateSchema {\n created_at: number;\n num_documents: number;\n num_memory_shards: number;\n}\n\nexport interface CollectionDropFieldSchema {\n name: string;\n drop: true;\n}\n\nexport interface CollectionUpdateSchema\n extends Partial> {\n fields?: (CollectionFieldSchema | CollectionDropFieldSchema)[];\n}\n\nexport default class Collection {\n private readonly _documents: Documents;\n private individualDocuments: Record> = {};\n private readonly _overrides: Overrides;\n private individualOverrides: Record = {};\n private readonly _synonyms: Synonyms;\n private individualSynonyms: Record = {};\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any,\n ) {\n this.name = name;\n this.apiCall = apiCall;\n this.configuration = configuration;\n\n this._documents = new Documents(\n this.name,\n this.apiCall,\n this.configuration,\n );\n this._overrides = new Overrides(this.name, this.apiCall);\n this._synonyms = new Synonyms(this.name, this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(schema: CollectionUpdateSchema): Promise {\n return this.apiCall.patch(this.endpointPath(), schema);\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n async exists(): Promise {\n try {\n await this.retrieve();\n return true;\n } catch (e) {\n if (e instanceof ObjectNotFound) return false;\n throw e;\n }\n }\n\n documents(): Documents;\n documents(documentId: string): Document;\n documents(documentId?: string): Document | Documents {\n if (!documentId) {\n return this._documents;\n } else {\n if (this.individualDocuments[documentId] === undefined) {\n this.individualDocuments[documentId] = new Document(\n this.name,\n documentId,\n this.apiCall,\n );\n }\n return this.individualDocuments[documentId];\n }\n }\n\n overrides(): Overrides;\n overrides(overrideId: string): Override;\n overrides(overrideId?: string): Overrides | Override {\n if (overrideId === undefined) {\n return this._overrides;\n } else {\n if (this.individualOverrides[overrideId] === undefined) {\n this.individualOverrides[overrideId] = new Override(\n this.name,\n overrideId,\n this.apiCall,\n );\n }\n return this.individualOverrides[overrideId];\n }\n }\n\n synonyms(): Synonyms;\n synonyms(synonymId: string): Synonym;\n synonyms(synonymId?: string): Synonyms | Synonym {\n if (synonymId === undefined) {\n return this._synonyms;\n } else {\n if (this.individualSynonyms[synonymId] === undefined) {\n this.individualSynonyms[synonymId] = new Synonym(\n this.name,\n synonymId,\n this.apiCall,\n );\n }\n return this.individualSynonyms[synonymId];\n }\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { CollectionFieldSchema, CollectionSchema } from \"./Collection\";\n\nexport interface CollectionCreateSchema {\n name: string;\n default_sorting_field?: string;\n fields?: CollectionFieldSchema[];\n symbols_to_index?: string[];\n token_separators?: string[];\n enable_nested_fields?: boolean;\n metadata?: object;\n voice_query_model?: {\n model_name?: string;\n };\n}\n\nexport interface CollectionCreateOptions {\n src_name?: string;\n}\n\nexport interface CollectionsRetrieveOptions {\n exclude_fields?: string;\n}\n\nconst RESOURCEPATH = \"/collections\";\n\nexport default class Collections {\n constructor(private apiCall: ApiCall) {}\n\n async create(\n schema: CollectionCreateSchema,\n options: CollectionCreateOptions = {},\n ): Promise {\n return this.apiCall.post(RESOURCEPATH, schema, options);\n }\n\n async retrieve(\n options: CollectionsRetrieveOptions = {},\n ): Promise {\n return this.apiCall.get(RESOURCEPATH, options);\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import * as logger from \"loglevel\";\nimport { Logger, LogLevelDesc } from \"loglevel\";\nimport { MissingConfigurationError } from \"./Errors\";\nimport type { Agent as HTTPAgent } from \"http\";\nimport type { Agent as HTTPSAgent } from \"https\";\n\nexport interface NodeConfiguration {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n url?: string;\n}\n\nexport interface NodeConfigurationWithHostname {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n}\n\nexport interface NodeConfigurationWithUrl {\n url: string;\n}\n\nexport interface ConfigurationOptions {\n apiKey: string;\n nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n randomizeNodes?: boolean;\n /**\n * @deprecated\n * masterNode is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n masterNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n /**\n * @deprecated\n * readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n readReplicaNodes?:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n connectionTimeoutSeconds?: number;\n timeoutSeconds?: number;\n healthcheckIntervalSeconds?: number;\n numRetries?: number;\n retryIntervalSeconds?: number;\n sendApiKeyAsQueryParam?: boolean | undefined;\n useServerSideSearchCache?: boolean;\n cacheSearchResultsForSeconds?: number;\n additionalHeaders?: Record;\n\n logLevel?: LogLevelDesc;\n logger?: Logger;\n\n /**\n * Set a custom HTTP Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPAgent } = require(\"http\");\n * ...\n * httpAgent: new HTTPAgent({ keepAlive: true }),\n * @type {HTTPAgent}\n */\n httpAgent?: HTTPAgent;\n\n /**\n * Set a custom HTTPS Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPSAgent } = require(\"https\");\n * ...\n * httpsAgent: new HTTPSAgent({ keepAlive: true }),\n * @type {HTTPSAgent}\n */\n httpsAgent?: HTTPSAgent;\n\n /**\n * Set a custom paramsSerializer\n *\n * See axios documentation for more information on how to use this parameter: https://axios-http.com/docs/req_config\n * This is helpful for handling React Native issues like this: https://github.com/axios/axios/issues/6102#issuecomment-2085301397\n * @type {any}\n */\n paramsSerializer?: any;\n}\n\nexport default class Configuration {\n readonly nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n readonly nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n readonly connectionTimeoutSeconds: number;\n readonly healthcheckIntervalSeconds: number;\n readonly numRetries: number;\n readonly retryIntervalSeconds: number;\n readonly apiKey: string;\n readonly sendApiKeyAsQueryParam?: boolean;\n readonly cacheSearchResultsForSeconds: number;\n readonly useServerSideSearchCache: boolean;\n readonly logger: Logger;\n readonly logLevel: LogLevelDesc;\n readonly additionalHeaders?: Record;\n readonly httpAgent?: HTTPAgent;\n readonly httpsAgent?: HTTPSAgent;\n readonly paramsSerializer?: any;\n\n constructor(options: ConfigurationOptions) {\n this.nodes = options.nodes || [];\n this.nodes = this.nodes\n .map((node) => this.setDefaultPathInNode(node))\n .map((node) => this.setDefaultPortInNode(node))\n .map((node) => ({ ...node })) as NodeConfiguration[]; // Make a deep copy\n\n if (options.randomizeNodes == null) {\n options.randomizeNodes = true;\n }\n\n if (options.randomizeNodes === true) {\n this.shuffleArray(this.nodes);\n }\n\n this.nearestNode = options.nearestNode;\n this.nearestNode = this.setDefaultPathInNode(this.nearestNode);\n this.nearestNode = this.setDefaultPortInNode(this.nearestNode);\n\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\n this.apiKey = options.apiKey;\n this.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam; // We will set a default for this in Client and SearchClient\n\n this.cacheSearchResultsForSeconds =\n options.cacheSearchResultsForSeconds || 0; // Disable client-side cache by default\n this.useServerSideSearchCache = options.useServerSideSearchCache || false;\n\n this.logger = options.logger || logger;\n this.logLevel = options.logLevel || \"warn\";\n this.logger.setLevel(this.logLevel);\n\n this.additionalHeaders = options.additionalHeaders;\n\n this.httpAgent = options.httpAgent;\n this.httpsAgent = options.httpsAgent;\n\n this.paramsSerializer = options.paramsSerializer;\n\n this.showDeprecationWarnings(options);\n this.validate();\n }\n\n validate(): boolean {\n if (this.nodes == null || this.nodes.length === 0 || this.validateNodes()) {\n throw new MissingConfigurationError(\n \"Ensure that nodes[].protocol, nodes[].host and nodes[].port are set\",\n );\n }\n\n if (\n this.nearestNode != null &&\n this.isNodeMissingAnyParameters(this.nearestNode)\n ) {\n throw new MissingConfigurationError(\n \"Ensure that nearestNodes.protocol, nearestNodes.host and nearestNodes.port are set\",\n );\n }\n\n if (this.apiKey == null) {\n throw new MissingConfigurationError(\"Ensure that apiKey is set\");\n }\n\n return true;\n }\n\n private validateNodes(): boolean {\n return this.nodes.some((node) => {\n return this.isNodeMissingAnyParameters(node);\n });\n }\n\n private isNodeMissingAnyParameters(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl,\n ): boolean {\n return (\n ![\"protocol\", \"host\", \"port\", \"path\"].every((key) => {\n return node.hasOwnProperty(key);\n }) && node[\"url\"] == null\n );\n }\n\n private setDefaultPathInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (node != null && !node.hasOwnProperty(\"path\")) {\n node[\"path\"] = \"\";\n }\n return node;\n }\n\n private setDefaultPortInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (\n node != null &&\n !node.hasOwnProperty(\"port\") &&\n node.hasOwnProperty(\"protocol\")\n ) {\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\n private showDeprecationWarnings(options: ConfigurationOptions): void {\n if (options.timeoutSeconds) {\n this.logger.warn(\n \"Deprecation warning: timeoutSeconds is now renamed to connectionTimeoutSeconds\",\n );\n }\n if (options.masterNode) {\n this.logger.warn(\n \"Deprecation warning: masterNode is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n if (options.readReplicaNodes) {\n this.logger.warn(\n \"Deprecation warning: readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n }\n\n private shuffleArray(array) {\n for (let i = array.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [array[i], array[j]] = [array[j], array[i]];\n }\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Conversations from \"./Conversations\";\n\nexport interface ConversationDeleteSchema {\n id: number;\n}\n\nexport interface ConversationUpdateSchema {\n ttl: number;\n}\n\nexport interface ConversationSchema {\n id: number;\n conversation: object[];\n last_updated: number;\n ttl: number;\n}\n\nexport default class Conversation {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(\n params: ConversationUpdateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Conversations.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\n\nexport interface ConversationModelCreateSchema {\n id?: string;\n model_name: string;\n api_key?: string;\n system_prompt?: string;\n max_bytes: number;\n history_collection?: string;\n}\n\nexport interface ConversationModelDeleteSchema {\n id: string;\n}\n\nexport interface ConversationModelSchema extends ConversationModelCreateSchema {\n id: string;\n}\n\nexport default class ConversationModel {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async update(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(\n this.endpointPath(),\n );\n }\n\n private endpointPath(): string {\n return `${ConversationModels.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n ConversationModelCreateSchema,\n ConversationModelSchema,\n} from \"./ConversationModel\";\n\nconst RESOURCEPATH = \"/conversations/models\";\n\nexport default class ConversationModels {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(\n this.endpointPath(),\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${ConversationModels.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\nimport ConversationModel from \"./ConversationModel\";\nimport { ConversationSchema } from \"./Conversation\";\n\nconst RESOURCEPATH = \"/conversations\";\n\nexport interface ConversationsRetrieveSchema {\n conversations: ConversationSchema[];\n}\n\nexport default class Conversations {\n private readonly _conversationsModels: ConversationModels;\n private readonly individualConversationModels: Record<\n string,\n ConversationModel\n > = {};\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._conversationsModels = new ConversationModels(this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n models(): ConversationModels;\n models(id: string): ConversationModel;\n models(id?: string): ConversationModels | ConversationModel {\n if (id === undefined) {\n return this._conversationsModels;\n } else {\n if (this.individualConversationModels[id] === undefined) {\n this.individualConversationModels[id] = new ConversationModel(\n id,\n this.apiCall,\n );\n }\n return this.individualConversationModels[id];\n }\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/debug\";\n\nexport interface DebugResponseSchema {\n state: number;\n version: string;\n}\n\nexport default class Debug {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Documents, {\n DeleteQuery,\n DocumentSchema,\n DocumentWriteParameters,\n} from \"./Documents\";\n\nexport class Document {\n constructor(\n private collectionName: string,\n private documentId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(options?: DeleteQuery): Promise {\n return this.apiCall.delete(this.endpointPath(), options);\n }\n\n async update(\n partialDocument: Partial,\n options: DocumentWriteParameters = {}\n ): Promise {\n return this.apiCall.patch(this.endpointPath(), partialDocument, options);\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Documents.RESOURCEPATH}/${encodeURIComponent(this.documentId)}`;\n }\n}\n","import type { ReadStream } from \"fs\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport { ImportError } from \"./Errors\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\n// Todo: use generic to extract filter_by values\nexport interface DeleteQuery {\n filter_by?: string;\n batch_size?: number;\n ignore_not_found?: boolean;\n}\n\nexport interface DeleteResponse {\n num_deleted: number;\n}\n\ninterface ImportResponseSuccess {\n success: true;\n}\n\nexport interface ImportResponseFail {\n success: false;\n error: string;\n document: DocumentSchema;\n code: number;\n}\n\nexport type ImportResponse = ImportResponseSuccess | ImportResponseFail;\n\nexport type DocumentSchema = Record;\n\nexport interface SearchParamsWithPreset extends Partial {\n preset: string;\n}\n\ntype DropTokensMode =\n | \"right_to_left\"\n | \"left_to_right\"\n | \"both_sides:3\";\n\ntype OperationMode = \"off\" | \"always\" | \"fallback\";\nexport interface SearchParams {\n // From https://typesense.org/docs/latest/api/documents.html#arguments\n q?: string;\n query_by?: string | string[];\n query_by_weights?: string | number[];\n prefix?: string | boolean | boolean[]; // default: true\n filter_by?: string;\n enable_lazy_filter?: boolean; // default: false\n sort_by?: string | string[]; // default: text match desc\n facet_by?: string | string[];\n max_facet_values?: number;\n facet_sample_threshold?: number;\n facet_sample_percent?: number;\n facet_query?: string;\n facet_query_num_typos?: number;\n facet_return_parent?: string;\n page?: number; // default: 1\n per_page?: number; // default: 10, max 250\n group_by?: string | string[];\n group_limit?: number; // default:\n group_missing_values?: boolean;\n include_fields?: string | string[];\n exclude_fields?: string | string[];\n highlight_fields?: string | string[]; // default: all queried fields\n highlight_full_fields?: string | string[]; // default: all fields\n highlight_affix_num_tokens?: number; // default: 4\n highlight_start_tag?: string; // default: \n highlight_end_tag?: string; // default: \n enable_highlight_v1?: boolean;\n snippet_threshold?: number; // default: 30\n num_typos?: string | number | number[]; // default: 2\n min_len_1typo?: number;\n min_len_2typo?: number;\n split_join_tokens?: OperationMode;\n exhaustive_search?: boolean;\n drop_tokens_threshold?: number; // default: 10\n drop_tokens_mode?: DropTokensMode;\n typo_tokens_threshold?: number; // default: 100\n pinned_hits?: string | string[];\n hidden_hits?: string | string[];\n limit_hits?: number; // default: no limit\n pre_segmented_query?: boolean;\n enable_overrides?: boolean;\n override_tags?: string | string[];\n prioritize_exact_match?: boolean; // default: true\n prioritize_token_position?: boolean;\n prioritize_num_matching_fields?: boolean;\n search_cutoff_ms?: number;\n use_cache?: boolean;\n max_candidates?: number;\n infix?: OperationMode | OperationMode[];\n preset?: string;\n text_match_type?: \"max_score\" | \"max_weight\";\n vector_query?: string;\n \"x-typesense-api-key\"?: string;\n \"x-typesense-user-id\"?: string;\n offset?: number;\n limit?: number;\n stopwords?: string;\n conversation?: boolean;\n conversation_model_id?: string;\n conversation_id?: string;\n voice_query?: string;\n}\n\ntype SearchResponseHighlightObject = {\n matched_tokens?: string[];\n snippet?: string;\n value?: string;\n};\n\nexport type SearchResponseHighlight = T extends string | number\n ? SearchResponseHighlightObject\n : {\n [TAttribute in keyof T]?: SearchResponseHighlight;\n };\n\nexport interface SearchResponseHit {\n curated?: true;\n highlights?: [\n {\n field: keyof T;\n snippet?: string;\n value?: string;\n snippets?: string[];\n indices?: number[];\n matched_tokens: string[][] | string[];\n },\n ];\n highlight: SearchResponseHighlight;\n document: T;\n text_match: number;\n text_match_info?: {\n best_field_score: string; // To prevent scores from being truncated by JSON spec\n best_field_weight: number;\n fields_matched: number;\n score: string; // To prevent scores from being truncated by JSON spec\n tokens_matched: number;\n };\n}\n\nexport interface SearchResponseFacetCountSchema {\n counts: {\n count: number;\n highlighted: string;\n value: string;\n }[];\n field_name: keyof T;\n stats: {\n avg?: number;\n max?: number;\n min?: number;\n sum?: number;\n };\n}\n\nexport interface SearchResponseRequestParams {\n collection_name?: string;\n q?: string;\n page?: number;\n per_page?: number;\n first_q?: string;\n voice_query?: {\n transcribed_query?: string;\n };\n}\n\n// Todo: we could infer whether this is a grouped response by adding the search params as a generic\nexport interface SearchResponse {\n facet_counts?: SearchResponseFacetCountSchema[];\n found: number;\n found_docs?: number;\n out_of: number;\n page: number;\n request_params: SearchResponseRequestParams;\n search_time_ms: number;\n search_cutoff?: boolean;\n hits?: SearchResponseHit[];\n grouped_hits?: {\n group_key: string[];\n hits: SearchResponseHit[];\n found?: number;\n }[];\n conversation?: {\n answer: string;\n conversation_history: {\n conversation: object[];\n id: string;\n last_updated: number;\n ttl: number;\n };\n conversation_id: string;\n query: string;\n };\n error?: string;\n code?: number;\n}\n\nexport interface DocumentWriteParameters {\n dirty_values?: \"coerce_or_reject\" | \"coerce_or_drop\" | \"drop\" | \"reject\";\n action?: \"create\" | \"update\" | \"upsert\" | \"emplace\";\n}\n\nexport interface UpdateByFilterParameters {\n filter_by?: string;\n}\n\nexport interface UpdateByFilterResponse {\n num_updated: number;\n}\n\nexport interface DocumentImportParameters extends DocumentWriteParameters {\n batch_size?: number;\n return_doc?: boolean;\n return_id?: boolean;\n}\n\nexport interface DocumentsExportParameters {\n filter_by?: string;\n include_fields?: string;\n exclude_fields?: string;\n}\n\nexport interface SearchableDocuments {\n search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n options: SearchOptions,\n ): Promise>;\n clearCache(): void;\n}\n\nexport interface WriteableDocuments {\n create(document: T, options: DocumentWriteParameters): Promise;\n upsert(document: T, options: DocumentWriteParameters): Promise;\n update(document: T, options: DocumentWriteParameters): Promise;\n delete(query: DeleteQuery): Promise;\n import(\n documents: T[] | string,\n options: DocumentWriteParameters,\n ): Promise;\n export(options: DocumentsExportParameters): Promise;\n}\n\nexport interface SearchOptions {\n cacheSearchResultsForSeconds?: number;\n abortSignal?: AbortSignal | null;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class Documents\n extends SearchOnlyDocuments\n implements WriteableDocuments\n{\n constructor(\n collectionName: string,\n apiCall: ApiCall,\n configuration: Configuration,\n ) {\n super(collectionName, apiCall, configuration);\n }\n\n async create(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(this.endpointPath(), document, options);\n }\n\n async upsert(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"upsert\" }),\n );\n }\n\n async update(\n document: T,\n options: UpdateByFilterParameters,\n ): Promise;\n async update(document: T, options: DocumentWriteParameters): Promise;\n async update(\n document: T,\n options: DocumentWriteParameters | UpdateByFilterParameters = {},\n ): Promise {\n if (!document) throw new Error(\"No document provided\");\n\n if (options[\"filter_by\"] != null) {\n return this.apiCall.patch(\n this.endpointPath(),\n document,\n Object.assign({}, options),\n );\n } else {\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"update\" }),\n );\n }\n }\n\n async delete(\n query: DeleteQuery = {} as DeleteQuery,\n ): Promise {\n return this.apiCall.delete(this.endpointPath(), query);\n }\n\n async createMany(documents: T[], options: DocumentImportParameters = {}) {\n this.configuration.logger.warn(\n \"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 );\n return this.import(documents, options);\n }\n\n /**\n * Import a set of documents in a batch.\n * @param {string|Array} documents - Can be a JSONL string of documents or an array of document objects.\n * @param options\n * @return {string|Array} Returns a JSONL string if the input was a JSONL string, otherwise it returns an array of results.\n */\n async import(\n documents: string,\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[],\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[] | string,\n options: DocumentImportParameters = {},\n ): Promise {\n let documentsInJSONLFormat;\n if (Array.isArray(documents)) {\n try {\n documentsInJSONLFormat = documents\n .map((document) => JSON.stringify(document))\n .join(\"\\n\");\n } catch (error: any) {\n // if rangeerror, throw custom error message\n if (\n error instanceof RangeError &&\n error.message.includes(\"Too many properties to enumerate\")\n ) {\n throw new Error(`${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\n // else, throw the non-range error anyways\n throw new Error(error);\n }\n } else {\n documentsInJSONLFormat = documents;\n }\n\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n if (Array.isArray(documents)) {\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter(\n (r) => r.success === false,\n );\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n } else {\n return resultsInJSONLFormat as string;\n }\n }\n /**\n * Imports documents from a NodeJS readable stream of JSONL.\n */\n async importStream(\n readableStream: ReadStream,\n options: DocumentImportParameters = {},\n ): Promise {\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\n queryParameters: options,\n bodyParameters: readableStream,\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter((r) => r.success === false);\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n }\n\n /**\n * Returns a JSONL string for all the documents in this collection\n */\n async export(options: DocumentsExportParameters = {}): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options);\n }\n\n /**\n * Returns a NodeJS readable stream of JSONL for all the documents in this collection.\n */\n async exportStream(\n options: DocumentsExportParameters = {},\n ): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options, {\n responseType: \"stream\",\n });\n }\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class HTTPError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\nimport { ImportResponse } from \"../Documents\";\n\nexport default class ImportError extends TypesenseError {\n importResults: ImportResponse[];\n constructor(message: string, importResults: ImportResponse[]) {\n super(message);\n this.importResults = importResults;\n }\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class MissingConfigurationError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectAlreadyExists extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectNotFound extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectUnprocessable extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestMalformed extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestUnauthorized extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ServerError extends TypesenseError {}\n","export default class TypesenseError extends Error {\n httpStatus?: number;\n\n // Source: https://stackoverflow.com/a/58417721/123545\n constructor(message?: string) {\n super(message);\n this.name = new.target.name;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n","import HTTPError from \"./HTTPError\";\nimport MissingConfigurationError from \"./MissingConfigurationError\";\nimport ObjectAlreadyExists from \"./ObjectAlreadyExists\";\nimport ObjectNotFound from \"./ObjectNotFound\";\nimport ObjectUnprocessable from \"./ObjectUnprocessable\";\nimport RequestMalformed from \"./RequestMalformed\";\nimport RequestUnauthorized from \"./RequestUnauthorized\";\nimport ServerError from \"./ServerError\";\nimport ImportError from \"./ImportError\";\nimport TypesenseError from \"./TypesenseError\";\n\nexport {\n HTTPError,\n MissingConfigurationError,\n ObjectAlreadyExists,\n ObjectNotFound,\n ObjectUnprocessable,\n RequestMalformed,\n RequestUnauthorized,\n ServerError,\n TypesenseError,\n ImportError,\n};\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/health\";\n\nexport interface HealthResponse {\n ok: boolean;\n}\n\nexport default class Health {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Keys from \"./Keys\";\n\nexport interface KeyCreateSchema {\n actions: string[];\n collections: string[];\n description?: string;\n value?: string;\n value_prefix?: string;\n expires_at?: number;\n}\n\nexport interface KeyDeleteSchema {\n id: number;\n}\n\nexport interface KeySchema extends KeyCreateSchema {\n id: number;\n}\n\nexport default class Key {\n constructor(private id: number, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Keys.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import { createHmac } from \"crypto\";\nimport ApiCall from \"./ApiCall\";\nimport { KeyCreateSchema, KeySchema } from \"./Key\";\nimport { SearchParams } from \"./Documents\";\n\nconst RESOURCEPATH = \"/keys\";\n\nexport interface KeysRetrieveSchema {\n keys: KeySchema[];\n}\n\nexport interface GenerateScopedSearchKeyParams extends Partial {\n expires_at?: number;\n cache_ttl?: number;\n limit_multi_searches?: number;\n}\n\nexport default class Keys {\n constructor(private apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(params: KeyCreateSchema): Promise {\n return this.apiCall.post(Keys.RESOURCEPATH, params);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n generateScopedSearchKey(\n searchKey: string,\n parameters: GenerateScopedSearchKeyParams\n ): string {\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 const paramsJSON = JSON.stringify(parameters);\n const digest = Buffer.from(\n createHmac(\"sha256\", searchKey).update(paramsJSON).digest(\"base64\")\n );\n const keyPrefix = searchKey.substr(0, 4);\n const rawScopedKey = `${digest}${keyPrefix}${paramsJSON}`;\n\n return Buffer.from(rawScopedKey).toString(\"base64\");\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/metrics.json\";\n\nexport interface MetricsResponse {\n [key: `system_cpu${number}_active_percentage`]: string;\n system_cpu_active_percentage: string;\n system_disk_total_bytes: string;\n system_disk_used_bytes: string;\n system_memory_total_bytes: string;\n system_memory_total_swap_bytes?: string;\n system_memory_used_bytes: string;\n system_memory_used_swap_bytes?: string;\n system_network_received_bytes: string;\n system_network_sent_bytes: string;\n typesense_memory_active_bytes: string;\n typesense_memory_allocated_bytes: string;\n typesense_memory_fragmentation_ratio: string;\n typesense_memory_mapped_bytes: string;\n typesense_memory_metadata_bytes: string;\n typesense_memory_resident_bytes: string;\n typesense_memory_retained_bytes: string;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport RequestWithCache from \"./RequestWithCache\";\nimport {\n DocumentSchema,\n SearchParams,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\n\nconst RESOURCEPATH = \"/multi_search\";\n\nexport interface MultiSearchRequestSchema extends SearchParams {\n collection?: string;\n \"x-typesense-api-key\"?: string;\n}\n\nexport interface MultiSearchRequestWithPresetSchema\n extends SearchParamsWithPreset {\n collection?: string;\n \"x-typesense-api-key\"?: string;\n}\n\nexport interface MultiSearchRequestsSchema {\n searches: (MultiSearchRequestSchema | MultiSearchRequestWithPresetSchema)[];\n}\n\nexport interface MultiSearchResponse {\n results: { [Index in keyof T]: SearchResponse } & {\n length: T[\"length\"];\n };\n}\n\nexport default class MultiSearch {\n private requestWithCache: RequestWithCache;\n\n constructor(\n private apiCall: ApiCall,\n private configuration: Configuration,\n private useTextContentType: boolean = false\n ) {\n this.requestWithCache = new RequestWithCache();\n }\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async perform(\n searchRequests: MultiSearchRequestsSchema,\n commonParams: Partial = {},\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n }: { cacheSearchResultsForSeconds?: number } = {}\n ): Promise> {\n const additionalHeaders = {};\n if (this.useTextContentType) {\n additionalHeaders[\"content-type\"] = \"text/plain\";\n }\n\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n const queryParams = Object.assign({}, commonParams, additionalQueryParams);\n\n return this.requestWithCache.perform(\n this.apiCall,\n this.apiCall.post,\n [RESOURCEPATH, searchRequests, queryParams, additionalHeaders],\n { cacheResponseForSeconds: cacheSearchResultsForSeconds }\n ) as Promise>;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/operations\";\n\nexport default class Operations {\n constructor(private apiCall: ApiCall) {}\n\n async perform(\n operationName: \"vote\" | \"snapshot\" | \"cache/clear\" | string,\n queryParameters: Record = {}\n ): Promise {\n return this.apiCall.post(\n `${RESOURCEPATH}/${operationName}`,\n {},\n queryParameters\n );\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Overrides, { OverrideCreateSchema } from \"./Overrides\";\n\nexport interface OverrideSchema extends OverrideCreateSchema {\n id: string;\n}\n\nexport interface OverrideDeleteSchema {\n id: string;\n}\n\nexport default class Override {\n constructor(\n private collectionName: string,\n private overrideId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Overrides.RESOURCEPATH}/${encodeURIComponent(this.overrideId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { OverrideSchema } from \"./Override\";\n\nconst RESOURCEPATH = \"/overrides\";\n\nexport interface OverrideRuleQuerySchema {\n query?: string;\n match?: \"exact\" | \"contains\";\n}\n\nexport interface OverrideRuleFilterSchema {\n filter_by?: string;\n}\n\nexport interface OverrideRuleTagsSchema {\n tags?: string[];\n}\n\nexport interface OverrideCreateSchema {\n rule: OverrideRuleQuerySchema &\n OverrideRuleFilterSchema &\n OverrideRuleTagsSchema;\n filter_by?: string;\n sort_by?: string;\n remove_matched_tokens?: boolean;\n replace_query?: string;\n includes?: Array<{\n id: string;\n position: number;\n }>;\n excludes?: Array<{ id: string }>;\n filter_curated_hits?: boolean;\n effective_from_ts?: number;\n effective_to_ts?: number;\n stop_processing?: boolean;\n metadata?: object;\n}\n\nexport interface OverridesRetrieveSchema {\n overrides: OverrideSchema[];\n}\n\nexport default class Overrides {\n constructor(\n private collectionName: string,\n private apiCall: ApiCall,\n ) {}\n\n async upsert(\n overrideId: string,\n params: OverrideCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(overrideId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${\n Overrides.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Presets, { PresetCreateSchema } from \"./Presets\";\n\nexport interface PresetSchema extends PresetCreateSchema {\n name: string;\n}\n\nexport interface PresetDeleteSchema {\n name: string;\n}\n\nexport default class Preset {\n constructor(private presetId: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Presets.RESOURCEPATH}/${encodeURIComponent(this.presetId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { PresetSchema } from \"./Preset\";\nimport { SearchParams } from \"./Documents\";\nimport { MultiSearchRequestsSchema } from \"./MultiSearch\";\n\nconst RESOURCEPATH = \"/presets\";\n\nexport interface PresetCreateSchema {\n value: SearchParams | MultiSearchRequestsSchema;\n}\n\nexport interface PresetsRetrieveSchema {\n presets: PresetSchema[];\n}\n\nexport default class Presets {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n presetId: string,\n params: PresetCreateSchema\n ): Promise {\n return this.apiCall.put(this.endpointPath(presetId), params);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Presets.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","const defaultCacheResponseForSeconds = 2 * 60;\nconst defaultMaxSize = 100;\n\nexport default class RequestWithCache {\n private responseCache: Map = new Map();\n private responsePromiseCache: Map = new Map();\n\n clearCache() {\n this.responseCache = new Map();\n this.responsePromiseCache = new Map();\n }\n\n // Todo: should probably be passed a callback instead, or an apiCall instance. Types are messy this way\n async perform(\n requestContext: any,\n requestFunction: (...params: any) => unknown,\n requestFunctionArguments: any[],\n cacheOptions: CacheOptions\n ): Promise {\n const {\n cacheResponseForSeconds = defaultCacheResponseForSeconds,\n maxSize = defaultMaxSize,\n } = cacheOptions;\n const isCacheDisabled = cacheResponseForSeconds <= 0 || maxSize <= 0;\n\n if (isCacheDisabled) {\n return requestFunction.call(requestContext, ...requestFunctionArguments);\n }\n\n const requestFunctionArgumentsJSON = JSON.stringify(\n requestFunctionArguments\n );\n const cacheEntry = this.responseCache.get(requestFunctionArgumentsJSON);\n const now = Date.now();\n\n if (cacheEntry) {\n const isEntryValid =\n now - cacheEntry.requestTimestamp < cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n this.responseCache.set(requestFunctionArgumentsJSON, cacheEntry);\n return Promise.resolve(cacheEntry.response);\n } else {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n\n const cachePromiseEntry = this.responsePromiseCache.get(\n requestFunctionArgumentsJSON\n );\n\n if (cachePromiseEntry) {\n const isEntryValid =\n now - cachePromiseEntry.requestTimestamp <\n cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n this.responsePromiseCache.set(\n requestFunctionArgumentsJSON,\n cachePromiseEntry\n );\n return cachePromiseEntry.responsePromise;\n } else {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n\n const responsePromise = requestFunction.call(\n requestContext,\n ...requestFunctionArguments\n );\n this.responsePromiseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n responsePromise,\n });\n\n const response = await responsePromise;\n this.responseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n response,\n });\n\n const isCacheOverMaxSize = this.responseCache.size > maxSize;\n if (isCacheOverMaxSize) {\n const oldestEntry = this.responseCache.keys().next().value;\n this.responseCache.delete(oldestEntry);\n }\n const isResponsePromiseCacheOverMaxSize =\n this.responsePromiseCache.size > maxSize;\n if (isResponsePromiseCacheOverMaxSize) {\n const oldestEntry = this.responsePromiseCache.keys().next().value;\n this.responsePromiseCache.delete(oldestEntry);\n }\n return response as T;\n }\n}\n\ninterface CacheOptions {\n cacheResponseForSeconds?: number;\n maxSize?: number;\n}\n","import Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport MultiSearch from \"./MultiSearch\";\nimport { DocumentSchema } from \"./Documents\";\nimport { SearchOnlyCollection } from \"./SearchOnlyCollection\";\n\nexport default class SearchClient {\n public readonly multiSearch: MultiSearch;\n private readonly configuration: Configuration;\n private readonly apiCall: ApiCall;\n private readonly individualCollections: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? true;\n if (\n options.sendApiKeyAsQueryParam === true &&\n (options.apiKey || \"\").length > 2000\n ) {\n console.warn(\n \"[typesense] API Key is longer than 2000 characters which is over the allowed limit, so disabling sending it as a query parameter.\"\n );\n options.sendApiKeyAsQueryParam = false;\n }\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration, true);\n this.individualCollections = {};\n }\n\n clearCache() {\n this.multiSearch.clearCache();\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Object.entries(this.individualCollections).forEach(([_, collection]) => {\n collection.documents().clearCache();\n });\n }\n\n collections(\n collectionName: string\n ): SearchOnlyCollection | SearchOnlyCollection {\n if (!collectionName) {\n throw new Error(\n \"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(\n collectionName,\n this.apiCall,\n this.configuration\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n}\n","import { DocumentSchema, SearchableDocuments } from \"./Documents\";\nimport ApiCall from \"./ApiCall\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\nexport class SearchOnlyCollection {\n private readonly _documents: SearchableDocuments;\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any\n ) {\n this._documents = new SearchOnlyDocuments(\n this.name,\n this.apiCall,\n this.configuration\n );\n }\n\n documents(): SearchableDocuments {\n return this._documents;\n }\n}\n","import RequestWithCache from \"./RequestWithCache\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport Collections from \"./Collections\";\nimport type {\n DocumentSchema,\n SearchableDocuments,\n SearchOptions,\n SearchParams,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\n\nconst RESOURCEPATH = \"/documents\";\n\nexport class SearchOnlyDocuments\n implements SearchableDocuments\n{\n protected requestWithCache: RequestWithCache = new RequestWithCache();\n\n constructor(\n protected collectionName: string,\n protected apiCall: ApiCall,\n protected configuration: Configuration\n ) {}\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n abortSignal = null,\n }: SearchOptions = {}\n ): Promise> {\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n for (const key in searchParameters) {\n if (Array.isArray(searchParameters[key])) {\n additionalQueryParams[key] = searchParameters[key].join(\",\");\n }\n }\n const queryParams = Object.assign(\n {},\n searchParameters,\n additionalQueryParams\n );\n\n return this.requestWithCache.perform(\n this.apiCall,\n this.apiCall.get,\n [this.endpointPath(\"search\"), queryParams, { abortSignal }],\n {\n cacheResponseForSeconds: cacheSearchResultsForSeconds,\n }\n ) as Promise>;\n }\n\n protected endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + operation\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/stats.json\";\n\nexport interface EndpointStats {\n [endpoint: string]: number;\n}\n\nexport interface StatsResponse {\n delete_latency_ms?: number;\n delete_requests_per_second?: number;\n import_latency_ms?: number;\n import_requests_per_second?: number;\n latency_ms?: EndpointStats;\n overloaded_requests_per_second?: number;\n pending_write_batches?: number;\n requests_per_second?: EndpointStats;\n search_latency_ms?: number;\n search_requests_per_second?: number;\n total_requests_per_second?: number;\n write_latency_ms?: number;\n write_requests_per_second?: number;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Stopwords, { StopwordCreateSchema } from \"./Stopwords\";\n\nexport interface StopwordSchema extends StopwordCreateSchema {\n id: string;\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordDeleteSchema {\n id: string;\n}\n\nexport default class Stopword {\n constructor(\n private stopwordId: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Stopwords.RESOURCEPATH}/${encodeURIComponent(this.stopwordId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { StopwordSchema } from \"./Stopword\";\n\nconst RESOURCEPATH = \"/stopwords\";\n\nexport interface StopwordCreateSchema {\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordsRetrieveSchema {\n stopwords: StopwordSchema[];\n}\n\nexport default class Stopwords {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n stopwordId: string,\n params: StopwordCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(stopwordId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Stopwords.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Synonyms, { SynonymCreateSchema } from \"./Synonyms\";\n\nexport interface SynonymSchema extends SynonymCreateSchema {\n id: string;\n}\n\nexport interface SynonymDeleteSchema {\n id: string;\n}\n\nexport default class Synonym {\n constructor(\n private collectionName: string,\n private synonymId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Synonyms.RESOURCEPATH}/${encodeURIComponent(this.synonymId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { SynonymSchema } from \"./Synonym\";\n\nconst RESOURCEPATH = \"/synonyms\";\n\nexport interface SynonymCreateSchema {\n synonyms: string[];\n root?: string;\n locale?: string;\n symbols_to_index?: string[];\n}\n\nexport interface SynonymsRetrieveSchema {\n synonyms: SynonymSchema[];\n}\n\nexport default class Synonyms {\n constructor(private collectionName: string, private apiCall: ApiCall) {}\n\n async upsert(\n synonymId: string,\n params: SynonymCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(synonymId),\n params\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${\n Synonyms.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\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 var _loggersByName = {};\n var defaultLogger = null;\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() {\n /*jshint validthis:true */\n var level = this.getLevel();\n\n // Replace the actual methods.\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, this.name);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n\n // Return any important warnings.\n if (typeof console === undefinedType && level < this.levels.SILENT) {\n return \"No console available for logging\";\n }\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) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this);\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, factory) {\n // Private instance variables.\n var self = this;\n /**\n * The level inherited from a parent logger (or a global default). We\n * cache this here rather than delegating to the parent so that it stays\n * in sync with the actual logging methods that we have installed (the\n * parent could change levels but we might not have rebuilt the loggers\n * in this child yet).\n * @type {number}\n */\n var inheritedLevel;\n /**\n * The default level for this logger, if any. If set, this overrides\n * `inheritedLevel`.\n * @type {number|null}\n */\n var defaultLevel;\n /**\n * A user-specific level for this logger. If set, this overrides\n * `defaultLevel`.\n * @type {number|null}\n */\n var userLevel;\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 cookieName = encodeURIComponent(storageKey);\n var location = cookie.indexOf(cookieName + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(\n cookie.slice(location + cookieName.length + 1)\n )[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 } 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 function normalizeLevel(input) {\n var level = input;\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 return level;\n } else {\n throw new TypeError(\"log.setLevel() called with invalid level: \" + input);\n }\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 if (userLevel != null) {\n return userLevel;\n } else if (defaultLevel != null) {\n return defaultLevel;\n } else {\n return inheritedLevel;\n }\n };\n\n self.setLevel = function (level, persist) {\n userLevel = normalizeLevel(level);\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(userLevel);\n }\n\n // NOTE: in v2, this should call rebuild(), which updates children.\n return replaceLoggingMethods.call(self);\n };\n\n self.setDefaultLevel = function (level) {\n defaultLevel = normalizeLevel(level);\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.resetLevel = function () {\n userLevel = null;\n clearPersistedLevel();\n replaceLoggingMethods.call(self);\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 self.rebuild = function () {\n if (defaultLogger !== self) {\n inheritedLevel = normalizeLevel(defaultLogger.getLevel());\n }\n replaceLoggingMethods.call(self);\n\n if (defaultLogger === self) {\n for (var childName in _loggersByName) {\n _loggersByName[childName].rebuild();\n }\n }\n };\n\n // Initialize all the internal levels.\n inheritedLevel = normalizeLevel(\n defaultLogger ? defaultLogger.getLevel() : \"WARN\"\n );\n var initialLevel = getPersistedLevel();\n if (initialLevel != null) {\n userLevel = normalizeLevel(initialLevel);\n }\n replaceLoggingMethods.call(self);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n defaultLogger = new Logger();\n\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,\n defaultLogger.methodFactory\n );\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","/* (ignored) */","/* (ignored) */","/* (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 e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw new Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\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}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\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 setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\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 _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _isNativeFunction(fn) {\n try {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n } catch (e) {\n return typeof fn === \"function\";\n }\n}","export default function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\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(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\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 _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\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(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\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 getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst supportsRequestStream = isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n});\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n return (await new Request(body).arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ?\n composeSignals([signal, cancelToken], timeout) : [];\n\n let finished, request;\n\n const onFinish = () => {\n !finished && setTimeout(() => {\n composedSignal && composedSignal.unsubscribe();\n });\n\n finished = true;\n }\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush, encodeText);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = \"credentials\" in Request.prototype; \n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n isStreamResponse && onFinish();\n }, encodeText),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && onFinish();\n\n stopTimeout && stopTimeout();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n onFinish();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, 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 const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n 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(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, 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(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\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 (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : 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 const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\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\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(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, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n 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\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const 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 */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(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 {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _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 const {transitional, paramsSerializer, headers} = config;\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 if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let 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 const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\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,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport utils from '../utils.js';\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 {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n 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: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\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 */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n 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 *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\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 *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\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 *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\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 *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(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 config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\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 config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\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 *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, 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(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const 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 withXSRFToken: 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 beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\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 *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\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\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\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 env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\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 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","export const VERSION = \"1.7.5\";","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\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 * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\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 *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst composeSignals = (signals, timeout) => {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (cancel) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = cancel instanceof Error ? cancel : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal &&\n (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort));\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = unsubscribe;\n\n return [signal, () => {\n timer && clearTimeout(timer);\n timer = null;\n }];\n}\n\nexport default composeSignals;\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default 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\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\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 const msie = platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let 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 const 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","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\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} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\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\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\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 *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn.apply(null, args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize, encode) {\n for await (const chunk of iterable) {\n yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize);\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => {\n const iterator = readBytes(stream, chunkSize, encode);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\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 *\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 (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\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 *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\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 *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\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 && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let 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 {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\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 *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\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 (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 const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\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 *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && 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 *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\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 *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap\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))","// 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};","import Client from \"./Typesense/Client\";\nimport SearchClient from \"./Typesense/SearchClient\";\nimport * as Errors from \"./Typesense/Errors\";\n\nexport { Client, SearchClient, Errors };\nexport default { Client, SearchClient, Errors };\n"],"names":["Aliases","Alias","name","apiCall","_classCallCheck","_createClass","key","value","_retrieve","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","abrupt","get","endpointPath","stop","retrieve","apply","arguments","_delete2","_callee2","_callee2$","_context2","delete","_delete","concat","RESOURCEPATH","encodeURIComponent","default","_upsert","mapping","put","upsert","_x","_x2","aliasName","AnalyticsRules","AnalyticsRule","AnalyticsEvents","Analytics","_defineProperty","_analyticsRules","_analyticsEvents","rules","id","undefined","individualAnalyticsRules","events","_create","params","post","create","operation","axios","HTTPError","ObjectAlreadyExists","ObjectNotFound","ObjectUnprocessable","RequestMalformed","RequestUnauthorized","ServerError","TypesenseError","Agent","HTTPAgent","HTTPSAgent","APIKEYHEADERNAME","HEALTHY","UNHEALTHY","isNodeJSEnvironment","process","versions","node","ApiCall","configuration","apiKey","nodes","JSON","parse","stringify","nearestNode","connectionTimeoutSeconds","healthcheckIntervalSeconds","numRetriesPerRequest","numRetries","retryIntervalSeconds","sendApiKeyAsQueryParam","additionalUserHeaders","additionalHeaders","logger","initializeMetadataForNodes","currentNodeIndex","_get","endpoint","queryParameters","_ref","_ref$abortSignal","abortSignal","_ref$responseType","responseType","_args","length","performRequest","_args2","_post","_callee3","bodyParameters","_args3","_callee3$","_context3","_x3","_put","_callee4","_args4","_callee4$","_context4","_x4","_patch","_callee5","_args5","_callee5$","_context5","patch","_x5","_performRequest","_callee6","requestType","_ref2","_this","_ref2$queryParameters","_ref2$bodyParameters","_ref2$additionalHeade","_ref2$abortSignal","_ref2$responseType","_ref2$skipConnectionT","skipConnectionTimeout","_ref2$enableKeepAlive","enableKeepAlive","requestNumber","lastException","_loop","_ret","numTries","_callee6$","_context7","validate","Date","now","debug","toUpperCase","abortListener","requestOptions","cancelToken","source","response","_response$data","_response$data2","_error$response","_loop$","_context6","getNextNode","index","aborted","v","Promise","reject","Error","method","url","uriFor","headers","Object","assign","defaultHeaders","maxContentLength","Infinity","maxBodyLength","validateStatus","status","transformResponse","data","transformedData","startsWith","timeout","keys","httpAgent","warn","keepAlive","httpsAgent","paramsSerializer","_typeof","CancelToken","cancel","addEventListener","token","sent","setNodeHealthcheck","resolve","customErrorForResponse","message","t0","code","timer","removeEventListener","finish","delegateYield","_x6","_x7","_x8","isHealthy","nodeDueForHealthcheck","map","join","candidateNode","i","isDueForHealthcheck","lastAccessTimestamp","_this2","forEach","protocol","host","port","path","_timer","_callee7","seconds","_callee7$","_context8","setTimeout","_x9","messageFromServer","errorMessage","trim","error","httpStatus","Configuration","Collections","Collection","Keys","Key","Debug","Metrics","Stats","Health","Operations","MultiSearch","Presets","Preset","Stopwords","Stopword","Conversations","Conversation","Client","options","_options$sendApiKeyAs","metrics","stats","health","operations","multiSearch","_collections","individualCollections","_aliases","individualAliases","_keys","individualKeys","_presets","individualPresets","_stopwords","individualStopwords","analytics","_conversations","individualConversations","collections","collectionName","aliases","presets","stopwords","conversations","Documents","Overrides","Override","Synonyms","Synonym","Document","_documents","_overrides","_synonyms","_update","schema","update","_exists","exists","documents","documentId","individualDocuments","overrides","overrideId","individualOverrides","synonyms","synonymId","individualSynonyms","MissingConfigurationError","setDefaultPathInNode","setDefaultPortInNode","_objectSpread","randomizeNodes","shuffleArray","timeoutSeconds","cacheSearchResultsForSeconds","useServerSideSearchCache","logLevel","setLevel","showDeprecationWarnings","validateNodes","isNodeMissingAnyParameters","some","every","hasOwnProperty","masterNode","readReplicaNodes","array","j","Math","floor","random","ConversationModels","ConversationModel","_conversationsModels","models","individualConversationModels","partialDocument","ImportError","SearchOnlyDocuments","_inherits","_callSuper","document","action","query","_createMany","import","createMany","_import2","documentsInJSONLFormat","resultsInJSONLFormat","resultsInJSONFormat","failedItems","_args6","Array","isArray","RangeError","includes","split","r","filter","success","_import","_importStream","readableStream","_args7","importStream","_export2","_callee8","_args8","_callee8$","_export","_exportStream","_callee9","_args9","_callee9$","_context9","exportStream","_TypesenseError","importResults","_Error","constructor","setPrototypeOf","_assertThisInitialized","prototype","_wrapNativeSuper","createHmac","generateScopedSearchKey","searchKey","parameters","paramsJSON","digest","Buffer","from","keyPrefix","substr","rawScopedKey","toString","RequestWithCache","useTextContentType","requestWithCache","clearCache","_perform","searchRequests","commonParams","_ref$cacheSearchResul","additionalQueryParams","queryParams","perform","cacheResponseForSeconds","operationName","presetId","defaultCacheResponseForSeconds","defaultMaxSize","Map","responseCache","responsePromiseCache","requestContext","requestFunction","requestFunctionArguments","cacheOptions","_cacheOptions$cacheRe","_cacheOptions$maxSize","maxSize","isCacheDisabled","requestFunctionArgumentsJSON","cacheEntry","isEntryValid","cachePromiseEntry","_isEntryValid","responsePromise","isCacheOverMaxSize","oldestEntry","isResponsePromiseCacheOverMaxSize","_oldestEntry","call","_toConsumableArray","requestTimestamp","set","size","SearchOnlyCollection","SearchClient","console","entries","_slicedToArray","_","collection","_search","searchParameters","search","stopwordId","Errors"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/typesense.min.js.map b/dist/typesense.min.js.map index 5d7bdbf3..9e150cf6 100644 --- a/dist/typesense.min.js.map +++ b/dist/typesense.min.js.map @@ -1 +1 @@ -{"version":3,"file":"typesense.min.js","mappings":"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","sources":["webpack://Typesense/./node_modules/loglevel/lib/loglevel.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/regenerator/index.js","webpack://Typesense/webpack/bootstrap","webpack://Typesense/webpack/runtime/compat get default export","webpack://Typesense/webpack/runtime/define property getters","webpack://Typesense/webpack/runtime/hasOwnProperty shorthand","webpack://Typesense/webpack/runtime/make namespace object","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://Typesense/./src/Typesense/Errors/TypesenseError.ts","webpack://Typesense/./src/Typesense/Errors/MissingConfigurationError.ts","webpack://Typesense/./src/Typesense/Configuration.ts","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://Typesense/./node_modules/axios/lib/helpers/bind.js","webpack://Typesense/./node_modules/axios/lib/utils.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosError.js","webpack://Typesense/./node_modules/axios/lib/helpers/toFormData.js","webpack://Typesense/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/helpers/buildURL.js","webpack://Typesense/./node_modules/axios/lib/core/InterceptorManager.js","webpack://Typesense/./node_modules/axios/lib/defaults/transitional.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/index.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://Typesense/./node_modules/axios/lib/platform/common/utils.js","webpack://Typesense/./node_modules/axios/lib/platform/index.js","webpack://Typesense/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://Typesense/./node_modules/axios/lib/defaults/index.js","webpack://Typesense/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://Typesense/./node_modules/axios/lib/core/transformData.js","webpack://Typesense/./node_modules/axios/lib/cancel/isCancel.js","webpack://Typesense/./node_modules/axios/lib/cancel/CanceledError.js","webpack://Typesense/./node_modules/axios/lib/core/settle.js","webpack://Typesense/./node_modules/axios/lib/helpers/speedometer.js","webpack://Typesense/./node_modules/axios/lib/helpers/progressEventReducer.js","webpack://Typesense/./node_modules/axios/lib/helpers/throttle.js","webpack://Typesense/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://Typesense/./node_modules/axios/lib/helpers/cookies.js","webpack://Typesense/./node_modules/axios/lib/core/buildFullPath.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://Typesense/./node_modules/axios/lib/helpers/combineURLs.js","webpack://Typesense/./node_modules/axios/lib/core/mergeConfig.js","webpack://Typesense/./node_modules/axios/lib/helpers/resolveConfig.js","webpack://Typesense/./node_modules/axios/lib/adapters/xhr.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://Typesense/./node_modules/axios/lib/helpers/composeSignals.js","webpack://Typesense/./node_modules/axios/lib/helpers/trackStream.js","webpack://Typesense/./node_modules/axios/lib/adapters/fetch.js","webpack://Typesense/./node_modules/axios/lib/adapters/adapters.js","webpack://Typesense/./node_modules/axios/lib/helpers/null.js","webpack://Typesense/./node_modules/axios/lib/core/dispatchRequest.js","webpack://Typesense/./node_modules/axios/lib/env/data.js","webpack://Typesense/./node_modules/axios/lib/helpers/validator.js","webpack://Typesense/./node_modules/axios/lib/core/Axios.js","webpack://Typesense/./node_modules/axios/lib/cancel/CancelToken.js","webpack://Typesense/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://Typesense/./node_modules/axios/lib/axios.js","webpack://Typesense/./node_modules/axios/lib/helpers/spread.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://Typesense/./src/Typesense/Errors/RequestMalformed.ts","webpack://Typesense/./src/Typesense/Errors/RequestUnauthorized.ts","webpack://Typesense/./src/Typesense/Errors/ObjectNotFound.ts","webpack://Typesense/./src/Typesense/Errors/ObjectAlreadyExists.ts","webpack://Typesense/./src/Typesense/Errors/ObjectUnprocessable.ts","webpack://Typesense/./src/Typesense/Errors/ServerError.ts","webpack://Typesense/./src/Typesense/Errors/HTTPError.ts","webpack://Typesense/./src/Typesense/ApiCall.ts","webpack://Typesense/./src/Typesense/Collections.ts","webpack://Typesense/./src/Typesense/Errors/ImportError.ts","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://Typesense/./src/Typesense/RequestWithCache.ts","webpack://Typesense/./src/Typesense/SearchOnlyDocuments.ts","webpack://Typesense/./src/Typesense/Documents.ts","webpack://Typesense/./src/Typesense/Overrides.ts","webpack://Typesense/./src/Typesense/Override.ts","webpack://Typesense/./src/Typesense/Synonyms.ts","webpack://Typesense/./src/Typesense/Synonym.ts","webpack://Typesense/./src/Typesense/Document.ts","webpack://Typesense/./src/Typesense/Collection.ts","webpack://Typesense/./src/Typesense/Aliases.ts","webpack://Typesense/./src/Typesense/Alias.ts","webpack://Typesense/./src/Typesense/Keys.ts","webpack://Typesense/./src/Typesense/Key.ts","webpack://Typesense/./src/Typesense/Debug.ts","webpack://Typesense/./src/Typesense/Metrics.ts","webpack://Typesense/./src/Typesense/Stats.ts","webpack://Typesense/./src/Typesense/Health.ts","webpack://Typesense/./src/Typesense/Operations.ts","webpack://Typesense/./src/Typesense/MultiSearch.ts","webpack://Typesense/./src/Typesense/Presets.ts","webpack://Typesense/./src/Typesense/Preset.ts","webpack://Typesense/./src/Typesense/AnalyticsRules.ts","webpack://Typesense/./src/Typesense/AnalyticsRule.ts","webpack://Typesense/./src/Typesense/AnalyticsEvents.ts","webpack://Typesense/./src/Typesense/Analytics.ts","webpack://Typesense/./src/Typesense/Stopwords.ts","webpack://Typesense/./src/Typesense/Stopword.ts","webpack://Typesense/./src/Typesense/ConversationModels.ts","webpack://Typesense/./src/Typesense/ConversationModel.ts","webpack://Typesense/./src/Typesense/Conversations.ts","webpack://Typesense/./src/Typesense/Conversation.ts","webpack://Typesense/./src/Typesense/Client.ts","webpack://Typesense/./src/Typesense/SearchOnlyCollection.ts","webpack://Typesense/./src/Typesense/SearchClient.ts","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://Typesense/./src/Typesense.ts"],"sourcesContent":["/*\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 var _loggersByName = {};\n var defaultLogger = null;\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() {\n /*jshint validthis:true */\n var level = this.getLevel();\n\n // Replace the actual methods.\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, this.name);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n\n // Return any important warnings.\n if (typeof console === undefinedType && level < this.levels.SILENT) {\n return \"No console available for logging\";\n }\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) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this);\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, factory) {\n // Private instance variables.\n var self = this;\n /**\n * The level inherited from a parent logger (or a global default). We\n * cache this here rather than delegating to the parent so that it stays\n * in sync with the actual logging methods that we have installed (the\n * parent could change levels but we might not have rebuilt the loggers\n * in this child yet).\n * @type {number}\n */\n var inheritedLevel;\n /**\n * The default level for this logger, if any. If set, this overrides\n * `inheritedLevel`.\n * @type {number|null}\n */\n var defaultLevel;\n /**\n * A user-specific level for this logger. If set, this overrides\n * `defaultLevel`.\n * @type {number|null}\n */\n var userLevel;\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 cookieName = encodeURIComponent(storageKey);\n var location = cookie.indexOf(cookieName + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(\n cookie.slice(location + cookieName.length + 1)\n )[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 } 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 function normalizeLevel(input) {\n var level = input;\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 return level;\n } else {\n throw new TypeError(\"log.setLevel() called with invalid level: \" + input);\n }\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 if (userLevel != null) {\n return userLevel;\n } else if (defaultLevel != null) {\n return defaultLevel;\n } else {\n return inheritedLevel;\n }\n };\n\n self.setLevel = function (level, persist) {\n userLevel = normalizeLevel(level);\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(userLevel);\n }\n\n // NOTE: in v2, this should call rebuild(), which updates children.\n return replaceLoggingMethods.call(self);\n };\n\n self.setDefaultLevel = function (level) {\n defaultLevel = normalizeLevel(level);\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.resetLevel = function () {\n userLevel = null;\n clearPersistedLevel();\n replaceLoggingMethods.call(self);\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 self.rebuild = function () {\n if (defaultLogger !== self) {\n inheritedLevel = normalizeLevel(defaultLogger.getLevel());\n }\n replaceLoggingMethods.call(self);\n\n if (defaultLogger === self) {\n for (var childName in _loggersByName) {\n _loggersByName[childName].rebuild();\n }\n }\n };\n\n // Initialize all the internal levels.\n inheritedLevel = normalizeLevel(\n defaultLogger ? defaultLogger.getLevel() : \"WARN\"\n );\n var initialLevel = getPersistedLevel();\n if (initialLevel != null) {\n userLevel = normalizeLevel(initialLevel);\n }\n replaceLoggingMethods.call(self);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n defaultLogger = new Logger();\n\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,\n defaultLogger.methodFactory\n );\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","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 e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw new Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\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))","// 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};","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(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\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 _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n try {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n } catch (e) {\n return typeof fn === \"function\";\n }\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\n}","export default class TypesenseError extends Error {\n httpStatus?: number;\n\n // Source: https://stackoverflow.com/a/58417721/123545\n constructor(message?: string) {\n super(message);\n this.name = new.target.name;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class MissingConfigurationError extends TypesenseError {}\n","import * as logger from \"loglevel\";\nimport { Logger, LogLevelDesc } from \"loglevel\";\nimport { MissingConfigurationError } from \"./Errors\";\nimport type { Agent as HTTPAgent } from \"http\";\nimport type { Agent as HTTPSAgent } from \"https\";\n\nexport interface NodeConfiguration {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n url?: string;\n}\n\nexport interface NodeConfigurationWithHostname {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n}\n\nexport interface NodeConfigurationWithUrl {\n url: string;\n}\n\nexport interface ConfigurationOptions {\n apiKey: string;\n nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n randomizeNodes?: boolean;\n /**\n * @deprecated\n * masterNode is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n masterNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n /**\n * @deprecated\n * readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n readReplicaNodes?:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n connectionTimeoutSeconds?: number;\n timeoutSeconds?: number;\n healthcheckIntervalSeconds?: number;\n numRetries?: number;\n retryIntervalSeconds?: number;\n sendApiKeyAsQueryParam?: boolean | undefined;\n useServerSideSearchCache?: boolean;\n cacheSearchResultsForSeconds?: number;\n additionalHeaders?: Record;\n\n logLevel?: LogLevelDesc;\n logger?: Logger;\n\n /**\n * Set a custom HTTP Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPAgent } = require(\"http\");\n * ...\n * httpAgent: new HTTPAgent({ keepAlive: true }),\n * @type {HTTPAgent}\n */\n httpAgent?: HTTPAgent;\n\n /**\n * Set a custom HTTPS Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPSAgent } = require(\"https\");\n * ...\n * httpsAgent: new HTTPSAgent({ keepAlive: true }),\n * @type {HTTPSAgent}\n */\n httpsAgent?: HTTPSAgent;\n\n /**\n * Set a custom paramsSerializer\n *\n * See axios documentation for more information on how to use this parameter: https://axios-http.com/docs/req_config\n * This is helpful for handling React Native issues like this: https://github.com/axios/axios/issues/6102#issuecomment-2085301397\n * @type {any}\n */\n paramsSerializer?: any;\n}\n\nexport default class Configuration {\n readonly nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n readonly nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n readonly connectionTimeoutSeconds: number;\n readonly healthcheckIntervalSeconds: number;\n readonly numRetries: number;\n readonly retryIntervalSeconds: number;\n readonly apiKey: string;\n readonly sendApiKeyAsQueryParam?: boolean;\n readonly cacheSearchResultsForSeconds: number;\n readonly useServerSideSearchCache: boolean;\n readonly logger: Logger;\n readonly logLevel: LogLevelDesc;\n readonly additionalHeaders?: Record;\n readonly httpAgent?: HTTPAgent;\n readonly httpsAgent?: HTTPSAgent;\n readonly paramsSerializer?: any;\n\n constructor(options: ConfigurationOptions) {\n this.nodes = options.nodes || [];\n this.nodes = this.nodes\n .map((node) => this.setDefaultPathInNode(node))\n .map((node) => this.setDefaultPortInNode(node))\n .map((node) => ({ ...node })) as NodeConfiguration[]; // Make a deep copy\n\n if (options.randomizeNodes == null) {\n options.randomizeNodes = true;\n }\n\n if (options.randomizeNodes === true) {\n this.shuffleArray(this.nodes);\n }\n\n this.nearestNode = options.nearestNode;\n this.nearestNode = this.setDefaultPathInNode(this.nearestNode);\n this.nearestNode = this.setDefaultPortInNode(this.nearestNode);\n\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\n this.apiKey = options.apiKey;\n this.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam; // We will set a default for this in Client and SearchClient\n\n this.cacheSearchResultsForSeconds =\n options.cacheSearchResultsForSeconds || 0; // Disable client-side cache by default\n this.useServerSideSearchCache = options.useServerSideSearchCache || false;\n\n this.logger = options.logger || logger;\n this.logLevel = options.logLevel || \"warn\";\n this.logger.setLevel(this.logLevel);\n\n this.additionalHeaders = options.additionalHeaders;\n\n this.httpAgent = options.httpAgent;\n this.httpsAgent = options.httpsAgent;\n\n this.paramsSerializer = options.paramsSerializer;\n\n this.showDeprecationWarnings(options);\n this.validate();\n }\n\n validate(): boolean {\n if (this.nodes == null || this.nodes.length === 0 || this.validateNodes()) {\n throw new MissingConfigurationError(\n \"Ensure that nodes[].protocol, nodes[].host and nodes[].port are set\",\n );\n }\n\n if (\n this.nearestNode != null &&\n this.isNodeMissingAnyParameters(this.nearestNode)\n ) {\n throw new MissingConfigurationError(\n \"Ensure that nearestNodes.protocol, nearestNodes.host and nearestNodes.port are set\",\n );\n }\n\n if (this.apiKey == null) {\n throw new MissingConfigurationError(\"Ensure that apiKey is set\");\n }\n\n return true;\n }\n\n private validateNodes(): boolean {\n return this.nodes.some((node) => {\n return this.isNodeMissingAnyParameters(node);\n });\n }\n\n private isNodeMissingAnyParameters(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl,\n ): boolean {\n return (\n ![\"protocol\", \"host\", \"port\", \"path\"].every((key) => {\n return node.hasOwnProperty(key);\n }) && node[\"url\"] == null\n );\n }\n\n private setDefaultPathInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (node != null && !node.hasOwnProperty(\"path\")) {\n node[\"path\"] = \"\";\n }\n return node;\n }\n\n private setDefaultPortInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (\n node != null &&\n !node.hasOwnProperty(\"port\") &&\n node.hasOwnProperty(\"protocol\")\n ) {\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\n private showDeprecationWarnings(options: ConfigurationOptions): void {\n if (options.timeoutSeconds) {\n this.logger.warn(\n \"Deprecation warning: timeoutSeconds is now renamed to connectionTimeoutSeconds\",\n );\n }\n if (options.masterNode) {\n this.logger.warn(\n \"Deprecation warning: masterNode is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n if (options.readReplicaNodes) {\n this.logger.warn(\n \"Deprecation warning: readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n }\n\n private shuffleArray(array) {\n for (let i = array.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [array[i], array[j]] = [array[j], array[i]];\n }\n }\n}\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}","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\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 && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let 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 {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\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 *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\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 (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 const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\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 *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && 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 *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\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 *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap\n};\n","'use strict';\n\nimport utils from '../utils.js';\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 {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n 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: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\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 * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\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 */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n 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 *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\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 *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\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 *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\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\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\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 env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\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 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\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} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\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 *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn.apply(null, args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\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 const msie = platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let 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 const 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","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\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 *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default 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\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 *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\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 *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, 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(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const 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 withXSRFToken: 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 beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\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\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, 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 const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n 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(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, 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(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\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 (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : 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 const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst composeSignals = (signals, timeout) => {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (cancel) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = cancel instanceof Error ? cancel : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal &&\n (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort));\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = unsubscribe;\n\n return [signal, () => {\n timer && clearTimeout(timer);\n timer = null;\n }];\n}\n\nexport default composeSignals;\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize, encode) {\n for await (const chunk of iterable) {\n yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize);\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => {\n const iterator = readBytes(stream, chunkSize, encode);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst supportsRequestStream = isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n});\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n return (await new Request(body).arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ?\n composeSignals([signal, cancelToken], timeout) : [];\n\n let finished, request;\n\n const onFinish = () => {\n !finished && setTimeout(() => {\n composedSignal && composedSignal.unsubscribe();\n });\n\n finished = true;\n }\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush, encodeText);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = \"credentials\" in Request.prototype; \n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n isStreamResponse && onFinish();\n }, encodeText),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && onFinish();\n\n stopTimeout && stopTimeout();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n onFinish();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\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 *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(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 config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\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 config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.7.5\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\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 *\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 (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\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 *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(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 {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _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 const {transitional, paramsSerializer, headers} = config;\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 if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let 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 const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\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,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(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, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n 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\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const 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 */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\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\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\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 *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestMalformed extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestUnauthorized extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectNotFound extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectAlreadyExists extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectUnprocessable extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ServerError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class HTTPError extends TypesenseError {}\n","import axios, { AxiosRequestConfig, AxiosResponse, Method } from \"axios\";\nimport { Logger } from \"loglevel\";\nimport {\n HTTPError,\n ObjectAlreadyExists,\n ObjectNotFound,\n ObjectUnprocessable,\n RequestMalformed,\n RequestUnauthorized,\n ServerError,\n} from \"./Errors\";\nimport TypesenseError from \"./Errors/TypesenseError\";\nimport Configuration, { NodeConfiguration } from \"./Configuration\";\nimport { Agent as HTTPAgent } from \"http\";\nimport { Agent as HTTPSAgent } from \"https\";\n\nconst APIKEYHEADERNAME = \"X-TYPESENSE-API-KEY\";\nconst HEALTHY = true;\nconst UNHEALTHY = false;\n\ninterface Node extends NodeConfiguration {\n isHealthy: boolean;\n index: string | number;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class ApiCall {\n private readonly apiKey: string;\n private readonly nodes: Node[];\n private readonly nearestNode: Node;\n private readonly connectionTimeoutSeconds: number;\n private readonly healthcheckIntervalSeconds: number;\n private readonly retryIntervalSeconds: number;\n private readonly sendApiKeyAsQueryParam?: boolean;\n private readonly numRetriesPerRequest: number;\n private readonly additionalUserHeaders?: Record;\n\n private readonly logger: Logger;\n private currentNodeIndex: number;\n\n constructor(private 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\n this.logger = this.configuration.logger;\n\n this.initializeMetadataForNodes();\n this.currentNodeIndex = -1;\n }\n\n async get(\n endpoint: string,\n queryParameters: any = {},\n {\n abortSignal = null,\n responseType = undefined,\n }: {\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n } = {},\n ): Promise {\n return this.performRequest(\"get\", endpoint, {\n queryParameters,\n abortSignal,\n responseType,\n });\n }\n\n async delete(endpoint: string, queryParameters: any = {}): Promise {\n return this.performRequest(\"delete\", endpoint, { queryParameters });\n }\n\n async post(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n additionalHeaders: any = {},\n ): Promise {\n return this.performRequest(\"post\", endpoint, {\n queryParameters,\n bodyParameters,\n additionalHeaders,\n });\n }\n\n async put(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"put\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async patch(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"patch\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async performRequest(\n requestType: Method,\n endpoint: string,\n {\n queryParameters = null,\n bodyParameters = null,\n additionalHeaders = {},\n abortSignal = null,\n responseType = undefined,\n skipConnectionTimeout = false,\n enableKeepAlive = undefined,\n }: {\n queryParameters?: any;\n bodyParameters?: any;\n additionalHeaders?: any;\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n skipConnectionTimeout?: boolean;\n enableKeepAlive?: boolean | undefined;\n },\n ): Promise {\n this.configuration.validate();\n\n const requestNumber = Date.now();\n let lastException;\n this.logger.debug(\n `Request #${requestNumber}: Performing ${requestType.toUpperCase()} request: ${endpoint}`,\n );\n for (\n let numTries = 1;\n numTries <= this.numRetriesPerRequest + 1;\n numTries++\n ) {\n const node = this.getNextNode(requestNumber);\n this.logger.debug(\n `Request #${requestNumber}: Attempting ${requestType.toUpperCase()} request Try #${numTries} to Node ${\n node.index\n }`,\n );\n\n if (abortSignal && abortSignal.aborted) {\n return Promise.reject(new Error(\"Request aborted by caller.\"));\n }\n\n let abortListener;\n\n try {\n const requestOptions: AxiosRequestConfig = {\n method: requestType,\n url: this.uriFor(endpoint, node),\n headers: Object.assign(\n {},\n this.defaultHeaders(),\n additionalHeaders,\n this.additionalUserHeaders,\n ),\n maxContentLength: Infinity,\n maxBodyLength: Infinity,\n responseType,\n validateStatus: (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 (data, headers) => {\n let transformedData = data;\n if (\n headers !== undefined &&\n typeof data === \"string\" &&\n headers[\"content-type\"] &&\n headers[\"content-type\"].startsWith(\"application/json\")\n ) {\n transformedData = JSON.parse(data);\n }\n return transformedData;\n },\n ],\n };\n\n if (skipConnectionTimeout !== true) {\n requestOptions.timeout = this.connectionTimeoutSeconds * 1000;\n }\n\n if (queryParameters && Object.keys(queryParameters).length !== 0) {\n requestOptions.params = queryParameters;\n }\n\n if (this.sendApiKeyAsQueryParam) {\n requestOptions.params = requestOptions.params || {};\n requestOptions.params[\"x-typesense-api-key\"] = this.apiKey;\n }\n\n if (this.configuration.httpAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpAgent`,\n );\n requestOptions.httpAgent = this.configuration.httpAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling KeepAlive`);\n requestOptions.httpAgent = new HTTPAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.httpsAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpsAgent`,\n );\n requestOptions.httpsAgent = this.configuration.httpsAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling keepAlive`);\n requestOptions.httpsAgent = new HTTPSAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.paramsSerializer) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom paramsSerializer`,\n );\n requestOptions.paramsSerializer = this.configuration.paramsSerializer;\n }\n\n if (\n bodyParameters &&\n ((typeof bodyParameters === \"string\" &&\n bodyParameters.length !== 0) ||\n (typeof bodyParameters === \"object\" &&\n Object.keys(bodyParameters).length !== 0))\n ) {\n requestOptions.data = bodyParameters;\n }\n\n // Translate from user-provided AbortController to the Axios request cancel mechanism.\n if (abortSignal) {\n const cancelToken = axios.CancelToken;\n const source = cancelToken.source();\n abortListener = () => source.cancel();\n abortSignal.addEventListener(\"abort\", abortListener);\n requestOptions.cancelToken = source.token;\n }\n\n const response = await axios(requestOptions);\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.setNodeHealthcheck(node, HEALTHY);\n }\n this.logger.debug(\n `Request #${requestNumber}: Request to Node ${node.index} was made. Response Code was ${response.status}.`,\n );\n\n if (response.status >= 200 && response.status < 300) {\n // If response is 2xx return a resolved promise\n return Promise.resolve(response.data);\n } else if (response.status < 500) {\n // Next, if response is anything but 5xx, don't retry, return a custom error\n return Promise.reject(\n this.customErrorForResponse(response, response.data?.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.customErrorForResponse(response, response.data?.message);\n }\n } catch (error: any) {\n // This block handles retries for HTTPStatus > 500 and network layer issues like connection timeouts\n this.setNodeHealthcheck(node, UNHEALTHY);\n lastException = error;\n this.logger.warn(\n `Request #${requestNumber}: Request to Node ${\n node.index\n } failed due to \"${error.code} ${error.message}${\n error.response == null\n ? \"\"\n : \" - \" + JSON.stringify(error.response?.data)\n }\"`,\n );\n // this.logger.debug(error.stack)\n this.logger.warn(\n `Request #${requestNumber}: Sleeping for ${this.retryIntervalSeconds}s and then retrying request...`,\n );\n await this.timer(this.retryIntervalSeconds);\n } finally {\n if (abortSignal && abortListener) {\n abortSignal.removeEventListener(\"abort\", abortListener);\n }\n }\n }\n this.logger.debug(\n `Request #${requestNumber}: No retries left. Raising last error`,\n );\n return Promise.reject(lastException);\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 getNextNode(requestNumber = 0): Node {\n // Check if nearestNode is set and is healthy, if so return it\n if (this.nearestNode != null) {\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: Node ${\n this.nearestNode.index\n } is ${this.nearestNode.isHealthy === true ? \"Healthy\" : \"Unhealthy\"}`,\n );\n if (\n this.nearestNode.isHealthy === true ||\n this.nodeDueForHealthcheck(this.nearestNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${this.nearestNode.index}`,\n );\n return this.nearestNode;\n }\n this.logger.debug(\n `Request #${requestNumber}: Falling back to individual nodes`,\n );\n }\n\n // Fallback to nodes as usual\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: ${this.nodes\n .map(\n (node) =>\n `Node ${node.index} is ${\n node.isHealthy === true ? \"Healthy\" : \"Unhealthy\"\n }`,\n )\n .join(\" || \")}`,\n );\n let candidateNode: Node = this.nodes[0];\n for (let i = 0; i <= this.nodes.length; i++) {\n this.currentNodeIndex = (this.currentNodeIndex + 1) % this.nodes.length;\n candidateNode = this.nodes[this.currentNodeIndex];\n if (\n candidateNode.isHealthy === true ||\n this.nodeDueForHealthcheck(candidateNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\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(\n `Request #${requestNumber}: No healthy nodes were found. Returning the next node, Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\n\n nodeDueForHealthcheck(node, requestNumber = 0): boolean {\n const isDueForHealthcheck =\n Date.now() - node.lastAccessTimestamp >\n this.healthcheckIntervalSeconds * 1000;\n if (isDueForHealthcheck) {\n this.logger.debug(\n `Request #${requestNumber}: Node ${node.index} has exceeded healtcheckIntervalSeconds of ${this.healthcheckIntervalSeconds}. Adding it back into rotation.`,\n );\n }\n return isDueForHealthcheck;\n }\n\n initializeMetadataForNodes(): void {\n if (this.nearestNode != null) {\n this.nearestNode.index = \"nearestNode\";\n this.setNodeHealthcheck(this.nearestNode, HEALTHY);\n }\n\n this.nodes.forEach((node, i) => {\n node.index = i;\n this.setNodeHealthcheck(node, HEALTHY);\n });\n }\n\n setNodeHealthcheck(node, isHealthy): void {\n node.isHealthy = isHealthy;\n node.lastAccessTimestamp = Date.now();\n }\n\n uriFor(endpoint: string, node): string {\n if (node.url != null) {\n return `${node.url}${endpoint}`;\n }\n return `${node.protocol}://${node.host}:${node.port}${node.path}${endpoint}`;\n }\n\n defaultHeaders(): any {\n const defaultHeaders = {};\n if (!this.sendApiKeyAsQueryParam) {\n defaultHeaders[APIKEYHEADERNAME] = this.apiKey;\n }\n defaultHeaders[\"Content-Type\"] = \"application/json\";\n return defaultHeaders;\n }\n\n async timer(seconds): Promise {\n return new Promise((resolve) => setTimeout(resolve, seconds * 1000));\n }\n\n customErrorForResponse(\n response: AxiosResponse,\n messageFromServer: string,\n ): TypesenseError {\n let errorMessage = `Request failed with HTTP code ${response.status}`;\n if (\n typeof messageFromServer === \"string\" &&\n messageFromServer.trim() !== \"\"\n ) {\n errorMessage += ` | Server said: ${messageFromServer}`;\n }\n\n let error = new TypesenseError(errorMessage);\n\n if (response.status === 400) {\n error = new RequestMalformed(errorMessage);\n } else if (response.status === 401) {\n error = new RequestUnauthorized(errorMessage);\n } else if (response.status === 404) {\n error = new ObjectNotFound(errorMessage);\n } else if (response.status === 409) {\n error = new ObjectAlreadyExists(errorMessage);\n } else if (response.status === 422) {\n error = new ObjectUnprocessable(errorMessage);\n } else if (response.status >= 500 && response.status <= 599) {\n error = new ServerError(errorMessage);\n } else {\n error = new HTTPError(errorMessage);\n }\n\n error.httpStatus = response.status;\n\n return error;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { CollectionFieldSchema, CollectionSchema } from \"./Collection\";\n\nexport interface CollectionCreateSchema {\n name: string;\n default_sorting_field?: string;\n fields?: CollectionFieldSchema[];\n symbols_to_index?: string[];\n token_separators?: string[];\n enable_nested_fields?: boolean;\n metadata?: object;\n voice_query_model?: {\n model_name?: string;\n };\n}\n\nexport interface CollectionCreateOptions {\n src_name?: string;\n}\n\nexport interface CollectionsRetrieveOptions {\n exclude_fields?: string;\n}\n\nconst RESOURCEPATH = \"/collections\";\n\nexport default class Collections {\n constructor(private apiCall: ApiCall) {}\n\n async create(\n schema: CollectionCreateSchema,\n options: CollectionCreateOptions = {},\n ): Promise {\n return this.apiCall.post(RESOURCEPATH, schema, options);\n }\n\n async retrieve(\n options: CollectionsRetrieveOptions = {},\n ): Promise {\n return this.apiCall.get(RESOURCEPATH, options);\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import TypesenseError from \"./TypesenseError\";\nimport { ImportResponse } from \"../Documents\";\n\nexport default class ImportError extends TypesenseError {\n importResults: ImportResponse[];\n constructor(message: string, importResults: ImportResponse[]) {\n super(message);\n this.importResults = importResults;\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 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}","const defaultCacheResponseForSeconds = 2 * 60;\nconst defaultMaxSize = 100;\n\nexport default class RequestWithCache {\n private responseCache: Map = new Map();\n private responsePromiseCache: Map = new Map();\n\n clearCache() {\n this.responseCache = new Map();\n this.responsePromiseCache = new Map();\n }\n\n // Todo: should probably be passed a callback instead, or an apiCall instance. Types are messy this way\n async perform(\n requestContext: any,\n requestFunction: (...params: any) => unknown,\n requestFunctionArguments: any[],\n cacheOptions: CacheOptions\n ): Promise {\n const {\n cacheResponseForSeconds = defaultCacheResponseForSeconds,\n maxSize = defaultMaxSize,\n } = cacheOptions;\n const isCacheDisabled = cacheResponseForSeconds <= 0 || maxSize <= 0;\n\n if (isCacheDisabled) {\n return requestFunction.call(requestContext, ...requestFunctionArguments);\n }\n\n const requestFunctionArgumentsJSON = JSON.stringify(\n requestFunctionArguments\n );\n const cacheEntry = this.responseCache.get(requestFunctionArgumentsJSON);\n const now = Date.now();\n\n if (cacheEntry) {\n const isEntryValid =\n now - cacheEntry.requestTimestamp < cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n this.responseCache.set(requestFunctionArgumentsJSON, cacheEntry);\n return Promise.resolve(cacheEntry.response);\n } else {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n\n const cachePromiseEntry = this.responsePromiseCache.get(\n requestFunctionArgumentsJSON\n );\n\n if (cachePromiseEntry) {\n const isEntryValid =\n now - cachePromiseEntry.requestTimestamp <\n cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n this.responsePromiseCache.set(\n requestFunctionArgumentsJSON,\n cachePromiseEntry\n );\n return cachePromiseEntry.responsePromise;\n } else {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n\n const responsePromise = requestFunction.call(\n requestContext,\n ...requestFunctionArguments\n );\n this.responsePromiseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n responsePromise,\n });\n\n const response = await responsePromise;\n this.responseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n response,\n });\n\n const isCacheOverMaxSize = this.responseCache.size > maxSize;\n if (isCacheOverMaxSize) {\n const oldestEntry = this.responseCache.keys().next().value;\n this.responseCache.delete(oldestEntry);\n }\n const isResponsePromiseCacheOverMaxSize =\n this.responsePromiseCache.size > maxSize;\n if (isResponsePromiseCacheOverMaxSize) {\n const oldestEntry = this.responsePromiseCache.keys().next().value;\n this.responsePromiseCache.delete(oldestEntry);\n }\n return response as T;\n }\n}\n\ninterface CacheOptions {\n cacheResponseForSeconds?: number;\n maxSize?: number;\n}\n","import RequestWithCache from \"./RequestWithCache\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport Collections from \"./Collections\";\nimport type {\n DocumentSchema,\n SearchableDocuments,\n SearchOptions,\n SearchParams,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\n\nconst RESOURCEPATH = \"/documents\";\n\nexport class SearchOnlyDocuments\n implements SearchableDocuments\n{\n protected requestWithCache: RequestWithCache = new RequestWithCache();\n\n constructor(\n protected collectionName: string,\n protected apiCall: ApiCall,\n protected configuration: Configuration\n ) {}\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n abortSignal = null,\n }: SearchOptions = {}\n ): Promise> {\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n for (const key in searchParameters) {\n if (Array.isArray(searchParameters[key])) {\n additionalQueryParams[key] = searchParameters[key].join(\",\");\n }\n }\n const queryParams = Object.assign(\n {},\n searchParameters,\n additionalQueryParams\n );\n\n return this.requestWithCache.perform(\n this.apiCall,\n this.apiCall.get,\n [this.endpointPath(\"search\"), queryParams, { abortSignal }],\n {\n cacheResponseForSeconds: cacheSearchResultsForSeconds,\n }\n ) as Promise>;\n }\n\n protected endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + operation\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import type { ReadStream } from \"fs\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport { ImportError } from \"./Errors\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\n// Todo: use generic to extract filter_by values\nexport interface DeleteQuery {\n filter_by?: string;\n batch_size?: number;\n ignore_not_found?: boolean;\n}\n\nexport interface DeleteResponse {\n num_deleted: number;\n}\n\ninterface ImportResponseSuccess {\n success: true;\n}\n\nexport interface ImportResponseFail {\n success: false;\n error: string;\n document: DocumentSchema;\n code: number;\n}\n\nexport type ImportResponse = ImportResponseSuccess | ImportResponseFail;\n\nexport type DocumentSchema = Record;\n\nexport interface SearchParamsWithPreset extends Partial {\n preset: string;\n}\n\ntype DropTokensMode =\n | \"right_to_left\"\n | \"left_to_right\"\n | \"both_sides:3\";\n\ntype OperationMode = \"off\" | \"always\" | \"fallback\";\nexport interface SearchParams {\n // From https://typesense.org/docs/latest/api/documents.html#arguments\n q?: string;\n query_by?: string | string[];\n query_by_weights?: string | number[];\n prefix?: string | boolean | boolean[]; // default: true\n filter_by?: string;\n enable_lazy_filter?: boolean; // default: false\n sort_by?: string | string[]; // default: text match desc\n facet_by?: string | string[];\n max_facet_values?: number;\n facet_sample_threshold?: number;\n facet_sample_percent?: number;\n facet_query?: string;\n facet_query_num_typos?: number;\n facet_return_parent?: string;\n page?: number; // default: 1\n per_page?: number; // default: 10, max 250\n group_by?: string | string[];\n group_limit?: number; // default:\n group_missing_values?: boolean;\n include_fields?: string | string[];\n exclude_fields?: string | string[];\n highlight_fields?: string | string[]; // default: all queried fields\n highlight_full_fields?: string | string[]; // default: all fields\n highlight_affix_num_tokens?: number; // default: 4\n highlight_start_tag?: string; // default: \n highlight_end_tag?: string; // default: \n enable_highlight_v1?: boolean;\n snippet_threshold?: number; // default: 30\n num_typos?: string | number | number[]; // default: 2\n min_len_1typo?: number;\n min_len_2typo?: number;\n split_join_tokens?: OperationMode;\n exhaustive_search?: boolean;\n drop_tokens_threshold?: number; // default: 10\n drop_tokens_mode?: DropTokensMode;\n typo_tokens_threshold?: number; // default: 100\n pinned_hits?: string | string[];\n hidden_hits?: string | string[];\n limit_hits?: number; // default: no limit\n pre_segmented_query?: boolean;\n enable_overrides?: boolean;\n prioritize_exact_match?: boolean; // default: true\n prioritize_token_position?: boolean;\n prioritize_num_matching_fields?: boolean;\n search_cutoff_ms?: number;\n use_cache?: boolean;\n max_candidates?: number;\n infix?: OperationMode | OperationMode[];\n preset?: string;\n text_match_type?: \"max_score\" | \"max_weight\";\n vector_query?: string;\n \"x-typesense-api-key\"?: string;\n \"x-typesense-user-id\"?: string;\n offset?: number;\n limit?: number;\n stopwords?: string;\n conversation?: boolean;\n conversation_model_id?: string;\n conversation_id?: string;\n voice_query?: string;\n}\n\ntype SearchResponseHighlightObject = {\n matched_tokens?: string[];\n snippet?: string;\n value?: string;\n};\n\nexport type SearchResponseHighlight = T extends string | number\n ? SearchResponseHighlightObject\n : {\n [TAttribute in keyof T]?: SearchResponseHighlight;\n };\n\nexport interface SearchResponseHit {\n curated?: true;\n highlights?: [\n {\n field: keyof T;\n snippet?: string;\n value?: string;\n snippets?: string[];\n indices?: number[];\n matched_tokens: string[][] | string[];\n },\n ];\n highlight: SearchResponseHighlight;\n document: T;\n text_match: number;\n text_match_info?: {\n best_field_score: string; // To prevent scores from being truncated by JSON spec\n best_field_weight: number;\n fields_matched: number;\n score: string; // To prevent scores from being truncated by JSON spec\n tokens_matched: number;\n };\n}\n\nexport interface SearchResponseFacetCountSchema {\n counts: {\n count: number;\n highlighted: string;\n value: string;\n }[];\n field_name: keyof T;\n stats: {\n avg?: number;\n max?: number;\n min?: number;\n sum?: number;\n };\n}\n\nexport interface SearchResponseRequestParams {\n collection_name?: string;\n q?: string;\n page?: number;\n per_page?: number;\n first_q?: string;\n voice_query?: {\n transcribed_query?: string;\n };\n}\n\n// Todo: we could infer whether this is a grouped response by adding the search params as a generic\nexport interface SearchResponse {\n facet_counts?: SearchResponseFacetCountSchema[];\n found: number;\n found_docs?: number;\n out_of: number;\n page: number;\n request_params: SearchResponseRequestParams;\n search_time_ms: number;\n search_cutoff?: boolean;\n hits?: SearchResponseHit[];\n grouped_hits?: {\n group_key: string[];\n hits: SearchResponseHit[];\n found?: number;\n }[];\n conversation?: {\n answer: string;\n conversation_history: {\n conversation: object[];\n id: string;\n last_updated: number;\n ttl: number;\n };\n conversation_id: string;\n query: string;\n };\n error?: string;\n code?: number;\n}\n\nexport interface DocumentWriteParameters {\n dirty_values?: \"coerce_or_reject\" | \"coerce_or_drop\" | \"drop\" | \"reject\";\n action?: \"create\" | \"update\" | \"upsert\" | \"emplace\";\n}\n\nexport interface UpdateByFilterParameters {\n filter_by?: string;\n}\n\nexport interface UpdateByFilterResponse {\n num_updated: number;\n}\n\nexport interface DocumentImportParameters extends DocumentWriteParameters {\n batch_size?: number;\n return_doc?: boolean;\n return_id?: boolean;\n}\n\nexport interface DocumentsExportParameters {\n filter_by?: string;\n include_fields?: string;\n exclude_fields?: string;\n}\n\nexport interface SearchableDocuments {\n search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n options: SearchOptions,\n ): Promise>;\n clearCache(): void;\n}\n\nexport interface WriteableDocuments {\n create(document: T, options: DocumentWriteParameters): Promise;\n upsert(document: T, options: DocumentWriteParameters): Promise;\n update(document: T, options: DocumentWriteParameters): Promise;\n delete(query: DeleteQuery): Promise;\n import(\n documents: T[] | string,\n options: DocumentWriteParameters,\n ): Promise;\n export(options: DocumentsExportParameters): Promise;\n}\n\nexport interface SearchOptions {\n cacheSearchResultsForSeconds?: number;\n abortSignal?: AbortSignal | null;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class Documents\n extends SearchOnlyDocuments\n implements WriteableDocuments\n{\n constructor(\n collectionName: string,\n apiCall: ApiCall,\n configuration: Configuration,\n ) {\n super(collectionName, apiCall, configuration);\n }\n\n async create(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(this.endpointPath(), document, options);\n }\n\n async upsert(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"upsert\" }),\n );\n }\n\n async update(\n document: T,\n options: UpdateByFilterParameters,\n ): Promise;\n async update(document: T, options: DocumentWriteParameters): Promise;\n async update(\n document: T,\n options: DocumentWriteParameters | UpdateByFilterParameters = {},\n ): Promise {\n if (!document) throw new Error(\"No document provided\");\n\n if (options[\"filter_by\"] != null) {\n return this.apiCall.patch(\n this.endpointPath(),\n document,\n Object.assign({}, options),\n );\n } else {\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"update\" }),\n );\n }\n }\n\n async delete(\n query: DeleteQuery = {} as DeleteQuery,\n ): Promise {\n return this.apiCall.delete(this.endpointPath(), query);\n }\n\n async createMany(documents: T[], options: DocumentImportParameters = {}) {\n this.configuration.logger.warn(\n \"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 );\n return this.import(documents, options);\n }\n\n /**\n * Import a set of documents in a batch.\n * @param {string|Array} documents - Can be a JSONL string of documents or an array of document objects.\n * @param options\n * @return {string|Array} Returns a JSONL string if the input was a JSONL string, otherwise it returns an array of results.\n */\n async import(\n documents: string,\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[],\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[] | string,\n options: DocumentImportParameters = {},\n ): Promise {\n let documentsInJSONLFormat;\n if (Array.isArray(documents)) {\n try {\n documentsInJSONLFormat = documents\n .map((document) => JSON.stringify(document))\n .join(\"\\n\");\n } catch (error: any) {\n // if rangeerror, throw custom error message\n if (\n error instanceof RangeError &&\n error.message.includes(\"Too many properties to enumerate\")\n ) {\n throw new Error(`${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\n // else, throw the non-range error anyways\n throw new Error(error);\n }\n } else {\n documentsInJSONLFormat = documents;\n }\n\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n if (Array.isArray(documents)) {\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter(\n (r) => r.success === false,\n );\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n } else {\n return resultsInJSONLFormat as string;\n }\n }\n /**\n * Imports documents from a NodeJS readable stream of JSONL.\n */\n async importStream(\n readableStream: ReadStream,\n options: DocumentImportParameters = {},\n ): Promise {\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\n queryParameters: options,\n bodyParameters: readableStream,\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter((r) => r.success === false);\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n }\n\n /**\n * Returns a JSONL string for all the documents in this collection\n */\n async export(options: DocumentsExportParameters = {}): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options);\n }\n\n /**\n * Returns a NodeJS readable stream of JSONL for all the documents in this collection.\n */\n async exportStream(\n options: DocumentsExportParameters = {},\n ): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options, {\n responseType: \"stream\",\n });\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { OverrideSchema } from \"./Override\";\n\nconst RESOURCEPATH = \"/overrides\";\n\nexport interface OverrideRuleQuerySchema {\n query?: string;\n match?: \"exact\" | \"contains\";\n}\n\nexport interface OverrideRuleFilterSchema {\n filter_by?: string;\n}\n\nexport interface OverrideRuleTagsSchema {\n tags?: string[];\n}\n\nexport interface OverrideCreateSchema {\n rule: OverrideRuleQuerySchema &\n OverrideRuleFilterSchema &\n OverrideRuleTagsSchema;\n filter_by?: string;\n sort_by?: string;\n remove_matched_tokens?: boolean;\n replace_query?: string;\n includes?: Array<{\n id: string;\n position: number;\n }>;\n excludes?: Array<{ id: string }>;\n filter_curated_hits?: boolean;\n effective_from_ts?: number;\n effective_to_ts?: number;\n stop_processing?: boolean;\n metadata?: object;\n}\n\nexport interface OverridesRetrieveSchema {\n overrides: OverrideSchema[];\n}\n\nexport default class Overrides {\n constructor(\n private collectionName: string,\n private apiCall: ApiCall,\n ) {}\n\n async upsert(\n overrideId: string,\n params: OverrideCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(overrideId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${\n Overrides.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Overrides, { OverrideCreateSchema } from \"./Overrides\";\n\nexport interface OverrideSchema extends OverrideCreateSchema {\n id: string;\n}\n\nexport interface OverrideDeleteSchema {\n id: string;\n}\n\nexport default class Override {\n constructor(\n private collectionName: string,\n private overrideId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Overrides.RESOURCEPATH}/${encodeURIComponent(this.overrideId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { SynonymSchema } from \"./Synonym\";\n\nconst RESOURCEPATH = \"/synonyms\";\n\nexport interface SynonymCreateSchema {\n synonyms: string[];\n root?: string;\n locale?: string;\n symbols_to_index?: string[];\n}\n\nexport interface SynonymsRetrieveSchema {\n synonyms: SynonymSchema[];\n}\n\nexport default class Synonyms {\n constructor(private collectionName: string, private apiCall: ApiCall) {}\n\n async upsert(\n synonymId: string,\n params: SynonymCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(synonymId),\n params\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${\n Synonyms.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Synonyms, { SynonymCreateSchema } from \"./Synonyms\";\n\nexport interface SynonymSchema extends SynonymCreateSchema {\n id: string;\n}\n\nexport interface SynonymDeleteSchema {\n id: string;\n}\n\nexport default class Synonym {\n constructor(\n private collectionName: string,\n private synonymId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Synonyms.RESOURCEPATH}/${encodeURIComponent(this.synonymId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Documents, {\n DeleteQuery,\n DocumentSchema,\n DocumentWriteParameters,\n} from \"./Documents\";\n\nexport class Document {\n constructor(\n private collectionName: string,\n private documentId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(options?: DeleteQuery): Promise {\n return this.apiCall.delete(this.endpointPath(), options);\n }\n\n async update(\n partialDocument: Partial,\n options: DocumentWriteParameters = {}\n ): Promise {\n return this.apiCall.patch(this.endpointPath(), partialDocument, options);\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Documents.RESOURCEPATH}/${encodeURIComponent(this.documentId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections, { CollectionCreateSchema } from \"./Collections\";\nimport Documents, { DocumentSchema } from \"./Documents\";\nimport { ObjectNotFound } from \"./Errors\";\nimport Overrides from \"./Overrides\";\nimport Override from \"./Override\";\nimport Synonyms from \"./Synonyms\";\nimport Synonym from \"./Synonym\";\nimport { Document } from \"./Document\";\n\nexport type FieldType =\n | \"string\"\n | \"int32\"\n | \"int64\"\n | \"float\"\n | \"bool\"\n | \"geopoint\"\n | \"geopoint[]\"\n | \"string[]\"\n | \"int32[]\"\n | \"int64[]\"\n | \"float[]\"\n | \"bool[]\"\n | \"object\"\n | \"object[]\"\n | \"auto\"\n | \"string*\"\n | \"image\";\n\nexport interface CollectionFieldSchema {\n name: string;\n type: FieldType;\n optional?: boolean;\n facet?: boolean;\n index?: boolean;\n sort?: boolean;\n locale?: string;\n infix?: boolean;\n stem?: boolean;\n num_dim?: number;\n store?: boolean;\n [t: string]: unknown;\n}\n\nexport interface CollectionSchema extends CollectionCreateSchema {\n created_at: number;\n num_documents: number;\n num_memory_shards: number;\n}\n\nexport interface CollectionDropFieldSchema {\n name: string;\n drop: true;\n}\n\nexport interface CollectionUpdateSchema\n extends Partial> {\n fields?: (CollectionFieldSchema | CollectionDropFieldSchema)[];\n}\n\nexport default class Collection {\n private readonly _documents: Documents;\n private individualDocuments: Record> = {};\n private readonly _overrides: Overrides;\n private individualOverrides: Record = {};\n private readonly _synonyms: Synonyms;\n private individualSynonyms: Record = {};\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any,\n ) {\n this.name = name;\n this.apiCall = apiCall;\n this.configuration = configuration;\n\n this._documents = new Documents(\n this.name,\n this.apiCall,\n this.configuration,\n );\n this._overrides = new Overrides(this.name, this.apiCall);\n this._synonyms = new Synonyms(this.name, this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(schema: CollectionUpdateSchema): Promise {\n return this.apiCall.patch(this.endpointPath(), schema);\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n async exists(): Promise {\n try {\n await this.retrieve();\n return true;\n } catch (e) {\n if (e instanceof ObjectNotFound) return false;\n throw e;\n }\n }\n\n documents(): Documents;\n documents(documentId: string): Document;\n documents(documentId?: string): Document | Documents {\n if (!documentId) {\n return this._documents;\n } else {\n if (this.individualDocuments[documentId] === undefined) {\n this.individualDocuments[documentId] = new Document(\n this.name,\n documentId,\n this.apiCall,\n );\n }\n return this.individualDocuments[documentId];\n }\n }\n\n overrides(): Overrides;\n overrides(overrideId: string): Override;\n overrides(overrideId?: string): Overrides | Override {\n if (overrideId === undefined) {\n return this._overrides;\n } else {\n if (this.individualOverrides[overrideId] === undefined) {\n this.individualOverrides[overrideId] = new Override(\n this.name,\n overrideId,\n this.apiCall,\n );\n }\n return this.individualOverrides[overrideId];\n }\n }\n\n synonyms(): Synonyms;\n synonyms(synonymId: string): Synonym;\n synonyms(synonymId?: string): Synonyms | Synonym {\n if (synonymId === undefined) {\n return this._synonyms;\n } else {\n if (this.individualSynonyms[synonymId] === undefined) {\n this.individualSynonyms[synonymId] = new Synonym(\n this.name,\n synonymId,\n this.apiCall,\n );\n }\n return this.individualSynonyms[synonymId];\n }\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/aliases\";\n\nexport interface CollectionAliasCreateSchema {\n collection_name: string;\n}\n\nexport interface CollectionAliasSchema extends CollectionAliasCreateSchema {\n name: string;\n}\n\nexport interface CollectionAliasesResponseSchema {\n aliases: CollectionAliasSchema[];\n}\n\nexport default class Aliases {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n name: string,\n mapping: CollectionAliasCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(name),\n mapping\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n private endpointPath(aliasName): string {\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(aliasName)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import Aliases, { CollectionAliasSchema } from \"./Aliases\";\nimport ApiCall from \"./ApiCall\";\n\nexport default class Alias {\n constructor(private name: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import { createHmac } from \"crypto\";\nimport ApiCall from \"./ApiCall\";\nimport { KeyCreateSchema, KeySchema } from \"./Key\";\nimport { SearchParams } from \"./Documents\";\n\nconst RESOURCEPATH = \"/keys\";\n\nexport interface KeysRetrieveSchema {\n keys: KeySchema[];\n}\n\nexport interface GenerateScopedSearchKeyParams extends Partial {\n expires_at?: number;\n cache_ttl?: number;\n limit_multi_searches?: number;\n}\n\nexport default class Keys {\n constructor(private apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(params: KeyCreateSchema): Promise {\n return this.apiCall.post(Keys.RESOURCEPATH, params);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n generateScopedSearchKey(\n searchKey: string,\n parameters: GenerateScopedSearchKeyParams\n ): string {\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 const paramsJSON = JSON.stringify(parameters);\n const digest = Buffer.from(\n createHmac(\"sha256\", searchKey).update(paramsJSON).digest(\"base64\")\n );\n const keyPrefix = searchKey.substr(0, 4);\n const rawScopedKey = `${digest}${keyPrefix}${paramsJSON}`;\n\n return Buffer.from(rawScopedKey).toString(\"base64\");\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Keys from \"./Keys\";\n\nexport interface KeyCreateSchema {\n actions: string[];\n collections: string[];\n description?: string;\n value?: string;\n value_prefix?: string;\n expires_at?: number;\n}\n\nexport interface KeyDeleteSchema {\n id: number;\n}\n\nexport interface KeySchema extends KeyCreateSchema {\n id: number;\n}\n\nexport default class Key {\n constructor(private id: number, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Keys.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/debug\";\n\nexport interface DebugResponseSchema {\n state: number;\n version: string;\n}\n\nexport default class Debug {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/metrics.json\";\n\nexport interface MetricsResponse {\n [key: `system_cpu${number}_active_percentage`]: string;\n system_cpu_active_percentage: string;\n system_disk_total_bytes: string;\n system_disk_used_bytes: string;\n system_memory_total_bytes: string;\n system_memory_total_swap_bytes?: string;\n system_memory_used_bytes: string;\n system_memory_used_swap_bytes?: string;\n system_network_received_bytes: string;\n system_network_sent_bytes: string;\n typesense_memory_active_bytes: string;\n typesense_memory_allocated_bytes: string;\n typesense_memory_fragmentation_ratio: string;\n typesense_memory_mapped_bytes: string;\n typesense_memory_metadata_bytes: string;\n typesense_memory_resident_bytes: string;\n typesense_memory_retained_bytes: string;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/stats.json\";\n\nexport interface EndpointStats {\n [endpoint: string]: number;\n}\n\nexport interface StatsResponse {\n delete_latency_ms?: number;\n delete_requests_per_second?: number;\n import_latency_ms?: number;\n import_requests_per_second?: number;\n latency_ms?: EndpointStats;\n overloaded_requests_per_second?: number;\n pending_write_batches?: number;\n requests_per_second?: EndpointStats;\n search_latency_ms?: number;\n search_requests_per_second?: number;\n total_requests_per_second?: number;\n write_latency_ms?: number;\n write_requests_per_second?: number;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/health\";\n\nexport interface HealthResponse {\n ok: boolean;\n}\n\nexport default class Health {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/operations\";\n\nexport default class Operations {\n constructor(private apiCall: ApiCall) {}\n\n async perform(\n operationName: \"vote\" | \"snapshot\" | \"cache/clear\" | string,\n queryParameters: Record = {}\n ): Promise {\n return this.apiCall.post(\n `${RESOURCEPATH}/${operationName}`,\n {},\n queryParameters\n );\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport RequestWithCache from \"./RequestWithCache\";\nimport {\n DocumentSchema,\n SearchParams,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\n\nconst RESOURCEPATH = \"/multi_search\";\n\nexport interface MultiSearchRequestSchema extends SearchParams {\n collection?: string;\n \"x-typesense-api-key\"?: string;\n}\n\nexport interface MultiSearchRequestWithPresetSchema\n extends SearchParamsWithPreset {\n collection?: string;\n \"x-typesense-api-key\"?: string;\n}\n\nexport interface MultiSearchRequestsSchema {\n searches: (MultiSearchRequestSchema | MultiSearchRequestWithPresetSchema)[];\n}\n\nexport interface MultiSearchResponse {\n results: { [Index in keyof T]: SearchResponse } & {\n length: T[\"length\"];\n };\n}\n\nexport default class MultiSearch {\n private requestWithCache: RequestWithCache;\n\n constructor(\n private apiCall: ApiCall,\n private configuration: Configuration,\n private useTextContentType: boolean = false\n ) {\n this.requestWithCache = new RequestWithCache();\n }\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async perform(\n searchRequests: MultiSearchRequestsSchema,\n commonParams: Partial = {},\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n }: { cacheSearchResultsForSeconds?: number } = {}\n ): Promise> {\n const additionalHeaders = {};\n if (this.useTextContentType) {\n additionalHeaders[\"content-type\"] = \"text/plain\";\n }\n\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n const queryParams = Object.assign({}, commonParams, additionalQueryParams);\n\n return this.requestWithCache.perform(\n this.apiCall,\n this.apiCall.post,\n [RESOURCEPATH, searchRequests, queryParams, additionalHeaders],\n { cacheResponseForSeconds: cacheSearchResultsForSeconds }\n ) as Promise>;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { PresetSchema } from \"./Preset\";\nimport { SearchParams } from \"./Documents\";\nimport { MultiSearchRequestsSchema } from \"./MultiSearch\";\n\nconst RESOURCEPATH = \"/presets\";\n\nexport interface PresetCreateSchema {\n value: SearchParams | MultiSearchRequestsSchema;\n}\n\nexport interface PresetsRetrieveSchema {\n presets: PresetSchema[];\n}\n\nexport default class Presets {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n presetId: string,\n params: PresetCreateSchema\n ): Promise {\n return this.apiCall.put(this.endpointPath(presetId), params);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Presets.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Presets, { PresetCreateSchema } from \"./Presets\";\n\nexport interface PresetSchema extends PresetCreateSchema {\n name: string;\n}\n\nexport interface PresetDeleteSchema {\n name: string;\n}\n\nexport default class Preset {\n constructor(private presetId: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Presets.RESOURCEPATH}/${encodeURIComponent(this.presetId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n AnalyticsRuleCreateSchema,\n AnalyticsRuleSchema,\n} from \"./AnalyticsRule\";\n\nexport interface AnalyticsRulesRetrieveSchema {\n rules: AnalyticsRuleSchema[];\n}\n\nconst RESOURCEPATH = \"/analytics/rules\";\n\nexport default class AnalyticsRules {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async upsert(\n name: string,\n params: AnalyticsRuleCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(name),\n params\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsRules.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\n\nexport interface AnalyticsRuleCreateSchema {\n type: \"popular_queries\" | \"nohits_queries\" | \"counter\";\n params: {\n source: {\n collections: string[];\n events?: Array<{\n type: string;\n weight: number;\n name: string;\n }>;\n };\n expand_query?: boolean;\n destination: {\n collection: string;\n counter_field?: string;\n };\n limit?: number;\n };\n}\n\nexport interface AnalyticsRuleDeleteSchema {\n name: string;\n}\n\nexport interface AnalyticsRuleSchema extends AnalyticsRuleCreateSchema {\n name: string;\n}\n\nexport default class AnalyticsRule {\n constructor(\n private name: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${AnalyticsRules.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { AnalyticsEventCreateSchema } from \"./AnalyticsEvent\";\n\nconst RESOURCEPATH = \"/analytics/events\";\n\nexport default class AnalyticsEvents {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: AnalyticsEventCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsEvents.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\nimport AnalyticsRule from \"./AnalyticsRule\";\nimport AnalyticsEvents from \"./AnalyticsEvents\";\n\nconst RESOURCEPATH = \"/analytics\";\n\nexport default class Analytics {\n private readonly _analyticsRules: AnalyticsRules;\n private readonly individualAnalyticsRules: Record = {};\n private readonly _analyticsEvents: AnalyticsEvents;\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._analyticsRules = new AnalyticsRules(this.apiCall);\n this._analyticsEvents = new AnalyticsEvents(this.apiCall);\n }\n\n rules(id?: string): AnalyticsRules | AnalyticsRule {\n if (id === undefined) {\n return this._analyticsRules;\n } else {\n if (this.individualAnalyticsRules[id] === undefined) {\n this.individualAnalyticsRules[id] = new AnalyticsRule(id, this.apiCall);\n }\n return this.individualAnalyticsRules[id];\n }\n }\n\n events(): AnalyticsEvents {\n return this._analyticsEvents;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { StopwordSchema } from \"./Stopword\";\n\nconst RESOURCEPATH = \"/stopwords\";\n\nexport interface StopwordCreateSchema {\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordsRetrieveSchema {\n stopwords: StopwordSchema[];\n}\n\nexport default class Stopwords {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n stopwordId: string,\n params: StopwordCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(stopwordId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Stopwords.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Stopwords, { StopwordCreateSchema } from \"./Stopwords\";\n\nexport interface StopwordSchema extends StopwordCreateSchema {\n id: string;\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordDeleteSchema {\n id: string;\n}\n\nexport default class Stopword {\n constructor(\n private stopwordId: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Stopwords.RESOURCEPATH}/${encodeURIComponent(this.stopwordId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n ConversationModelCreateSchema,\n ConversationModelSchema,\n} from \"./ConversationModel\";\n\nconst RESOURCEPATH = \"/conversations/models\";\n\nexport default class ConversationModels {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(\n this.endpointPath(),\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${ConversationModels.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\n\nexport interface ConversationModelCreateSchema {\n id?: string;\n model_name: string;\n api_key?: string;\n system_prompt?: string;\n max_bytes: number;\n history_collection?: string;\n}\n\nexport interface ConversationModelDeleteSchema {\n id: string;\n}\n\nexport interface ConversationModelSchema extends ConversationModelCreateSchema {\n id: string;\n}\n\nexport default class ConversationModel {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async update(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(\n this.endpointPath(),\n );\n }\n\n private endpointPath(): string {\n return `${ConversationModels.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\nimport ConversationModel from \"./ConversationModel\";\nimport { ConversationSchema } from \"./Conversation\";\n\nconst RESOURCEPATH = \"/conversations\";\n\nexport interface ConversationsRetrieveSchema {\n conversations: ConversationSchema[];\n}\n\nexport default class Conversations {\n private readonly _conversationsModels: ConversationModels;\n private readonly individualConversationModels: Record<\n string,\n ConversationModel\n > = {};\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._conversationsModels = new ConversationModels(this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n models(): ConversationModels;\n models(id: string): ConversationModel;\n models(id?: string): ConversationModels | ConversationModel {\n if (id === undefined) {\n return this._conversationsModels;\n } else {\n if (this.individualConversationModels[id] === undefined) {\n this.individualConversationModels[id] = new ConversationModel(\n id,\n this.apiCall,\n );\n }\n return this.individualConversationModels[id];\n }\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Conversations from \"./Conversations\";\n\nexport interface ConversationDeleteSchema {\n id: number;\n}\n\nexport interface ConversationUpdateSchema {\n ttl: number;\n}\n\nexport interface ConversationSchema {\n id: number;\n conversation: object[];\n last_updated: number;\n ttl: number;\n}\n\nexport default class Conversation {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(\n params: ConversationUpdateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Conversations.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","/* eslint-disable no-dupe-class-members */\n\nimport Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Collection from \"./Collection\";\nimport Aliases from \"./Aliases\";\nimport Alias from \"./Alias\";\nimport Keys from \"./Keys\";\nimport Key from \"./Key\";\nimport Debug from \"./Debug\";\nimport Metrics from \"./Metrics\";\nimport Stats from \"./Stats\";\nimport Health from \"./Health\";\nimport Operations from \"./Operations\";\nimport MultiSearch from \"./MultiSearch\";\nimport Presets from \"./Presets\";\nimport Preset from \"./Preset\";\nimport Analytics from \"./Analytics\";\nimport Stopwords from \"./Stopwords\";\nimport Stopword from \"./Stopword\";\nimport Conversations from \"./Conversations\";\nimport Conversation from \"./Conversation\";\n\nexport default class Client {\n configuration: Configuration;\n apiCall: ApiCall;\n debug: Debug;\n metrics: Metrics;\n stats: Stats;\n health: Health;\n operations: Operations;\n multiSearch: MultiSearch;\n analytics: Analytics;\n private readonly _collections: Collections;\n private readonly individualCollections: Record;\n private readonly _aliases: Aliases;\n private readonly individualAliases: Record;\n private readonly _keys: Keys;\n private readonly individualKeys: Record;\n private readonly _presets: Presets;\n private readonly individualPresets: Record;\n private readonly _stopwords: Stopwords;\n private readonly individualStopwords: Record;\n private readonly _conversations: Conversations;\n private readonly individualConversations: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? false;\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.debug = new Debug(this.apiCall);\n this.metrics = new Metrics(this.apiCall);\n this.stats = new Stats(this.apiCall);\n this.health = new Health(this.apiCall);\n this.operations = new Operations(this.apiCall);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration);\n this._collections = new Collections(this.apiCall);\n this.individualCollections = {};\n this._aliases = new Aliases(this.apiCall);\n this.individualAliases = {};\n this._keys = new Keys(this.apiCall);\n this.individualKeys = {};\n this._presets = new Presets(this.apiCall);\n this.individualPresets = {};\n this._stopwords = new Stopwords(this.apiCall);\n this.individualStopwords = {};\n this.analytics = new Analytics(this.apiCall);\n this._conversations = new Conversations(this.apiCall);\n this.individualConversations = {};\n }\n\n collections(): Collections;\n collections = object>(\n collectionName: string,\n ): Collection;\n collections(collectionName?: string): Collections | Collection {\n if (collectionName === undefined) {\n return this._collections;\n } else {\n if (this.individualCollections[collectionName] === undefined) {\n this.individualCollections[collectionName] = new Collection(\n collectionName,\n this.apiCall,\n this.configuration,\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n\n aliases(): Aliases;\n aliases(aliasName: string): Alias;\n aliases(aliasName?: string): Aliases | Alias {\n if (aliasName === undefined) {\n return this._aliases;\n } else {\n if (this.individualAliases[aliasName] === undefined) {\n this.individualAliases[aliasName] = new Alias(aliasName, this.apiCall);\n }\n return this.individualAliases[aliasName];\n }\n }\n\n keys(): Keys;\n keys(id: number): Key;\n keys(id?: number): Keys | Key {\n if (id === undefined) {\n return this._keys;\n } else {\n if (this.individualKeys[id] === undefined) {\n this.individualKeys[id] = new Key(id, this.apiCall);\n }\n return this.individualKeys[id];\n }\n }\n\n presets(): Presets;\n presets(id: string): Preset;\n presets(id?: string): Presets | Preset {\n if (id === undefined) {\n return this._presets;\n } else {\n if (this.individualPresets[id] === undefined) {\n this.individualPresets[id] = new Preset(id, this.apiCall);\n }\n return this.individualPresets[id];\n }\n }\n\n stopwords(): Stopwords;\n stopwords(id: string): Stopword;\n stopwords(id?: string): Stopwords | Stopword {\n if (id === undefined) {\n return this._stopwords;\n } else {\n if (this.individualStopwords[id] === undefined) {\n this.individualStopwords[id] = new Stopword(id, this.apiCall);\n }\n return this.individualStopwords[id];\n }\n }\n\n conversations(): Conversations;\n conversations(id: string): Conversation;\n conversations(id?: string): Conversations | Conversation {\n if (id === undefined) {\n return this._conversations;\n } else {\n if (this.individualConversations[id] === undefined) {\n this.individualConversations[id] = new Conversation(id, this.apiCall);\n }\n return this.individualConversations[id];\n }\n }\n}\n","import { DocumentSchema, SearchableDocuments } from \"./Documents\";\nimport ApiCall from \"./ApiCall\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\nexport class SearchOnlyCollection {\n private readonly _documents: SearchableDocuments;\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any\n ) {\n this._documents = new SearchOnlyDocuments(\n this.name,\n this.apiCall,\n this.configuration\n );\n }\n\n documents(): SearchableDocuments {\n return this._documents;\n }\n}\n","import Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport MultiSearch from \"./MultiSearch\";\nimport { DocumentSchema } from \"./Documents\";\nimport { SearchOnlyCollection } from \"./SearchOnlyCollection\";\n\nexport default class SearchClient {\n public readonly multiSearch: MultiSearch;\n private readonly configuration: Configuration;\n private readonly apiCall: ApiCall;\n private readonly individualCollections: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? true;\n if (\n options.sendApiKeyAsQueryParam === true &&\n (options.apiKey || \"\").length > 2000\n ) {\n console.warn(\n \"[typesense] API Key is longer than 2000 characters which is over the allowed limit, so disabling sending it as a query parameter.\"\n );\n options.sendApiKeyAsQueryParam = false;\n }\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration, true);\n this.individualCollections = {};\n }\n\n clearCache() {\n this.multiSearch.clearCache();\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Object.entries(this.individualCollections).forEach(([_, collection]) => {\n collection.documents().clearCache();\n });\n }\n\n collections(\n collectionName: string\n ): SearchOnlyCollection | SearchOnlyCollection {\n if (!collectionName) {\n throw new Error(\n \"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(\n collectionName,\n this.apiCall,\n this.configuration\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n}\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(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\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}","import Client from \"./Typesense/Client\";\nimport SearchClient from \"./Typesense/SearchClient\";\nimport * as Errors from \"./Typesense/Errors\";\n\nexport { Client, SearchClient, Errors };\nexport default { Client, SearchClient, Errors };\n"],"names":["root","definition","noop","undefinedType","isIE","window","navigator","test","userAgent","logMethods","_loggersByName","defaultLogger","bindMethod","obj","methodName","method","bind","Function","prototype","call","e","apply","arguments","traceForIE","console","log","trace","replaceLoggingMethods","level","this","getLevel","i","length","methodFactory","name","debug","levels","SILENT","enableLoggingWhenConsoleArrives","defaultMethodFactory","_level","_loggerName","undefined","realMethod","Logger","factory","inheritedLevel","defaultLevel","userLevel","self","storageKey","getPersistedLevel","storedLevel","localStorage","ignore","cookie","document","cookieName","encodeURIComponent","location","indexOf","exec","slice","normalizeLevel","input","toUpperCase","TypeError","setLevel","persist","levelNum","levelName","persistLevelIfPossible","setDefaultLevel","resetLevel","removeItem","clearPersistedLevel","enableAll","TRACE","disableAll","rebuild","childName","initialLevel","getLogger","logger","_log","noConflict","getLoggers","_typeof","_regeneratorRuntime","module","exports","__esModule","t","r","Object","n","hasOwnProperty","o","defineProperty","value","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","constructor","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","stop","rval","handle","complete","finish","delegateYield","runtime","regeneratorRuntime","accidentalStrictMode","globalThis","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","key","get","prop","_classCallCheck","instance","Constructor","toPropertyKey","toPrimitive","String","_defineProperties","target","props","descriptor","_createClass","protoProps","staticProps","_defineProperty","_assertThisInitialized","ReferenceError","_possibleConstructorReturn","_getPrototypeOf","_setPrototypeOf","_inherits","subClass","superClass","_isNativeReflectConstruct","Boolean","valueOf","Reflect","construct","_wrapNativeSuper","Class","_cache","Map","fn","toString","has","set","Wrapper","TypesenseError","_Error","message","_this","_callSuper","MissingConfigurationError","_TypesenseError","Configuration","options","nodes","map","node","setDefaultPathInNode","setDefaultPortInNode","_objectSpread","randomizeNodes","shuffleArray","nearestNode","connectionTimeoutSeconds","timeoutSeconds","healthcheckIntervalSeconds","numRetries","retryIntervalSeconds","apiKey","sendApiKeyAsQueryParam","cacheSearchResultsForSeconds","useServerSideSearchCache","logLevel","additionalHeaders","httpAgent","httpsAgent","paramsSerializer","showDeprecationWarnings","validate","validateNodes","isNodeMissingAnyParameters","_this2","some","every","warn","masterNode","readReplicaNodes","array","j","Math","floor","random","_ref","asyncGeneratorStep","gen","reject","_next","_throw","info","error","_asyncToGenerator","args","err","thisArg","kindOf","cache","thing","str","toLowerCase","kindOfTest","typeOfTest","isArray","Array","isUndefined","isArrayBuffer","isString","isFunction","isNumber","isObject","isPlainObject","val","isDate","isFile","isBlob","isFileList","isURLSearchParams","isReadableStream","isRequest","isResponse","isHeaders","allOwnKeys","getOwnPropertyNames","len","findKey","_key","_global","global","isContextDefined","context","isTypedArray","TypedArray","Uint8Array","isHTMLForm","isRegExp","reduceDescriptors","reducer","descriptors","getOwnPropertyDescriptors","reducedDescriptors","ret","defineProperties","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","isAsyncFn","_setImmediate","setImmediateSupported","setImmediate","postMessageSupported","postMessage","token","callbacks","addEventListener","source","data","shift","cb","setTimeout","asap","queueMicrotask","process","nextTick","isBuffer","isFormData","kind","FormData","append","isArrayBufferView","result","ArrayBuffer","isView","buffer","isBoolean","isStream","pipe","merge","caseless","assignValue","targetKey","extend","b","trim","replace","stripBOM","content","charCodeAt","inherits","superConstructor","assign","toFlatObject","sourceObj","destObj","filter","propFilter","merged","endsWith","searchString","position","lastIndex","toArray","arr","forEachEntry","pair","matchAll","regExp","matches","hasOwnProp","freezeMethods","toObjectSet","arrayOrString","delimiter","split","toCamelCase","m","p1","p2","toFiniteNumber","defaultValue","Number","isFinite","generateString","size","alphabet","isSpecCompliantForm","toJSONObject","stack","visit","reducedValue","isThenable","catch","AxiosError","code","config","request","response","captureStackTrace","status","utils","toJSON","description","number","fileName","lineNumber","columnNumber","from","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","path","dots","concat","join","predicates","formData","metaTokens","indexes","option","visitor","defaultVisitor","useBlob","Blob","convertValue","toISOString","Buffer","JSON","stringify","isFlatArray","el","index","exposedHelpers","build","encode","charMap","match","AxiosURLSearchParams","params","_pairs","encoder","_encode","buildURL","url","serializeFn","serialize","serializedParams","hashmarkIndex","handlers","use","fulfilled","rejected","synchronous","runWhen","eject","id","clear","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","isBrowser","classes","URLSearchParams","protocols","hasBrowserEnv","_navigator","hasStandardBrowserEnv","product","hasStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","origin","href","buildPath","isNumericKey","isLast","arrayToObject","entries","parsePropPath","defaults","transitional","adapter","transformRequest","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","setContentType","platform","helpers","isNode","toURLEncodedForm","formSerializer","_FormData","env","rawValue","parser","parse","stringifySafely","transformResponse","JSONRequested","responseType","strictJSONParsing","ERR_BAD_RESPONSE","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","ignoreDuplicateOf","$internals","normalizeHeader","header","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","rawHeaders","parsed","line","substring","parseHeaders","tokens","tokensRE","parseTokens","matcher","deleted","deleteHeader","normalize","format","normalized","w","char","formatHeader","targets","asStrings","first","computed","accessor","accessors","defineAccessor","accessorName","arg1","arg2","arg3","buildAccessors","mapped","headerValue","transformData","fns","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","settle","ERR_BAD_REQUEST","progressEventReducer","listener","isDownloadStream","freq","bytesNotified","_speedometer","samplesCount","min","bytes","timestamps","firstSampleTS","head","tail","chunkLength","now","Date","startedAt","bytesCount","passed","round","lastArgs","timer","timestamp","threshold","clearTimeout","loaded","total","lengthComputable","progressBytes","rate","progress","estimated","event","progressEventDecorator","throttled","asyncDecorator","msie","urlParsingNode","createElement","originURL","resolveURL","setAttribute","protocol","host","search","hash","hostname","port","pathname","requestURL","write","expires","domain","secure","toGMTString","read","RegExp","decodeURIComponent","remove","buildFullPath","baseURL","requestedURL","relativeURL","combineURLs","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","withCredentials","withXSRFToken","onUploadProgress","onDownloadProgress","decompress","beforeRedirect","transport","cancelToken","socketPath","responseEncoding","configValue","newConfig","auth","btoa","username","password","unescape","isURLSameOrigin","xsrfValue","cookies","XMLHttpRequest","_config","resolveConfig","requestData","requestHeaders","onCanceled","uploadThrottled","downloadThrottled","flushUpload","flushDownload","unsubscribe","signal","removeEventListener","onloadend","responseHeaders","getAllResponseHeaders","responseText","statusText","open","onreadystatechange","readyState","responseURL","onabort","ECONNABORTED","onerror","ERR_NETWORK","ontimeout","timeoutErrorMessage","ETIMEDOUT","setRequestHeader","upload","cancel","abort","subscribe","aborted","parseProtocol","send","signals","controller","AbortController","reason","streamChunk","chunk","chunkSize","byteLength","end","pos","trackStream","stream","onProgress","onFinish","iterable","readBytes","_onFinish","ReadableStream","pull","close","loadedBytes","enqueue","return","highWaterMark","isFetchSupported","fetch","Request","Response","isReadableStreamSupported","encodeText","TextEncoder","arrayBuffer","supportsRequestStream","duplexAccessed","hasContentType","body","duplex","supportsResponseStream","resolvers","res","_","ERR_NOT_SUPPORT","knownAdapters","http","xhr","fetchOptions","finished","composedSignal","stopTimeout","requestContentLength","getContentLength","getBodyLength","resolveBodyLength","contentTypeHeader","_request","flush","isCredentialsSupported","credentials","isStreamResponse","responseContentLength","responseData","renderReason","isResolvedHandle","adapters","nameOrAdapter","rejectedReasons","reasons","state","throwIfCancellationRequested","throwIfRequested","dispatchRequest","validators","deprecatedWarnings","validator","version","formatMessage","opt","desc","opts","ERR_DEPRECATED","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","Axios","instanceConfig","interceptors","configOrUrl","dummy","boolean","function","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","unshift","responseInterceptorChain","promise","chain","onFulfilled","onRejected","getUri","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","splice","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","axios","createInstance","defaultConfig","VERSION","toFormData","Cancel","all","promises","spread","callback","isAxiosError","payload","formToJSON","getAdapter","default","RequestMalformed","RequestUnauthorized","ObjectNotFound","ObjectAlreadyExists","ObjectUnprocessable","ServerError","HTTPError","HEALTHY","isNodeJSEnvironment","versions","ApiCall","configuration","numRetriesPerRequest","additionalUserHeaders","initializeMetadataForNodes","currentNodeIndex","_timer","_performRequest","_patch","_put","_post","_delete2","_get","_callee","endpoint","queryParameters","_ref$abortSignal","abortSignal","_ref$responseType","_args","_context","performRequest","_x","_callee2","_args2","_context2","_x2","_callee3","bodyParameters","_args3","_context3","_x3","_callee4","_args4","_context4","_x4","_callee5","_args5","_context5","_x5","_callee6","requestType","_ref2","_ref2$queryParameters","_ref2$bodyParameters","_ref2$additionalHeade","_ref2$abortSignal","_ref2$responseType","_ref2$skipConnectionT","skipConnectionTimeout","_ref2$enableKeepAlive","enableKeepAlive","requestNumber","lastException","_loop","_ret","numTries","_context7","abortListener","requestOptions","_response$data","_response$data2","_error$response","_context6","getNextNode","uriFor","defaultHeaders","Infinity","transformedData","startsWith","HTTPAgent","keepAlive","HTTPSAgent","setNodeHealthcheck","customErrorForResponse","t0","_x6","_x7","_x8","isHealthy","nodeDueForHealthcheck","candidateNode","isDueForHealthcheck","lastAccessTimestamp","_callee7","seconds","_context8","_x9","messageFromServer","errorMessage","httpStatus","RESOURCEPATH","Collections","apiCall","_retrieve","_create","post","ImportError","importResults","_arrayLikeToArray","arr2","_unsupportedIterableToArray","minLen","_toConsumableArray","iter","RequestWithCache","_perform","responseCache","responsePromiseCache","requestContext","requestFunction","requestFunctionArguments","cacheOptions","_cacheOptions$cacheRe","cacheResponseForSeconds","_cacheOptions$maxSize","maxSize","requestFunctionArgumentsJSON","cacheEntry","cachePromiseEntry","responsePromise","oldestEntry","_oldestEntry","requestTimestamp","delete","SearchOnlyDocuments","collectionName","_search","requestWithCache","clearCache","searchParameters","_ref$cacheSearchResul","additionalQueryParams","queryParams","perform","endpointPath","operation","Documents","_exportStream","_export2","_importStream","_import2","_createMany","_update","_upsert","action","patch","query","documents","import","documentsInJSONLFormat","resultsInJSONLFormat","resultsInJSONFormat","failedItems","_args6","RangeError","includes","success","readableStream","_args7","_callee8","_args8","_callee9","_args9","_context9","Overrides","overrideId","put","Override","Synonyms","synonymId","Synonym","Document","documentId","partialDocument","Collection","_documents","_overrides","_synonyms","_exists","retrieve","individualDocuments","individualOverrides","individualSynonyms","Aliases","mapping","aliasName","Alias","Keys","searchKey","parameters","paramsJSON","digest","createHmac","update","keyPrefix","substr","rawScopedKey","Key","Debug","Metrics","Health","Operations","operationName","MultiSearch","useTextContentType","searchRequests","commonParams","Presets","presetId","Preset","AnalyticsRules","AnalyticsRule","AnalyticsEvents","Analytics","_analyticsRules","_analyticsEvents","individualAnalyticsRules","Stopwords","stopwordId","Stopword","ConversationModels","ConversationModel","Conversations","_conversationsModels","individualConversationModels","Conversation","Client","_options$sendApiKeyAs","metrics","stats","Stats","health","operations","multiSearch","_collections","individualCollections","_aliases","individualAliases","_keys","individualKeys","_presets","individualPresets","_stopwords","individualStopwords","analytics","_conversations","individualConversations","SearchOnlyCollection","SearchClient","Errors"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"typesense.min.js","mappings":"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","sources":["webpack://Typesense/./node_modules/loglevel/lib/loglevel.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/regenerator/index.js","webpack://Typesense/webpack/bootstrap","webpack://Typesense/webpack/runtime/compat get default export","webpack://Typesense/webpack/runtime/define property getters","webpack://Typesense/webpack/runtime/hasOwnProperty shorthand","webpack://Typesense/webpack/runtime/make namespace object","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://Typesense/./src/Typesense/Errors/TypesenseError.ts","webpack://Typesense/./src/Typesense/Errors/MissingConfigurationError.ts","webpack://Typesense/./src/Typesense/Configuration.ts","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://Typesense/./node_modules/axios/lib/helpers/bind.js","webpack://Typesense/./node_modules/axios/lib/utils.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosError.js","webpack://Typesense/./node_modules/axios/lib/helpers/toFormData.js","webpack://Typesense/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/helpers/buildURL.js","webpack://Typesense/./node_modules/axios/lib/core/InterceptorManager.js","webpack://Typesense/./node_modules/axios/lib/defaults/transitional.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/index.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://Typesense/./node_modules/axios/lib/platform/common/utils.js","webpack://Typesense/./node_modules/axios/lib/platform/index.js","webpack://Typesense/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://Typesense/./node_modules/axios/lib/defaults/index.js","webpack://Typesense/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://Typesense/./node_modules/axios/lib/core/transformData.js","webpack://Typesense/./node_modules/axios/lib/cancel/isCancel.js","webpack://Typesense/./node_modules/axios/lib/cancel/CanceledError.js","webpack://Typesense/./node_modules/axios/lib/core/settle.js","webpack://Typesense/./node_modules/axios/lib/helpers/speedometer.js","webpack://Typesense/./node_modules/axios/lib/helpers/progressEventReducer.js","webpack://Typesense/./node_modules/axios/lib/helpers/throttle.js","webpack://Typesense/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://Typesense/./node_modules/axios/lib/helpers/cookies.js","webpack://Typesense/./node_modules/axios/lib/core/buildFullPath.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://Typesense/./node_modules/axios/lib/helpers/combineURLs.js","webpack://Typesense/./node_modules/axios/lib/core/mergeConfig.js","webpack://Typesense/./node_modules/axios/lib/helpers/resolveConfig.js","webpack://Typesense/./node_modules/axios/lib/adapters/xhr.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://Typesense/./node_modules/axios/lib/helpers/composeSignals.js","webpack://Typesense/./node_modules/axios/lib/helpers/trackStream.js","webpack://Typesense/./node_modules/axios/lib/adapters/fetch.js","webpack://Typesense/./node_modules/axios/lib/adapters/adapters.js","webpack://Typesense/./node_modules/axios/lib/helpers/null.js","webpack://Typesense/./node_modules/axios/lib/core/dispatchRequest.js","webpack://Typesense/./node_modules/axios/lib/env/data.js","webpack://Typesense/./node_modules/axios/lib/helpers/validator.js","webpack://Typesense/./node_modules/axios/lib/core/Axios.js","webpack://Typesense/./node_modules/axios/lib/cancel/CancelToken.js","webpack://Typesense/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://Typesense/./node_modules/axios/lib/axios.js","webpack://Typesense/./node_modules/axios/lib/helpers/spread.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://Typesense/./src/Typesense/Errors/RequestMalformed.ts","webpack://Typesense/./src/Typesense/Errors/RequestUnauthorized.ts","webpack://Typesense/./src/Typesense/Errors/ObjectNotFound.ts","webpack://Typesense/./src/Typesense/Errors/ObjectAlreadyExists.ts","webpack://Typesense/./src/Typesense/Errors/ObjectUnprocessable.ts","webpack://Typesense/./src/Typesense/Errors/ServerError.ts","webpack://Typesense/./src/Typesense/Errors/HTTPError.ts","webpack://Typesense/./src/Typesense/ApiCall.ts","webpack://Typesense/./src/Typesense/Collections.ts","webpack://Typesense/./src/Typesense/Errors/ImportError.ts","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://Typesense/./src/Typesense/RequestWithCache.ts","webpack://Typesense/./src/Typesense/SearchOnlyDocuments.ts","webpack://Typesense/./src/Typesense/Documents.ts","webpack://Typesense/./src/Typesense/Overrides.ts","webpack://Typesense/./src/Typesense/Override.ts","webpack://Typesense/./src/Typesense/Synonyms.ts","webpack://Typesense/./src/Typesense/Synonym.ts","webpack://Typesense/./src/Typesense/Document.ts","webpack://Typesense/./src/Typesense/Collection.ts","webpack://Typesense/./src/Typesense/Aliases.ts","webpack://Typesense/./src/Typesense/Alias.ts","webpack://Typesense/./src/Typesense/Keys.ts","webpack://Typesense/./src/Typesense/Key.ts","webpack://Typesense/./src/Typesense/Debug.ts","webpack://Typesense/./src/Typesense/Metrics.ts","webpack://Typesense/./src/Typesense/Stats.ts","webpack://Typesense/./src/Typesense/Health.ts","webpack://Typesense/./src/Typesense/Operations.ts","webpack://Typesense/./src/Typesense/MultiSearch.ts","webpack://Typesense/./src/Typesense/Presets.ts","webpack://Typesense/./src/Typesense/Preset.ts","webpack://Typesense/./src/Typesense/AnalyticsRules.ts","webpack://Typesense/./src/Typesense/AnalyticsRule.ts","webpack://Typesense/./src/Typesense/AnalyticsEvents.ts","webpack://Typesense/./src/Typesense/Analytics.ts","webpack://Typesense/./src/Typesense/Stopwords.ts","webpack://Typesense/./src/Typesense/Stopword.ts","webpack://Typesense/./src/Typesense/ConversationModels.ts","webpack://Typesense/./src/Typesense/ConversationModel.ts","webpack://Typesense/./src/Typesense/Conversations.ts","webpack://Typesense/./src/Typesense/Conversation.ts","webpack://Typesense/./src/Typesense/Client.ts","webpack://Typesense/./src/Typesense/SearchOnlyCollection.ts","webpack://Typesense/./src/Typesense/SearchClient.ts","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://Typesense/./src/Typesense.ts"],"sourcesContent":["/*\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 var _loggersByName = {};\n var defaultLogger = null;\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() {\n /*jshint validthis:true */\n var level = this.getLevel();\n\n // Replace the actual methods.\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, this.name);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n\n // Return any important warnings.\n if (typeof console === undefinedType && level < this.levels.SILENT) {\n return \"No console available for logging\";\n }\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) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this);\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, factory) {\n // Private instance variables.\n var self = this;\n /**\n * The level inherited from a parent logger (or a global default). We\n * cache this here rather than delegating to the parent so that it stays\n * in sync with the actual logging methods that we have installed (the\n * parent could change levels but we might not have rebuilt the loggers\n * in this child yet).\n * @type {number}\n */\n var inheritedLevel;\n /**\n * The default level for this logger, if any. If set, this overrides\n * `inheritedLevel`.\n * @type {number|null}\n */\n var defaultLevel;\n /**\n * A user-specific level for this logger. If set, this overrides\n * `defaultLevel`.\n * @type {number|null}\n */\n var userLevel;\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 cookieName = encodeURIComponent(storageKey);\n var location = cookie.indexOf(cookieName + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(\n cookie.slice(location + cookieName.length + 1)\n )[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 } 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 function normalizeLevel(input) {\n var level = input;\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 return level;\n } else {\n throw new TypeError(\"log.setLevel() called with invalid level: \" + input);\n }\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 if (userLevel != null) {\n return userLevel;\n } else if (defaultLevel != null) {\n return defaultLevel;\n } else {\n return inheritedLevel;\n }\n };\n\n self.setLevel = function (level, persist) {\n userLevel = normalizeLevel(level);\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(userLevel);\n }\n\n // NOTE: in v2, this should call rebuild(), which updates children.\n return replaceLoggingMethods.call(self);\n };\n\n self.setDefaultLevel = function (level) {\n defaultLevel = normalizeLevel(level);\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.resetLevel = function () {\n userLevel = null;\n clearPersistedLevel();\n replaceLoggingMethods.call(self);\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 self.rebuild = function () {\n if (defaultLogger !== self) {\n inheritedLevel = normalizeLevel(defaultLogger.getLevel());\n }\n replaceLoggingMethods.call(self);\n\n if (defaultLogger === self) {\n for (var childName in _loggersByName) {\n _loggersByName[childName].rebuild();\n }\n }\n };\n\n // Initialize all the internal levels.\n inheritedLevel = normalizeLevel(\n defaultLogger ? defaultLogger.getLevel() : \"WARN\"\n );\n var initialLevel = getPersistedLevel();\n if (initialLevel != null) {\n userLevel = normalizeLevel(initialLevel);\n }\n replaceLoggingMethods.call(self);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n defaultLogger = new Logger();\n\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,\n defaultLogger.methodFactory\n );\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","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 e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw new Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\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))","// 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};","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(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\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 _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n try {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n } catch (e) {\n return typeof fn === \"function\";\n }\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\n}","export default class TypesenseError extends Error {\n httpStatus?: number;\n\n // Source: https://stackoverflow.com/a/58417721/123545\n constructor(message?: string) {\n super(message);\n this.name = new.target.name;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class MissingConfigurationError extends TypesenseError {}\n","import * as logger from \"loglevel\";\nimport { Logger, LogLevelDesc } from \"loglevel\";\nimport { MissingConfigurationError } from \"./Errors\";\nimport type { Agent as HTTPAgent } from \"http\";\nimport type { Agent as HTTPSAgent } from \"https\";\n\nexport interface NodeConfiguration {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n url?: string;\n}\n\nexport interface NodeConfigurationWithHostname {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n}\n\nexport interface NodeConfigurationWithUrl {\n url: string;\n}\n\nexport interface ConfigurationOptions {\n apiKey: string;\n nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n randomizeNodes?: boolean;\n /**\n * @deprecated\n * masterNode is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n masterNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n /**\n * @deprecated\n * readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n readReplicaNodes?:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n connectionTimeoutSeconds?: number;\n timeoutSeconds?: number;\n healthcheckIntervalSeconds?: number;\n numRetries?: number;\n retryIntervalSeconds?: number;\n sendApiKeyAsQueryParam?: boolean | undefined;\n useServerSideSearchCache?: boolean;\n cacheSearchResultsForSeconds?: number;\n additionalHeaders?: Record;\n\n logLevel?: LogLevelDesc;\n logger?: Logger;\n\n /**\n * Set a custom HTTP Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPAgent } = require(\"http\");\n * ...\n * httpAgent: new HTTPAgent({ keepAlive: true }),\n * @type {HTTPAgent}\n */\n httpAgent?: HTTPAgent;\n\n /**\n * Set a custom HTTPS Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPSAgent } = require(\"https\");\n * ...\n * httpsAgent: new HTTPSAgent({ keepAlive: true }),\n * @type {HTTPSAgent}\n */\n httpsAgent?: HTTPSAgent;\n\n /**\n * Set a custom paramsSerializer\n *\n * See axios documentation for more information on how to use this parameter: https://axios-http.com/docs/req_config\n * This is helpful for handling React Native issues like this: https://github.com/axios/axios/issues/6102#issuecomment-2085301397\n * @type {any}\n */\n paramsSerializer?: any;\n}\n\nexport default class Configuration {\n readonly nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n readonly nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n readonly connectionTimeoutSeconds: number;\n readonly healthcheckIntervalSeconds: number;\n readonly numRetries: number;\n readonly retryIntervalSeconds: number;\n readonly apiKey: string;\n readonly sendApiKeyAsQueryParam?: boolean;\n readonly cacheSearchResultsForSeconds: number;\n readonly useServerSideSearchCache: boolean;\n readonly logger: Logger;\n readonly logLevel: LogLevelDesc;\n readonly additionalHeaders?: Record;\n readonly httpAgent?: HTTPAgent;\n readonly httpsAgent?: HTTPSAgent;\n readonly paramsSerializer?: any;\n\n constructor(options: ConfigurationOptions) {\n this.nodes = options.nodes || [];\n this.nodes = this.nodes\n .map((node) => this.setDefaultPathInNode(node))\n .map((node) => this.setDefaultPortInNode(node))\n .map((node) => ({ ...node })) as NodeConfiguration[]; // Make a deep copy\n\n if (options.randomizeNodes == null) {\n options.randomizeNodes = true;\n }\n\n if (options.randomizeNodes === true) {\n this.shuffleArray(this.nodes);\n }\n\n this.nearestNode = options.nearestNode;\n this.nearestNode = this.setDefaultPathInNode(this.nearestNode);\n this.nearestNode = this.setDefaultPortInNode(this.nearestNode);\n\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\n this.apiKey = options.apiKey;\n this.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam; // We will set a default for this in Client and SearchClient\n\n this.cacheSearchResultsForSeconds =\n options.cacheSearchResultsForSeconds || 0; // Disable client-side cache by default\n this.useServerSideSearchCache = options.useServerSideSearchCache || false;\n\n this.logger = options.logger || logger;\n this.logLevel = options.logLevel || \"warn\";\n this.logger.setLevel(this.logLevel);\n\n this.additionalHeaders = options.additionalHeaders;\n\n this.httpAgent = options.httpAgent;\n this.httpsAgent = options.httpsAgent;\n\n this.paramsSerializer = options.paramsSerializer;\n\n this.showDeprecationWarnings(options);\n this.validate();\n }\n\n validate(): boolean {\n if (this.nodes == null || this.nodes.length === 0 || this.validateNodes()) {\n throw new MissingConfigurationError(\n \"Ensure that nodes[].protocol, nodes[].host and nodes[].port are set\",\n );\n }\n\n if (\n this.nearestNode != null &&\n this.isNodeMissingAnyParameters(this.nearestNode)\n ) {\n throw new MissingConfigurationError(\n \"Ensure that nearestNodes.protocol, nearestNodes.host and nearestNodes.port are set\",\n );\n }\n\n if (this.apiKey == null) {\n throw new MissingConfigurationError(\"Ensure that apiKey is set\");\n }\n\n return true;\n }\n\n private validateNodes(): boolean {\n return this.nodes.some((node) => {\n return this.isNodeMissingAnyParameters(node);\n });\n }\n\n private isNodeMissingAnyParameters(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl,\n ): boolean {\n return (\n ![\"protocol\", \"host\", \"port\", \"path\"].every((key) => {\n return node.hasOwnProperty(key);\n }) && node[\"url\"] == null\n );\n }\n\n private setDefaultPathInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (node != null && !node.hasOwnProperty(\"path\")) {\n node[\"path\"] = \"\";\n }\n return node;\n }\n\n private setDefaultPortInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (\n node != null &&\n !node.hasOwnProperty(\"port\") &&\n node.hasOwnProperty(\"protocol\")\n ) {\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\n private showDeprecationWarnings(options: ConfigurationOptions): void {\n if (options.timeoutSeconds) {\n this.logger.warn(\n \"Deprecation warning: timeoutSeconds is now renamed to connectionTimeoutSeconds\",\n );\n }\n if (options.masterNode) {\n this.logger.warn(\n \"Deprecation warning: masterNode is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n if (options.readReplicaNodes) {\n this.logger.warn(\n \"Deprecation warning: readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n }\n\n private shuffleArray(array) {\n for (let i = array.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [array[i], array[j]] = [array[j], array[i]];\n }\n }\n}\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}","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\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 && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let 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 {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\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 *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\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 (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 const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\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 *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && 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 *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\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 *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap\n};\n","'use strict';\n\nimport utils from '../utils.js';\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 {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n 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: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\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 * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\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 */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n 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 *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\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 *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\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 *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\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\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\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 env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\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 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\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} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\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 *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn.apply(null, args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\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 const msie = platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let 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 const 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","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\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 *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default 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\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 *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\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 *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, 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(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const 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 withXSRFToken: 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 beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\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\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, 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 const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n 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(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, 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(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\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 (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : 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 const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst composeSignals = (signals, timeout) => {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (cancel) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = cancel instanceof Error ? cancel : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal &&\n (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort));\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = unsubscribe;\n\n return [signal, () => {\n timer && clearTimeout(timer);\n timer = null;\n }];\n}\n\nexport default composeSignals;\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize, encode) {\n for await (const chunk of iterable) {\n yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize);\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => {\n const iterator = readBytes(stream, chunkSize, encode);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst supportsRequestStream = isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n});\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n return (await new Request(body).arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ?\n composeSignals([signal, cancelToken], timeout) : [];\n\n let finished, request;\n\n const onFinish = () => {\n !finished && setTimeout(() => {\n composedSignal && composedSignal.unsubscribe();\n });\n\n finished = true;\n }\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush, encodeText);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = \"credentials\" in Request.prototype; \n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n isStreamResponse && onFinish();\n }, encodeText),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && onFinish();\n\n stopTimeout && stopTimeout();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n onFinish();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\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 *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(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 config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\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 config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.7.5\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\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 *\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 (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\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 *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(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 {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _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 const {transitional, paramsSerializer, headers} = config;\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 if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let 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 const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\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,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(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, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n 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\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const 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 */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\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\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\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 *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestMalformed extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestUnauthorized extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectNotFound extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectAlreadyExists extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectUnprocessable extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ServerError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class HTTPError extends TypesenseError {}\n","import axios, { AxiosRequestConfig, AxiosResponse, Method } from \"axios\";\nimport { Logger } from \"loglevel\";\nimport {\n HTTPError,\n ObjectAlreadyExists,\n ObjectNotFound,\n ObjectUnprocessable,\n RequestMalformed,\n RequestUnauthorized,\n ServerError,\n} from \"./Errors\";\nimport TypesenseError from \"./Errors/TypesenseError\";\nimport Configuration, { NodeConfiguration } from \"./Configuration\";\nimport { Agent as HTTPAgent } from \"http\";\nimport { Agent as HTTPSAgent } from \"https\";\n\nconst APIKEYHEADERNAME = \"X-TYPESENSE-API-KEY\";\nconst HEALTHY = true;\nconst UNHEALTHY = false;\n\ninterface Node extends NodeConfiguration {\n isHealthy: boolean;\n index: string | number;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class ApiCall {\n private readonly apiKey: string;\n private readonly nodes: Node[];\n private readonly nearestNode: Node;\n private readonly connectionTimeoutSeconds: number;\n private readonly healthcheckIntervalSeconds: number;\n private readonly retryIntervalSeconds: number;\n private readonly sendApiKeyAsQueryParam?: boolean;\n private readonly numRetriesPerRequest: number;\n private readonly additionalUserHeaders?: Record;\n\n private readonly logger: Logger;\n private currentNodeIndex: number;\n\n constructor(private 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\n this.logger = this.configuration.logger;\n\n this.initializeMetadataForNodes();\n this.currentNodeIndex = -1;\n }\n\n async get(\n endpoint: string,\n queryParameters: any = {},\n {\n abortSignal = null,\n responseType = undefined,\n }: {\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n } = {},\n ): Promise {\n return this.performRequest(\"get\", endpoint, {\n queryParameters,\n abortSignal,\n responseType,\n });\n }\n\n async delete(endpoint: string, queryParameters: any = {}): Promise {\n return this.performRequest(\"delete\", endpoint, { queryParameters });\n }\n\n async post(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n additionalHeaders: any = {},\n ): Promise {\n return this.performRequest(\"post\", endpoint, {\n queryParameters,\n bodyParameters,\n additionalHeaders,\n });\n }\n\n async put(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"put\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async patch(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"patch\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async performRequest(\n requestType: Method,\n endpoint: string,\n {\n queryParameters = null,\n bodyParameters = null,\n additionalHeaders = {},\n abortSignal = null,\n responseType = undefined,\n skipConnectionTimeout = false,\n enableKeepAlive = undefined,\n }: {\n queryParameters?: any;\n bodyParameters?: any;\n additionalHeaders?: any;\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n skipConnectionTimeout?: boolean;\n enableKeepAlive?: boolean | undefined;\n },\n ): Promise {\n this.configuration.validate();\n\n const requestNumber = Date.now();\n let lastException;\n this.logger.debug(\n `Request #${requestNumber}: Performing ${requestType.toUpperCase()} request: ${endpoint}`,\n );\n for (\n let numTries = 1;\n numTries <= this.numRetriesPerRequest + 1;\n numTries++\n ) {\n const node = this.getNextNode(requestNumber);\n this.logger.debug(\n `Request #${requestNumber}: Attempting ${requestType.toUpperCase()} request Try #${numTries} to Node ${\n node.index\n }`,\n );\n\n if (abortSignal && abortSignal.aborted) {\n return Promise.reject(new Error(\"Request aborted by caller.\"));\n }\n\n let abortListener;\n\n try {\n const requestOptions: AxiosRequestConfig = {\n method: requestType,\n url: this.uriFor(endpoint, node),\n headers: Object.assign(\n {},\n this.defaultHeaders(),\n additionalHeaders,\n this.additionalUserHeaders,\n ),\n maxContentLength: Infinity,\n maxBodyLength: Infinity,\n responseType,\n validateStatus: (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 (data, headers) => {\n let transformedData = data;\n if (\n headers !== undefined &&\n typeof data === \"string\" &&\n headers[\"content-type\"] &&\n headers[\"content-type\"].startsWith(\"application/json\")\n ) {\n transformedData = JSON.parse(data);\n }\n return transformedData;\n },\n ],\n };\n\n if (skipConnectionTimeout !== true) {\n requestOptions.timeout = this.connectionTimeoutSeconds * 1000;\n }\n\n if (queryParameters && Object.keys(queryParameters).length !== 0) {\n requestOptions.params = queryParameters;\n }\n\n if (this.sendApiKeyAsQueryParam) {\n requestOptions.params = requestOptions.params || {};\n requestOptions.params[\"x-typesense-api-key\"] = this.apiKey;\n }\n\n if (this.configuration.httpAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpAgent`,\n );\n requestOptions.httpAgent = this.configuration.httpAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling KeepAlive`);\n requestOptions.httpAgent = new HTTPAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.httpsAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpsAgent`,\n );\n requestOptions.httpsAgent = this.configuration.httpsAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling keepAlive`);\n requestOptions.httpsAgent = new HTTPSAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.paramsSerializer) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom paramsSerializer`,\n );\n requestOptions.paramsSerializer = this.configuration.paramsSerializer;\n }\n\n if (\n bodyParameters &&\n ((typeof bodyParameters === \"string\" &&\n bodyParameters.length !== 0) ||\n (typeof bodyParameters === \"object\" &&\n Object.keys(bodyParameters).length !== 0))\n ) {\n requestOptions.data = bodyParameters;\n }\n\n // Translate from user-provided AbortController to the Axios request cancel mechanism.\n if (abortSignal) {\n const cancelToken = axios.CancelToken;\n const source = cancelToken.source();\n abortListener = () => source.cancel();\n abortSignal.addEventListener(\"abort\", abortListener);\n requestOptions.cancelToken = source.token;\n }\n\n const response = await axios(requestOptions);\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.setNodeHealthcheck(node, HEALTHY);\n }\n this.logger.debug(\n `Request #${requestNumber}: Request to Node ${node.index} was made. Response Code was ${response.status}.`,\n );\n\n if (response.status >= 200 && response.status < 300) {\n // If response is 2xx return a resolved promise\n return Promise.resolve(response.data);\n } else if (response.status < 500) {\n // Next, if response is anything but 5xx, don't retry, return a custom error\n return Promise.reject(\n this.customErrorForResponse(response, response.data?.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.customErrorForResponse(response, response.data?.message);\n }\n } catch (error: any) {\n // This block handles retries for HTTPStatus > 500 and network layer issues like connection timeouts\n this.setNodeHealthcheck(node, UNHEALTHY);\n lastException = error;\n this.logger.warn(\n `Request #${requestNumber}: Request to Node ${\n node.index\n } failed due to \"${error.code} ${error.message}${\n error.response == null\n ? \"\"\n : \" - \" + JSON.stringify(error.response?.data)\n }\"`,\n );\n // this.logger.debug(error.stack)\n this.logger.warn(\n `Request #${requestNumber}: Sleeping for ${this.retryIntervalSeconds}s and then retrying request...`,\n );\n await this.timer(this.retryIntervalSeconds);\n } finally {\n if (abortSignal && abortListener) {\n abortSignal.removeEventListener(\"abort\", abortListener);\n }\n }\n }\n this.logger.debug(\n `Request #${requestNumber}: No retries left. Raising last error`,\n );\n return Promise.reject(lastException);\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 getNextNode(requestNumber = 0): Node {\n // Check if nearestNode is set and is healthy, if so return it\n if (this.nearestNode != null) {\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: Node ${\n this.nearestNode.index\n } is ${this.nearestNode.isHealthy === true ? \"Healthy\" : \"Unhealthy\"}`,\n );\n if (\n this.nearestNode.isHealthy === true ||\n this.nodeDueForHealthcheck(this.nearestNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${this.nearestNode.index}`,\n );\n return this.nearestNode;\n }\n this.logger.debug(\n `Request #${requestNumber}: Falling back to individual nodes`,\n );\n }\n\n // Fallback to nodes as usual\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: ${this.nodes\n .map(\n (node) =>\n `Node ${node.index} is ${\n node.isHealthy === true ? \"Healthy\" : \"Unhealthy\"\n }`,\n )\n .join(\" || \")}`,\n );\n let candidateNode: Node = this.nodes[0];\n for (let i = 0; i <= this.nodes.length; i++) {\n this.currentNodeIndex = (this.currentNodeIndex + 1) % this.nodes.length;\n candidateNode = this.nodes[this.currentNodeIndex];\n if (\n candidateNode.isHealthy === true ||\n this.nodeDueForHealthcheck(candidateNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\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(\n `Request #${requestNumber}: No healthy nodes were found. Returning the next node, Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\n\n nodeDueForHealthcheck(node, requestNumber = 0): boolean {\n const isDueForHealthcheck =\n Date.now() - node.lastAccessTimestamp >\n this.healthcheckIntervalSeconds * 1000;\n if (isDueForHealthcheck) {\n this.logger.debug(\n `Request #${requestNumber}: Node ${node.index} has exceeded healtcheckIntervalSeconds of ${this.healthcheckIntervalSeconds}. Adding it back into rotation.`,\n );\n }\n return isDueForHealthcheck;\n }\n\n initializeMetadataForNodes(): void {\n if (this.nearestNode != null) {\n this.nearestNode.index = \"nearestNode\";\n this.setNodeHealthcheck(this.nearestNode, HEALTHY);\n }\n\n this.nodes.forEach((node, i) => {\n node.index = i;\n this.setNodeHealthcheck(node, HEALTHY);\n });\n }\n\n setNodeHealthcheck(node, isHealthy): void {\n node.isHealthy = isHealthy;\n node.lastAccessTimestamp = Date.now();\n }\n\n uriFor(endpoint: string, node): string {\n if (node.url != null) {\n return `${node.url}${endpoint}`;\n }\n return `${node.protocol}://${node.host}:${node.port}${node.path}${endpoint}`;\n }\n\n defaultHeaders(): any {\n const defaultHeaders = {};\n if (!this.sendApiKeyAsQueryParam) {\n defaultHeaders[APIKEYHEADERNAME] = this.apiKey;\n }\n defaultHeaders[\"Content-Type\"] = \"application/json\";\n return defaultHeaders;\n }\n\n async timer(seconds): Promise {\n return new Promise((resolve) => setTimeout(resolve, seconds * 1000));\n }\n\n customErrorForResponse(\n response: AxiosResponse,\n messageFromServer: string,\n ): TypesenseError {\n let errorMessage = `Request failed with HTTP code ${response.status}`;\n if (\n typeof messageFromServer === \"string\" &&\n messageFromServer.trim() !== \"\"\n ) {\n errorMessage += ` | Server said: ${messageFromServer}`;\n }\n\n let error = new TypesenseError(errorMessage);\n\n if (response.status === 400) {\n error = new RequestMalformed(errorMessage);\n } else if (response.status === 401) {\n error = new RequestUnauthorized(errorMessage);\n } else if (response.status === 404) {\n error = new ObjectNotFound(errorMessage);\n } else if (response.status === 409) {\n error = new ObjectAlreadyExists(errorMessage);\n } else if (response.status === 422) {\n error = new ObjectUnprocessable(errorMessage);\n } else if (response.status >= 500 && response.status <= 599) {\n error = new ServerError(errorMessage);\n } else {\n error = new HTTPError(errorMessage);\n }\n\n error.httpStatus = response.status;\n\n return error;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { CollectionFieldSchema, CollectionSchema } from \"./Collection\";\n\nexport interface CollectionCreateSchema {\n name: string;\n default_sorting_field?: string;\n fields?: CollectionFieldSchema[];\n symbols_to_index?: string[];\n token_separators?: string[];\n enable_nested_fields?: boolean;\n metadata?: object;\n voice_query_model?: {\n model_name?: string;\n };\n}\n\nexport interface CollectionCreateOptions {\n src_name?: string;\n}\n\nexport interface CollectionsRetrieveOptions {\n exclude_fields?: string;\n}\n\nconst RESOURCEPATH = \"/collections\";\n\nexport default class Collections {\n constructor(private apiCall: ApiCall) {}\n\n async create(\n schema: CollectionCreateSchema,\n options: CollectionCreateOptions = {},\n ): Promise {\n return this.apiCall.post(RESOURCEPATH, schema, options);\n }\n\n async retrieve(\n options: CollectionsRetrieveOptions = {},\n ): Promise {\n return this.apiCall.get(RESOURCEPATH, options);\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import TypesenseError from \"./TypesenseError\";\nimport { ImportResponse } from \"../Documents\";\n\nexport default class ImportError extends TypesenseError {\n importResults: ImportResponse[];\n constructor(message: string, importResults: ImportResponse[]) {\n super(message);\n this.importResults = importResults;\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 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}","const defaultCacheResponseForSeconds = 2 * 60;\nconst defaultMaxSize = 100;\n\nexport default class RequestWithCache {\n private responseCache: Map = new Map();\n private responsePromiseCache: Map = new Map();\n\n clearCache() {\n this.responseCache = new Map();\n this.responsePromiseCache = new Map();\n }\n\n // Todo: should probably be passed a callback instead, or an apiCall instance. Types are messy this way\n async perform(\n requestContext: any,\n requestFunction: (...params: any) => unknown,\n requestFunctionArguments: any[],\n cacheOptions: CacheOptions\n ): Promise {\n const {\n cacheResponseForSeconds = defaultCacheResponseForSeconds,\n maxSize = defaultMaxSize,\n } = cacheOptions;\n const isCacheDisabled = cacheResponseForSeconds <= 0 || maxSize <= 0;\n\n if (isCacheDisabled) {\n return requestFunction.call(requestContext, ...requestFunctionArguments);\n }\n\n const requestFunctionArgumentsJSON = JSON.stringify(\n requestFunctionArguments\n );\n const cacheEntry = this.responseCache.get(requestFunctionArgumentsJSON);\n const now = Date.now();\n\n if (cacheEntry) {\n const isEntryValid =\n now - cacheEntry.requestTimestamp < cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n this.responseCache.set(requestFunctionArgumentsJSON, cacheEntry);\n return Promise.resolve(cacheEntry.response);\n } else {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n\n const cachePromiseEntry = this.responsePromiseCache.get(\n requestFunctionArgumentsJSON\n );\n\n if (cachePromiseEntry) {\n const isEntryValid =\n now - cachePromiseEntry.requestTimestamp <\n cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n this.responsePromiseCache.set(\n requestFunctionArgumentsJSON,\n cachePromiseEntry\n );\n return cachePromiseEntry.responsePromise;\n } else {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n\n const responsePromise = requestFunction.call(\n requestContext,\n ...requestFunctionArguments\n );\n this.responsePromiseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n responsePromise,\n });\n\n const response = await responsePromise;\n this.responseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n response,\n });\n\n const isCacheOverMaxSize = this.responseCache.size > maxSize;\n if (isCacheOverMaxSize) {\n const oldestEntry = this.responseCache.keys().next().value;\n this.responseCache.delete(oldestEntry);\n }\n const isResponsePromiseCacheOverMaxSize =\n this.responsePromiseCache.size > maxSize;\n if (isResponsePromiseCacheOverMaxSize) {\n const oldestEntry = this.responsePromiseCache.keys().next().value;\n this.responsePromiseCache.delete(oldestEntry);\n }\n return response as T;\n }\n}\n\ninterface CacheOptions {\n cacheResponseForSeconds?: number;\n maxSize?: number;\n}\n","import RequestWithCache from \"./RequestWithCache\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport Collections from \"./Collections\";\nimport type {\n DocumentSchema,\n SearchableDocuments,\n SearchOptions,\n SearchParams,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\n\nconst RESOURCEPATH = \"/documents\";\n\nexport class SearchOnlyDocuments\n implements SearchableDocuments\n{\n protected requestWithCache: RequestWithCache = new RequestWithCache();\n\n constructor(\n protected collectionName: string,\n protected apiCall: ApiCall,\n protected configuration: Configuration\n ) {}\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n abortSignal = null,\n }: SearchOptions = {}\n ): Promise> {\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n for (const key in searchParameters) {\n if (Array.isArray(searchParameters[key])) {\n additionalQueryParams[key] = searchParameters[key].join(\",\");\n }\n }\n const queryParams = Object.assign(\n {},\n searchParameters,\n additionalQueryParams\n );\n\n return this.requestWithCache.perform(\n this.apiCall,\n this.apiCall.get,\n [this.endpointPath(\"search\"), queryParams, { abortSignal }],\n {\n cacheResponseForSeconds: cacheSearchResultsForSeconds,\n }\n ) as Promise>;\n }\n\n protected endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + operation\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import type { ReadStream } from \"fs\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport { ImportError } from \"./Errors\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\n// Todo: use generic to extract filter_by values\nexport interface DeleteQuery {\n filter_by?: string;\n batch_size?: number;\n ignore_not_found?: boolean;\n}\n\nexport interface DeleteResponse {\n num_deleted: number;\n}\n\ninterface ImportResponseSuccess {\n success: true;\n}\n\nexport interface ImportResponseFail {\n success: false;\n error: string;\n document: DocumentSchema;\n code: number;\n}\n\nexport type ImportResponse = ImportResponseSuccess | ImportResponseFail;\n\nexport type DocumentSchema = Record;\n\nexport interface SearchParamsWithPreset extends Partial {\n preset: string;\n}\n\ntype DropTokensMode =\n | \"right_to_left\"\n | \"left_to_right\"\n | \"both_sides:3\";\n\ntype OperationMode = \"off\" | \"always\" | \"fallback\";\nexport interface SearchParams {\n // From https://typesense.org/docs/latest/api/documents.html#arguments\n q?: string;\n query_by?: string | string[];\n query_by_weights?: string | number[];\n prefix?: string | boolean | boolean[]; // default: true\n filter_by?: string;\n enable_lazy_filter?: boolean; // default: false\n sort_by?: string | string[]; // default: text match desc\n facet_by?: string | string[];\n max_facet_values?: number;\n facet_sample_threshold?: number;\n facet_sample_percent?: number;\n facet_query?: string;\n facet_query_num_typos?: number;\n facet_return_parent?: string;\n page?: number; // default: 1\n per_page?: number; // default: 10, max 250\n group_by?: string | string[];\n group_limit?: number; // default:\n group_missing_values?: boolean;\n include_fields?: string | string[];\n exclude_fields?: string | string[];\n highlight_fields?: string | string[]; // default: all queried fields\n highlight_full_fields?: string | string[]; // default: all fields\n highlight_affix_num_tokens?: number; // default: 4\n highlight_start_tag?: string; // default: \n highlight_end_tag?: string; // default: \n enable_highlight_v1?: boolean;\n snippet_threshold?: number; // default: 30\n num_typos?: string | number | number[]; // default: 2\n min_len_1typo?: number;\n min_len_2typo?: number;\n split_join_tokens?: OperationMode;\n exhaustive_search?: boolean;\n drop_tokens_threshold?: number; // default: 10\n drop_tokens_mode?: DropTokensMode;\n typo_tokens_threshold?: number; // default: 100\n pinned_hits?: string | string[];\n hidden_hits?: string | string[];\n limit_hits?: number; // default: no limit\n pre_segmented_query?: boolean;\n enable_overrides?: boolean;\n override_tags?: string | string[];\n prioritize_exact_match?: boolean; // default: true\n prioritize_token_position?: boolean;\n prioritize_num_matching_fields?: boolean;\n search_cutoff_ms?: number;\n use_cache?: boolean;\n max_candidates?: number;\n infix?: OperationMode | OperationMode[];\n preset?: string;\n text_match_type?: \"max_score\" | \"max_weight\";\n vector_query?: string;\n \"x-typesense-api-key\"?: string;\n \"x-typesense-user-id\"?: string;\n offset?: number;\n limit?: number;\n stopwords?: string;\n conversation?: boolean;\n conversation_model_id?: string;\n conversation_id?: string;\n voice_query?: string;\n}\n\ntype SearchResponseHighlightObject = {\n matched_tokens?: string[];\n snippet?: string;\n value?: string;\n};\n\nexport type SearchResponseHighlight = T extends string | number\n ? SearchResponseHighlightObject\n : {\n [TAttribute in keyof T]?: SearchResponseHighlight;\n };\n\nexport interface SearchResponseHit {\n curated?: true;\n highlights?: [\n {\n field: keyof T;\n snippet?: string;\n value?: string;\n snippets?: string[];\n indices?: number[];\n matched_tokens: string[][] | string[];\n },\n ];\n highlight: SearchResponseHighlight;\n document: T;\n text_match: number;\n text_match_info?: {\n best_field_score: string; // To prevent scores from being truncated by JSON spec\n best_field_weight: number;\n fields_matched: number;\n score: string; // To prevent scores from being truncated by JSON spec\n tokens_matched: number;\n };\n}\n\nexport interface SearchResponseFacetCountSchema {\n counts: {\n count: number;\n highlighted: string;\n value: string;\n }[];\n field_name: keyof T;\n stats: {\n avg?: number;\n max?: number;\n min?: number;\n sum?: number;\n };\n}\n\nexport interface SearchResponseRequestParams {\n collection_name?: string;\n q?: string;\n page?: number;\n per_page?: number;\n first_q?: string;\n voice_query?: {\n transcribed_query?: string;\n };\n}\n\n// Todo: we could infer whether this is a grouped response by adding the search params as a generic\nexport interface SearchResponse {\n facet_counts?: SearchResponseFacetCountSchema[];\n found: number;\n found_docs?: number;\n out_of: number;\n page: number;\n request_params: SearchResponseRequestParams;\n search_time_ms: number;\n search_cutoff?: boolean;\n hits?: SearchResponseHit[];\n grouped_hits?: {\n group_key: string[];\n hits: SearchResponseHit[];\n found?: number;\n }[];\n conversation?: {\n answer: string;\n conversation_history: {\n conversation: object[];\n id: string;\n last_updated: number;\n ttl: number;\n };\n conversation_id: string;\n query: string;\n };\n error?: string;\n code?: number;\n}\n\nexport interface DocumentWriteParameters {\n dirty_values?: \"coerce_or_reject\" | \"coerce_or_drop\" | \"drop\" | \"reject\";\n action?: \"create\" | \"update\" | \"upsert\" | \"emplace\";\n}\n\nexport interface UpdateByFilterParameters {\n filter_by?: string;\n}\n\nexport interface UpdateByFilterResponse {\n num_updated: number;\n}\n\nexport interface DocumentImportParameters extends DocumentWriteParameters {\n batch_size?: number;\n return_doc?: boolean;\n return_id?: boolean;\n}\n\nexport interface DocumentsExportParameters {\n filter_by?: string;\n include_fields?: string;\n exclude_fields?: string;\n}\n\nexport interface SearchableDocuments {\n search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n options: SearchOptions,\n ): Promise>;\n clearCache(): void;\n}\n\nexport interface WriteableDocuments {\n create(document: T, options: DocumentWriteParameters): Promise;\n upsert(document: T, options: DocumentWriteParameters): Promise;\n update(document: T, options: DocumentWriteParameters): Promise;\n delete(query: DeleteQuery): Promise;\n import(\n documents: T[] | string,\n options: DocumentWriteParameters,\n ): Promise;\n export(options: DocumentsExportParameters): Promise;\n}\n\nexport interface SearchOptions {\n cacheSearchResultsForSeconds?: number;\n abortSignal?: AbortSignal | null;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class Documents\n extends SearchOnlyDocuments\n implements WriteableDocuments\n{\n constructor(\n collectionName: string,\n apiCall: ApiCall,\n configuration: Configuration,\n ) {\n super(collectionName, apiCall, configuration);\n }\n\n async create(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(this.endpointPath(), document, options);\n }\n\n async upsert(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"upsert\" }),\n );\n }\n\n async update(\n document: T,\n options: UpdateByFilterParameters,\n ): Promise;\n async update(document: T, options: DocumentWriteParameters): Promise;\n async update(\n document: T,\n options: DocumentWriteParameters | UpdateByFilterParameters = {},\n ): Promise {\n if (!document) throw new Error(\"No document provided\");\n\n if (options[\"filter_by\"] != null) {\n return this.apiCall.patch(\n this.endpointPath(),\n document,\n Object.assign({}, options),\n );\n } else {\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"update\" }),\n );\n }\n }\n\n async delete(\n query: DeleteQuery = {} as DeleteQuery,\n ): Promise {\n return this.apiCall.delete(this.endpointPath(), query);\n }\n\n async createMany(documents: T[], options: DocumentImportParameters = {}) {\n this.configuration.logger.warn(\n \"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 );\n return this.import(documents, options);\n }\n\n /**\n * Import a set of documents in a batch.\n * @param {string|Array} documents - Can be a JSONL string of documents or an array of document objects.\n * @param options\n * @return {string|Array} Returns a JSONL string if the input was a JSONL string, otherwise it returns an array of results.\n */\n async import(\n documents: string,\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[],\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[] | string,\n options: DocumentImportParameters = {},\n ): Promise {\n let documentsInJSONLFormat;\n if (Array.isArray(documents)) {\n try {\n documentsInJSONLFormat = documents\n .map((document) => JSON.stringify(document))\n .join(\"\\n\");\n } catch (error: any) {\n // if rangeerror, throw custom error message\n if (\n error instanceof RangeError &&\n error.message.includes(\"Too many properties to enumerate\")\n ) {\n throw new Error(`${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\n // else, throw the non-range error anyways\n throw new Error(error);\n }\n } else {\n documentsInJSONLFormat = documents;\n }\n\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n if (Array.isArray(documents)) {\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter(\n (r) => r.success === false,\n );\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n } else {\n return resultsInJSONLFormat as string;\n }\n }\n /**\n * Imports documents from a NodeJS readable stream of JSONL.\n */\n async importStream(\n readableStream: ReadStream,\n options: DocumentImportParameters = {},\n ): Promise {\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\n queryParameters: options,\n bodyParameters: readableStream,\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter((r) => r.success === false);\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n }\n\n /**\n * Returns a JSONL string for all the documents in this collection\n */\n async export(options: DocumentsExportParameters = {}): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options);\n }\n\n /**\n * Returns a NodeJS readable stream of JSONL for all the documents in this collection.\n */\n async exportStream(\n options: DocumentsExportParameters = {},\n ): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options, {\n responseType: \"stream\",\n });\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { OverrideSchema } from \"./Override\";\n\nconst RESOURCEPATH = \"/overrides\";\n\nexport interface OverrideRuleQuerySchema {\n query?: string;\n match?: \"exact\" | \"contains\";\n}\n\nexport interface OverrideRuleFilterSchema {\n filter_by?: string;\n}\n\nexport interface OverrideRuleTagsSchema {\n tags?: string[];\n}\n\nexport interface OverrideCreateSchema {\n rule: OverrideRuleQuerySchema &\n OverrideRuleFilterSchema &\n OverrideRuleTagsSchema;\n filter_by?: string;\n sort_by?: string;\n remove_matched_tokens?: boolean;\n replace_query?: string;\n includes?: Array<{\n id: string;\n position: number;\n }>;\n excludes?: Array<{ id: string }>;\n filter_curated_hits?: boolean;\n effective_from_ts?: number;\n effective_to_ts?: number;\n stop_processing?: boolean;\n metadata?: object;\n}\n\nexport interface OverridesRetrieveSchema {\n overrides: OverrideSchema[];\n}\n\nexport default class Overrides {\n constructor(\n private collectionName: string,\n private apiCall: ApiCall,\n ) {}\n\n async upsert(\n overrideId: string,\n params: OverrideCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(overrideId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${\n Overrides.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Overrides, { OverrideCreateSchema } from \"./Overrides\";\n\nexport interface OverrideSchema extends OverrideCreateSchema {\n id: string;\n}\n\nexport interface OverrideDeleteSchema {\n id: string;\n}\n\nexport default class Override {\n constructor(\n private collectionName: string,\n private overrideId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Overrides.RESOURCEPATH}/${encodeURIComponent(this.overrideId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { SynonymSchema } from \"./Synonym\";\n\nconst RESOURCEPATH = \"/synonyms\";\n\nexport interface SynonymCreateSchema {\n synonyms: string[];\n root?: string;\n locale?: string;\n symbols_to_index?: string[];\n}\n\nexport interface SynonymsRetrieveSchema {\n synonyms: SynonymSchema[];\n}\n\nexport default class Synonyms {\n constructor(private collectionName: string, private apiCall: ApiCall) {}\n\n async upsert(\n synonymId: string,\n params: SynonymCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(synonymId),\n params\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${\n Synonyms.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Synonyms, { SynonymCreateSchema } from \"./Synonyms\";\n\nexport interface SynonymSchema extends SynonymCreateSchema {\n id: string;\n}\n\nexport interface SynonymDeleteSchema {\n id: string;\n}\n\nexport default class Synonym {\n constructor(\n private collectionName: string,\n private synonymId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Synonyms.RESOURCEPATH}/${encodeURIComponent(this.synonymId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Documents, {\n DeleteQuery,\n DocumentSchema,\n DocumentWriteParameters,\n} from \"./Documents\";\n\nexport class Document {\n constructor(\n private collectionName: string,\n private documentId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(options?: DeleteQuery): Promise {\n return this.apiCall.delete(this.endpointPath(), options);\n }\n\n async update(\n partialDocument: Partial,\n options: DocumentWriteParameters = {}\n ): Promise {\n return this.apiCall.patch(this.endpointPath(), partialDocument, options);\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Documents.RESOURCEPATH}/${encodeURIComponent(this.documentId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections, { CollectionCreateSchema } from \"./Collections\";\nimport Documents, { DocumentSchema } from \"./Documents\";\nimport { ObjectNotFound } from \"./Errors\";\nimport Overrides from \"./Overrides\";\nimport Override from \"./Override\";\nimport Synonyms from \"./Synonyms\";\nimport Synonym from \"./Synonym\";\nimport { Document } from \"./Document\";\n\nexport type FieldType =\n | \"string\"\n | \"int32\"\n | \"int64\"\n | \"float\"\n | \"bool\"\n | \"geopoint\"\n | \"geopoint[]\"\n | \"string[]\"\n | \"int32[]\"\n | \"int64[]\"\n | \"float[]\"\n | \"bool[]\"\n | \"object\"\n | \"object[]\"\n | \"auto\"\n | \"string*\"\n | \"image\";\n\nexport interface CollectionFieldSchema {\n name: string;\n type: FieldType;\n optional?: boolean;\n facet?: boolean;\n index?: boolean;\n sort?: boolean;\n locale?: string;\n infix?: boolean;\n stem?: boolean;\n num_dim?: number;\n store?: boolean;\n [t: string]: unknown;\n}\n\nexport interface CollectionSchema extends CollectionCreateSchema {\n created_at: number;\n num_documents: number;\n num_memory_shards: number;\n}\n\nexport interface CollectionDropFieldSchema {\n name: string;\n drop: true;\n}\n\nexport interface CollectionUpdateSchema\n extends Partial> {\n fields?: (CollectionFieldSchema | CollectionDropFieldSchema)[];\n}\n\nexport default class Collection {\n private readonly _documents: Documents;\n private individualDocuments: Record> = {};\n private readonly _overrides: Overrides;\n private individualOverrides: Record = {};\n private readonly _synonyms: Synonyms;\n private individualSynonyms: Record = {};\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any,\n ) {\n this.name = name;\n this.apiCall = apiCall;\n this.configuration = configuration;\n\n this._documents = new Documents(\n this.name,\n this.apiCall,\n this.configuration,\n );\n this._overrides = new Overrides(this.name, this.apiCall);\n this._synonyms = new Synonyms(this.name, this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(schema: CollectionUpdateSchema): Promise {\n return this.apiCall.patch(this.endpointPath(), schema);\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n async exists(): Promise {\n try {\n await this.retrieve();\n return true;\n } catch (e) {\n if (e instanceof ObjectNotFound) return false;\n throw e;\n }\n }\n\n documents(): Documents;\n documents(documentId: string): Document;\n documents(documentId?: string): Document | Documents {\n if (!documentId) {\n return this._documents;\n } else {\n if (this.individualDocuments[documentId] === undefined) {\n this.individualDocuments[documentId] = new Document(\n this.name,\n documentId,\n this.apiCall,\n );\n }\n return this.individualDocuments[documentId];\n }\n }\n\n overrides(): Overrides;\n overrides(overrideId: string): Override;\n overrides(overrideId?: string): Overrides | Override {\n if (overrideId === undefined) {\n return this._overrides;\n } else {\n if (this.individualOverrides[overrideId] === undefined) {\n this.individualOverrides[overrideId] = new Override(\n this.name,\n overrideId,\n this.apiCall,\n );\n }\n return this.individualOverrides[overrideId];\n }\n }\n\n synonyms(): Synonyms;\n synonyms(synonymId: string): Synonym;\n synonyms(synonymId?: string): Synonyms | Synonym {\n if (synonymId === undefined) {\n return this._synonyms;\n } else {\n if (this.individualSynonyms[synonymId] === undefined) {\n this.individualSynonyms[synonymId] = new Synonym(\n this.name,\n synonymId,\n this.apiCall,\n );\n }\n return this.individualSynonyms[synonymId];\n }\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/aliases\";\n\nexport interface CollectionAliasCreateSchema {\n collection_name: string;\n}\n\nexport interface CollectionAliasSchema extends CollectionAliasCreateSchema {\n name: string;\n}\n\nexport interface CollectionAliasesResponseSchema {\n aliases: CollectionAliasSchema[];\n}\n\nexport default class Aliases {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n name: string,\n mapping: CollectionAliasCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(name),\n mapping\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n private endpointPath(aliasName): string {\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(aliasName)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import Aliases, { CollectionAliasSchema } from \"./Aliases\";\nimport ApiCall from \"./ApiCall\";\n\nexport default class Alias {\n constructor(private name: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import { createHmac } from \"crypto\";\nimport ApiCall from \"./ApiCall\";\nimport { KeyCreateSchema, KeySchema } from \"./Key\";\nimport { SearchParams } from \"./Documents\";\n\nconst RESOURCEPATH = \"/keys\";\n\nexport interface KeysRetrieveSchema {\n keys: KeySchema[];\n}\n\nexport interface GenerateScopedSearchKeyParams extends Partial {\n expires_at?: number;\n cache_ttl?: number;\n limit_multi_searches?: number;\n}\n\nexport default class Keys {\n constructor(private apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(params: KeyCreateSchema): Promise {\n return this.apiCall.post(Keys.RESOURCEPATH, params);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n generateScopedSearchKey(\n searchKey: string,\n parameters: GenerateScopedSearchKeyParams\n ): string {\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 const paramsJSON = JSON.stringify(parameters);\n const digest = Buffer.from(\n createHmac(\"sha256\", searchKey).update(paramsJSON).digest(\"base64\")\n );\n const keyPrefix = searchKey.substr(0, 4);\n const rawScopedKey = `${digest}${keyPrefix}${paramsJSON}`;\n\n return Buffer.from(rawScopedKey).toString(\"base64\");\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Keys from \"./Keys\";\n\nexport interface KeyCreateSchema {\n actions: string[];\n collections: string[];\n description?: string;\n value?: string;\n value_prefix?: string;\n expires_at?: number;\n}\n\nexport interface KeyDeleteSchema {\n id: number;\n}\n\nexport interface KeySchema extends KeyCreateSchema {\n id: number;\n}\n\nexport default class Key {\n constructor(private id: number, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Keys.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/debug\";\n\nexport interface DebugResponseSchema {\n state: number;\n version: string;\n}\n\nexport default class Debug {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/metrics.json\";\n\nexport interface MetricsResponse {\n [key: `system_cpu${number}_active_percentage`]: string;\n system_cpu_active_percentage: string;\n system_disk_total_bytes: string;\n system_disk_used_bytes: string;\n system_memory_total_bytes: string;\n system_memory_total_swap_bytes?: string;\n system_memory_used_bytes: string;\n system_memory_used_swap_bytes?: string;\n system_network_received_bytes: string;\n system_network_sent_bytes: string;\n typesense_memory_active_bytes: string;\n typesense_memory_allocated_bytes: string;\n typesense_memory_fragmentation_ratio: string;\n typesense_memory_mapped_bytes: string;\n typesense_memory_metadata_bytes: string;\n typesense_memory_resident_bytes: string;\n typesense_memory_retained_bytes: string;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/stats.json\";\n\nexport interface EndpointStats {\n [endpoint: string]: number;\n}\n\nexport interface StatsResponse {\n delete_latency_ms?: number;\n delete_requests_per_second?: number;\n import_latency_ms?: number;\n import_requests_per_second?: number;\n latency_ms?: EndpointStats;\n overloaded_requests_per_second?: number;\n pending_write_batches?: number;\n requests_per_second?: EndpointStats;\n search_latency_ms?: number;\n search_requests_per_second?: number;\n total_requests_per_second?: number;\n write_latency_ms?: number;\n write_requests_per_second?: number;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/health\";\n\nexport interface HealthResponse {\n ok: boolean;\n}\n\nexport default class Health {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/operations\";\n\nexport default class Operations {\n constructor(private apiCall: ApiCall) {}\n\n async perform(\n operationName: \"vote\" | \"snapshot\" | \"cache/clear\" | string,\n queryParameters: Record = {}\n ): Promise {\n return this.apiCall.post(\n `${RESOURCEPATH}/${operationName}`,\n {},\n queryParameters\n );\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport RequestWithCache from \"./RequestWithCache\";\nimport {\n DocumentSchema,\n SearchParams,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\n\nconst RESOURCEPATH = \"/multi_search\";\n\nexport interface MultiSearchRequestSchema extends SearchParams {\n collection?: string;\n \"x-typesense-api-key\"?: string;\n}\n\nexport interface MultiSearchRequestWithPresetSchema\n extends SearchParamsWithPreset {\n collection?: string;\n \"x-typesense-api-key\"?: string;\n}\n\nexport interface MultiSearchRequestsSchema {\n searches: (MultiSearchRequestSchema | MultiSearchRequestWithPresetSchema)[];\n}\n\nexport interface MultiSearchResponse {\n results: { [Index in keyof T]: SearchResponse } & {\n length: T[\"length\"];\n };\n}\n\nexport default class MultiSearch {\n private requestWithCache: RequestWithCache;\n\n constructor(\n private apiCall: ApiCall,\n private configuration: Configuration,\n private useTextContentType: boolean = false\n ) {\n this.requestWithCache = new RequestWithCache();\n }\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async perform(\n searchRequests: MultiSearchRequestsSchema,\n commonParams: Partial = {},\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n }: { cacheSearchResultsForSeconds?: number } = {}\n ): Promise> {\n const additionalHeaders = {};\n if (this.useTextContentType) {\n additionalHeaders[\"content-type\"] = \"text/plain\";\n }\n\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n const queryParams = Object.assign({}, commonParams, additionalQueryParams);\n\n return this.requestWithCache.perform(\n this.apiCall,\n this.apiCall.post,\n [RESOURCEPATH, searchRequests, queryParams, additionalHeaders],\n { cacheResponseForSeconds: cacheSearchResultsForSeconds }\n ) as Promise>;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { PresetSchema } from \"./Preset\";\nimport { SearchParams } from \"./Documents\";\nimport { MultiSearchRequestsSchema } from \"./MultiSearch\";\n\nconst RESOURCEPATH = \"/presets\";\n\nexport interface PresetCreateSchema {\n value: SearchParams | MultiSearchRequestsSchema;\n}\n\nexport interface PresetsRetrieveSchema {\n presets: PresetSchema[];\n}\n\nexport default class Presets {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n presetId: string,\n params: PresetCreateSchema\n ): Promise {\n return this.apiCall.put(this.endpointPath(presetId), params);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Presets.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Presets, { PresetCreateSchema } from \"./Presets\";\n\nexport interface PresetSchema extends PresetCreateSchema {\n name: string;\n}\n\nexport interface PresetDeleteSchema {\n name: string;\n}\n\nexport default class Preset {\n constructor(private presetId: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Presets.RESOURCEPATH}/${encodeURIComponent(this.presetId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n AnalyticsRuleCreateSchema,\n AnalyticsRuleSchema,\n} from \"./AnalyticsRule\";\n\nexport interface AnalyticsRulesRetrieveSchema {\n rules: AnalyticsRuleSchema[];\n}\n\nconst RESOURCEPATH = \"/analytics/rules\";\n\nexport default class AnalyticsRules {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async upsert(\n name: string,\n params: AnalyticsRuleCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(name),\n params\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsRules.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\n\nexport interface AnalyticsRuleCreateSchema {\n type: \"popular_queries\" | \"nohits_queries\" | \"counter\";\n params: {\n source: {\n collections: string[];\n events?: Array<{\n type: string;\n weight: number;\n name: string;\n }>;\n };\n expand_query?: boolean;\n destination: {\n collection: string;\n counter_field?: string;\n };\n limit?: number;\n };\n}\n\nexport interface AnalyticsRuleDeleteSchema {\n name: string;\n}\n\nexport interface AnalyticsRuleSchema extends AnalyticsRuleCreateSchema {\n name: string;\n}\n\nexport default class AnalyticsRule {\n constructor(\n private name: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${AnalyticsRules.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { AnalyticsEventCreateSchema } from \"./AnalyticsEvent\";\n\nconst RESOURCEPATH = \"/analytics/events\";\n\nexport default class AnalyticsEvents {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: AnalyticsEventCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsEvents.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\nimport AnalyticsRule from \"./AnalyticsRule\";\nimport AnalyticsEvents from \"./AnalyticsEvents\";\n\nconst RESOURCEPATH = \"/analytics\";\n\nexport default class Analytics {\n private readonly _analyticsRules: AnalyticsRules;\n private readonly individualAnalyticsRules: Record = {};\n private readonly _analyticsEvents: AnalyticsEvents;\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._analyticsRules = new AnalyticsRules(this.apiCall);\n this._analyticsEvents = new AnalyticsEvents(this.apiCall);\n }\n\n rules(id?: string): AnalyticsRules | AnalyticsRule {\n if (id === undefined) {\n return this._analyticsRules;\n } else {\n if (this.individualAnalyticsRules[id] === undefined) {\n this.individualAnalyticsRules[id] = new AnalyticsRule(id, this.apiCall);\n }\n return this.individualAnalyticsRules[id];\n }\n }\n\n events(): AnalyticsEvents {\n return this._analyticsEvents;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { StopwordSchema } from \"./Stopword\";\n\nconst RESOURCEPATH = \"/stopwords\";\n\nexport interface StopwordCreateSchema {\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordsRetrieveSchema {\n stopwords: StopwordSchema[];\n}\n\nexport default class Stopwords {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n stopwordId: string,\n params: StopwordCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(stopwordId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Stopwords.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Stopwords, { StopwordCreateSchema } from \"./Stopwords\";\n\nexport interface StopwordSchema extends StopwordCreateSchema {\n id: string;\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordDeleteSchema {\n id: string;\n}\n\nexport default class Stopword {\n constructor(\n private stopwordId: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Stopwords.RESOURCEPATH}/${encodeURIComponent(this.stopwordId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n ConversationModelCreateSchema,\n ConversationModelSchema,\n} from \"./ConversationModel\";\n\nconst RESOURCEPATH = \"/conversations/models\";\n\nexport default class ConversationModels {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(\n this.endpointPath(),\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${ConversationModels.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\n\nexport interface ConversationModelCreateSchema {\n id?: string;\n model_name: string;\n api_key?: string;\n system_prompt?: string;\n max_bytes: number;\n history_collection?: string;\n}\n\nexport interface ConversationModelDeleteSchema {\n id: string;\n}\n\nexport interface ConversationModelSchema extends ConversationModelCreateSchema {\n id: string;\n}\n\nexport default class ConversationModel {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async update(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(\n this.endpointPath(),\n );\n }\n\n private endpointPath(): string {\n return `${ConversationModels.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\nimport ConversationModel from \"./ConversationModel\";\nimport { ConversationSchema } from \"./Conversation\";\n\nconst RESOURCEPATH = \"/conversations\";\n\nexport interface ConversationsRetrieveSchema {\n conversations: ConversationSchema[];\n}\n\nexport default class Conversations {\n private readonly _conversationsModels: ConversationModels;\n private readonly individualConversationModels: Record<\n string,\n ConversationModel\n > = {};\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._conversationsModels = new ConversationModels(this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n models(): ConversationModels;\n models(id: string): ConversationModel;\n models(id?: string): ConversationModels | ConversationModel {\n if (id === undefined) {\n return this._conversationsModels;\n } else {\n if (this.individualConversationModels[id] === undefined) {\n this.individualConversationModels[id] = new ConversationModel(\n id,\n this.apiCall,\n );\n }\n return this.individualConversationModels[id];\n }\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Conversations from \"./Conversations\";\n\nexport interface ConversationDeleteSchema {\n id: number;\n}\n\nexport interface ConversationUpdateSchema {\n ttl: number;\n}\n\nexport interface ConversationSchema {\n id: number;\n conversation: object[];\n last_updated: number;\n ttl: number;\n}\n\nexport default class Conversation {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(\n params: ConversationUpdateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Conversations.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","/* eslint-disable no-dupe-class-members */\n\nimport Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Collection from \"./Collection\";\nimport Aliases from \"./Aliases\";\nimport Alias from \"./Alias\";\nimport Keys from \"./Keys\";\nimport Key from \"./Key\";\nimport Debug from \"./Debug\";\nimport Metrics from \"./Metrics\";\nimport Stats from \"./Stats\";\nimport Health from \"./Health\";\nimport Operations from \"./Operations\";\nimport MultiSearch from \"./MultiSearch\";\nimport Presets from \"./Presets\";\nimport Preset from \"./Preset\";\nimport Analytics from \"./Analytics\";\nimport Stopwords from \"./Stopwords\";\nimport Stopword from \"./Stopword\";\nimport Conversations from \"./Conversations\";\nimport Conversation from \"./Conversation\";\n\nexport default class Client {\n configuration: Configuration;\n apiCall: ApiCall;\n debug: Debug;\n metrics: Metrics;\n stats: Stats;\n health: Health;\n operations: Operations;\n multiSearch: MultiSearch;\n analytics: Analytics;\n private readonly _collections: Collections;\n private readonly individualCollections: Record;\n private readonly _aliases: Aliases;\n private readonly individualAliases: Record;\n private readonly _keys: Keys;\n private readonly individualKeys: Record;\n private readonly _presets: Presets;\n private readonly individualPresets: Record;\n private readonly _stopwords: Stopwords;\n private readonly individualStopwords: Record;\n private readonly _conversations: Conversations;\n private readonly individualConversations: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? false;\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.debug = new Debug(this.apiCall);\n this.metrics = new Metrics(this.apiCall);\n this.stats = new Stats(this.apiCall);\n this.health = new Health(this.apiCall);\n this.operations = new Operations(this.apiCall);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration);\n this._collections = new Collections(this.apiCall);\n this.individualCollections = {};\n this._aliases = new Aliases(this.apiCall);\n this.individualAliases = {};\n this._keys = new Keys(this.apiCall);\n this.individualKeys = {};\n this._presets = new Presets(this.apiCall);\n this.individualPresets = {};\n this._stopwords = new Stopwords(this.apiCall);\n this.individualStopwords = {};\n this.analytics = new Analytics(this.apiCall);\n this._conversations = new Conversations(this.apiCall);\n this.individualConversations = {};\n }\n\n collections(): Collections;\n collections = object>(\n collectionName: string,\n ): Collection;\n collections(collectionName?: string): Collections | Collection {\n if (collectionName === undefined) {\n return this._collections;\n } else {\n if (this.individualCollections[collectionName] === undefined) {\n this.individualCollections[collectionName] = new Collection(\n collectionName,\n this.apiCall,\n this.configuration,\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n\n aliases(): Aliases;\n aliases(aliasName: string): Alias;\n aliases(aliasName?: string): Aliases | Alias {\n if (aliasName === undefined) {\n return this._aliases;\n } else {\n if (this.individualAliases[aliasName] === undefined) {\n this.individualAliases[aliasName] = new Alias(aliasName, this.apiCall);\n }\n return this.individualAliases[aliasName];\n }\n }\n\n keys(): Keys;\n keys(id: number): Key;\n keys(id?: number): Keys | Key {\n if (id === undefined) {\n return this._keys;\n } else {\n if (this.individualKeys[id] === undefined) {\n this.individualKeys[id] = new Key(id, this.apiCall);\n }\n return this.individualKeys[id];\n }\n }\n\n presets(): Presets;\n presets(id: string): Preset;\n presets(id?: string): Presets | Preset {\n if (id === undefined) {\n return this._presets;\n } else {\n if (this.individualPresets[id] === undefined) {\n this.individualPresets[id] = new Preset(id, this.apiCall);\n }\n return this.individualPresets[id];\n }\n }\n\n stopwords(): Stopwords;\n stopwords(id: string): Stopword;\n stopwords(id?: string): Stopwords | Stopword {\n if (id === undefined) {\n return this._stopwords;\n } else {\n if (this.individualStopwords[id] === undefined) {\n this.individualStopwords[id] = new Stopword(id, this.apiCall);\n }\n return this.individualStopwords[id];\n }\n }\n\n conversations(): Conversations;\n conversations(id: string): Conversation;\n conversations(id?: string): Conversations | Conversation {\n if (id === undefined) {\n return this._conversations;\n } else {\n if (this.individualConversations[id] === undefined) {\n this.individualConversations[id] = new Conversation(id, this.apiCall);\n }\n return this.individualConversations[id];\n }\n }\n}\n","import { DocumentSchema, SearchableDocuments } from \"./Documents\";\nimport ApiCall from \"./ApiCall\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\nexport class SearchOnlyCollection {\n private readonly _documents: SearchableDocuments;\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any\n ) {\n this._documents = new SearchOnlyDocuments(\n this.name,\n this.apiCall,\n this.configuration\n );\n }\n\n documents(): SearchableDocuments {\n return this._documents;\n }\n}\n","import Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport MultiSearch from \"./MultiSearch\";\nimport { DocumentSchema } from \"./Documents\";\nimport { SearchOnlyCollection } from \"./SearchOnlyCollection\";\n\nexport default class SearchClient {\n public readonly multiSearch: MultiSearch;\n private readonly configuration: Configuration;\n private readonly apiCall: ApiCall;\n private readonly individualCollections: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? true;\n if (\n options.sendApiKeyAsQueryParam === true &&\n (options.apiKey || \"\").length > 2000\n ) {\n console.warn(\n \"[typesense] API Key is longer than 2000 characters which is over the allowed limit, so disabling sending it as a query parameter.\"\n );\n options.sendApiKeyAsQueryParam = false;\n }\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration, true);\n this.individualCollections = {};\n }\n\n clearCache() {\n this.multiSearch.clearCache();\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Object.entries(this.individualCollections).forEach(([_, collection]) => {\n collection.documents().clearCache();\n });\n }\n\n collections(\n collectionName: string\n ): SearchOnlyCollection | SearchOnlyCollection {\n if (!collectionName) {\n throw new Error(\n \"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(\n collectionName,\n this.apiCall,\n this.configuration\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n}\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(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\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}","import Client from \"./Typesense/Client\";\nimport SearchClient from \"./Typesense/SearchClient\";\nimport * as Errors from \"./Typesense/Errors\";\n\nexport { Client, SearchClient, Errors };\nexport default { Client, SearchClient, Errors };\n"],"names":["root","definition","noop","undefinedType","isIE","window","navigator","test","userAgent","logMethods","_loggersByName","defaultLogger","bindMethod","obj","methodName","method","bind","Function","prototype","call","e","apply","arguments","traceForIE","console","log","trace","replaceLoggingMethods","level","this","getLevel","i","length","methodFactory","name","debug","levels","SILENT","enableLoggingWhenConsoleArrives","defaultMethodFactory","_level","_loggerName","undefined","realMethod","Logger","factory","inheritedLevel","defaultLevel","userLevel","self","storageKey","getPersistedLevel","storedLevel","localStorage","ignore","cookie","document","cookieName","encodeURIComponent","location","indexOf","exec","slice","normalizeLevel","input","toUpperCase","TypeError","setLevel","persist","levelNum","levelName","persistLevelIfPossible","setDefaultLevel","resetLevel","removeItem","clearPersistedLevel","enableAll","TRACE","disableAll","rebuild","childName","initialLevel","getLogger","logger","_log","noConflict","getLoggers","_typeof","_regeneratorRuntime","module","exports","__esModule","t","r","Object","n","hasOwnProperty","o","defineProperty","value","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","constructor","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","stop","rval","handle","complete","finish","delegateYield","runtime","regeneratorRuntime","accidentalStrictMode","globalThis","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","key","get","prop","_classCallCheck","instance","Constructor","toPropertyKey","toPrimitive","String","_defineProperties","target","props","descriptor","_createClass","protoProps","staticProps","_defineProperty","_assertThisInitialized","ReferenceError","_possibleConstructorReturn","_getPrototypeOf","_setPrototypeOf","_inherits","subClass","superClass","_isNativeReflectConstruct","Boolean","valueOf","Reflect","construct","_wrapNativeSuper","Class","_cache","Map","fn","toString","has","set","Wrapper","TypesenseError","_Error","message","_this","_callSuper","MissingConfigurationError","_TypesenseError","Configuration","options","nodes","map","node","setDefaultPathInNode","setDefaultPortInNode","_objectSpread","randomizeNodes","shuffleArray","nearestNode","connectionTimeoutSeconds","timeoutSeconds","healthcheckIntervalSeconds","numRetries","retryIntervalSeconds","apiKey","sendApiKeyAsQueryParam","cacheSearchResultsForSeconds","useServerSideSearchCache","logLevel","additionalHeaders","httpAgent","httpsAgent","paramsSerializer","showDeprecationWarnings","validate","validateNodes","isNodeMissingAnyParameters","_this2","some","every","warn","masterNode","readReplicaNodes","array","j","Math","floor","random","_ref","asyncGeneratorStep","gen","reject","_next","_throw","info","error","_asyncToGenerator","args","err","thisArg","kindOf","cache","thing","str","toLowerCase","kindOfTest","typeOfTest","isArray","Array","isUndefined","isArrayBuffer","isString","isFunction","isNumber","isObject","isPlainObject","val","isDate","isFile","isBlob","isFileList","isURLSearchParams","isReadableStream","isRequest","isResponse","isHeaders","allOwnKeys","getOwnPropertyNames","len","findKey","_key","_global","global","isContextDefined","context","isTypedArray","TypedArray","Uint8Array","isHTMLForm","isRegExp","reduceDescriptors","reducer","descriptors","getOwnPropertyDescriptors","reducedDescriptors","ret","defineProperties","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","isAsyncFn","_setImmediate","setImmediateSupported","setImmediate","postMessageSupported","postMessage","token","callbacks","addEventListener","source","data","shift","cb","setTimeout","asap","queueMicrotask","process","nextTick","isBuffer","isFormData","kind","FormData","append","isArrayBufferView","result","ArrayBuffer","isView","buffer","isBoolean","isStream","pipe","merge","caseless","assignValue","targetKey","extend","b","trim","replace","stripBOM","content","charCodeAt","inherits","superConstructor","assign","toFlatObject","sourceObj","destObj","filter","propFilter","merged","endsWith","searchString","position","lastIndex","toArray","arr","forEachEntry","pair","matchAll","regExp","matches","hasOwnProp","freezeMethods","toObjectSet","arrayOrString","delimiter","split","toCamelCase","m","p1","p2","toFiniteNumber","defaultValue","Number","isFinite","generateString","size","alphabet","isSpecCompliantForm","toJSONObject","stack","visit","reducedValue","isThenable","catch","AxiosError","code","config","request","response","captureStackTrace","status","utils","toJSON","description","number","fileName","lineNumber","columnNumber","from","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","path","dots","concat","join","predicates","formData","metaTokens","indexes","option","visitor","defaultVisitor","useBlob","Blob","convertValue","toISOString","Buffer","JSON","stringify","isFlatArray","el","index","exposedHelpers","build","encode","charMap","match","AxiosURLSearchParams","params","_pairs","encoder","_encode","buildURL","url","serializeFn","serialize","serializedParams","hashmarkIndex","handlers","use","fulfilled","rejected","synchronous","runWhen","eject","id","clear","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","isBrowser","classes","URLSearchParams","protocols","hasBrowserEnv","_navigator","hasStandardBrowserEnv","product","hasStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","origin","href","buildPath","isNumericKey","isLast","arrayToObject","entries","parsePropPath","defaults","transitional","adapter","transformRequest","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","setContentType","platform","helpers","isNode","toURLEncodedForm","formSerializer","_FormData","env","rawValue","parser","parse","stringifySafely","transformResponse","JSONRequested","responseType","strictJSONParsing","ERR_BAD_RESPONSE","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","ignoreDuplicateOf","$internals","normalizeHeader","header","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","rawHeaders","parsed","line","substring","parseHeaders","tokens","tokensRE","parseTokens","matcher","deleted","deleteHeader","normalize","format","normalized","w","char","formatHeader","targets","asStrings","first","computed","accessor","accessors","defineAccessor","accessorName","arg1","arg2","arg3","buildAccessors","mapped","headerValue","transformData","fns","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","settle","ERR_BAD_REQUEST","progressEventReducer","listener","isDownloadStream","freq","bytesNotified","_speedometer","samplesCount","min","bytes","timestamps","firstSampleTS","head","tail","chunkLength","now","Date","startedAt","bytesCount","passed","round","lastArgs","timer","timestamp","threshold","clearTimeout","loaded","total","lengthComputable","progressBytes","rate","progress","estimated","event","progressEventDecorator","throttled","asyncDecorator","msie","urlParsingNode","createElement","originURL","resolveURL","setAttribute","protocol","host","search","hash","hostname","port","pathname","requestURL","write","expires","domain","secure","toGMTString","read","RegExp","decodeURIComponent","remove","buildFullPath","baseURL","requestedURL","relativeURL","combineURLs","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","withCredentials","withXSRFToken","onUploadProgress","onDownloadProgress","decompress","beforeRedirect","transport","cancelToken","socketPath","responseEncoding","configValue","newConfig","auth","btoa","username","password","unescape","isURLSameOrigin","xsrfValue","cookies","XMLHttpRequest","_config","resolveConfig","requestData","requestHeaders","onCanceled","uploadThrottled","downloadThrottled","flushUpload","flushDownload","unsubscribe","signal","removeEventListener","onloadend","responseHeaders","getAllResponseHeaders","responseText","statusText","open","onreadystatechange","readyState","responseURL","onabort","ECONNABORTED","onerror","ERR_NETWORK","ontimeout","timeoutErrorMessage","ETIMEDOUT","setRequestHeader","upload","cancel","abort","subscribe","aborted","parseProtocol","send","signals","controller","AbortController","reason","streamChunk","chunk","chunkSize","byteLength","end","pos","trackStream","stream","onProgress","onFinish","iterable","readBytes","_onFinish","ReadableStream","pull","close","loadedBytes","enqueue","return","highWaterMark","isFetchSupported","fetch","Request","Response","isReadableStreamSupported","encodeText","TextEncoder","arrayBuffer","supportsRequestStream","duplexAccessed","hasContentType","body","duplex","supportsResponseStream","resolvers","res","_","ERR_NOT_SUPPORT","knownAdapters","http","xhr","fetchOptions","finished","composedSignal","stopTimeout","requestContentLength","getContentLength","getBodyLength","resolveBodyLength","contentTypeHeader","_request","flush","isCredentialsSupported","credentials","isStreamResponse","responseContentLength","responseData","renderReason","isResolvedHandle","adapters","nameOrAdapter","rejectedReasons","reasons","state","throwIfCancellationRequested","throwIfRequested","dispatchRequest","validators","deprecatedWarnings","validator","version","formatMessage","opt","desc","opts","ERR_DEPRECATED","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","Axios","instanceConfig","interceptors","configOrUrl","dummy","boolean","function","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","unshift","responseInterceptorChain","promise","chain","onFulfilled","onRejected","getUri","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","splice","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","axios","createInstance","defaultConfig","VERSION","toFormData","Cancel","all","promises","spread","callback","isAxiosError","payload","formToJSON","getAdapter","default","RequestMalformed","RequestUnauthorized","ObjectNotFound","ObjectAlreadyExists","ObjectUnprocessable","ServerError","HTTPError","HEALTHY","isNodeJSEnvironment","versions","ApiCall","configuration","numRetriesPerRequest","additionalUserHeaders","initializeMetadataForNodes","currentNodeIndex","_timer","_performRequest","_patch","_put","_post","_delete2","_get","_callee","endpoint","queryParameters","_ref$abortSignal","abortSignal","_ref$responseType","_args","_context","performRequest","_x","_callee2","_args2","_context2","_x2","_callee3","bodyParameters","_args3","_context3","_x3","_callee4","_args4","_context4","_x4","_callee5","_args5","_context5","_x5","_callee6","requestType","_ref2","_ref2$queryParameters","_ref2$bodyParameters","_ref2$additionalHeade","_ref2$abortSignal","_ref2$responseType","_ref2$skipConnectionT","skipConnectionTimeout","_ref2$enableKeepAlive","enableKeepAlive","requestNumber","lastException","_loop","_ret","numTries","_context7","abortListener","requestOptions","_response$data","_response$data2","_error$response","_context6","getNextNode","uriFor","defaultHeaders","Infinity","transformedData","startsWith","HTTPAgent","keepAlive","HTTPSAgent","setNodeHealthcheck","customErrorForResponse","t0","_x6","_x7","_x8","isHealthy","nodeDueForHealthcheck","candidateNode","isDueForHealthcheck","lastAccessTimestamp","_callee7","seconds","_context8","_x9","messageFromServer","errorMessage","httpStatus","RESOURCEPATH","Collections","apiCall","_retrieve","_create","post","ImportError","importResults","_arrayLikeToArray","arr2","_unsupportedIterableToArray","minLen","_toConsumableArray","iter","RequestWithCache","_perform","responseCache","responsePromiseCache","requestContext","requestFunction","requestFunctionArguments","cacheOptions","_cacheOptions$cacheRe","cacheResponseForSeconds","_cacheOptions$maxSize","maxSize","requestFunctionArgumentsJSON","cacheEntry","cachePromiseEntry","responsePromise","oldestEntry","_oldestEntry","requestTimestamp","delete","SearchOnlyDocuments","collectionName","_search","requestWithCache","clearCache","searchParameters","_ref$cacheSearchResul","additionalQueryParams","queryParams","perform","endpointPath","operation","Documents","_exportStream","_export2","_importStream","_import2","_createMany","_update","_upsert","action","patch","query","documents","import","documentsInJSONLFormat","resultsInJSONLFormat","resultsInJSONFormat","failedItems","_args6","RangeError","includes","success","readableStream","_args7","_callee8","_args8","_callee9","_args9","_context9","Overrides","overrideId","put","Override","Synonyms","synonymId","Synonym","Document","documentId","partialDocument","Collection","_documents","_overrides","_synonyms","_exists","retrieve","individualDocuments","individualOverrides","individualSynonyms","Aliases","mapping","aliasName","Alias","Keys","searchKey","parameters","paramsJSON","digest","createHmac","update","keyPrefix","substr","rawScopedKey","Key","Debug","Metrics","Health","Operations","operationName","MultiSearch","useTextContentType","searchRequests","commonParams","Presets","presetId","Preset","AnalyticsRules","AnalyticsRule","AnalyticsEvents","Analytics","_analyticsRules","_analyticsEvents","individualAnalyticsRules","Stopwords","stopwordId","Stopword","ConversationModels","ConversationModel","Conversations","_conversationsModels","individualConversationModels","Conversation","Client","_options$sendApiKeyAs","metrics","stats","Stats","health","operations","multiSearch","_collections","individualCollections","_aliases","individualAliases","_keys","individualKeys","_presets","individualPresets","_stopwords","individualStopwords","analytics","_conversations","individualConversations","SearchOnlyCollection","SearchClient","Errors"],"sourceRoot":""} \ No newline at end of file diff --git a/lib/Typesense/Documents.d.ts b/lib/Typesense/Documents.d.ts index d862ea13..88c14b70 100644 --- a/lib/Typesense/Documents.d.ts +++ b/lib/Typesense/Documents.d.ts @@ -69,6 +69,7 @@ export interface SearchParams { limit_hits?: number; pre_segmented_query?: boolean; enable_overrides?: boolean; + override_tags?: string | string[]; prioritize_exact_match?: boolean; prioritize_token_position?: boolean; prioritize_num_matching_fields?: boolean; diff --git a/lib/Typesense/Documents.js.map b/lib/Typesense/Documents.js.map index da55836b..847e5aa7 100644 --- a/lib/Typesense/Documents.js.map +++ b/lib/Typesense/Documents.js.map @@ -1 +1 @@ -{"version":3,"file":"Documents.js","sourceRoot":"","sources":["../../src/Typesense/Documents.ts"],"names":[],"mappings":";;;AAGA,mCAAuC;AACvC,6DAA4D;AAqP5D,IAAM,mBAAmB,GACvB,OAAO,OAAO,KAAK,WAAW;IAC9B,OAAO,CAAC,QAAQ,IAAI,IAAI;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC;AAEhC;IACU,qCAAsB;IAG9B,mBACE,cAAsB,EACtB,OAAgB,EAChB,aAA4B;QAE5B,OAAA,MAAK,YAAC,cAAc,EAAE,OAAO,EAAE,aAAa,CAAC,SAAC;IAChD,CAAC;IAEK,0BAAM,GAAZ,UAAa,QAAW,EAAE,OAAqC;QAArC,wBAAA,EAAA,YAAqC;;;gBAC7D,IAAI,CAAC,QAAQ;oBAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBACvD,sBAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAI,IAAI,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAC;;;KACrE;IAEK,0BAAM,GAAZ,UAAa,QAAW,EAAE,OAAqC;QAArC,wBAAA,EAAA,YAAqC;;;gBAC7D,IAAI,CAAC,QAAQ;oBAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBACvD,sBAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CACtB,IAAI,CAAC,YAAY,EAAE,EACnB,QAAQ,EACR,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CACjD,EAAC;;;KACH;IAOK,0BAAM,GAAZ,UACE,QAAW,EACX,OAAgE;QAAhE,wBAAA,EAAA,YAAgE;;;gBAEhE,IAAI,CAAC,QAAQ;oBAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBAEvD,IAAI,OAAO,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC;oBACjC,sBAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CACvB,IAAI,CAAC,YAAY,EAAE,EACnB,QAAQ,EACR,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAC3B,EAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,sBAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CACtB,IAAI,CAAC,YAAY,EAAE,EACnB,QAAQ,EACR,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CACjD,EAAC;gBACJ,CAAC;;;;KACF;IAEK,0BAAM,GAAZ,UACE,KAAsC;QAAtC,sBAAA,EAAA,QAAqB,EAAiB;;;gBAEtC,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAiB,IAAI,CAAC,YAAY,EAAE,EAAE,KAAK,CAAC,EAAC;;;KACxE;IAEK,8BAAU,GAAhB,UAAiB,SAAc,EAAE,OAAsC;QAAtC,wBAAA,EAAA,YAAsC;;;gBACrE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAC5B,iKAAiK,CAClK,CAAC;gBACF,sBAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,EAAC;;;KACxC;IAgBK,0BAAM,GAAZ,UACE,SAAuB,EACvB,OAAsC;QAAtC,wBAAA,EAAA,YAAsC;;;;;;wBAGtC,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;4BAC7B,IAAI,CAAC;gCACH,sBAAsB,GAAG,SAAS;qCAC/B,GAAG,CAAC,UAAC,QAAQ,IAAK,OAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAxB,CAAwB,CAAC;qCAC3C,IAAI,CAAC,IAAI,CAAC,CAAC;4BAChB,CAAC;4BAAC,OAAO,KAAU,EAAE,CAAC;gCACpB,4CAA4C;gCAC5C,IACE,KAAK,YAAY,UAAU;oCAC3B,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,kCAAkC,CAAC,EAC1D,CAAC;oCACD,MAAM,IAAI,KAAK,CAAC,UAAG,KAAK,oVAIvB,CAAC,CAAC;gCACL,CAAC;gCAED,0CAA0C;gCAC1C,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;4BACzB,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACN,sBAAsB,GAAG,SAAS,CAAC;wBACrC,CAAC;wBAE4B,qBAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAC5D,MAAM,EACN,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAC3B;gCACE,eAAe,EAAE,OAAO;gCACxB,cAAc,EAAE,sBAAsB;gCACtC,iBAAiB,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE;gCACnD,qBAAqB,EAAE,IAAI,EAAE,+JAA+J;gCAC5L,eAAe,EAAE,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,oIAAoI;6BAC1L,CACF,EAAA;;wBAVK,oBAAoB,GAAG,SAU5B;wBAED,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;4BACvB,mBAAmB,GAAG,oBAAoB;iCAC7C,KAAK,CAAC,IAAI,CAAC;iCACX,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAb,CAAa,CAAqB,CAAC;4BAC3C,WAAW,GAAG,mBAAmB,CAAC,MAAM,CAC5C,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,OAAO,KAAK,KAAK,EAAnB,CAAmB,CAC3B,CAAC;4BACF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCAC3B,MAAM,IAAI,oBAAW,CACnB,UACE,mBAAmB,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,+CAE/C,WAAW,CAAC,MAAM,2IACsH,EAC1I,mBAAmB,CACpB,CAAC;4BACJ,CAAC;iCAAM,CAAC;gCACN,sBAAO,mBAAmB,EAAC;4BAC7B,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACN,sBAAO,oBAA8B,EAAC;wBACxC,CAAC;;;;;KACF;IACD;;OAEG;IACG,gCAAY,GAAlB,UACE,cAA0B,EAC1B,OAAsC;QAAtC,wBAAA,EAAA,YAAsC;;;;;4BAET,qBAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAC5D,MAAM,EACN,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAC3B;4BACE,eAAe,EAAE,OAAO;4BACxB,cAAc,EAAE,cAAc;4BAC9B,iBAAiB,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE;4BACnD,qBAAqB,EAAE,IAAI,EAAE,+JAA+J;4BAC5L,eAAe,EAAE,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,oIAAoI;yBAC1L,CACF,EAAA;;wBAVK,oBAAoB,GAAG,SAU5B;wBAEK,mBAAmB,GAAG,oBAAoB;6BAC7C,KAAK,CAAC,IAAI,CAAC;6BACX,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAb,CAAa,CAAqB,CAAC;wBAC3C,WAAW,GAAG,mBAAmB,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,OAAO,KAAK,KAAK,EAAnB,CAAmB,CAAC,CAAC;wBAC3E,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC3B,MAAM,IAAI,oBAAW,CACnB,UACE,mBAAmB,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,+CAE/C,WAAW,CAAC,MAAM,2IACsH,EAC1I,mBAAmB,CACpB,CAAC;wBACJ,CAAC;6BAAM,CAAC;4BACN,sBAAO,mBAAmB,EAAC;wBAC7B,CAAC;;;;;KACF;IAED;;OAEG;IACG,0BAAM,GAAZ,UAAa,OAAuC;QAAvC,wBAAA,EAAA,YAAuC;;;gBAClD,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAS,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,EAAC;;;KACvE;IAED;;OAEG;IACG,gCAAY,GAAlB,UACE,OAAuC;QAAvC,wBAAA,EAAA,YAAuC;;;gBAEvC,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAa,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE;wBACxE,YAAY,EAAE,QAAQ;qBACvB,CAAC,EAAC;;;KACJ;IACH,gBAAC;AAAD,CAAC,AAtMD,CACU,yCAAmB,GAqM5B"} \ No newline at end of file +{"version":3,"file":"Documents.js","sourceRoot":"","sources":["../../src/Typesense/Documents.ts"],"names":[],"mappings":"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"} \ No newline at end of file From 2b41db6ac61d4b848cbcc6407ec4ed01aa139dba Mon Sep 17 00:00:00 2001 From: Jason Bosco Date: Mon, 2 Sep 2024 11:36:50 -0500 Subject: [PATCH 17/21] 2.0.0-5 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index da140df8..9be04e18 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "typesense", - "version": "2.0.0-4", + "version": "2.0.0-5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "typesense", - "version": "2.0.0-4", + "version": "2.0.0-5", "license": "Apache-2.0", "dependencies": { "axios": "^1.7.5" diff --git a/package.json b/package.json index 6d651b82..122d01d6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "typesense", - "version": "2.0.0-4", + "version": "2.0.0-5", "description": "Javascript Library for Typesense", "homepage": "https://github.com/typesense/typesense-js", "author": { From 2fe5629c37bf9c47bd34047ea5632c87b2be1ec7 Mon Sep 17 00:00:00 2001 From: Fanis Tharropoulos Date: Wed, 21 Aug 2024 11:39:47 +0300 Subject: [PATCH 18/21] build: homogenize build pipeline build: add tsup build system Modernize build system and package configuration - Migrate from webpack to tsup for improved build process. - Update package.json with new exports configuration and dependencies. - Add tsup.config.ts for flexible bundling options. - Target both cjs and esm. - Use minified versions of bundle by default. build: add cjs plugin or esbuild fix: import from cjs on `require` build: add esbuild options for bundling UMD dependencies - `loglevel` is written as a UMD module and has to be handled differently from axios fix: avoid reusing logger import from `loglevel` chore: remove uneeded common-js dependency for esbuild chore: remove build artifacts from source control chore: remove build artifact folders chore: add prepare script to run before package publishing chore: update package-lock based on changes --- package-lock.json | 108 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) diff --git a/package-lock.json b/package-lock.json index 9be04e18..400d8942 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11962,6 +11962,114 @@ "node": ">= 8" } }, + "node_modules/tsup": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/tsup/-/tsup-8.2.4.tgz", + "integrity": "sha512-akpCPePnBnC/CXgRrcy72ZSntgIEUa1jN0oJbbvpALWKNOz1B7aM+UVDWGRGIO/T/PZugAESWDJUAb5FD48o8Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "bundle-require": "^5.0.0", + "cac": "^6.7.14", + "chokidar": "^3.6.0", + "consola": "^3.2.3", + "debug": "^4.3.5", + "esbuild": "^0.23.0", + "execa": "^5.1.1", + "globby": "^11.1.0", + "joycon": "^3.1.1", + "picocolors": "^1.0.1", + "postcss-load-config": "^6.0.1", + "resolve-from": "^5.0.0", + "rollup": "^4.19.0", + "source-map": "0.8.0-beta.0", + "sucrase": "^3.35.0", + "tree-kill": "^1.2.2" + }, + "bin": { + "tsup": "dist/cli-default.js", + "tsup-node": "dist/cli-node.js" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@microsoft/api-extractor": "^7.36.0", + "@swc/core": "^1", + "postcss": "^8.4.12", + "typescript": ">=4.5.0" + }, + "peerDependenciesMeta": { + "@microsoft/api-extractor": { + "optional": true + }, + "@swc/core": { + "optional": true + }, + "postcss": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/tsup/node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/tsup/node_modules/debug": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", + "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/tsup/node_modules/source-map": { + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "whatwg-url": "^7.0.0" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/tty-browserify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", From ea736b9e07f80179201f68590cbd64238542db55 Mon Sep 17 00:00:00 2001 From: Fanis Tharropoulos Date: Wed, 28 Aug 2024 14:04:15 +0300 Subject: [PATCH 19/21] chore: add chai-spies package --- package-lock.json | 108 ---------------------------------------------- 1 file changed, 108 deletions(-) diff --git a/package-lock.json b/package-lock.json index 400d8942..9be04e18 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11962,114 +11962,6 @@ "node": ">= 8" } }, - "node_modules/tsup": { - "version": "8.2.4", - "resolved": "https://registry.npmjs.org/tsup/-/tsup-8.2.4.tgz", - "integrity": "sha512-akpCPePnBnC/CXgRrcy72ZSntgIEUa1jN0oJbbvpALWKNOz1B7aM+UVDWGRGIO/T/PZugAESWDJUAb5FD48o8Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "bundle-require": "^5.0.0", - "cac": "^6.7.14", - "chokidar": "^3.6.0", - "consola": "^3.2.3", - "debug": "^4.3.5", - "esbuild": "^0.23.0", - "execa": "^5.1.1", - "globby": "^11.1.0", - "joycon": "^3.1.1", - "picocolors": "^1.0.1", - "postcss-load-config": "^6.0.1", - "resolve-from": "^5.0.0", - "rollup": "^4.19.0", - "source-map": "0.8.0-beta.0", - "sucrase": "^3.35.0", - "tree-kill": "^1.2.2" - }, - "bin": { - "tsup": "dist/cli-default.js", - "tsup-node": "dist/cli-node.js" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@microsoft/api-extractor": "^7.36.0", - "@swc/core": "^1", - "postcss": "^8.4.12", - "typescript": ">=4.5.0" - }, - "peerDependenciesMeta": { - "@microsoft/api-extractor": { - "optional": true - }, - "@swc/core": { - "optional": true - }, - "postcss": { - "optional": true - }, - "typescript": { - "optional": true - } - } - }, - "node_modules/tsup/node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/tsup/node_modules/debug": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", - "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/tsup/node_modules/source-map": { - "version": "0.8.0-beta.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", - "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "whatwg-url": "^7.0.0" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/tty-browserify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", From f5d357afdbf0e3cfcadda9844d26c4ca240c980a Mon Sep 17 00:00:00 2001 From: Fanis Tharropoulos Date: Thu, 5 Sep 2024 15:14:34 +0300 Subject: [PATCH 20/21] build: restore build artifacts to source control - Avoid build discrepancies between authors and users when installing from source control directly, by using the last build produced by a maintainer --- .gitignore | 2 - dist/Typesense.d.mts | 1177 +++ dist/Typesense.d.ts | 1177 +++ dist/Typesense.min.js | 9 + dist/Typesense.min.js.map | 1 + dist/Typesense.min.mjs | 9 + dist/Typesense.min.mjs.map | 1 + dist/typesense.js | 10588 ---------------------- dist/typesense.js.map | 1 - dist/typesense.min.js | 3 - dist/typesense.min.js.map | 1 - lib/Typesense.d.mts | 1177 +++ lib/Typesense.d.ts | 1177 +++ lib/Typesense.min.js | 9 + lib/Typesense.min.js.map | 1 + lib/Typesense.min.mjs | 9 + lib/Typesense.min.mjs.map | 1 + lib/Typesense/Alias.js | 30 - lib/Typesense/Alias.js.map | 1 - lib/Typesense/Aliases.js | 36 - lib/Typesense/Aliases.js.map | 1 - lib/Typesense/AnalyticsEvents.js | 30 - lib/Typesense/AnalyticsEvents.js.map | 1 - lib/Typesense/AnalyticsRule.js | 30 - lib/Typesense/AnalyticsRule.js.map | 1 - lib/Typesense/AnalyticsRules.js | 37 - lib/Typesense/AnalyticsRules.js.map | 1 - lib/Typesense/Collection.js | 108 - lib/Typesense/Collection.js.map | 1 - lib/Typesense/Conversation.js | 37 - lib/Typesense/Conversation.js.map | 1 - lib/Typesense/ConversationModel.js | 37 - lib/Typesense/ConversationModel.js.map | 1 - lib/Typesense/ConversationModels.js | 37 - lib/Typesense/ConversationModels.js.map | 1 - lib/Typesense/Document.js | 41 - lib/Typesense/Document.js.map | 1 - lib/Typesense/Documents.d.ts | 242 - lib/Typesense/Documents.js.map | 1 - lib/Typesense/Key.js | 30 - lib/Typesense/Key.js.map | 1 - lib/Typesense/Override.js | 32 - lib/Typesense/Override.js.map | 1 - lib/Typesense/Overrides.js | 38 - lib/Typesense/Overrides.js.map | 1 - lib/Typesense/Preset.js | 30 - lib/Typesense/Preset.js.map | 1 - lib/Typesense/Presets.js | 36 - lib/Typesense/Presets.js.map | 1 - lib/Typesense/Stopword.js | 30 - lib/Typesense/Stopword.js.map | 1 - lib/Typesense/Stopwords.js | 36 - lib/Typesense/Stopwords.js.map | 1 - lib/Typesense/Synonym.js | 32 - lib/Typesense/Synonym.js.map | 1 - lib/Typesense/Synonyms.js | 38 - lib/Typesense/Synonyms.js.map | 1 - package.json | 1 - 58 files changed, 4748 insertions(+), 11583 deletions(-) create mode 100644 dist/Typesense.d.mts create mode 100644 dist/Typesense.d.ts create mode 100644 dist/Typesense.min.js create mode 100644 dist/Typesense.min.js.map create mode 100644 dist/Typesense.min.mjs create mode 100644 dist/Typesense.min.mjs.map delete mode 100644 dist/typesense.js delete mode 100644 dist/typesense.js.map delete mode 100644 dist/typesense.min.js delete mode 100644 dist/typesense.min.js.map create mode 100644 lib/Typesense.d.mts create mode 100644 lib/Typesense.d.ts create mode 100644 lib/Typesense.min.js create mode 100644 lib/Typesense.min.js.map create mode 100644 lib/Typesense.min.mjs create mode 100644 lib/Typesense.min.mjs.map delete mode 100644 lib/Typesense/Alias.js delete mode 100644 lib/Typesense/Alias.js.map delete mode 100644 lib/Typesense/Aliases.js delete mode 100644 lib/Typesense/Aliases.js.map delete mode 100644 lib/Typesense/AnalyticsEvents.js delete mode 100644 lib/Typesense/AnalyticsEvents.js.map delete mode 100644 lib/Typesense/AnalyticsRule.js delete mode 100644 lib/Typesense/AnalyticsRule.js.map delete mode 100644 lib/Typesense/AnalyticsRules.js delete mode 100644 lib/Typesense/AnalyticsRules.js.map delete mode 100644 lib/Typesense/Collection.js delete mode 100644 lib/Typesense/Collection.js.map delete mode 100644 lib/Typesense/Conversation.js delete mode 100644 lib/Typesense/Conversation.js.map delete mode 100644 lib/Typesense/ConversationModel.js delete mode 100644 lib/Typesense/ConversationModel.js.map delete mode 100644 lib/Typesense/ConversationModels.js delete mode 100644 lib/Typesense/ConversationModels.js.map delete mode 100644 lib/Typesense/Document.js delete mode 100644 lib/Typesense/Document.js.map delete mode 100644 lib/Typesense/Documents.d.ts delete mode 100644 lib/Typesense/Documents.js.map delete mode 100644 lib/Typesense/Key.js delete mode 100644 lib/Typesense/Key.js.map delete mode 100644 lib/Typesense/Override.js delete mode 100644 lib/Typesense/Override.js.map delete mode 100644 lib/Typesense/Overrides.js delete mode 100644 lib/Typesense/Overrides.js.map delete mode 100644 lib/Typesense/Preset.js delete mode 100644 lib/Typesense/Preset.js.map delete mode 100644 lib/Typesense/Presets.js delete mode 100644 lib/Typesense/Presets.js.map delete mode 100644 lib/Typesense/Stopword.js delete mode 100644 lib/Typesense/Stopword.js.map delete mode 100644 lib/Typesense/Stopwords.js delete mode 100644 lib/Typesense/Stopwords.js.map delete mode 100644 lib/Typesense/Synonym.js delete mode 100644 lib/Typesense/Synonym.js.map delete mode 100644 lib/Typesense/Synonyms.js delete mode 100644 lib/Typesense/Synonyms.js.map diff --git a/.gitignore b/.gitignore index 95b3a844..68db9d75 100644 --- a/.gitignore +++ b/.gitignore @@ -7,5 +7,3 @@ typesense-server-nodes .DS_Store test-results.xml test-files -dist/ -lib/ diff --git a/dist/Typesense.d.mts b/dist/Typesense.d.mts new file mode 100644 index 00000000..2f05ea9f --- /dev/null +++ b/dist/Typesense.d.mts @@ -0,0 +1,1177 @@ +import { Agent } from 'http'; +import { Agent as Agent$1 } from 'https'; +import { AxiosRequestConfig, Method, AxiosResponse } from 'axios'; +import { ReadStream } from 'fs'; + +/** + * Represents the log levels that can be used in the logger with their corresponding number values. + */ +type LogLevelMap = { + Trace: "trace" | 0; + Debug: "debug" | 1; + Info: "info" | 2; + Warn: "warn" | 3; + Error: "error" | 4; + Silent: "silent" | 5; +}; +/** + * Represents the log levels that can be used in the logger. + */ +type LogLevel = LogLevelMap[keyof LogLevelMap]; +/** + * A simple logging class using a singleton pattern. + * Only prints to stdout. + */ +declare class SimpleLogger { + private static instance; + /** + * Numeric representation of the log level set. + * Defaults to LogLevelNumber.Warn. + * @private + * @type {LogLevelNumberValues} + */ + private logLevel; + /** + * Private constructor to prevent instantiation. + * @private + */ + private constructor(); + /** + * Get the singleton instance of the SimpleLogger. + * @returns {SimpleLogger} The singleton instance of the SimpleLogger. + */ + static getInstance(): SimpleLogger; + /** + * Formats the message to be logged. + * @private + * @param level The log level to be used. + * @param message The message to be logged. + * @returns The formatted message. + */ + private formatMessage; + /** + * Logs the message with the appropriate console function + * @param level The log level to be used. + * @param message The message to be logged. + */ + private logWith; + /** + * Maps the log level to the appropriate console function. + * @param level The log level to be used. + * @returns The console function to be used for the log level. + */ + private mapLogLevelToConsoleFunction; + /** + * Uses the `console.debug` method to log the message if the log level is set to debug or lower. + * @param message The message to be logged. + */ + debug(message: string): void; + /** + * Uses the `console.warn` method to log the message if the log level is set to warn or lower. + * @param message The message to be logged. + */ + warn(message: string): void; + /** + * Uses the `console.error` method to log the message if the log level is set to error or lower. + * @param message The message to be logged. + */ + error(message: string): void; + /** + * Uses the `console.trace` method to log the message if the log level is set to trace or lower. + * @param message The message to be logged. + */ + trace(message: string): void; + /** + * Uses the `console.info` method to log the message if the log level is set to info or lower. + * @param message The message to be logged. + */ + info(message: string): void; + /** + * Sets the log level to the specified level as a numeric representation of it, if given a string. + * @param level The log level to be set. + */ + setLogLevel(level: LogLevel): void; +} +declare const logger: SimpleLogger; + +interface NodeConfiguration { + host: string; + port: number; + protocol: string; + path?: string; + url?: string; +} +interface NodeConfigurationWithHostname { + host: string; + port: number; + protocol: string; + path?: string; +} +interface NodeConfigurationWithUrl { + url: string; +} +interface ConfigurationOptions { + apiKey: string; + nodes: NodeConfiguration[] | NodeConfigurationWithHostname[] | NodeConfigurationWithUrl[]; + randomizeNodes?: boolean; + /** + * @deprecated + * masterNode is now consolidated to nodes, starting with Typesense Server v0.12' + */ + masterNode?: NodeConfiguration | NodeConfigurationWithHostname | NodeConfigurationWithUrl; + /** + * @deprecated + * readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12' + */ + readReplicaNodes?: NodeConfiguration[] | NodeConfigurationWithHostname[] | NodeConfigurationWithUrl[]; + nearestNode?: NodeConfiguration | NodeConfigurationWithHostname | NodeConfigurationWithUrl; + connectionTimeoutSeconds?: number; + timeoutSeconds?: number; + healthcheckIntervalSeconds?: number; + numRetries?: number; + retryIntervalSeconds?: number; + sendApiKeyAsQueryParam?: boolean | undefined; + useServerSideSearchCache?: boolean; + cacheSearchResultsForSeconds?: number; + additionalHeaders?: Record; + logger?: typeof logger; + logLevel?: LogLevel; + /** + * Set a custom HTTP Agent + * + * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors + * Usage: + * const { Agent: HTTPAgent } = require("http"); + * ... + * httpAgent: new HTTPAgent({ keepAlive: true }), + * @type {HTTPAgent} + */ + httpAgent?: Agent; + /** + * Set a custom HTTPS Agent + * + * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors + * Usage: + * const { Agent: HTTPSAgent } = require("https"); + * ... + * httpsAgent: new HTTPSAgent({ keepAlive: true }), + * @type {HTTPSAgent} + */ + httpsAgent?: Agent$1; + /** + * Set a custom paramsSerializer + * + * See axios documentation for more information on how to use this parameter: https://axios-http.com/docs/req_config + * This is helpful for handling React Native issues like this: https://github.com/axios/axios/issues/6102#issuecomment-2085301397 + * @type {any} + */ + paramsSerializer?: any; +} +declare class Configuration { + readonly nodes: NodeConfiguration[] | NodeConfigurationWithHostname[] | NodeConfigurationWithUrl[]; + readonly nearestNode?: NodeConfiguration | NodeConfigurationWithHostname | NodeConfigurationWithUrl; + readonly connectionTimeoutSeconds: number; + readonly healthcheckIntervalSeconds: number; + readonly numRetries: number; + readonly retryIntervalSeconds: number; + readonly apiKey: string; + readonly sendApiKeyAsQueryParam?: boolean; + readonly cacheSearchResultsForSeconds: number; + readonly useServerSideSearchCache: boolean; + readonly logger: typeof logger; + readonly logLevel: LogLevel; + readonly additionalHeaders?: Record; + readonly httpAgent?: Agent; + readonly httpsAgent?: Agent$1; + readonly paramsSerializer?: any; + constructor(options: ConfigurationOptions); + validate(): boolean; + private validateNodes; + private isNodeMissingAnyParameters; + private setDefaultPathInNode; + private setDefaultPortInNode; + private showDeprecationWarnings; + private shuffleArray; +} + +declare class TypesenseError extends Error { + httpStatus?: number; + constructor(message?: string); +} + +interface Node extends NodeConfiguration { + isHealthy: boolean; + index: string | number; +} +declare class ApiCall { + private configuration; + private readonly apiKey; + private readonly nodes; + private readonly nearestNode; + private readonly connectionTimeoutSeconds; + private readonly healthcheckIntervalSeconds; + private readonly retryIntervalSeconds; + private readonly sendApiKeyAsQueryParam?; + private readonly numRetriesPerRequest; + private readonly additionalUserHeaders?; + private readonly logger; + private currentNodeIndex; + constructor(configuration: Configuration); + get(endpoint: string, queryParameters?: any, { abortSignal, responseType, }?: { + abortSignal?: any; + responseType?: AxiosRequestConfig["responseType"] | undefined; + }): Promise; + delete(endpoint: string, queryParameters?: any): Promise; + post(endpoint: string, bodyParameters?: any, queryParameters?: any, additionalHeaders?: any): Promise; + put(endpoint: string, bodyParameters?: any, queryParameters?: any): Promise; + patch(endpoint: string, bodyParameters?: any, queryParameters?: any): Promise; + performRequest(requestType: Method, endpoint: string, { queryParameters, bodyParameters, additionalHeaders, abortSignal, responseType, skipConnectionTimeout, enableKeepAlive, }: { + queryParameters?: any; + bodyParameters?: any; + additionalHeaders?: any; + abortSignal?: any; + responseType?: AxiosRequestConfig["responseType"] | undefined; + skipConnectionTimeout?: boolean; + enableKeepAlive?: boolean | undefined; + }): Promise; + getNextNode(requestNumber?: number): Node; + nodeDueForHealthcheck(node: any, requestNumber?: number): boolean; + initializeMetadataForNodes(): void; + setNodeHealthcheck(node: any, isHealthy: any): void; + uriFor(endpoint: string, node: any): string; + defaultHeaders(): any; + timer(seconds: any): Promise; + customErrorForResponse(response: AxiosResponse, messageFromServer: string): TypesenseError; +} + +declare class RequestWithCache { + private responseCache; + private responsePromiseCache; + clearCache(): void; + perform(requestContext: any, requestFunction: (...params: any) => unknown, requestFunctionArguments: any[], cacheOptions: CacheOptions): Promise; +} +interface CacheOptions { + cacheResponseForSeconds?: number; + maxSize?: number; +} + +declare class SearchOnlyDocuments implements SearchableDocuments { + protected collectionName: string; + protected apiCall: ApiCall; + protected configuration: Configuration; + protected requestWithCache: RequestWithCache; + constructor(collectionName: string, apiCall: ApiCall, configuration: Configuration); + clearCache(): void; + search(searchParameters: SearchParams | SearchParamsWithPreset, { cacheSearchResultsForSeconds, abortSignal, }?: SearchOptions): Promise>; + protected endpointPath(operation?: string): string; + static get RESOURCEPATH(): string; +} + +interface DeleteQuery { + filter_by?: string; + batch_size?: number; + ignore_not_found?: boolean; +} +interface DeleteResponse { + num_deleted: number; +} +interface ImportResponseSuccess { + success: true; +} +interface ImportResponseFail { + success: false; + error: string; + document: DocumentSchema; + code: number; +} +type ImportResponse = ImportResponseSuccess | ImportResponseFail; +type DocumentSchema = Record; +interface SearchParamsWithPreset extends Partial { + preset: string; +} +type DropTokensMode = "right_to_left" | "left_to_right" | "both_sides:3"; +type OperationMode = "off" | "always" | "fallback"; +interface SearchParams { + q?: string; + query_by?: string | string[]; + query_by_weights?: string | number[]; + prefix?: string | boolean | boolean[]; + filter_by?: string; + enable_lazy_filter?: boolean; + sort_by?: string | string[]; + facet_by?: string | string[]; + max_facet_values?: number; + facet_sample_threshold?: number; + facet_sample_percent?: number; + facet_query?: string; + facet_query_num_typos?: number; + facet_return_parent?: string; + page?: number; + per_page?: number; + group_by?: string | string[]; + group_limit?: number; + group_missing_values?: boolean; + include_fields?: string | string[]; + exclude_fields?: string | string[]; + highlight_fields?: string | string[]; + highlight_full_fields?: string | string[]; + highlight_affix_num_tokens?: number; + highlight_start_tag?: string; + highlight_end_tag?: string; + enable_highlight_v1?: boolean; + snippet_threshold?: number; + num_typos?: string | number | number[]; + min_len_1typo?: number; + min_len_2typo?: number; + split_join_tokens?: OperationMode; + exhaustive_search?: boolean; + drop_tokens_threshold?: number; + drop_tokens_mode?: DropTokensMode; + typo_tokens_threshold?: number; + pinned_hits?: string | string[]; + hidden_hits?: string | string[]; + limit_hits?: number; + pre_segmented_query?: boolean; + enable_overrides?: boolean; + override_tags?: string | string[]; + prioritize_exact_match?: boolean; + prioritize_token_position?: boolean; + prioritize_num_matching_fields?: boolean; + search_cutoff_ms?: number; + use_cache?: boolean; + max_candidates?: number; + infix?: OperationMode | OperationMode[]; + preset?: string; + text_match_type?: "max_score" | "max_weight"; + vector_query?: string; + "x-typesense-api-key"?: string; + "x-typesense-user-id"?: string; + offset?: number; + limit?: number; + stopwords?: string; + conversation?: boolean; + conversation_model_id?: string; + conversation_id?: string; + voice_query?: string; +} +type SearchResponseHighlightObject = { + matched_tokens?: string[]; + snippet?: string; + value?: string; +}; +type SearchResponseHighlight = T extends string | number ? SearchResponseHighlightObject : { + [TAttribute in keyof T]?: SearchResponseHighlight; +}; +interface SearchResponseHit { + curated?: true; + highlights?: [ + { + field: keyof T; + snippet?: string; + value?: string; + snippets?: string[]; + indices?: number[]; + matched_tokens: string[][] | string[]; + } + ]; + highlight: SearchResponseHighlight; + document: T; + text_match: number; + text_match_info?: { + best_field_score: string; + best_field_weight: number; + fields_matched: number; + score: string; + tokens_matched: number; + }; +} +interface SearchResponseFacetCountSchema { + counts: { + count: number; + highlighted: string; + value: string; + }[]; + field_name: keyof T; + stats: { + avg?: number; + max?: number; + min?: number; + sum?: number; + }; +} +interface SearchResponseRequestParams { + collection_name?: string; + q?: string; + page?: number; + per_page?: number; + first_q?: string; + voice_query?: { + transcribed_query?: string; + }; +} +interface SearchResponse { + facet_counts?: SearchResponseFacetCountSchema[]; + found: number; + found_docs?: number; + out_of: number; + page: number; + request_params: SearchResponseRequestParams; + search_time_ms: number; + search_cutoff?: boolean; + hits?: SearchResponseHit[]; + grouped_hits?: { + group_key: string[]; + hits: SearchResponseHit[]; + found?: number; + }[]; + conversation?: { + answer: string; + conversation_history: { + conversation: object[]; + id: string; + last_updated: number; + ttl: number; + }; + conversation_id: string; + query: string; + }; + error?: string; + code?: number; +} +interface DocumentWriteParameters { + dirty_values?: "coerce_or_reject" | "coerce_or_drop" | "drop" | "reject"; + action?: "create" | "update" | "upsert" | "emplace"; +} +interface UpdateByFilterParameters { + filter_by?: string; +} +interface UpdateByFilterResponse { + num_updated: number; +} +interface DocumentImportParameters extends DocumentWriteParameters { + batch_size?: number; + return_doc?: boolean; + return_id?: boolean; +} +interface DocumentsExportParameters { + filter_by?: string; + include_fields?: string; + exclude_fields?: string; +} +interface SearchableDocuments { + search(searchParameters: SearchParams | SearchParamsWithPreset, options: SearchOptions): Promise>; + clearCache(): void; +} +interface WriteableDocuments { + create(document: T, options: DocumentWriteParameters): Promise; + upsert(document: T, options: DocumentWriteParameters): Promise; + update(document: T, options: DocumentWriteParameters): Promise; + delete(query: DeleteQuery): Promise; + import(documents: T[] | string, options: DocumentWriteParameters): Promise; + export(options: DocumentsExportParameters): Promise; +} +interface SearchOptions { + cacheSearchResultsForSeconds?: number; + abortSignal?: AbortSignal | null; +} +declare class Documents extends SearchOnlyDocuments implements WriteableDocuments { + constructor(collectionName: string, apiCall: ApiCall, configuration: Configuration); + create(document: T, options?: DocumentWriteParameters): Promise; + upsert(document: T, options?: DocumentWriteParameters): Promise; + update(document: T, options: UpdateByFilterParameters): Promise; + update(document: T, options: DocumentWriteParameters): Promise; + delete(query?: DeleteQuery): Promise; + createMany(documents: T[], options?: DocumentImportParameters): Promise; + /** + * Import a set of documents in a batch. + * @param {string|Array} documents - Can be a JSONL string of documents or an array of document objects. + * @param options + * @return {string|Array} Returns a JSONL string if the input was a JSONL string, otherwise it returns an array of results. + */ + import(documents: string, options?: DocumentImportParameters): Promise; + import(documents: T[], options?: DocumentImportParameters): Promise; + /** + * Imports documents from a NodeJS readable stream of JSONL. + */ + importStream(readableStream: ReadStream, options?: DocumentImportParameters): Promise; + /** + * Returns a JSONL string for all the documents in this collection + */ + export(options?: DocumentsExportParameters): Promise; + /** + * Returns a NodeJS readable stream of JSONL for all the documents in this collection. + */ + exportStream(options?: DocumentsExportParameters): Promise; +} + +interface OverrideSchema extends OverrideCreateSchema { + id: string; +} +interface OverrideDeleteSchema { + id: string; +} +declare class Override { + private collectionName; + private overrideId; + private apiCall; + constructor(collectionName: string, overrideId: string, apiCall: ApiCall); + retrieve(): Promise; + delete(): Promise; + private endpointPath; +} + +interface OverrideRuleQuerySchema { + query?: string; + match?: "exact" | "contains"; +} +interface OverrideRuleFilterSchema { + filter_by?: string; +} +interface OverrideRuleTagsSchema { + tags?: string[]; +} +interface OverrideCreateSchema { + rule: OverrideRuleQuerySchema & OverrideRuleFilterSchema & OverrideRuleTagsSchema; + filter_by?: string; + sort_by?: string; + remove_matched_tokens?: boolean; + replace_query?: string; + includes?: Array<{ + id: string; + position: number; + }>; + excludes?: Array<{ + id: string; + }>; + filter_curated_hits?: boolean; + effective_from_ts?: number; + effective_to_ts?: number; + stop_processing?: boolean; + metadata?: object; +} +interface OverridesRetrieveSchema { + overrides: OverrideSchema[]; +} +declare class Overrides { + private collectionName; + private apiCall; + constructor(collectionName: string, apiCall: ApiCall); + upsert(overrideId: string, params: OverrideCreateSchema): Promise; + retrieve(): Promise; + private endpointPath; + static get RESOURCEPATH(): string; +} + +interface SynonymSchema extends SynonymCreateSchema { + id: string; +} +interface SynonymDeleteSchema { + id: string; +} +declare class Synonym { + private collectionName; + private synonymId; + private apiCall; + constructor(collectionName: string, synonymId: string, apiCall: ApiCall); + retrieve(): Promise; + delete(): Promise; + private endpointPath; +} + +interface SynonymCreateSchema { + synonyms: string[]; + root?: string; + locale?: string; + symbols_to_index?: string[]; +} +interface SynonymsRetrieveSchema { + synonyms: SynonymSchema[]; +} +declare class Synonyms { + private collectionName; + private apiCall; + constructor(collectionName: string, apiCall: ApiCall); + upsert(synonymId: string, params: SynonymCreateSchema): Promise; + retrieve(): Promise; + private endpointPath; + static get RESOURCEPATH(): string; +} + +declare class Document { + private collectionName; + private documentId; + private apiCall; + constructor(collectionName: string, documentId: string, apiCall: ApiCall); + retrieve(): Promise; + delete(options?: DeleteQuery): Promise; + update(partialDocument: Partial, options?: DocumentWriteParameters): Promise; + private endpointPath; +} + +type FieldType = "string" | "int32" | "int64" | "float" | "bool" | "geopoint" | "geopoint[]" | "string[]" | "int32[]" | "int64[]" | "float[]" | "bool[]" | "object" | "object[]" | "auto" | "string*" | "image"; +interface CollectionFieldSchema { + name: string; + type: FieldType; + optional?: boolean; + facet?: boolean; + index?: boolean; + sort?: boolean; + locale?: string; + infix?: boolean; + stem?: boolean; + num_dim?: number; + store?: boolean; + [t: string]: unknown; +} +interface CollectionSchema extends CollectionCreateSchema { + created_at: number; + num_documents: number; + num_memory_shards: number; +} +interface CollectionDropFieldSchema { + name: string; + drop: true; +} +interface CollectionUpdateSchema extends Partial> { + fields?: (CollectionFieldSchema | CollectionDropFieldSchema)[]; +} +declare class Collection { + private readonly name; + private readonly apiCall; + private readonly configuration; + private readonly _documents; + private individualDocuments; + private readonly _overrides; + private individualOverrides; + private readonly _synonyms; + private individualSynonyms; + constructor(name: string, apiCall: ApiCall, configuration: any); + retrieve(): Promise; + update(schema: CollectionUpdateSchema): Promise; + delete(): Promise; + exists(): Promise; + documents(): Documents; + documents(documentId: string): Document; + overrides(): Overrides; + overrides(overrideId: string): Override; + synonyms(): Synonyms; + synonyms(synonymId: string): Synonym; + private endpointPath; +} + +interface CollectionCreateSchema { + name: string; + default_sorting_field?: string; + fields?: CollectionFieldSchema[]; + symbols_to_index?: string[]; + token_separators?: string[]; + enable_nested_fields?: boolean; + metadata?: object; + voice_query_model?: { + model_name?: string; + }; +} +interface CollectionCreateOptions { + src_name?: string; +} +interface CollectionsRetrieveOptions { + exclude_fields?: string; +} +declare class Collections { + private apiCall; + constructor(apiCall: ApiCall); + create(schema: CollectionCreateSchema, options?: CollectionCreateOptions): Promise; + retrieve(options?: CollectionsRetrieveOptions): Promise; + static get RESOURCEPATH(): string; +} + +interface CollectionAliasCreateSchema { + collection_name: string; +} +interface CollectionAliasSchema extends CollectionAliasCreateSchema { + name: string; +} +interface CollectionAliasesResponseSchema { + aliases: CollectionAliasSchema[]; +} +declare class Aliases { + private apiCall; + constructor(apiCall: ApiCall); + upsert(name: string, mapping: CollectionAliasCreateSchema): Promise; + retrieve(): Promise; + private endpointPath; + static get RESOURCEPATH(): string; +} + +declare class Alias { + private name; + private apiCall; + constructor(name: string, apiCall: ApiCall); + retrieve(): Promise; + delete(): Promise; + private endpointPath; +} + +interface KeyCreateSchema { + actions: string[]; + collections: string[]; + description?: string; + value?: string; + value_prefix?: string; + expires_at?: number; +} +interface KeyDeleteSchema { + id: number; +} +interface KeySchema extends KeyCreateSchema { + id: number; +} +declare class Key { + private id; + private apiCall; + constructor(id: number, apiCall: ApiCall); + retrieve(): Promise; + delete(): Promise; + private endpointPath; +} + +interface KeysRetrieveSchema { + keys: KeySchema[]; +} +interface GenerateScopedSearchKeyParams extends Partial { + expires_at?: number; + cache_ttl?: number; + limit_multi_searches?: number; +} +declare class Keys { + private apiCall; + constructor(apiCall: ApiCall); + create(params: KeyCreateSchema): Promise; + retrieve(): Promise; + generateScopedSearchKey(searchKey: string, parameters: GenerateScopedSearchKeyParams): string; + static get RESOURCEPATH(): string; +} + +interface DebugResponseSchema { + state: number; + version: string; +} +declare class Debug { + private apiCall; + constructor(apiCall: ApiCall); + retrieve(): Promise; +} + +interface MetricsResponse { + [key: `system_cpu${number}_active_percentage`]: string; + system_cpu_active_percentage: string; + system_disk_total_bytes: string; + system_disk_used_bytes: string; + system_memory_total_bytes: string; + system_memory_total_swap_bytes?: string; + system_memory_used_bytes: string; + system_memory_used_swap_bytes?: string; + system_network_received_bytes: string; + system_network_sent_bytes: string; + typesense_memory_active_bytes: string; + typesense_memory_allocated_bytes: string; + typesense_memory_fragmentation_ratio: string; + typesense_memory_mapped_bytes: string; + typesense_memory_metadata_bytes: string; + typesense_memory_resident_bytes: string; + typesense_memory_retained_bytes: string; +} +declare class Metrics$1 { + private apiCall; + constructor(apiCall: ApiCall); + retrieve(): Promise; +} + +interface EndpointStats { + [endpoint: string]: number; +} +interface StatsResponse { + delete_latency_ms?: number; + delete_requests_per_second?: number; + import_latency_ms?: number; + import_requests_per_second?: number; + latency_ms?: EndpointStats; + overloaded_requests_per_second?: number; + pending_write_batches?: number; + requests_per_second?: EndpointStats; + search_latency_ms?: number; + search_requests_per_second?: number; + total_requests_per_second?: number; + write_latency_ms?: number; + write_requests_per_second?: number; +} +declare class Metrics { + private apiCall; + constructor(apiCall: ApiCall); + retrieve(): Promise; +} + +interface HealthResponse { + ok: boolean; +} +declare class Health { + private apiCall; + constructor(apiCall: ApiCall); + retrieve(): Promise; +} + +declare class Operations { + private apiCall; + constructor(apiCall: ApiCall); + perform(operationName: "vote" | "snapshot" | "cache/clear" | string, queryParameters?: Record): Promise; +} + +interface MultiSearchRequestSchema extends SearchParams { + collection?: string; + "x-typesense-api-key"?: string; +} +interface MultiSearchRequestWithPresetSchema extends SearchParamsWithPreset { + collection?: string; + "x-typesense-api-key"?: string; +} +interface MultiSearchRequestsSchema { + searches: (MultiSearchRequestSchema | MultiSearchRequestWithPresetSchema)[]; +} +interface MultiSearchResponse { + results: { + [Index in keyof T]: SearchResponse; + } & { + length: T["length"]; + }; +} +declare class MultiSearch { + private apiCall; + private configuration; + private useTextContentType; + private requestWithCache; + constructor(apiCall: ApiCall, configuration: Configuration, useTextContentType?: boolean); + clearCache(): void; + perform(searchRequests: MultiSearchRequestsSchema, commonParams?: Partial, { cacheSearchResultsForSeconds, }?: { + cacheSearchResultsForSeconds?: number; + }): Promise>; +} + +interface PresetSchema extends PresetCreateSchema { + name: string; +} +interface PresetDeleteSchema { + name: string; +} +declare class Preset { + private presetId; + private apiCall; + constructor(presetId: string, apiCall: ApiCall); + retrieve(): Promise; + delete(): Promise; + private endpointPath; +} + +interface PresetCreateSchema { + value: SearchParams | MultiSearchRequestsSchema; +} +interface PresetsRetrieveSchema { + presets: PresetSchema[]; +} +declare class Presets { + private apiCall; + constructor(apiCall: ApiCall); + upsert(presetId: string, params: PresetCreateSchema): Promise; + retrieve(): Promise; + private endpointPath; + static get RESOURCEPATH(): string; +} + +interface AnalyticsRuleCreateSchema { + type: "popular_queries" | "nohits_queries" | "counter"; + params: { + source: { + collections: string[]; + events?: Array<{ + type: string; + weight: number; + name: string; + }>; + }; + expand_query?: boolean; + destination: { + collection: string; + counter_field?: string; + }; + limit?: number; + }; +} +interface AnalyticsRuleDeleteSchema { + name: string; +} +interface AnalyticsRuleSchema extends AnalyticsRuleCreateSchema { + name: string; +} +declare class AnalyticsRule { + private name; + private apiCall; + constructor(name: string, apiCall: ApiCall); + retrieve(): Promise; + delete(): Promise; + private endpointPath; +} + +interface AnalyticsRulesRetrieveSchema { + rules: AnalyticsRuleSchema[]; +} +declare class AnalyticsRules { + private readonly apiCall; + constructor(apiCall: ApiCall); + upsert(name: string, params: AnalyticsRuleCreateSchema): Promise; + retrieve(): Promise; + private endpointPath; + static get RESOURCEPATH(): string; +} + +interface AnalyticsEventCreateSchema { + type: string; + name: string; + data?: object; +} + +declare class AnalyticsEvents { + private readonly apiCall; + constructor(apiCall: ApiCall); + create(params: AnalyticsEventCreateSchema): Promise; + private endpointPath; + static get RESOURCEPATH(): string; +} + +declare class Analytics { + private readonly apiCall; + private readonly _analyticsRules; + private readonly individualAnalyticsRules; + private readonly _analyticsEvents; + constructor(apiCall: ApiCall); + rules(id?: string): AnalyticsRules | AnalyticsRule; + events(): AnalyticsEvents; + static get RESOURCEPATH(): string; +} + +interface StopwordSchema extends StopwordCreateSchema { + id: string; + stopwords: string[]; + locale?: string; +} +interface StopwordDeleteSchema { + id: string; +} +declare class Stopword { + private stopwordId; + private apiCall; + constructor(stopwordId: string, apiCall: ApiCall); + retrieve(): Promise; + delete(): Promise; + private endpointPath; +} + +interface StopwordCreateSchema { + stopwords: string[]; + locale?: string; +} +interface StopwordsRetrieveSchema { + stopwords: StopwordSchema[]; +} +declare class Stopwords { + private apiCall; + constructor(apiCall: ApiCall); + upsert(stopwordId: string, params: StopwordCreateSchema): Promise; + retrieve(): Promise; + private endpointPath; + static get RESOURCEPATH(): string; +} + +interface ConversationModelCreateSchema { + id?: string; + model_name: string; + api_key?: string; + system_prompt?: string; + max_bytes: number; + history_collection?: string; +} +interface ConversationModelDeleteSchema { + id: string; +} +interface ConversationModelSchema extends ConversationModelCreateSchema { + id: string; +} +declare class ConversationModel { + private id; + private apiCall; + constructor(id: string, apiCall: ApiCall); + update(params: ConversationModelCreateSchema): Promise; + retrieve(): Promise; + delete(): Promise; + private endpointPath; +} + +declare class ConversationModels { + private readonly apiCall; + constructor(apiCall: ApiCall); + create(params: ConversationModelCreateSchema): Promise; + retrieve(): Promise; + private endpointPath; + static get RESOURCEPATH(): string; +} + +interface ConversationDeleteSchema { + id: number; +} +interface ConversationUpdateSchema { + ttl: number; +} +interface ConversationSchema { + id: number; + conversation: object[]; + last_updated: number; + ttl: number; +} +declare class Conversation { + private id; + private apiCall; + constructor(id: string, apiCall: ApiCall); + retrieve(): Promise; + update(params: ConversationUpdateSchema): Promise; + delete(): Promise; + private endpointPath; +} + +interface ConversationsRetrieveSchema { + conversations: ConversationSchema[]; +} +declare class Conversations { + private readonly apiCall; + private readonly _conversationsModels; + private readonly individualConversationModels; + constructor(apiCall: ApiCall); + retrieve(): Promise; + models(): ConversationModels; + models(id: string): ConversationModel; + static get RESOURCEPATH(): string; +} + +declare class Client { + configuration: Configuration; + apiCall: ApiCall; + debug: Debug; + metrics: Metrics$1; + stats: Metrics; + health: Health; + operations: Operations; + multiSearch: MultiSearch; + analytics: Analytics; + private readonly _collections; + private readonly individualCollections; + private readonly _aliases; + private readonly individualAliases; + private readonly _keys; + private readonly individualKeys; + private readonly _presets; + private readonly individualPresets; + private readonly _stopwords; + private readonly individualStopwords; + private readonly _conversations; + private readonly individualConversations; + constructor(options: ConfigurationOptions); + collections(): Collections; + collections = object>(collectionName: string): Collection; + aliases(): Aliases; + aliases(aliasName: string): Alias; + keys(): Keys; + keys(id: number): Key; + presets(): Presets; + presets(id: string): Preset; + stopwords(): Stopwords; + stopwords(id: string): Stopword; + conversations(): Conversations; + conversations(id: string): Conversation; +} + +declare class SearchOnlyCollection { + private readonly name; + private readonly apiCall; + private readonly configuration; + private readonly _documents; + constructor(name: string, apiCall: ApiCall, configuration: any); + documents(): SearchableDocuments; +} + +declare class SearchClient { + readonly multiSearch: MultiSearch; + private readonly configuration; + private readonly apiCall; + private readonly individualCollections; + constructor(options: ConfigurationOptions); + clearCache(): void; + collections(collectionName: string): SearchOnlyCollection | SearchOnlyCollection; +} + +declare class HTTPError extends TypesenseError { +} + +declare class MissingConfigurationError extends TypesenseError { +} + +declare class ObjectAlreadyExists extends TypesenseError { +} + +declare class ObjectNotFound extends TypesenseError { +} + +declare class ObjectUnprocessable extends TypesenseError { +} + +declare class RequestMalformed extends TypesenseError { +} + +declare class RequestUnauthorized extends TypesenseError { +} + +declare class ServerError extends TypesenseError { +} + +declare class ImportError extends TypesenseError { + importResults: ImportResponse[]; + constructor(message: string, importResults: ImportResponse[]); +} + +type Errors_HTTPError = HTTPError; +declare const Errors_HTTPError: typeof HTTPError; +type Errors_ImportError = ImportError; +declare const Errors_ImportError: typeof ImportError; +type Errors_MissingConfigurationError = MissingConfigurationError; +declare const Errors_MissingConfigurationError: typeof MissingConfigurationError; +type Errors_ObjectAlreadyExists = ObjectAlreadyExists; +declare const Errors_ObjectAlreadyExists: typeof ObjectAlreadyExists; +type Errors_ObjectNotFound = ObjectNotFound; +declare const Errors_ObjectNotFound: typeof ObjectNotFound; +type Errors_ObjectUnprocessable = ObjectUnprocessable; +declare const Errors_ObjectUnprocessable: typeof ObjectUnprocessable; +type Errors_RequestMalformed = RequestMalformed; +declare const Errors_RequestMalformed: typeof RequestMalformed; +type Errors_RequestUnauthorized = RequestUnauthorized; +declare const Errors_RequestUnauthorized: typeof RequestUnauthorized; +type Errors_ServerError = ServerError; +declare const Errors_ServerError: typeof ServerError; +type Errors_TypesenseError = TypesenseError; +declare const Errors_TypesenseError: typeof TypesenseError; +declare namespace Errors { + export { Errors_HTTPError as HTTPError, Errors_ImportError as ImportError, Errors_MissingConfigurationError as MissingConfigurationError, Errors_ObjectAlreadyExists as ObjectAlreadyExists, Errors_ObjectNotFound as ObjectNotFound, Errors_ObjectUnprocessable as ObjectUnprocessable, Errors_RequestMalformed as RequestMalformed, Errors_RequestUnauthorized as RequestUnauthorized, Errors_ServerError as ServerError, Errors_TypesenseError as TypesenseError }; +} + +declare const _default: { + Client: typeof Client; + SearchClient: typeof SearchClient; + Errors: typeof Errors; +}; + +export { Client, Errors, SearchClient, _default as default }; diff --git a/dist/Typesense.d.ts b/dist/Typesense.d.ts new file mode 100644 index 00000000..2f05ea9f --- /dev/null +++ b/dist/Typesense.d.ts @@ -0,0 +1,1177 @@ +import { Agent } from 'http'; +import { Agent as Agent$1 } from 'https'; +import { AxiosRequestConfig, Method, AxiosResponse } from 'axios'; +import { ReadStream } from 'fs'; + +/** + * Represents the log levels that can be used in the logger with their corresponding number values. + */ +type LogLevelMap = { + Trace: "trace" | 0; + Debug: "debug" | 1; + Info: "info" | 2; + Warn: "warn" | 3; + Error: "error" | 4; + Silent: "silent" | 5; +}; +/** + * Represents the log levels that can be used in the logger. + */ +type LogLevel = LogLevelMap[keyof LogLevelMap]; +/** + * A simple logging class using a singleton pattern. + * Only prints to stdout. + */ +declare class SimpleLogger { + private static instance; + /** + * Numeric representation of the log level set. + * Defaults to LogLevelNumber.Warn. + * @private + * @type {LogLevelNumberValues} + */ + private logLevel; + /** + * Private constructor to prevent instantiation. + * @private + */ + private constructor(); + /** + * Get the singleton instance of the SimpleLogger. + * @returns {SimpleLogger} The singleton instance of the SimpleLogger. + */ + static getInstance(): SimpleLogger; + /** + * Formats the message to be logged. + * @private + * @param level The log level to be used. + * @param message The message to be logged. + * @returns The formatted message. + */ + private formatMessage; + /** + * Logs the message with the appropriate console function + * @param level The log level to be used. + * @param message The message to be logged. + */ + private logWith; + /** + * Maps the log level to the appropriate console function. + * @param level The log level to be used. + * @returns The console function to be used for the log level. + */ + private mapLogLevelToConsoleFunction; + /** + * Uses the `console.debug` method to log the message if the log level is set to debug or lower. + * @param message The message to be logged. + */ + debug(message: string): void; + /** + * Uses the `console.warn` method to log the message if the log level is set to warn or lower. + * @param message The message to be logged. + */ + warn(message: string): void; + /** + * Uses the `console.error` method to log the message if the log level is set to error or lower. + * @param message The message to be logged. + */ + error(message: string): void; + /** + * Uses the `console.trace` method to log the message if the log level is set to trace or lower. + * @param message The message to be logged. + */ + trace(message: string): void; + /** + * Uses the `console.info` method to log the message if the log level is set to info or lower. + * @param message The message to be logged. + */ + info(message: string): void; + /** + * Sets the log level to the specified level as a numeric representation of it, if given a string. + * @param level The log level to be set. + */ + setLogLevel(level: LogLevel): void; +} +declare const logger: SimpleLogger; + +interface NodeConfiguration { + host: string; + port: number; + protocol: string; + path?: string; + url?: string; +} +interface NodeConfigurationWithHostname { + host: string; + port: number; + protocol: string; + path?: string; +} +interface NodeConfigurationWithUrl { + url: string; +} +interface ConfigurationOptions { + apiKey: string; + nodes: NodeConfiguration[] | NodeConfigurationWithHostname[] | NodeConfigurationWithUrl[]; + randomizeNodes?: boolean; + /** + * @deprecated + * masterNode is now consolidated to nodes, starting with Typesense Server v0.12' + */ + masterNode?: NodeConfiguration | NodeConfigurationWithHostname | NodeConfigurationWithUrl; + /** + * @deprecated + * readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12' + */ + readReplicaNodes?: NodeConfiguration[] | NodeConfigurationWithHostname[] | NodeConfigurationWithUrl[]; + nearestNode?: NodeConfiguration | NodeConfigurationWithHostname | NodeConfigurationWithUrl; + connectionTimeoutSeconds?: number; + timeoutSeconds?: number; + healthcheckIntervalSeconds?: number; + numRetries?: number; + retryIntervalSeconds?: number; + sendApiKeyAsQueryParam?: boolean | undefined; + useServerSideSearchCache?: boolean; + cacheSearchResultsForSeconds?: number; + additionalHeaders?: Record; + logger?: typeof logger; + logLevel?: LogLevel; + /** + * Set a custom HTTP Agent + * + * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors + * Usage: + * const { Agent: HTTPAgent } = require("http"); + * ... + * httpAgent: new HTTPAgent({ keepAlive: true }), + * @type {HTTPAgent} + */ + httpAgent?: Agent; + /** + * Set a custom HTTPS Agent + * + * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors + * Usage: + * const { Agent: HTTPSAgent } = require("https"); + * ... + * httpsAgent: new HTTPSAgent({ keepAlive: true }), + * @type {HTTPSAgent} + */ + httpsAgent?: Agent$1; + /** + * Set a custom paramsSerializer + * + * See axios documentation for more information on how to use this parameter: https://axios-http.com/docs/req_config + * This is helpful for handling React Native issues like this: https://github.com/axios/axios/issues/6102#issuecomment-2085301397 + * @type {any} + */ + paramsSerializer?: any; +} +declare class Configuration { + readonly nodes: NodeConfiguration[] | NodeConfigurationWithHostname[] | NodeConfigurationWithUrl[]; + readonly nearestNode?: NodeConfiguration | NodeConfigurationWithHostname | NodeConfigurationWithUrl; + readonly connectionTimeoutSeconds: number; + readonly healthcheckIntervalSeconds: number; + readonly numRetries: number; + readonly retryIntervalSeconds: number; + readonly apiKey: string; + readonly sendApiKeyAsQueryParam?: boolean; + readonly cacheSearchResultsForSeconds: number; + readonly useServerSideSearchCache: boolean; + readonly logger: typeof logger; + readonly logLevel: LogLevel; + readonly additionalHeaders?: Record; + readonly httpAgent?: Agent; + readonly httpsAgent?: Agent$1; + readonly paramsSerializer?: any; + constructor(options: ConfigurationOptions); + validate(): boolean; + private validateNodes; + private isNodeMissingAnyParameters; + private setDefaultPathInNode; + private setDefaultPortInNode; + private showDeprecationWarnings; + private shuffleArray; +} + +declare class TypesenseError extends Error { + httpStatus?: number; + constructor(message?: string); +} + +interface Node extends NodeConfiguration { + isHealthy: boolean; + index: string | number; +} +declare class ApiCall { + private configuration; + private readonly apiKey; + private readonly nodes; + private readonly nearestNode; + private readonly connectionTimeoutSeconds; + private readonly healthcheckIntervalSeconds; + private readonly retryIntervalSeconds; + private readonly sendApiKeyAsQueryParam?; + private readonly numRetriesPerRequest; + private readonly additionalUserHeaders?; + private readonly logger; + private currentNodeIndex; + constructor(configuration: Configuration); + get(endpoint: string, queryParameters?: any, { abortSignal, responseType, }?: { + abortSignal?: any; + responseType?: AxiosRequestConfig["responseType"] | undefined; + }): Promise; + delete(endpoint: string, queryParameters?: any): Promise; + post(endpoint: string, bodyParameters?: any, queryParameters?: any, additionalHeaders?: any): Promise; + put(endpoint: string, bodyParameters?: any, queryParameters?: any): Promise; + patch(endpoint: string, bodyParameters?: any, queryParameters?: any): Promise; + performRequest(requestType: Method, endpoint: string, { queryParameters, bodyParameters, additionalHeaders, abortSignal, responseType, skipConnectionTimeout, enableKeepAlive, }: { + queryParameters?: any; + bodyParameters?: any; + additionalHeaders?: any; + abortSignal?: any; + responseType?: AxiosRequestConfig["responseType"] | undefined; + skipConnectionTimeout?: boolean; + enableKeepAlive?: boolean | undefined; + }): Promise; + getNextNode(requestNumber?: number): Node; + nodeDueForHealthcheck(node: any, requestNumber?: number): boolean; + initializeMetadataForNodes(): void; + setNodeHealthcheck(node: any, isHealthy: any): void; + uriFor(endpoint: string, node: any): string; + defaultHeaders(): any; + timer(seconds: any): Promise; + customErrorForResponse(response: AxiosResponse, messageFromServer: string): TypesenseError; +} + +declare class RequestWithCache { + private responseCache; + private responsePromiseCache; + clearCache(): void; + perform(requestContext: any, requestFunction: (...params: any) => unknown, requestFunctionArguments: any[], cacheOptions: CacheOptions): Promise; +} +interface CacheOptions { + cacheResponseForSeconds?: number; + maxSize?: number; +} + +declare class SearchOnlyDocuments implements SearchableDocuments { + protected collectionName: string; + protected apiCall: ApiCall; + protected configuration: Configuration; + protected requestWithCache: RequestWithCache; + constructor(collectionName: string, apiCall: ApiCall, configuration: Configuration); + clearCache(): void; + search(searchParameters: SearchParams | SearchParamsWithPreset, { cacheSearchResultsForSeconds, abortSignal, }?: SearchOptions): Promise>; + protected endpointPath(operation?: string): string; + static get RESOURCEPATH(): string; +} + +interface DeleteQuery { + filter_by?: string; + batch_size?: number; + ignore_not_found?: boolean; +} +interface DeleteResponse { + num_deleted: number; +} +interface ImportResponseSuccess { + success: true; +} +interface ImportResponseFail { + success: false; + error: string; + document: DocumentSchema; + code: number; +} +type ImportResponse = ImportResponseSuccess | ImportResponseFail; +type DocumentSchema = Record; +interface SearchParamsWithPreset extends Partial { + preset: string; +} +type DropTokensMode = "right_to_left" | "left_to_right" | "both_sides:3"; +type OperationMode = "off" | "always" | "fallback"; +interface SearchParams { + q?: string; + query_by?: string | string[]; + query_by_weights?: string | number[]; + prefix?: string | boolean | boolean[]; + filter_by?: string; + enable_lazy_filter?: boolean; + sort_by?: string | string[]; + facet_by?: string | string[]; + max_facet_values?: number; + facet_sample_threshold?: number; + facet_sample_percent?: number; + facet_query?: string; + facet_query_num_typos?: number; + facet_return_parent?: string; + page?: number; + per_page?: number; + group_by?: string | string[]; + group_limit?: number; + group_missing_values?: boolean; + include_fields?: string | string[]; + exclude_fields?: string | string[]; + highlight_fields?: string | string[]; + highlight_full_fields?: string | string[]; + highlight_affix_num_tokens?: number; + highlight_start_tag?: string; + highlight_end_tag?: string; + enable_highlight_v1?: boolean; + snippet_threshold?: number; + num_typos?: string | number | number[]; + min_len_1typo?: number; + min_len_2typo?: number; + split_join_tokens?: OperationMode; + exhaustive_search?: boolean; + drop_tokens_threshold?: number; + drop_tokens_mode?: DropTokensMode; + typo_tokens_threshold?: number; + pinned_hits?: string | string[]; + hidden_hits?: string | string[]; + limit_hits?: number; + pre_segmented_query?: boolean; + enable_overrides?: boolean; + override_tags?: string | string[]; + prioritize_exact_match?: boolean; + prioritize_token_position?: boolean; + prioritize_num_matching_fields?: boolean; + search_cutoff_ms?: number; + use_cache?: boolean; + max_candidates?: number; + infix?: OperationMode | OperationMode[]; + preset?: string; + text_match_type?: "max_score" | "max_weight"; + vector_query?: string; + "x-typesense-api-key"?: string; + "x-typesense-user-id"?: string; + offset?: number; + limit?: number; + stopwords?: string; + conversation?: boolean; + conversation_model_id?: string; + conversation_id?: string; + voice_query?: string; +} +type SearchResponseHighlightObject = { + matched_tokens?: string[]; + snippet?: string; + value?: string; +}; +type SearchResponseHighlight = T extends string | number ? SearchResponseHighlightObject : { + [TAttribute in keyof T]?: SearchResponseHighlight; +}; +interface SearchResponseHit { + curated?: true; + highlights?: [ + { + field: keyof T; + snippet?: string; + value?: string; + snippets?: string[]; + indices?: number[]; + matched_tokens: string[][] | string[]; + } + ]; + highlight: SearchResponseHighlight; + document: T; + text_match: number; + text_match_info?: { + best_field_score: string; + best_field_weight: number; + fields_matched: number; + score: string; + tokens_matched: number; + }; +} +interface SearchResponseFacetCountSchema { + counts: { + count: number; + highlighted: string; + value: string; + }[]; + field_name: keyof T; + stats: { + avg?: number; + max?: number; + min?: number; + sum?: number; + }; +} +interface SearchResponseRequestParams { + collection_name?: string; + q?: string; + page?: number; + per_page?: number; + first_q?: string; + voice_query?: { + transcribed_query?: string; + }; +} +interface SearchResponse { + facet_counts?: SearchResponseFacetCountSchema[]; + found: number; + found_docs?: number; + out_of: number; + page: number; + request_params: SearchResponseRequestParams; + search_time_ms: number; + search_cutoff?: boolean; + hits?: SearchResponseHit[]; + grouped_hits?: { + group_key: string[]; + hits: SearchResponseHit[]; + found?: number; + }[]; + conversation?: { + answer: string; + conversation_history: { + conversation: object[]; + id: string; + last_updated: number; + ttl: number; + }; + conversation_id: string; + query: string; + }; + error?: string; + code?: number; +} +interface DocumentWriteParameters { + dirty_values?: "coerce_or_reject" | "coerce_or_drop" | "drop" | "reject"; + action?: "create" | "update" | "upsert" | "emplace"; +} +interface UpdateByFilterParameters { + filter_by?: string; +} +interface UpdateByFilterResponse { + num_updated: number; +} +interface DocumentImportParameters extends DocumentWriteParameters { + batch_size?: number; + return_doc?: boolean; + return_id?: boolean; +} +interface DocumentsExportParameters { + filter_by?: string; + include_fields?: string; + exclude_fields?: string; +} +interface SearchableDocuments { + search(searchParameters: SearchParams | SearchParamsWithPreset, options: SearchOptions): Promise>; + clearCache(): void; +} +interface WriteableDocuments { + create(document: T, options: DocumentWriteParameters): Promise; + upsert(document: T, options: DocumentWriteParameters): Promise; + update(document: T, options: DocumentWriteParameters): Promise; + delete(query: DeleteQuery): Promise; + import(documents: T[] | string, options: DocumentWriteParameters): Promise; + export(options: DocumentsExportParameters): Promise; +} +interface SearchOptions { + cacheSearchResultsForSeconds?: number; + abortSignal?: AbortSignal | null; +} +declare class Documents extends SearchOnlyDocuments implements WriteableDocuments { + constructor(collectionName: string, apiCall: ApiCall, configuration: Configuration); + create(document: T, options?: DocumentWriteParameters): Promise; + upsert(document: T, options?: DocumentWriteParameters): Promise; + update(document: T, options: UpdateByFilterParameters): Promise; + update(document: T, options: DocumentWriteParameters): Promise; + delete(query?: DeleteQuery): Promise; + createMany(documents: T[], options?: DocumentImportParameters): Promise; + /** + * Import a set of documents in a batch. + * @param {string|Array} documents - Can be a JSONL string of documents or an array of document objects. + * @param options + * @return {string|Array} Returns a JSONL string if the input was a JSONL string, otherwise it returns an array of results. + */ + import(documents: string, options?: DocumentImportParameters): Promise; + import(documents: T[], options?: DocumentImportParameters): Promise; + /** + * Imports documents from a NodeJS readable stream of JSONL. + */ + importStream(readableStream: ReadStream, options?: DocumentImportParameters): Promise; + /** + * Returns a JSONL string for all the documents in this collection + */ + export(options?: DocumentsExportParameters): Promise; + /** + * Returns a NodeJS readable stream of JSONL for all the documents in this collection. + */ + exportStream(options?: DocumentsExportParameters): Promise; +} + +interface OverrideSchema extends OverrideCreateSchema { + id: string; +} +interface OverrideDeleteSchema { + id: string; +} +declare class Override { + private collectionName; + private overrideId; + private apiCall; + constructor(collectionName: string, overrideId: string, apiCall: ApiCall); + retrieve(): Promise; + delete(): Promise; + private endpointPath; +} + +interface OverrideRuleQuerySchema { + query?: string; + match?: "exact" | "contains"; +} +interface OverrideRuleFilterSchema { + filter_by?: string; +} +interface OverrideRuleTagsSchema { + tags?: string[]; +} +interface OverrideCreateSchema { + rule: OverrideRuleQuerySchema & OverrideRuleFilterSchema & OverrideRuleTagsSchema; + filter_by?: string; + sort_by?: string; + remove_matched_tokens?: boolean; + replace_query?: string; + includes?: Array<{ + id: string; + position: number; + }>; + excludes?: Array<{ + id: string; + }>; + filter_curated_hits?: boolean; + effective_from_ts?: number; + effective_to_ts?: number; + stop_processing?: boolean; + metadata?: object; +} +interface OverridesRetrieveSchema { + overrides: OverrideSchema[]; +} +declare class Overrides { + private collectionName; + private apiCall; + constructor(collectionName: string, apiCall: ApiCall); + upsert(overrideId: string, params: OverrideCreateSchema): Promise; + retrieve(): Promise; + private endpointPath; + static get RESOURCEPATH(): string; +} + +interface SynonymSchema extends SynonymCreateSchema { + id: string; +} +interface SynonymDeleteSchema { + id: string; +} +declare class Synonym { + private collectionName; + private synonymId; + private apiCall; + constructor(collectionName: string, synonymId: string, apiCall: ApiCall); + retrieve(): Promise; + delete(): Promise; + private endpointPath; +} + +interface SynonymCreateSchema { + synonyms: string[]; + root?: string; + locale?: string; + symbols_to_index?: string[]; +} +interface SynonymsRetrieveSchema { + synonyms: SynonymSchema[]; +} +declare class Synonyms { + private collectionName; + private apiCall; + constructor(collectionName: string, apiCall: ApiCall); + upsert(synonymId: string, params: SynonymCreateSchema): Promise; + retrieve(): Promise; + private endpointPath; + static get RESOURCEPATH(): string; +} + +declare class Document { + private collectionName; + private documentId; + private apiCall; + constructor(collectionName: string, documentId: string, apiCall: ApiCall); + retrieve(): Promise; + delete(options?: DeleteQuery): Promise; + update(partialDocument: Partial, options?: DocumentWriteParameters): Promise; + private endpointPath; +} + +type FieldType = "string" | "int32" | "int64" | "float" | "bool" | "geopoint" | "geopoint[]" | "string[]" | "int32[]" | "int64[]" | "float[]" | "bool[]" | "object" | "object[]" | "auto" | "string*" | "image"; +interface CollectionFieldSchema { + name: string; + type: FieldType; + optional?: boolean; + facet?: boolean; + index?: boolean; + sort?: boolean; + locale?: string; + infix?: boolean; + stem?: boolean; + num_dim?: number; + store?: boolean; + [t: string]: unknown; +} +interface CollectionSchema extends CollectionCreateSchema { + created_at: number; + num_documents: number; + num_memory_shards: number; +} +interface CollectionDropFieldSchema { + name: string; + drop: true; +} +interface CollectionUpdateSchema extends Partial> { + fields?: (CollectionFieldSchema | CollectionDropFieldSchema)[]; +} +declare class Collection { + private readonly name; + private readonly apiCall; + private readonly configuration; + private readonly _documents; + private individualDocuments; + private readonly _overrides; + private individualOverrides; + private readonly _synonyms; + private individualSynonyms; + constructor(name: string, apiCall: ApiCall, configuration: any); + retrieve(): Promise; + update(schema: CollectionUpdateSchema): Promise; + delete(): Promise; + exists(): Promise; + documents(): Documents; + documents(documentId: string): Document; + overrides(): Overrides; + overrides(overrideId: string): Override; + synonyms(): Synonyms; + synonyms(synonymId: string): Synonym; + private endpointPath; +} + +interface CollectionCreateSchema { + name: string; + default_sorting_field?: string; + fields?: CollectionFieldSchema[]; + symbols_to_index?: string[]; + token_separators?: string[]; + enable_nested_fields?: boolean; + metadata?: object; + voice_query_model?: { + model_name?: string; + }; +} +interface CollectionCreateOptions { + src_name?: string; +} +interface CollectionsRetrieveOptions { + exclude_fields?: string; +} +declare class Collections { + private apiCall; + constructor(apiCall: ApiCall); + create(schema: CollectionCreateSchema, options?: CollectionCreateOptions): Promise; + retrieve(options?: CollectionsRetrieveOptions): Promise; + static get RESOURCEPATH(): string; +} + +interface CollectionAliasCreateSchema { + collection_name: string; +} +interface CollectionAliasSchema extends CollectionAliasCreateSchema { + name: string; +} +interface CollectionAliasesResponseSchema { + aliases: CollectionAliasSchema[]; +} +declare class Aliases { + private apiCall; + constructor(apiCall: ApiCall); + upsert(name: string, mapping: CollectionAliasCreateSchema): Promise; + retrieve(): Promise; + private endpointPath; + static get RESOURCEPATH(): string; +} + +declare class Alias { + private name; + private apiCall; + constructor(name: string, apiCall: ApiCall); + retrieve(): Promise; + delete(): Promise; + private endpointPath; +} + +interface KeyCreateSchema { + actions: string[]; + collections: string[]; + description?: string; + value?: string; + value_prefix?: string; + expires_at?: number; +} +interface KeyDeleteSchema { + id: number; +} +interface KeySchema extends KeyCreateSchema { + id: number; +} +declare class Key { + private id; + private apiCall; + constructor(id: number, apiCall: ApiCall); + retrieve(): Promise; + delete(): Promise; + private endpointPath; +} + +interface KeysRetrieveSchema { + keys: KeySchema[]; +} +interface GenerateScopedSearchKeyParams extends Partial { + expires_at?: number; + cache_ttl?: number; + limit_multi_searches?: number; +} +declare class Keys { + private apiCall; + constructor(apiCall: ApiCall); + create(params: KeyCreateSchema): Promise; + retrieve(): Promise; + generateScopedSearchKey(searchKey: string, parameters: GenerateScopedSearchKeyParams): string; + static get RESOURCEPATH(): string; +} + +interface DebugResponseSchema { + state: number; + version: string; +} +declare class Debug { + private apiCall; + constructor(apiCall: ApiCall); + retrieve(): Promise; +} + +interface MetricsResponse { + [key: `system_cpu${number}_active_percentage`]: string; + system_cpu_active_percentage: string; + system_disk_total_bytes: string; + system_disk_used_bytes: string; + system_memory_total_bytes: string; + system_memory_total_swap_bytes?: string; + system_memory_used_bytes: string; + system_memory_used_swap_bytes?: string; + system_network_received_bytes: string; + system_network_sent_bytes: string; + typesense_memory_active_bytes: string; + typesense_memory_allocated_bytes: string; + typesense_memory_fragmentation_ratio: string; + typesense_memory_mapped_bytes: string; + typesense_memory_metadata_bytes: string; + typesense_memory_resident_bytes: string; + typesense_memory_retained_bytes: string; +} +declare class Metrics$1 { + private apiCall; + constructor(apiCall: ApiCall); + retrieve(): Promise; +} + +interface EndpointStats { + [endpoint: string]: number; +} +interface StatsResponse { + delete_latency_ms?: number; + delete_requests_per_second?: number; + import_latency_ms?: number; + import_requests_per_second?: number; + latency_ms?: EndpointStats; + overloaded_requests_per_second?: number; + pending_write_batches?: number; + requests_per_second?: EndpointStats; + search_latency_ms?: number; + search_requests_per_second?: number; + total_requests_per_second?: number; + write_latency_ms?: number; + write_requests_per_second?: number; +} +declare class Metrics { + private apiCall; + constructor(apiCall: ApiCall); + retrieve(): Promise; +} + +interface HealthResponse { + ok: boolean; +} +declare class Health { + private apiCall; + constructor(apiCall: ApiCall); + retrieve(): Promise; +} + +declare class Operations { + private apiCall; + constructor(apiCall: ApiCall); + perform(operationName: "vote" | "snapshot" | "cache/clear" | string, queryParameters?: Record): Promise; +} + +interface MultiSearchRequestSchema extends SearchParams { + collection?: string; + "x-typesense-api-key"?: string; +} +interface MultiSearchRequestWithPresetSchema extends SearchParamsWithPreset { + collection?: string; + "x-typesense-api-key"?: string; +} +interface MultiSearchRequestsSchema { + searches: (MultiSearchRequestSchema | MultiSearchRequestWithPresetSchema)[]; +} +interface MultiSearchResponse { + results: { + [Index in keyof T]: SearchResponse; + } & { + length: T["length"]; + }; +} +declare class MultiSearch { + private apiCall; + private configuration; + private useTextContentType; + private requestWithCache; + constructor(apiCall: ApiCall, configuration: Configuration, useTextContentType?: boolean); + clearCache(): void; + perform(searchRequests: MultiSearchRequestsSchema, commonParams?: Partial, { cacheSearchResultsForSeconds, }?: { + cacheSearchResultsForSeconds?: number; + }): Promise>; +} + +interface PresetSchema extends PresetCreateSchema { + name: string; +} +interface PresetDeleteSchema { + name: string; +} +declare class Preset { + private presetId; + private apiCall; + constructor(presetId: string, apiCall: ApiCall); + retrieve(): Promise; + delete(): Promise; + private endpointPath; +} + +interface PresetCreateSchema { + value: SearchParams | MultiSearchRequestsSchema; +} +interface PresetsRetrieveSchema { + presets: PresetSchema[]; +} +declare class Presets { + private apiCall; + constructor(apiCall: ApiCall); + upsert(presetId: string, params: PresetCreateSchema): Promise; + retrieve(): Promise; + private endpointPath; + static get RESOURCEPATH(): string; +} + +interface AnalyticsRuleCreateSchema { + type: "popular_queries" | "nohits_queries" | "counter"; + params: { + source: { + collections: string[]; + events?: Array<{ + type: string; + weight: number; + name: string; + }>; + }; + expand_query?: boolean; + destination: { + collection: string; + counter_field?: string; + }; + limit?: number; + }; +} +interface AnalyticsRuleDeleteSchema { + name: string; +} +interface AnalyticsRuleSchema extends AnalyticsRuleCreateSchema { + name: string; +} +declare class AnalyticsRule { + private name; + private apiCall; + constructor(name: string, apiCall: ApiCall); + retrieve(): Promise; + delete(): Promise; + private endpointPath; +} + +interface AnalyticsRulesRetrieveSchema { + rules: AnalyticsRuleSchema[]; +} +declare class AnalyticsRules { + private readonly apiCall; + constructor(apiCall: ApiCall); + upsert(name: string, params: AnalyticsRuleCreateSchema): Promise; + retrieve(): Promise; + private endpointPath; + static get RESOURCEPATH(): string; +} + +interface AnalyticsEventCreateSchema { + type: string; + name: string; + data?: object; +} + +declare class AnalyticsEvents { + private readonly apiCall; + constructor(apiCall: ApiCall); + create(params: AnalyticsEventCreateSchema): Promise; + private endpointPath; + static get RESOURCEPATH(): string; +} + +declare class Analytics { + private readonly apiCall; + private readonly _analyticsRules; + private readonly individualAnalyticsRules; + private readonly _analyticsEvents; + constructor(apiCall: ApiCall); + rules(id?: string): AnalyticsRules | AnalyticsRule; + events(): AnalyticsEvents; + static get RESOURCEPATH(): string; +} + +interface StopwordSchema extends StopwordCreateSchema { + id: string; + stopwords: string[]; + locale?: string; +} +interface StopwordDeleteSchema { + id: string; +} +declare class Stopword { + private stopwordId; + private apiCall; + constructor(stopwordId: string, apiCall: ApiCall); + retrieve(): Promise; + delete(): Promise; + private endpointPath; +} + +interface StopwordCreateSchema { + stopwords: string[]; + locale?: string; +} +interface StopwordsRetrieveSchema { + stopwords: StopwordSchema[]; +} +declare class Stopwords { + private apiCall; + constructor(apiCall: ApiCall); + upsert(stopwordId: string, params: StopwordCreateSchema): Promise; + retrieve(): Promise; + private endpointPath; + static get RESOURCEPATH(): string; +} + +interface ConversationModelCreateSchema { + id?: string; + model_name: string; + api_key?: string; + system_prompt?: string; + max_bytes: number; + history_collection?: string; +} +interface ConversationModelDeleteSchema { + id: string; +} +interface ConversationModelSchema extends ConversationModelCreateSchema { + id: string; +} +declare class ConversationModel { + private id; + private apiCall; + constructor(id: string, apiCall: ApiCall); + update(params: ConversationModelCreateSchema): Promise; + retrieve(): Promise; + delete(): Promise; + private endpointPath; +} + +declare class ConversationModels { + private readonly apiCall; + constructor(apiCall: ApiCall); + create(params: ConversationModelCreateSchema): Promise; + retrieve(): Promise; + private endpointPath; + static get RESOURCEPATH(): string; +} + +interface ConversationDeleteSchema { + id: number; +} +interface ConversationUpdateSchema { + ttl: number; +} +interface ConversationSchema { + id: number; + conversation: object[]; + last_updated: number; + ttl: number; +} +declare class Conversation { + private id; + private apiCall; + constructor(id: string, apiCall: ApiCall); + retrieve(): Promise; + update(params: ConversationUpdateSchema): Promise; + delete(): Promise; + private endpointPath; +} + +interface ConversationsRetrieveSchema { + conversations: ConversationSchema[]; +} +declare class Conversations { + private readonly apiCall; + private readonly _conversationsModels; + private readonly individualConversationModels; + constructor(apiCall: ApiCall); + retrieve(): Promise; + models(): ConversationModels; + models(id: string): ConversationModel; + static get RESOURCEPATH(): string; +} + +declare class Client { + configuration: Configuration; + apiCall: ApiCall; + debug: Debug; + metrics: Metrics$1; + stats: Metrics; + health: Health; + operations: Operations; + multiSearch: MultiSearch; + analytics: Analytics; + private readonly _collections; + private readonly individualCollections; + private readonly _aliases; + private readonly individualAliases; + private readonly _keys; + private readonly individualKeys; + private readonly _presets; + private readonly individualPresets; + private readonly _stopwords; + private readonly individualStopwords; + private readonly _conversations; + private readonly individualConversations; + constructor(options: ConfigurationOptions); + collections(): Collections; + collections = object>(collectionName: string): Collection; + aliases(): Aliases; + aliases(aliasName: string): Alias; + keys(): Keys; + keys(id: number): Key; + presets(): Presets; + presets(id: string): Preset; + stopwords(): Stopwords; + stopwords(id: string): Stopword; + conversations(): Conversations; + conversations(id: string): Conversation; +} + +declare class SearchOnlyCollection { + private readonly name; + private readonly apiCall; + private readonly configuration; + private readonly _documents; + constructor(name: string, apiCall: ApiCall, configuration: any); + documents(): SearchableDocuments; +} + +declare class SearchClient { + readonly multiSearch: MultiSearch; + private readonly configuration; + private readonly apiCall; + private readonly individualCollections; + constructor(options: ConfigurationOptions); + clearCache(): void; + collections(collectionName: string): SearchOnlyCollection | SearchOnlyCollection; +} + +declare class HTTPError extends TypesenseError { +} + +declare class MissingConfigurationError extends TypesenseError { +} + +declare class ObjectAlreadyExists extends TypesenseError { +} + +declare class ObjectNotFound extends TypesenseError { +} + +declare class ObjectUnprocessable extends TypesenseError { +} + +declare class RequestMalformed extends TypesenseError { +} + +declare class RequestUnauthorized extends TypesenseError { +} + +declare class ServerError extends TypesenseError { +} + +declare class ImportError extends TypesenseError { + importResults: ImportResponse[]; + constructor(message: string, importResults: ImportResponse[]); +} + +type Errors_HTTPError = HTTPError; +declare const Errors_HTTPError: typeof HTTPError; +type Errors_ImportError = ImportError; +declare const Errors_ImportError: typeof ImportError; +type Errors_MissingConfigurationError = MissingConfigurationError; +declare const Errors_MissingConfigurationError: typeof MissingConfigurationError; +type Errors_ObjectAlreadyExists = ObjectAlreadyExists; +declare const Errors_ObjectAlreadyExists: typeof ObjectAlreadyExists; +type Errors_ObjectNotFound = ObjectNotFound; +declare const Errors_ObjectNotFound: typeof ObjectNotFound; +type Errors_ObjectUnprocessable = ObjectUnprocessable; +declare const Errors_ObjectUnprocessable: typeof ObjectUnprocessable; +type Errors_RequestMalformed = RequestMalformed; +declare const Errors_RequestMalformed: typeof RequestMalformed; +type Errors_RequestUnauthorized = RequestUnauthorized; +declare const Errors_RequestUnauthorized: typeof RequestUnauthorized; +type Errors_ServerError = ServerError; +declare const Errors_ServerError: typeof ServerError; +type Errors_TypesenseError = TypesenseError; +declare const Errors_TypesenseError: typeof TypesenseError; +declare namespace Errors { + export { Errors_HTTPError as HTTPError, Errors_ImportError as ImportError, Errors_MissingConfigurationError as MissingConfigurationError, Errors_ObjectAlreadyExists as ObjectAlreadyExists, Errors_ObjectNotFound as ObjectNotFound, Errors_ObjectUnprocessable as ObjectUnprocessable, Errors_RequestMalformed as RequestMalformed, Errors_RequestUnauthorized as RequestUnauthorized, Errors_ServerError as ServerError, Errors_TypesenseError as TypesenseError }; +} + +declare const _default: { + Client: typeof Client; + SearchClient: typeof SearchClient; + Errors: typeof Errors; +}; + +export { Client, Errors, SearchClient, _default as default }; diff --git a/dist/Typesense.min.js b/dist/Typesense.min.js new file mode 100644 index 00000000..4dc5fdc3 --- /dev/null +++ b/dist/Typesense.min.js @@ -0,0 +1,9 @@ +"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var xe=Object.defineProperty;var Te=(r,e)=>{for(var t in e)xe(r,t,{get:e[t],enumerable:!0})};var Ee={trace:0,debug:1,info:2,warn:3,error:4,silent:5},F={Trace:0,Debug:1,Info:2,Warn:3,Error:4,Silent:5};var we={Trace:(...r)=>console.trace(...r),Debug:(...r)=>console.debug(...r),Info:(...r)=>console.info(...r),Warn:(...r)=>console.warn(...r),Error:(...r)=>console.error(...r),Silent:()=>{}},de=class r{constructor(){this.logLevel=F.Warn}static getInstance(){return r.instance||(r.instance=new r),r.instance}formatMessage(e,t){return`[${e}] ${t}`}logWith(e,t){this.mapLogLevelToConsoleFunction(e)(this.formatMessage(e,t))}mapLogLevelToConsoleFunction(e){return we[e]}debug(e){this.logLevel<=F.Debug&&this.logWith("Debug",e)}warn(e){this.logLevel<=F.Warn&&this.logWith("Warn",e)}error(e){this.logLevel<=F.Error&&this.logWith("Error",e)}trace(e){this.logLevel<=F.Trace&&this.logWith("Trace",e)}info(e){this.logLevel<=F.Info&&this.logWith("Info",e)}setLogLevel(e){typeof e=="number"?this.logLevel=e:this.logLevel=Ee[e]}},Ce=de.getInstance();var ue={};Te(ue,{HTTPError:()=>S,ImportError:()=>f,MissingConfigurationError:()=>u,ObjectAlreadyExists:()=>v,ObjectNotFound:()=>g,ObjectUnprocessable:()=>R,RequestMalformed:()=>P,RequestUnauthorized:()=>b,ServerError:()=>_,TypesenseError:()=>a});var a=class extends Error{constructor(e){super(e),this.name=new.target.name,Object.setPrototypeOf(this,new.target.prototype)}};var S=class extends a{};var u=class extends a{};var v=class extends a{};var g=class extends a{};var R=class extends a{};var P=class extends a{};var b=class extends a{};var _=class extends a{};var f=class extends a{constructor(e,t){super(e),this.importResults=t}};var A=class{constructor(e){this.nodes=e.nodes||[],this.nodes=this.nodes.map(t=>this.setDefaultPathInNode(t)).map(t=>this.setDefaultPortInNode(t)).map(t=>({...t})),e.randomizeNodes==null&&(e.randomizeNodes=!0),e.randomizeNodes===!0&&this.shuffleArray(this.nodes),this.nearestNode=e.nearestNode,this.nearestNode=this.setDefaultPathInNode(this.nearestNode),this.nearestNode=this.setDefaultPortInNode(this.nearestNode),this.connectionTimeoutSeconds=e.connectionTimeoutSeconds||e.timeoutSeconds||5,this.healthcheckIntervalSeconds=e.healthcheckIntervalSeconds||60,this.numRetries=e.numRetries||this.nodes.length+(this.nearestNode==null?0:1)||3,this.retryIntervalSeconds=e.retryIntervalSeconds||.1,this.apiKey=e.apiKey,this.sendApiKeyAsQueryParam=e.sendApiKeyAsQueryParam,this.cacheSearchResultsForSeconds=e.cacheSearchResultsForSeconds||0,this.useServerSideSearchCache=e.useServerSideSearchCache||!1,this.logger=e.logger||Ce,this.logLevel=e.logLevel||"warn",this.logger.setLogLevel(this.logLevel),this.additionalHeaders=e.additionalHeaders,this.httpAgent=e.httpAgent,this.httpsAgent=e.httpsAgent,this.paramsSerializer=e.paramsSerializer,this.showDeprecationWarnings(e),this.validate()}validate(){if(this.nodes==null||this.nodes.length===0||this.validateNodes())throw new u("Ensure that nodes[].protocol, nodes[].host and nodes[].port are set");if(this.nearestNode!=null&&this.isNodeMissingAnyParameters(this.nearestNode))throw new u("Ensure that nearestNodes.protocol, nearestNodes.host and nearestNodes.port are set");if(this.apiKey==null)throw new u("Ensure that apiKey is set");return!0}validateNodes(){return this.nodes.some(e=>this.isNodeMissingAnyParameters(e))}isNodeMissingAnyParameters(e){return!["protocol","host","port","path"].every(t=>e.hasOwnProperty(t))&&e.url==null}setDefaultPathInNode(e){return e!=null&&!e.hasOwnProperty("path")&&(e.path=""),e}setDefaultPortInNode(e){if(e!=null&&!e.hasOwnProperty("port")&&e.hasOwnProperty("protocol"))switch(e.protocol){case"https":e.port=443;break;case"http":e.port=80;break}return e}showDeprecationWarnings(e){e.timeoutSeconds&&this.logger.warn("Deprecation warning: timeoutSeconds is now renamed to connectionTimeoutSeconds"),e.masterNode&&this.logger.warn("Deprecation warning: masterNode is now consolidated to nodes, starting with Typesense Server v0.12"),e.readReplicaNodes&&this.logger.warn("Deprecation warning: readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12")}shuffleArray(e){for(let t=e.length-1;t>0;t--){let i=Math.floor(Math.random()*(t+1));[e[t],e[i]]=[e[i],e[t]]}}};var _axios = require('axios'); var _axios2 = _interopRequireDefault(_axios);var _http = require('http');var _https = require('https');var De="X-TYPESENSE-API-KEY",ge=!0,He=!1,ve=typeof process<"u"&&process.versions!=null&&process.versions.node!=null,x=class{constructor(e){this.configuration=e;this.apiKey=this.configuration.apiKey,this.nodes=this.configuration.nodes==null?this.configuration.nodes:JSON.parse(JSON.stringify(this.configuration.nodes)),this.nearestNode=this.configuration.nearestNode==null?this.configuration.nearestNode:JSON.parse(JSON.stringify(this.configuration.nearestNode)),this.connectionTimeoutSeconds=this.configuration.connectionTimeoutSeconds,this.healthcheckIntervalSeconds=this.configuration.healthcheckIntervalSeconds,this.numRetriesPerRequest=this.configuration.numRetries,this.retryIntervalSeconds=this.configuration.retryIntervalSeconds,this.sendApiKeyAsQueryParam=this.configuration.sendApiKeyAsQueryParam,this.additionalUserHeaders=this.configuration.additionalHeaders,this.logger=this.configuration.logger,this.initializeMetadataForNodes(),this.currentNodeIndex=-1}async get(e,t={},{abortSignal:i=null,responseType:n=void 0}={}){return this.performRequest("get",e,{queryParameters:t,abortSignal:i,responseType:n})}async delete(e,t={}){return this.performRequest("delete",e,{queryParameters:t})}async post(e,t={},i={},n={}){return this.performRequest("post",e,{queryParameters:i,bodyParameters:t,additionalHeaders:n})}async put(e,t={},i={}){return this.performRequest("put",e,{queryParameters:i,bodyParameters:t})}async patch(e,t={},i={}){return this.performRequest("patch",e,{queryParameters:i,bodyParameters:t})}async performRequest(e,t,{queryParameters:i=null,bodyParameters:n=null,additionalHeaders:s={},abortSignal:o=null,responseType:I=void 0,skipConnectionTimeout:h=!1,enableKeepAlive:y=void 0}){this.configuration.validate();let c=Date.now(),C;this.logger.debug(`Request #${c}: Performing ${e.toUpperCase()} request: ${t}`);for(let q=1;q<=this.numRetriesPerRequest+1;q++){let d=this.getNextNode(c);if(this.logger.debug(`Request #${c}: Attempting ${e.toUpperCase()} request Try #${q} to Node ${d.index}`),o&&o.aborted)return Promise.reject(new Error("Request aborted by caller."));let z;try{let l={method:e,url:this.uriFor(t,d),headers:Object.assign({},this.defaultHeaders(),s,this.additionalUserHeaders),maxContentLength:1/0,maxBodyLength:1/0,responseType:I,validateStatus:K=>K>0,transformResponse:[(K,W)=>{let ye=K;return W!==void 0&&typeof K=="string"&&W["content-type"]&&W["content-type"].startsWith("application/json")&&(ye=JSON.parse(K)),ye}]};if(h!==!0&&(l.timeout=this.connectionTimeoutSeconds*1e3),i&&Object.keys(i).length!==0&&(l.params=i),this.sendApiKeyAsQueryParam&&(l.params=l.params||{},l.params["x-typesense-api-key"]=this.apiKey),this.configuration.httpAgent?(this.logger.debug(`Request #${c}: Using custom httpAgent`),l.httpAgent=this.configuration.httpAgent):y===!0&&(ve?(this.logger.debug(`Request #${c}: Enabling KeepAlive`),l.httpAgent=new (0, _http.Agent)({keepAlive:!0})):this.logger.warn(`Request #${c}: Cannot use custom httpAgent in a browser environment to enable keepAlive`)),this.configuration.httpsAgent?(this.logger.debug(`Request #${c}: Using custom httpsAgent`),l.httpsAgent=this.configuration.httpsAgent):y===!0&&(ve?(this.logger.debug(`Request #${c}: Enabling keepAlive`),l.httpsAgent=new (0, _https.Agent)({keepAlive:!0})):this.logger.warn(`Request #${c}: Cannot use custom httpAgent in a browser environment to enable keepAlive`)),this.configuration.paramsSerializer&&(this.logger.debug(`Request #${c}: Using custom paramsSerializer`),l.paramsSerializer=this.configuration.paramsSerializer),n&&(typeof n=="string"&&n.length!==0||typeof n=="object"&&Object.keys(n).length!==0)&&(l.data=n),o){let W=_axios2.default.CancelToken.source();z=()=>W.cancel(),o.addEventListener("abort",z),l.cancelToken=W.token}let m=await _axios2.default.call(void 0, l);if(m.status>=1&&m.status<=499&&this.setNodeHealthcheck(d,ge),this.logger.debug(`Request #${c}: Request to Node ${d.index} was made. Response Code was ${m.status}.`),m.status>=200&&m.status<300)return Promise.resolve(m.data);if(m.status<500)return Promise.reject(this.customErrorForResponse(m,_optionalChain([m, 'access', _2 => _2.data, 'optionalAccess', _3 => _3.message])));throw this.customErrorForResponse(m,_optionalChain([m, 'access', _4 => _4.data, 'optionalAccess', _5 => _5.message]))}catch(l){this.setNodeHealthcheck(d,He),C=l,this.logger.warn(`Request #${c}: Request to Node ${d.index} failed due to "${l.code} ${l.message}${l.response==null?"":" - "+JSON.stringify(_optionalChain([l, 'access', _6 => _6.response, 'optionalAccess', _7 => _7.data]))}"`),this.logger.warn(`Request #${c}: Sleeping for ${this.retryIntervalSeconds}s and then retrying request...`),await this.timer(this.retryIntervalSeconds)}finally{o&&z&&o.removeEventListener("abort",z)}}return this.logger.debug(`Request #${c}: No retries left. Raising last error`),Promise.reject(C)}getNextNode(e=0){if(this.nearestNode!=null){if(this.logger.debug(`Request #${e}: Nodes Health: Node ${this.nearestNode.index} is ${this.nearestNode.isHealthy===!0?"Healthy":"Unhealthy"}`),this.nearestNode.isHealthy===!0||this.nodeDueForHealthcheck(this.nearestNode,e))return this.logger.debug(`Request #${e}: Updated current node to Node ${this.nearestNode.index}`),this.nearestNode;this.logger.debug(`Request #${e}: Falling back to individual nodes`)}this.logger.debug(`Request #${e}: Nodes Health: ${this.nodes.map(i=>`Node ${i.index} is ${i.isHealthy===!0?"Healthy":"Unhealthy"}`).join(" || ")}`);let t=this.nodes[0];for(let i=0;i<=this.nodes.length;i++)if(this.currentNodeIndex=(this.currentNodeIndex+1)%this.nodes.length,t=this.nodes[this.currentNodeIndex],t.isHealthy===!0||this.nodeDueForHealthcheck(t,e))return this.logger.debug(`Request #${e}: Updated current node to Node ${t.index}`),t;return this.logger.debug(`Request #${e}: No healthy nodes were found. Returning the next node, Node ${t.index}`),t}nodeDueForHealthcheck(e,t=0){let i=Date.now()-e.lastAccessTimestamp>this.healthcheckIntervalSeconds*1e3;return i&&this.logger.debug(`Request #${t}: Node ${e.index} has exceeded healtcheckIntervalSeconds of ${this.healthcheckIntervalSeconds}. Adding it back into rotation.`),i}initializeMetadataForNodes(){this.nearestNode!=null&&(this.nearestNode.index="nearestNode",this.setNodeHealthcheck(this.nearestNode,ge)),this.nodes.forEach((e,t)=>{e.index=t,this.setNodeHealthcheck(e,ge)})}setNodeHealthcheck(e,t){e.isHealthy=t,e.lastAccessTimestamp=Date.now()}uriFor(e,t){return t.url!=null?`${t.url}${e}`:`${t.protocol}://${t.host}:${t.port}${t.path}${e}`}defaultHeaders(){let e={};return this.sendApiKeyAsQueryParam||(e[De]=this.apiKey),e["Content-Type"]="application/json",e}async timer(e){return new Promise(t=>setTimeout(t,e*1e3))}customErrorForResponse(e,t){let i=`Request failed with HTTP code ${e.status}`;typeof t=="string"&&t.trim()!==""&&(i+=` | Server said: ${t}`);let n=new a(i);return e.status===400?n=new P(i):e.status===401?n=new b(i):e.status===404?n=new g(i):e.status===409?n=new v(i):e.status===422?n=new R(i):e.status>=500&&e.status<=599?n=new _(i):n=new S(i),n.httpStatus=e.status,n}};var fe="/collections",p=class{constructor(e){this.apiCall=e}async create(e,t={}){return this.apiCall.post(fe,e,t)}async retrieve(e={}){return this.apiCall.get(fe,e)}static get RESOURCEPATH(){return fe}};var T=class{constructor(){this.responseCache=new Map;this.responsePromiseCache=new Map}clearCache(){this.responseCache=new Map,this.responsePromiseCache=new Map}async perform(e,t,i,n){let{cacheResponseForSeconds:s=120,maxSize:o=100}=n;if(s<=0||o<=0)return t.call(e,...i);let h=JSON.stringify(i),y=this.responseCache.get(h),c=Date.now();if(y){if(c-y.requestTimestampo){let m=this.responseCache.keys().next().value;this.responseCache.delete(m)}if(this.responsePromiseCache.size>o){let m=this.responsePromiseCache.keys().next().value;this.responsePromiseCache.delete(m)}return d}};var Re="/documents",j=class{constructor(e,t,i){this.collectionName=e;this.apiCall=t;this.configuration=i;this.requestWithCache=new T}clearCache(){this.requestWithCache.clearCache()}async search(e,{cacheSearchResultsForSeconds:t=this.configuration.cacheSearchResultsForSeconds,abortSignal:i=null}={}){let n={};this.configuration.useServerSideSearchCache===!0&&(n.use_cache=!0);for(let o in e)Array.isArray(e[o])&&(n[o]=e[o].join(","));let s=Object.assign({},e,n);return this.requestWithCache.perform(this.apiCall,this.apiCall.get,[this.endpointPath("search"),s,{abortSignal:i}],{cacheResponseForSeconds:t})}endpointPath(e){return`${p.RESOURCEPATH}/${this.collectionName}${Re}${e===void 0?"":"/"+e}`}static get RESOURCEPATH(){return Re}};var Pe=typeof process<"u"&&process.versions!=null&&process.versions.node!=null,E=class extends j{constructor(e,t,i){super(e,t,i)}async create(e,t={}){if(!e)throw new Error("No document provided");return this.apiCall.post(this.endpointPath(),e,t)}async upsert(e,t={}){if(!e)throw new Error("No document provided");return this.apiCall.post(this.endpointPath(),e,Object.assign({},t,{action:"upsert"}))}async update(e,t={}){if(!e)throw new Error("No document provided");return t.filter_by!=null?this.apiCall.patch(this.endpointPath(),e,Object.assign({},t)):this.apiCall.post(this.endpointPath(),e,Object.assign({},t,{action:"update"}))}async delete(e={}){return this.apiCall.delete(this.endpointPath(),e)}async createMany(e,t={}){return 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"),this.import(e,t)}async import(e,t={}){let i;if(Array.isArray(e))try{i=e.map(s=>JSON.stringify(s)).join(` +`)}catch(s){throw s instanceof RangeError&&s.message.includes("Too many properties to enumerate")?new Error(`${s} + 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 + + Please try reducing the number of keys in your document, or using CURL to import your data. + `):new Error(s)}else i=e;let n=await this.apiCall.performRequest("post",this.endpointPath("import"),{queryParameters:t,bodyParameters:i,additionalHeaders:{"Content-Type":"text/plain"},skipConnectionTimeout:!0,enableKeepAlive:!!Pe});if(Array.isArray(e)){let s=n.split(` +`).map(I=>JSON.parse(I)),o=s.filter(I=>I.success===!1);if(o.length>0)throw new f(`${s.length-o.length} documents imported successfully, ${o.length} documents failed during import. Use \`error.importResults\` from the raised exception to get a detailed error reason for each document.`,s);return s}else return n}async importStream(e,t={}){let n=(await this.apiCall.performRequest("post",this.endpointPath("import"),{queryParameters:t,bodyParameters:e,additionalHeaders:{"Content-Type":"text/plain"},skipConnectionTimeout:!0,enableKeepAlive:!!Pe})).split(` +`).map(o=>JSON.parse(o)),s=n.filter(o=>o.success===!1);if(s.length>0)throw new f(`${n.length-s.length} documents imported successfully, ${s.length} documents failed during import. Use \`error.importResults\` from the raised exception to get a detailed error reason for each document.`,n);return n}async export(e={}){return this.apiCall.get(this.endpointPath("export"),e)}async exportStream(e={}){return this.apiCall.get(this.endpointPath("export"),e,{responseType:"stream"})}};var Ue="/overrides",w=class r{constructor(e,t){this.collectionName=e;this.apiCall=t}async upsert(e,t){return this.apiCall.put(this.endpointPath(e),t)}async retrieve(){return this.apiCall.get(this.endpointPath())}endpointPath(e){return`${p.RESOURCEPATH}/${this.collectionName}${r.RESOURCEPATH}${e===void 0?"":"/"+encodeURIComponent(e)}`}static get RESOURCEPATH(){return Ue}};var Q=class{constructor(e,t,i){this.collectionName=e;this.overrideId=t;this.apiCall=i}async retrieve(){return this.apiCall.get(this.endpointPath())}async delete(){return this.apiCall.delete(this.endpointPath())}endpointPath(){return`${p.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${w.RESOURCEPATH}/${encodeURIComponent(this.overrideId)}`}};var $e="/synonyms",O=class r{constructor(e,t){this.collectionName=e;this.apiCall=t}async upsert(e,t){return this.apiCall.put(this.endpointPath(e),t)}async retrieve(){return this.apiCall.get(this.endpointPath())}endpointPath(e){return`${p.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${r.RESOURCEPATH}${e===void 0?"":"/"+encodeURIComponent(e)}`}static get RESOURCEPATH(){return $e}};var J=class{constructor(e,t,i){this.collectionName=e;this.synonymId=t;this.apiCall=i}async retrieve(){return this.apiCall.get(this.endpointPath())}async delete(){return this.apiCall.delete(this.endpointPath())}endpointPath(){return`${p.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${O.RESOURCEPATH}/${encodeURIComponent(this.synonymId)}`}};var me=class{constructor(e,t,i){this.collectionName=e;this.documentId=t;this.apiCall=i}async retrieve(){return this.apiCall.get(this.endpointPath())}async delete(e){return this.apiCall.delete(this.endpointPath(),e)}async update(e,t={}){return this.apiCall.patch(this.endpointPath(),e,t)}endpointPath(){return`${p.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${E.RESOURCEPATH}/${encodeURIComponent(this.documentId)}`}};var B=class{constructor(e,t,i){this.name=e;this.apiCall=t;this.configuration=i;this.individualDocuments={};this.individualOverrides={};this.individualSynonyms={};this.name=e,this.apiCall=t,this.configuration=i,this._documents=new E(this.name,this.apiCall,this.configuration),this._overrides=new w(this.name,this.apiCall),this._synonyms=new O(this.name,this.apiCall)}async retrieve(){return this.apiCall.get(this.endpointPath())}async update(e){return this.apiCall.patch(this.endpointPath(),e)}async delete(){return this.apiCall.delete(this.endpointPath())}async exists(){try{return await this.retrieve(),!0}catch(e){if(e instanceof g)return!1;throw e}}documents(e){return e?(this.individualDocuments[e]===void 0&&(this.individualDocuments[e]=new me(this.name,e,this.apiCall)),this.individualDocuments[e]):this._documents}overrides(e){return e===void 0?this._overrides:(this.individualOverrides[e]===void 0&&(this.individualOverrides[e]=new Q(this.name,e,this.apiCall)),this.individualOverrides[e])}synonyms(e){return e===void 0?this._synonyms:(this.individualSynonyms[e]===void 0&&(this.individualSynonyms[e]=new J(this.name,e,this.apiCall)),this.individualSynonyms[e])}endpointPath(){return`${p.RESOURCEPATH}/${encodeURIComponent(this.name)}`}};var be="/aliases",N=class r{constructor(e){this.apiCall=e}async upsert(e,t){return this.apiCall.put(this.endpointPath(e),t)}async retrieve(){return this.apiCall.get(be)}endpointPath(e){return`${r.RESOURCEPATH}/${encodeURIComponent(e)}`}static get RESOURCEPATH(){return be}};var V=class{constructor(e,t){this.name=e;this.apiCall=t}async retrieve(){return this.apiCall.get(this.endpointPath())}async delete(){return this.apiCall.delete(this.endpointPath())}endpointPath(){return`${N.RESOURCEPATH}/${encodeURIComponent(this.name)}`}};var _crypto = require('crypto');var _e="/keys",D=class r{constructor(e){this.apiCall=e;this.apiCall=e}async create(e){return this.apiCall.post(r.RESOURCEPATH,e)}async retrieve(){return this.apiCall.get(_e)}generateScopedSearchKey(e,t){let i=JSON.stringify(t),n=Buffer.from(_crypto.createHmac.call(void 0, "sha256",e).update(i).digest("base64")),s=e.substr(0,4),o=`${n}${s}${i}`;return Buffer.from(o).toString("base64")}static get RESOURCEPATH(){return _e}};var Y=class{constructor(e,t){this.id=e;this.apiCall=t}async retrieve(){return this.apiCall.get(this.endpointPath())}async delete(){return this.apiCall.delete(this.endpointPath())}endpointPath(){return`${D.RESOURCEPATH}/${encodeURIComponent(this.id)}`}};var Le="/debug",G=class{constructor(e){this.apiCall=e}async retrieve(){return this.apiCall.get(Le)}};var ke="/metrics.json",X=class{constructor(e){this.apiCall=e}async retrieve(){return this.apiCall.get(ke)}};var Ie="/stats.json",Z=class{constructor(e){this.apiCall=e}async retrieve(){return this.apiCall.get(Ie)}};var qe="/health",ee=class{constructor(e){this.apiCall=e}async retrieve(){return this.apiCall.get(qe)}};var Ke="/operations",te=class{constructor(e){this.apiCall=e}async perform(e,t={}){return this.apiCall.post(`${Ke}/${e}`,{},t)}};var We="/multi_search",H=class{constructor(e,t,i=!1){this.apiCall=e;this.configuration=t;this.useTextContentType=i;this.requestWithCache=new T}clearCache(){this.requestWithCache.clearCache()}async perform(e,t={},{cacheSearchResultsForSeconds:i=this.configuration.cacheSearchResultsForSeconds}={}){let n={};this.useTextContentType&&(n["content-type"]="text/plain");let s={};this.configuration.useServerSideSearchCache===!0&&(s.use_cache=!0);let o=Object.assign({},t,s);return this.requestWithCache.perform(this.apiCall,this.apiCall.post,[We,e,o,n],{cacheResponseForSeconds:i})}};var Fe="/presets",U=class r{constructor(e){this.apiCall=e}async upsert(e,t){return this.apiCall.put(this.endpointPath(e),t)}async retrieve(){return this.apiCall.get(this.endpointPath())}endpointPath(e){return`${r.RESOURCEPATH}${e===void 0?"":"/"+encodeURIComponent(e)}`}static get RESOURCEPATH(){return Fe}};var re=class{constructor(e,t){this.presetId=e;this.apiCall=t}async retrieve(){return this.apiCall.get(this.endpointPath())}async delete(){return this.apiCall.delete(this.endpointPath())}endpointPath(){return`${U.RESOURCEPATH}/${encodeURIComponent(this.presetId)}`}};var je="/analytics/rules",$=class r{constructor(e){this.apiCall=e;this.apiCall=e}async upsert(e,t){return this.apiCall.put(this.endpointPath(e),t)}async retrieve(){return this.apiCall.get(this.endpointPath())}endpointPath(e){return`${r.RESOURCEPATH}${e===void 0?"":"/"+encodeURIComponent(e)}`}static get RESOURCEPATH(){return je}};var ie=class{constructor(e,t){this.name=e;this.apiCall=t}async retrieve(){return this.apiCall.get(this.endpointPath())}async delete(){return this.apiCall.delete(this.endpointPath())}endpointPath(){return`${$.RESOURCEPATH}/${encodeURIComponent(this.name)}`}};var ze="/analytics/events",ne=class r{constructor(e){this.apiCall=e;this.apiCall=e}async create(e){return this.apiCall.post(this.endpointPath(),e)}endpointPath(e){return`${r.RESOURCEPATH}${e===void 0?"":"/"+encodeURIComponent(e)}`}static get RESOURCEPATH(){return ze}};var Qe="/analytics",se=class{constructor(e){this.apiCall=e;this.individualAnalyticsRules={};this.apiCall=e,this._analyticsRules=new $(this.apiCall),this._analyticsEvents=new ne(this.apiCall)}rules(e){return e===void 0?this._analyticsRules:(this.individualAnalyticsRules[e]===void 0&&(this.individualAnalyticsRules[e]=new ie(e,this.apiCall)),this.individualAnalyticsRules[e])}events(){return this._analyticsEvents}static get RESOURCEPATH(){return Qe}};var Je="/stopwords",M=class r{constructor(e){this.apiCall=e}async upsert(e,t){return this.apiCall.put(this.endpointPath(e),t)}async retrieve(){return this.apiCall.get(this.endpointPath())}endpointPath(e){return`${r.RESOURCEPATH}${e===void 0?"":"/"+encodeURIComponent(e)}`}static get RESOURCEPATH(){return Je}};var oe=class{constructor(e,t){this.stopwordId=e;this.apiCall=t}async retrieve(){return this.apiCall.get(this.endpointPath())}async delete(){return this.apiCall.delete(this.endpointPath())}endpointPath(){return`${M.RESOURCEPATH}/${encodeURIComponent(this.stopwordId)}`}};var Be="/conversations/models",L=class r{constructor(e){this.apiCall=e;this.apiCall=e}async create(e){return this.apiCall.post(this.endpointPath(),e)}async retrieve(){return this.apiCall.get(this.endpointPath())}endpointPath(e){return`${r.RESOURCEPATH}${e===void 0?"":"/"+encodeURIComponent(e)}`}static get RESOURCEPATH(){return Be}};var ae=class{constructor(e,t){this.id=e;this.apiCall=t}async update(e){return this.apiCall.put(this.endpointPath(),e)}async retrieve(){return this.apiCall.get(this.endpointPath())}async delete(){return this.apiCall.delete(this.endpointPath())}endpointPath(){return`${L.RESOURCEPATH}/${encodeURIComponent(this.id)}`}};var Ae="/conversations",k=class{constructor(e){this.apiCall=e;this.individualConversationModels={};this.apiCall=e,this._conversationsModels=new L(this.apiCall)}async retrieve(){return this.apiCall.get(Ae)}models(e){return e===void 0?this._conversationsModels:(this.individualConversationModels[e]===void 0&&(this.individualConversationModels[e]=new ae(e,this.apiCall)),this.individualConversationModels[e])}static get RESOURCEPATH(){return Ae}};var le=class{constructor(e,t){this.id=e;this.apiCall=t}async retrieve(){return this.apiCall.get(this.endpointPath())}async update(e){return this.apiCall.put(this.endpointPath(),e)}async delete(){return this.apiCall.delete(this.endpointPath())}endpointPath(){return`${k.RESOURCEPATH}/${encodeURIComponent(this.id)}`}};var ce=class{constructor(e){e.sendApiKeyAsQueryParam=_nullishCoalesce(e.sendApiKeyAsQueryParam, () => (!1)),this.configuration=new A(e),this.apiCall=new x(this.configuration),this.debug=new G(this.apiCall),this.metrics=new X(this.apiCall),this.stats=new Z(this.apiCall),this.health=new ee(this.apiCall),this.operations=new te(this.apiCall),this.multiSearch=new H(this.apiCall,this.configuration),this._collections=new p(this.apiCall),this.individualCollections={},this._aliases=new N(this.apiCall),this.individualAliases={},this._keys=new D(this.apiCall),this.individualKeys={},this._presets=new U(this.apiCall),this.individualPresets={},this._stopwords=new M(this.apiCall),this.individualStopwords={},this.analytics=new se(this.apiCall),this._conversations=new k(this.apiCall),this.individualConversations={}}collections(e){return e===void 0?this._collections:(this.individualCollections[e]===void 0&&(this.individualCollections[e]=new B(e,this.apiCall,this.configuration)),this.individualCollections[e])}aliases(e){return e===void 0?this._aliases:(this.individualAliases[e]===void 0&&(this.individualAliases[e]=new V(e,this.apiCall)),this.individualAliases[e])}keys(e){return e===void 0?this._keys:(this.individualKeys[e]===void 0&&(this.individualKeys[e]=new Y(e,this.apiCall)),this.individualKeys[e])}presets(e){return e===void 0?this._presets:(this.individualPresets[e]===void 0&&(this.individualPresets[e]=new re(e,this.apiCall)),this.individualPresets[e])}stopwords(e){return e===void 0?this._stopwords:(this.individualStopwords[e]===void 0&&(this.individualStopwords[e]=new oe(e,this.apiCall)),this.individualStopwords[e])}conversations(e){return e===void 0?this._conversations:(this.individualConversations[e]===void 0&&(this.individualConversations[e]=new le(e,this.apiCall)),this.individualConversations[e])}};var he=class{constructor(e,t,i){this.name=e;this.apiCall=t;this.configuration=i;this._documents=new j(this.name,this.apiCall,this.configuration)}documents(){return this._documents}};var pe=class{constructor(e){e.sendApiKeyAsQueryParam=_nullishCoalesce(e.sendApiKeyAsQueryParam, () => (!0)),e.sendApiKeyAsQueryParam===!0&&(e.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."),e.sendApiKeyAsQueryParam=!1),this.configuration=new A(e),this.apiCall=new x(this.configuration),this.multiSearch=new H(this.apiCall,this.configuration,!0),this.individualCollections={}}clearCache(){this.multiSearch.clearCache(),Object.entries(this.individualCollections).forEach(([e,t])=>{t.documents().clearCache()})}collections(e){if(e)return this.individualCollections[e]===void 0&&(this.individualCollections[e]=new he(e,this.apiCall,this.configuration)),this.individualCollections[e];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.")}};var Ii={Client:ce,SearchClient:pe,Errors:ue};exports.Client = ce; exports.Errors = ue; exports.SearchClient = pe; exports.default = Ii; +//# sourceMappingURL=Typesense.min.js.map \ No newline at end of file diff --git a/dist/Typesense.min.js.map b/dist/Typesense.min.js.map new file mode 100644 index 00000000..94b59c57 --- /dev/null +++ b/dist/Typesense.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["/home/fanis/code/typesense/fork/typesense-js/dist/Typesense.min.js","../src/Typesense/Logger.ts","../src/Typesense/Documents.ts","../src/Typesense/Overrides.ts"],"names":["LogLevelReverseMap","LogLevelNumber","logLevelToConsoleFunction","args","SimpleLogger","_SimpleLogger","level","message","isNodeJSEnvironment"],"mappings":"AAAA,qxBAAI,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CCgD5F,IAAMA,EAAAA,CAAqB,CACzB,KAAA,CAAO,CAAA,CACP,KAAA,CAAO,CAAA,CACP,IAAA,CAAM,CAAA,CACN,IAAA,CAAM,CAAA,CACN,KAAA,CAAO,CAAA,CACP,MAAA,CAAQ,CACV,CAAA,CAUMC,CAAAA,CAAiB,CACrB,KAAA,CAAO,CAAA,CACP,KAAA,CAAO,CAAA,CACP,IAAA,CAAM,CAAA,CACN,IAAA,CAAM,CAAA,CACN,KAAA,CAAO,CAAA,CACP,MAAA,CAAQ,CACV,CAAA,CAiBA,IAAMC,EAAAA,CAA4B,CAChC,KAAA,CAAO,CAAA,GAAIC,CAAAA,CAAAA,EAAgB,OAAA,CAAQ,KAAA,CAAM,GAAGA,CAAI,CAAA,CAChD,KAAA,CAAO,CAAA,GAAIA,CAAAA,CAAAA,EAAgB,OAAA,CAAQ,KAAA,CAAM,GAAGA,CAAI,CAAA,CAChD,IAAA,CAAM,CAAA,GAAIA,CAAAA,CAAAA,EAAgB,OAAA,CAAQ,IAAA,CAAK,GAAGA,CAAI,CAAA,CAC9C,IAAA,CAAM,CAAA,GAAIA,CAAAA,CAAAA,EAAgB,OAAA,CAAQ,IAAA,CAAK,GAAGA,CAAI,CAAA,CAC9C,KAAA,CAAO,CAAA,GAAIA,CAAAA,CAAAA,EAAgB,OAAA,CAAQ,KAAA,CAAM,GAAGA,CAAI,CAAA,CAChD,MAAA,CAAQ,CAAA,CAAA,EAAM,CAAC,CACjB,CAAA,CAMMC,EAAAA,CAAN,MAAMC,CAAa,CAcT,WAAA,CAAA,CAAc,CANtB,IAAA,CAAQ,QAAA,CAAiCJ,CAAAA,CAAe,IAMjC,CAMvB,OAAO,WAAA,CAAA,CAA4B,CACjC,OAAKI,CAAAA,CAAa,QAAA,EAAA,CAChBA,CAAAA,CAAa,QAAA,CAAW,IAAIA,CAAAA,CAAAA,CAEvBA,CAAAA,CAAa,QACtB,CASQ,aAAA,CACNC,CAAAA,CACAC,CAAAA,CACQ,CACR,MAAO,CAAA,CAAA,EAAID,CAAK,CAAA,EAAA,EAAKC,CAAO,CAAA,CAAA;ACkNE;AAAA;AAAA;AAAA;AA4BnB,UAAA;AAoCUC;ACjXb","file":"/home/fanis/code/typesense/fork/typesense-js/dist/Typesense.min.js","sourcesContent":[null,"/**\n * Represents the log levels that can be used in the logger with their corresponding number values.\n */\ntype LogLevelMap = {\n Trace: \"trace\" | 0;\n Debug: \"debug\" | 1;\n Info: \"info\" | 2;\n Warn: \"warn\" | 3;\n Error: \"error\" | 4;\n Silent: \"silent\" | 5;\n};\n\n/**\n * Represents mapping of the number values of the log levels.\n */\ntype LogLevelNumberValuesMap = {\n [K in keyof LogLevelMap]: LogLevelMap[K] extends infer R\n ? R extends number\n ? R\n : never\n : never;\n};\n\n/**\n * Numeric representation of the possible log levels.\n */\ntype LogLevelNumberValues =\n LogLevelNumberValuesMap[keyof LogLevelNumberValuesMap];\n\n/**\n * Represents the mapping of the string values to the number values of the log levels.\n */\ntype StringToNumberRepresentationLogLevelMap = {\n [K in keyof LogLevelMap as LogLevelMap[K] extends infer R\n ? R extends string\n ? R\n : never\n : never]: LogLevelMap[K] extends infer R\n ? R extends number\n ? R\n : never\n : never;\n};\n\n/**\n * Object that maps the log levels to their corresponding number values.\n * Used for always mapping the log level to number for comparison's sake.\n */\nconst LogLevelReverseMap = {\n trace: 0,\n debug: 1,\n info: 2,\n warn: 3,\n error: 4,\n silent: 5,\n} as const satisfies StringToNumberRepresentationLogLevelMap;\n\n/**\n * Represents the log levels that can be used in the logger.\n */\ntype LogLevel = LogLevelMap[keyof LogLevelMap];\n\n/**\n * Object that maps the log levels to their corresponding number values.\n */\nconst LogLevelNumber = {\n Trace: 0,\n Debug: 1,\n Info: 2,\n Warn: 3,\n Error: 4,\n Silent: 5,\n} as const satisfies { [K in keyof LogLevelMap]: LogLevelMap[K] };\n\n/**\n * Object that maps the log levels to their corresponding string values.\n */\nconst LogLevelNames = {\n Trace: \"trace\",\n Debug: \"debug\",\n Info: \"info\",\n Warn: \"warn\",\n Error: \"error\",\n Silent: \"silent\",\n} as const satisfies { [K in keyof LogLevelMap]: LogLevelMap[K] };\n\n/**\n * Object that maps the the console methods to the log levels.\n */\nconst logLevelToConsoleFunction = {\n Trace: (...args: any[]) => console.trace(...args),\n Debug: (...args: any[]) => console.debug(...args),\n Info: (...args: any[]) => console.info(...args),\n Warn: (...args: any[]) => console.warn(...args),\n Error: (...args: any[]) => console.error(...args),\n Silent: () => {},\n} as const satisfies { [K in keyof LogLevelMap]: (message: string) => void };\n\n/**\n * A simple logging class using a singleton pattern.\n * Only prints to stdout.\n */\nclass SimpleLogger {\n private static instance: SimpleLogger;\n /**\n * Numeric representation of the log level set.\n * Defaults to LogLevelNumber.Warn.\n * @private\n * @type {LogLevelNumberValues}\n */\n private logLevel: LogLevelNumberValues = LogLevelNumber.Warn;\n\n /**\n * Private constructor to prevent instantiation.\n * @private\n */\n private constructor() {}\n\n /**\n * Get the singleton instance of the SimpleLogger.\n * @returns {SimpleLogger} The singleton instance of the SimpleLogger.\n */\n static getInstance(): SimpleLogger {\n if (!SimpleLogger.instance) {\n SimpleLogger.instance = new SimpleLogger();\n }\n return SimpleLogger.instance;\n }\n\n /**\n * Formats the message to be logged.\n * @private\n * @param level The log level to be used.\n * @param message The message to be logged.\n * @returns The formatted message.\n */\n private formatMessage(\n level: keyof typeof LogLevelNames,\n message: string,\n ): string {\n return `[${level}] ${message}`;\n }\n\n /**\n * Logs the message with the appropriate console function\n * @param level The log level to be used.\n * @param message The message to be logged.\n */\n private logWith(level: keyof typeof LogLevelNames, message: string): void {\n const consoleFunction = this.mapLogLevelToConsoleFunction(level);\n consoleFunction(this.formatMessage(level, message));\n }\n\n /**\n * Maps the log level to the appropriate console function.\n * @param level The log level to be used.\n * @returns The console function to be used for the log level.\n */\n private mapLogLevelToConsoleFunction(\n level: keyof typeof LogLevelNames,\n ): (message: string, ...args: any[]) => void {\n return logLevelToConsoleFunction[level];\n }\n\n /**\n * Uses the `console.debug` method to log the message if the log level is set to debug or lower.\n * @param message The message to be logged.\n */\n debug(message: string): void {\n if (this.logLevel <= LogLevelNumber.Debug) {\n this.logWith(\"Debug\", message);\n }\n }\n\n /**\n * Uses the `console.warn` method to log the message if the log level is set to warn or lower.\n * @param message The message to be logged.\n */\n warn(message: string): void {\n if (this.logLevel <= LogLevelNumber.Warn) {\n this.logWith(\"Warn\", message);\n }\n }\n\n /**\n * Uses the `console.error` method to log the message if the log level is set to error or lower.\n * @param message The message to be logged.\n */\n error(message: string): void {\n if (this.logLevel <= LogLevelNumber.Error) {\n this.logWith(\"Error\", message);\n }\n }\n\n /**\n * Uses the `console.trace` method to log the message if the log level is set to trace or lower.\n * @param message The message to be logged.\n */\n trace(message: string): void {\n if (this.logLevel <= LogLevelNumber.Trace) {\n this.logWith(\"Trace\", message);\n }\n }\n\n /**\n * Uses the `console.info` method to log the message if the log level is set to info or lower.\n * @param message The message to be logged.\n */\n info(message: string): void {\n if (this.logLevel <= LogLevelNumber.Info) {\n this.logWith(\"Info\", message);\n }\n }\n\n /**\n * Sets the log level to the specified level as a numeric representation of it, if given a string.\n * @param level The log level to be set.\n */\n setLogLevel(level: LogLevel): void {\n if (typeof level === \"number\") {\n this.logLevel = level;\n } else {\n this.logLevel = LogLevelReverseMap[level];\n }\n }\n}\n\nexport const logger = SimpleLogger.getInstance();\nexport type { LogLevel };\n","import type { ReadStream } from \"fs\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport { ImportError } from \"./Errors\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\n// Todo: use generic to extract filter_by values\nexport interface DeleteQuery {\n filter_by?: string;\n batch_size?: number;\n ignore_not_found?: boolean;\n}\n\nexport interface DeleteResponse {\n num_deleted: number;\n}\n\ninterface ImportResponseSuccess {\n success: true;\n}\n\nexport interface ImportResponseFail {\n success: false;\n error: string;\n document: DocumentSchema;\n code: number;\n}\n\nexport type ImportResponse = ImportResponseSuccess | ImportResponseFail;\n\nexport type DocumentSchema = Record;\n\nexport interface SearchParamsWithPreset extends Partial {\n preset: string;\n}\n\ntype DropTokensMode =\n | \"right_to_left\"\n | \"left_to_right\"\n | \"both_sides:3\";\n\ntype OperationMode = \"off\" | \"always\" | \"fallback\";\nexport interface SearchParams {\n // From https://typesense.org/docs/latest/api/documents.html#arguments\n q?: string;\n query_by?: string | string[];\n query_by_weights?: string | number[];\n prefix?: string | boolean | boolean[]; // default: true\n filter_by?: string;\n enable_lazy_filter?: boolean; // default: false\n sort_by?: string | string[]; // default: text match desc\n facet_by?: string | string[];\n max_facet_values?: number;\n facet_sample_threshold?: number;\n facet_sample_percent?: number;\n facet_query?: string;\n facet_query_num_typos?: number;\n facet_return_parent?: string;\n page?: number; // default: 1\n per_page?: number; // default: 10, max 250\n group_by?: string | string[];\n group_limit?: number; // default:\n group_missing_values?: boolean;\n include_fields?: string | string[];\n exclude_fields?: string | string[];\n highlight_fields?: string | string[]; // default: all queried fields\n highlight_full_fields?: string | string[]; // default: all fields\n highlight_affix_num_tokens?: number; // default: 4\n highlight_start_tag?: string; // default: \n highlight_end_tag?: string; // default: \n enable_highlight_v1?: boolean;\n snippet_threshold?: number; // default: 30\n num_typos?: string | number | number[]; // default: 2\n min_len_1typo?: number;\n min_len_2typo?: number;\n split_join_tokens?: OperationMode;\n exhaustive_search?: boolean;\n drop_tokens_threshold?: number; // default: 10\n drop_tokens_mode?: DropTokensMode;\n typo_tokens_threshold?: number; // default: 100\n pinned_hits?: string | string[];\n hidden_hits?: string | string[];\n limit_hits?: number; // default: no limit\n pre_segmented_query?: boolean;\n enable_overrides?: boolean;\n override_tags?: string | string[];\n prioritize_exact_match?: boolean; // default: true\n prioritize_token_position?: boolean;\n prioritize_num_matching_fields?: boolean;\n search_cutoff_ms?: number;\n use_cache?: boolean;\n max_candidates?: number;\n infix?: OperationMode | OperationMode[];\n preset?: string;\n text_match_type?: \"max_score\" | \"max_weight\";\n vector_query?: string;\n \"x-typesense-api-key\"?: string;\n \"x-typesense-user-id\"?: string;\n offset?: number;\n limit?: number;\n stopwords?: string;\n conversation?: boolean;\n conversation_model_id?: string;\n conversation_id?: string;\n voice_query?: string;\n}\n\ntype SearchResponseHighlightObject = {\n matched_tokens?: string[];\n snippet?: string;\n value?: string;\n};\n\nexport type SearchResponseHighlight = T extends string | number\n ? SearchResponseHighlightObject\n : {\n [TAttribute in keyof T]?: SearchResponseHighlight;\n };\n\nexport interface SearchResponseHit {\n curated?: true;\n highlights?: [\n {\n field: keyof T;\n snippet?: string;\n value?: string;\n snippets?: string[];\n indices?: number[];\n matched_tokens: string[][] | string[];\n },\n ];\n highlight: SearchResponseHighlight;\n document: T;\n text_match: number;\n text_match_info?: {\n best_field_score: string; // To prevent scores from being truncated by JSON spec\n best_field_weight: number;\n fields_matched: number;\n score: string; // To prevent scores from being truncated by JSON spec\n tokens_matched: number;\n };\n}\n\nexport interface SearchResponseFacetCountSchema {\n counts: {\n count: number;\n highlighted: string;\n value: string;\n }[];\n field_name: keyof T;\n stats: {\n avg?: number;\n max?: number;\n min?: number;\n sum?: number;\n };\n}\n\nexport interface SearchResponseRequestParams {\n collection_name?: string;\n q?: string;\n page?: number;\n per_page?: number;\n first_q?: string;\n voice_query?: {\n transcribed_query?: string;\n };\n}\n\n// Todo: we could infer whether this is a grouped response by adding the search params as a generic\nexport interface SearchResponse {\n facet_counts?: SearchResponseFacetCountSchema[];\n found: number;\n found_docs?: number;\n out_of: number;\n page: number;\n request_params: SearchResponseRequestParams;\n search_time_ms: number;\n search_cutoff?: boolean;\n hits?: SearchResponseHit[];\n grouped_hits?: {\n group_key: string[];\n hits: SearchResponseHit[];\n found?: number;\n }[];\n conversation?: {\n answer: string;\n conversation_history: {\n conversation: object[];\n id: string;\n last_updated: number;\n ttl: number;\n };\n conversation_id: string;\n query: string;\n };\n error?: string;\n code?: number;\n}\n\nexport interface DocumentWriteParameters {\n dirty_values?: \"coerce_or_reject\" | \"coerce_or_drop\" | \"drop\" | \"reject\";\n action?: \"create\" | \"update\" | \"upsert\" | \"emplace\";\n}\n\nexport interface UpdateByFilterParameters {\n filter_by?: string;\n}\n\nexport interface UpdateByFilterResponse {\n num_updated: number;\n}\n\nexport interface DocumentImportParameters extends DocumentWriteParameters {\n batch_size?: number;\n return_doc?: boolean;\n return_id?: boolean;\n}\n\nexport interface DocumentsExportParameters {\n filter_by?: string;\n include_fields?: string;\n exclude_fields?: string;\n}\n\nexport interface SearchableDocuments {\n search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n options: SearchOptions,\n ): Promise>;\n clearCache(): void;\n}\n\nexport interface WriteableDocuments {\n create(document: T, options: DocumentWriteParameters): Promise;\n upsert(document: T, options: DocumentWriteParameters): Promise;\n update(document: T, options: DocumentWriteParameters): Promise;\n delete(query: DeleteQuery): Promise;\n import(\n documents: T[] | string,\n options: DocumentWriteParameters,\n ): Promise;\n export(options: DocumentsExportParameters): Promise;\n}\n\nexport interface SearchOptions {\n cacheSearchResultsForSeconds?: number;\n abortSignal?: AbortSignal | null;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class Documents\n extends SearchOnlyDocuments\n implements WriteableDocuments\n{\n constructor(\n collectionName: string,\n apiCall: ApiCall,\n configuration: Configuration,\n ) {\n super(collectionName, apiCall, configuration);\n }\n\n async create(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(this.endpointPath(), document, options);\n }\n\n async upsert(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"upsert\" }),\n );\n }\n\n async update(\n document: T,\n options: UpdateByFilterParameters,\n ): Promise;\n async update(document: T, options: DocumentWriteParameters): Promise;\n async update(\n document: T,\n options: DocumentWriteParameters | UpdateByFilterParameters = {},\n ): Promise {\n if (!document) throw new Error(\"No document provided\");\n\n if (options[\"filter_by\"] != null) {\n return this.apiCall.patch(\n this.endpointPath(),\n document,\n Object.assign({}, options),\n );\n } else {\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"update\" }),\n );\n }\n }\n\n async delete(\n query: DeleteQuery = {} as DeleteQuery,\n ): Promise {\n return this.apiCall.delete(this.endpointPath(), query);\n }\n\n async createMany(documents: T[], options: DocumentImportParameters = {}) {\n this.configuration.logger.warn(\n \"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 );\n return this.import(documents, options);\n }\n\n /**\n * Import a set of documents in a batch.\n * @param {string|Array} documents - Can be a JSONL string of documents or an array of document objects.\n * @param options\n * @return {string|Array} Returns a JSONL string if the input was a JSONL string, otherwise it returns an array of results.\n */\n async import(\n documents: string,\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[],\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[] | string,\n options: DocumentImportParameters = {},\n ): Promise {\n let documentsInJSONLFormat;\n if (Array.isArray(documents)) {\n try {\n documentsInJSONLFormat = documents\n .map((document) => JSON.stringify(document))\n .join(\"\\n\");\n } catch (error: any) {\n // if rangeerror, throw custom error message\n if (\n error instanceof RangeError &&\n error.message.includes(\"Too many properties to enumerate\")\n ) {\n throw new Error(`${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\n // else, throw the non-range error anyways\n throw new Error(error);\n }\n } else {\n documentsInJSONLFormat = documents;\n }\n\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n if (Array.isArray(documents)) {\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter(\n (r) => r.success === false,\n );\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n } else {\n return resultsInJSONLFormat as string;\n }\n }\n /**\n * Imports documents from a NodeJS readable stream of JSONL.\n */\n async importStream(\n readableStream: ReadStream,\n options: DocumentImportParameters = {},\n ): Promise {\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\n queryParameters: options,\n bodyParameters: readableStream,\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter((r) => r.success === false);\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n }\n\n /**\n * Returns a JSONL string for all the documents in this collection\n */\n async export(options: DocumentsExportParameters = {}): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options);\n }\n\n /**\n * Returns a NodeJS readable stream of JSONL for all the documents in this collection.\n */\n async exportStream(\n options: DocumentsExportParameters = {},\n ): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options, {\n responseType: \"stream\",\n });\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { OverrideSchema } from \"./Override\";\n\nconst RESOURCEPATH = \"/overrides\";\n\nexport interface OverrideRuleQuerySchema {\n query?: string;\n match?: \"exact\" | \"contains\";\n}\n\nexport interface OverrideRuleFilterSchema {\n filter_by?: string;\n}\n\nexport interface OverrideRuleTagsSchema {\n tags?: string[];\n}\n\nexport interface OverrideCreateSchema {\n rule: OverrideRuleQuerySchema &\n OverrideRuleFilterSchema &\n OverrideRuleTagsSchema;\n filter_by?: string;\n sort_by?: string;\n remove_matched_tokens?: boolean;\n replace_query?: string;\n includes?: Array<{\n id: string;\n position: number;\n }>;\n excludes?: Array<{ id: string }>;\n filter_curated_hits?: boolean;\n effective_from_ts?: number;\n effective_to_ts?: number;\n stop_processing?: boolean;\n metadata?: object;\n}\n\nexport interface OverridesRetrieveSchema {\n overrides: OverrideSchema[];\n}\n\nexport default class Overrides {\n constructor(\n private collectionName: string,\n private apiCall: ApiCall,\n ) {}\n\n async upsert(\n overrideId: string,\n params: OverrideCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(overrideId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${\n Overrides.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n"]} \ No newline at end of file diff --git a/dist/Typesense.min.mjs b/dist/Typesense.min.mjs new file mode 100644 index 00000000..5656e7fd --- /dev/null +++ b/dist/Typesense.min.mjs @@ -0,0 +1,9 @@ +var xe=Object.defineProperty;var Te=(r,e)=>{for(var t in e)xe(r,t,{get:e[t],enumerable:!0})};var Ee={trace:0,debug:1,info:2,warn:3,error:4,silent:5},F={Trace:0,Debug:1,Info:2,Warn:3,Error:4,Silent:5};var we={Trace:(...r)=>console.trace(...r),Debug:(...r)=>console.debug(...r),Info:(...r)=>console.info(...r),Warn:(...r)=>console.warn(...r),Error:(...r)=>console.error(...r),Silent:()=>{}},de=class r{constructor(){this.logLevel=F.Warn}static getInstance(){return r.instance||(r.instance=new r),r.instance}formatMessage(e,t){return`[${e}] ${t}`}logWith(e,t){this.mapLogLevelToConsoleFunction(e)(this.formatMessage(e,t))}mapLogLevelToConsoleFunction(e){return we[e]}debug(e){this.logLevel<=F.Debug&&this.logWith("Debug",e)}warn(e){this.logLevel<=F.Warn&&this.logWith("Warn",e)}error(e){this.logLevel<=F.Error&&this.logWith("Error",e)}trace(e){this.logLevel<=F.Trace&&this.logWith("Trace",e)}info(e){this.logLevel<=F.Info&&this.logWith("Info",e)}setLogLevel(e){typeof e=="number"?this.logLevel=e:this.logLevel=Ee[e]}},Ce=de.getInstance();var ue={};Te(ue,{HTTPError:()=>S,ImportError:()=>f,MissingConfigurationError:()=>u,ObjectAlreadyExists:()=>v,ObjectNotFound:()=>g,ObjectUnprocessable:()=>R,RequestMalformed:()=>P,RequestUnauthorized:()=>b,ServerError:()=>_,TypesenseError:()=>a});var a=class extends Error{constructor(e){super(e),this.name=new.target.name,Object.setPrototypeOf(this,new.target.prototype)}};var S=class extends a{};var u=class extends a{};var v=class extends a{};var g=class extends a{};var R=class extends a{};var P=class extends a{};var b=class extends a{};var _=class extends a{};var f=class extends a{constructor(e,t){super(e),this.importResults=t}};var A=class{constructor(e){this.nodes=e.nodes||[],this.nodes=this.nodes.map(t=>this.setDefaultPathInNode(t)).map(t=>this.setDefaultPortInNode(t)).map(t=>({...t})),e.randomizeNodes==null&&(e.randomizeNodes=!0),e.randomizeNodes===!0&&this.shuffleArray(this.nodes),this.nearestNode=e.nearestNode,this.nearestNode=this.setDefaultPathInNode(this.nearestNode),this.nearestNode=this.setDefaultPortInNode(this.nearestNode),this.connectionTimeoutSeconds=e.connectionTimeoutSeconds||e.timeoutSeconds||5,this.healthcheckIntervalSeconds=e.healthcheckIntervalSeconds||60,this.numRetries=e.numRetries||this.nodes.length+(this.nearestNode==null?0:1)||3,this.retryIntervalSeconds=e.retryIntervalSeconds||.1,this.apiKey=e.apiKey,this.sendApiKeyAsQueryParam=e.sendApiKeyAsQueryParam,this.cacheSearchResultsForSeconds=e.cacheSearchResultsForSeconds||0,this.useServerSideSearchCache=e.useServerSideSearchCache||!1,this.logger=e.logger||Ce,this.logLevel=e.logLevel||"warn",this.logger.setLogLevel(this.logLevel),this.additionalHeaders=e.additionalHeaders,this.httpAgent=e.httpAgent,this.httpsAgent=e.httpsAgent,this.paramsSerializer=e.paramsSerializer,this.showDeprecationWarnings(e),this.validate()}validate(){if(this.nodes==null||this.nodes.length===0||this.validateNodes())throw new u("Ensure that nodes[].protocol, nodes[].host and nodes[].port are set");if(this.nearestNode!=null&&this.isNodeMissingAnyParameters(this.nearestNode))throw new u("Ensure that nearestNodes.protocol, nearestNodes.host and nearestNodes.port are set");if(this.apiKey==null)throw new u("Ensure that apiKey is set");return!0}validateNodes(){return this.nodes.some(e=>this.isNodeMissingAnyParameters(e))}isNodeMissingAnyParameters(e){return!["protocol","host","port","path"].every(t=>e.hasOwnProperty(t))&&e.url==null}setDefaultPathInNode(e){return e!=null&&!e.hasOwnProperty("path")&&(e.path=""),e}setDefaultPortInNode(e){if(e!=null&&!e.hasOwnProperty("port")&&e.hasOwnProperty("protocol"))switch(e.protocol){case"https":e.port=443;break;case"http":e.port=80;break}return e}showDeprecationWarnings(e){e.timeoutSeconds&&this.logger.warn("Deprecation warning: timeoutSeconds is now renamed to connectionTimeoutSeconds"),e.masterNode&&this.logger.warn("Deprecation warning: masterNode is now consolidated to nodes, starting with Typesense Server v0.12"),e.readReplicaNodes&&this.logger.warn("Deprecation warning: readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12")}shuffleArray(e){for(let t=e.length-1;t>0;t--){let i=Math.floor(Math.random()*(t+1));[e[t],e[i]]=[e[i],e[t]]}}};import Se from"axios";import{Agent as Oe}from"http";import{Agent as Ne}from"https";var De="X-TYPESENSE-API-KEY",ge=!0,He=!1,ve=typeof process<"u"&&process.versions!=null&&process.versions.node!=null,x=class{constructor(e){this.configuration=e;this.apiKey=this.configuration.apiKey,this.nodes=this.configuration.nodes==null?this.configuration.nodes:JSON.parse(JSON.stringify(this.configuration.nodes)),this.nearestNode=this.configuration.nearestNode==null?this.configuration.nearestNode:JSON.parse(JSON.stringify(this.configuration.nearestNode)),this.connectionTimeoutSeconds=this.configuration.connectionTimeoutSeconds,this.healthcheckIntervalSeconds=this.configuration.healthcheckIntervalSeconds,this.numRetriesPerRequest=this.configuration.numRetries,this.retryIntervalSeconds=this.configuration.retryIntervalSeconds,this.sendApiKeyAsQueryParam=this.configuration.sendApiKeyAsQueryParam,this.additionalUserHeaders=this.configuration.additionalHeaders,this.logger=this.configuration.logger,this.initializeMetadataForNodes(),this.currentNodeIndex=-1}async get(e,t={},{abortSignal:i=null,responseType:n=void 0}={}){return this.performRequest("get",e,{queryParameters:t,abortSignal:i,responseType:n})}async delete(e,t={}){return this.performRequest("delete",e,{queryParameters:t})}async post(e,t={},i={},n={}){return this.performRequest("post",e,{queryParameters:i,bodyParameters:t,additionalHeaders:n})}async put(e,t={},i={}){return this.performRequest("put",e,{queryParameters:i,bodyParameters:t})}async patch(e,t={},i={}){return this.performRequest("patch",e,{queryParameters:i,bodyParameters:t})}async performRequest(e,t,{queryParameters:i=null,bodyParameters:n=null,additionalHeaders:s={},abortSignal:o=null,responseType:I=void 0,skipConnectionTimeout:h=!1,enableKeepAlive:y=void 0}){this.configuration.validate();let c=Date.now(),C;this.logger.debug(`Request #${c}: Performing ${e.toUpperCase()} request: ${t}`);for(let q=1;q<=this.numRetriesPerRequest+1;q++){let d=this.getNextNode(c);if(this.logger.debug(`Request #${c}: Attempting ${e.toUpperCase()} request Try #${q} to Node ${d.index}`),o&&o.aborted)return Promise.reject(new Error("Request aborted by caller."));let z;try{let l={method:e,url:this.uriFor(t,d),headers:Object.assign({},this.defaultHeaders(),s,this.additionalUserHeaders),maxContentLength:1/0,maxBodyLength:1/0,responseType:I,validateStatus:K=>K>0,transformResponse:[(K,W)=>{let ye=K;return W!==void 0&&typeof K=="string"&&W["content-type"]&&W["content-type"].startsWith("application/json")&&(ye=JSON.parse(K)),ye}]};if(h!==!0&&(l.timeout=this.connectionTimeoutSeconds*1e3),i&&Object.keys(i).length!==0&&(l.params=i),this.sendApiKeyAsQueryParam&&(l.params=l.params||{},l.params["x-typesense-api-key"]=this.apiKey),this.configuration.httpAgent?(this.logger.debug(`Request #${c}: Using custom httpAgent`),l.httpAgent=this.configuration.httpAgent):y===!0&&(ve?(this.logger.debug(`Request #${c}: Enabling KeepAlive`),l.httpAgent=new Oe({keepAlive:!0})):this.logger.warn(`Request #${c}: Cannot use custom httpAgent in a browser environment to enable keepAlive`)),this.configuration.httpsAgent?(this.logger.debug(`Request #${c}: Using custom httpsAgent`),l.httpsAgent=this.configuration.httpsAgent):y===!0&&(ve?(this.logger.debug(`Request #${c}: Enabling keepAlive`),l.httpsAgent=new Ne({keepAlive:!0})):this.logger.warn(`Request #${c}: Cannot use custom httpAgent in a browser environment to enable keepAlive`)),this.configuration.paramsSerializer&&(this.logger.debug(`Request #${c}: Using custom paramsSerializer`),l.paramsSerializer=this.configuration.paramsSerializer),n&&(typeof n=="string"&&n.length!==0||typeof n=="object"&&Object.keys(n).length!==0)&&(l.data=n),o){let W=Se.CancelToken.source();z=()=>W.cancel(),o.addEventListener("abort",z),l.cancelToken=W.token}let m=await Se(l);if(m.status>=1&&m.status<=499&&this.setNodeHealthcheck(d,ge),this.logger.debug(`Request #${c}: Request to Node ${d.index} was made. Response Code was ${m.status}.`),m.status>=200&&m.status<300)return Promise.resolve(m.data);if(m.status<500)return Promise.reject(this.customErrorForResponse(m,m.data?.message));throw this.customErrorForResponse(m,m.data?.message)}catch(l){this.setNodeHealthcheck(d,He),C=l,this.logger.warn(`Request #${c}: Request to Node ${d.index} failed due to "${l.code} ${l.message}${l.response==null?"":" - "+JSON.stringify(l.response?.data)}"`),this.logger.warn(`Request #${c}: Sleeping for ${this.retryIntervalSeconds}s and then retrying request...`),await this.timer(this.retryIntervalSeconds)}finally{o&&z&&o.removeEventListener("abort",z)}}return this.logger.debug(`Request #${c}: No retries left. Raising last error`),Promise.reject(C)}getNextNode(e=0){if(this.nearestNode!=null){if(this.logger.debug(`Request #${e}: Nodes Health: Node ${this.nearestNode.index} is ${this.nearestNode.isHealthy===!0?"Healthy":"Unhealthy"}`),this.nearestNode.isHealthy===!0||this.nodeDueForHealthcheck(this.nearestNode,e))return this.logger.debug(`Request #${e}: Updated current node to Node ${this.nearestNode.index}`),this.nearestNode;this.logger.debug(`Request #${e}: Falling back to individual nodes`)}this.logger.debug(`Request #${e}: Nodes Health: ${this.nodes.map(i=>`Node ${i.index} is ${i.isHealthy===!0?"Healthy":"Unhealthy"}`).join(" || ")}`);let t=this.nodes[0];for(let i=0;i<=this.nodes.length;i++)if(this.currentNodeIndex=(this.currentNodeIndex+1)%this.nodes.length,t=this.nodes[this.currentNodeIndex],t.isHealthy===!0||this.nodeDueForHealthcheck(t,e))return this.logger.debug(`Request #${e}: Updated current node to Node ${t.index}`),t;return this.logger.debug(`Request #${e}: No healthy nodes were found. Returning the next node, Node ${t.index}`),t}nodeDueForHealthcheck(e,t=0){let i=Date.now()-e.lastAccessTimestamp>this.healthcheckIntervalSeconds*1e3;return i&&this.logger.debug(`Request #${t}: Node ${e.index} has exceeded healtcheckIntervalSeconds of ${this.healthcheckIntervalSeconds}. Adding it back into rotation.`),i}initializeMetadataForNodes(){this.nearestNode!=null&&(this.nearestNode.index="nearestNode",this.setNodeHealthcheck(this.nearestNode,ge)),this.nodes.forEach((e,t)=>{e.index=t,this.setNodeHealthcheck(e,ge)})}setNodeHealthcheck(e,t){e.isHealthy=t,e.lastAccessTimestamp=Date.now()}uriFor(e,t){return t.url!=null?`${t.url}${e}`:`${t.protocol}://${t.host}:${t.port}${t.path}${e}`}defaultHeaders(){let e={};return this.sendApiKeyAsQueryParam||(e[De]=this.apiKey),e["Content-Type"]="application/json",e}async timer(e){return new Promise(t=>setTimeout(t,e*1e3))}customErrorForResponse(e,t){let i=`Request failed with HTTP code ${e.status}`;typeof t=="string"&&t.trim()!==""&&(i+=` | Server said: ${t}`);let n=new a(i);return e.status===400?n=new P(i):e.status===401?n=new b(i):e.status===404?n=new g(i):e.status===409?n=new v(i):e.status===422?n=new R(i):e.status>=500&&e.status<=599?n=new _(i):n=new S(i),n.httpStatus=e.status,n}};var fe="/collections",p=class{constructor(e){this.apiCall=e}async create(e,t={}){return this.apiCall.post(fe,e,t)}async retrieve(e={}){return this.apiCall.get(fe,e)}static get RESOURCEPATH(){return fe}};var T=class{constructor(){this.responseCache=new Map;this.responsePromiseCache=new Map}clearCache(){this.responseCache=new Map,this.responsePromiseCache=new Map}async perform(e,t,i,n){let{cacheResponseForSeconds:s=120,maxSize:o=100}=n;if(s<=0||o<=0)return t.call(e,...i);let h=JSON.stringify(i),y=this.responseCache.get(h),c=Date.now();if(y){if(c-y.requestTimestampo){let m=this.responseCache.keys().next().value;this.responseCache.delete(m)}if(this.responsePromiseCache.size>o){let m=this.responsePromiseCache.keys().next().value;this.responsePromiseCache.delete(m)}return d}};var Re="/documents",j=class{constructor(e,t,i){this.collectionName=e;this.apiCall=t;this.configuration=i;this.requestWithCache=new T}clearCache(){this.requestWithCache.clearCache()}async search(e,{cacheSearchResultsForSeconds:t=this.configuration.cacheSearchResultsForSeconds,abortSignal:i=null}={}){let n={};this.configuration.useServerSideSearchCache===!0&&(n.use_cache=!0);for(let o in e)Array.isArray(e[o])&&(n[o]=e[o].join(","));let s=Object.assign({},e,n);return this.requestWithCache.perform(this.apiCall,this.apiCall.get,[this.endpointPath("search"),s,{abortSignal:i}],{cacheResponseForSeconds:t})}endpointPath(e){return`${p.RESOURCEPATH}/${this.collectionName}${Re}${e===void 0?"":"/"+e}`}static get RESOURCEPATH(){return Re}};var Pe=typeof process<"u"&&process.versions!=null&&process.versions.node!=null,E=class extends j{constructor(e,t,i){super(e,t,i)}async create(e,t={}){if(!e)throw new Error("No document provided");return this.apiCall.post(this.endpointPath(),e,t)}async upsert(e,t={}){if(!e)throw new Error("No document provided");return this.apiCall.post(this.endpointPath(),e,Object.assign({},t,{action:"upsert"}))}async update(e,t={}){if(!e)throw new Error("No document provided");return t.filter_by!=null?this.apiCall.patch(this.endpointPath(),e,Object.assign({},t)):this.apiCall.post(this.endpointPath(),e,Object.assign({},t,{action:"update"}))}async delete(e={}){return this.apiCall.delete(this.endpointPath(),e)}async createMany(e,t={}){return 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"),this.import(e,t)}async import(e,t={}){let i;if(Array.isArray(e))try{i=e.map(s=>JSON.stringify(s)).join(` +`)}catch(s){throw s instanceof RangeError&&s.message.includes("Too many properties to enumerate")?new Error(`${s} + 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 + + Please try reducing the number of keys in your document, or using CURL to import your data. + `):new Error(s)}else i=e;let n=await this.apiCall.performRequest("post",this.endpointPath("import"),{queryParameters:t,bodyParameters:i,additionalHeaders:{"Content-Type":"text/plain"},skipConnectionTimeout:!0,enableKeepAlive:!!Pe});if(Array.isArray(e)){let s=n.split(` +`).map(I=>JSON.parse(I)),o=s.filter(I=>I.success===!1);if(o.length>0)throw new f(`${s.length-o.length} documents imported successfully, ${o.length} documents failed during import. Use \`error.importResults\` from the raised exception to get a detailed error reason for each document.`,s);return s}else return n}async importStream(e,t={}){let n=(await this.apiCall.performRequest("post",this.endpointPath("import"),{queryParameters:t,bodyParameters:e,additionalHeaders:{"Content-Type":"text/plain"},skipConnectionTimeout:!0,enableKeepAlive:!!Pe})).split(` +`).map(o=>JSON.parse(o)),s=n.filter(o=>o.success===!1);if(s.length>0)throw new f(`${n.length-s.length} documents imported successfully, ${s.length} documents failed during import. Use \`error.importResults\` from the raised exception to get a detailed error reason for each document.`,n);return n}async export(e={}){return this.apiCall.get(this.endpointPath("export"),e)}async exportStream(e={}){return this.apiCall.get(this.endpointPath("export"),e,{responseType:"stream"})}};var Ue="/overrides",w=class r{constructor(e,t){this.collectionName=e;this.apiCall=t}async upsert(e,t){return this.apiCall.put(this.endpointPath(e),t)}async retrieve(){return this.apiCall.get(this.endpointPath())}endpointPath(e){return`${p.RESOURCEPATH}/${this.collectionName}${r.RESOURCEPATH}${e===void 0?"":"/"+encodeURIComponent(e)}`}static get RESOURCEPATH(){return Ue}};var Q=class{constructor(e,t,i){this.collectionName=e;this.overrideId=t;this.apiCall=i}async retrieve(){return this.apiCall.get(this.endpointPath())}async delete(){return this.apiCall.delete(this.endpointPath())}endpointPath(){return`${p.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${w.RESOURCEPATH}/${encodeURIComponent(this.overrideId)}`}};var $e="/synonyms",O=class r{constructor(e,t){this.collectionName=e;this.apiCall=t}async upsert(e,t){return this.apiCall.put(this.endpointPath(e),t)}async retrieve(){return this.apiCall.get(this.endpointPath())}endpointPath(e){return`${p.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${r.RESOURCEPATH}${e===void 0?"":"/"+encodeURIComponent(e)}`}static get RESOURCEPATH(){return $e}};var J=class{constructor(e,t,i){this.collectionName=e;this.synonymId=t;this.apiCall=i}async retrieve(){return this.apiCall.get(this.endpointPath())}async delete(){return this.apiCall.delete(this.endpointPath())}endpointPath(){return`${p.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${O.RESOURCEPATH}/${encodeURIComponent(this.synonymId)}`}};var me=class{constructor(e,t,i){this.collectionName=e;this.documentId=t;this.apiCall=i}async retrieve(){return this.apiCall.get(this.endpointPath())}async delete(e){return this.apiCall.delete(this.endpointPath(),e)}async update(e,t={}){return this.apiCall.patch(this.endpointPath(),e,t)}endpointPath(){return`${p.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${E.RESOURCEPATH}/${encodeURIComponent(this.documentId)}`}};var B=class{constructor(e,t,i){this.name=e;this.apiCall=t;this.configuration=i;this.individualDocuments={};this.individualOverrides={};this.individualSynonyms={};this.name=e,this.apiCall=t,this.configuration=i,this._documents=new E(this.name,this.apiCall,this.configuration),this._overrides=new w(this.name,this.apiCall),this._synonyms=new O(this.name,this.apiCall)}async retrieve(){return this.apiCall.get(this.endpointPath())}async update(e){return this.apiCall.patch(this.endpointPath(),e)}async delete(){return this.apiCall.delete(this.endpointPath())}async exists(){try{return await this.retrieve(),!0}catch(e){if(e instanceof g)return!1;throw e}}documents(e){return e?(this.individualDocuments[e]===void 0&&(this.individualDocuments[e]=new me(this.name,e,this.apiCall)),this.individualDocuments[e]):this._documents}overrides(e){return e===void 0?this._overrides:(this.individualOverrides[e]===void 0&&(this.individualOverrides[e]=new Q(this.name,e,this.apiCall)),this.individualOverrides[e])}synonyms(e){return e===void 0?this._synonyms:(this.individualSynonyms[e]===void 0&&(this.individualSynonyms[e]=new J(this.name,e,this.apiCall)),this.individualSynonyms[e])}endpointPath(){return`${p.RESOURCEPATH}/${encodeURIComponent(this.name)}`}};var be="/aliases",N=class r{constructor(e){this.apiCall=e}async upsert(e,t){return this.apiCall.put(this.endpointPath(e),t)}async retrieve(){return this.apiCall.get(be)}endpointPath(e){return`${r.RESOURCEPATH}/${encodeURIComponent(e)}`}static get RESOURCEPATH(){return be}};var V=class{constructor(e,t){this.name=e;this.apiCall=t}async retrieve(){return this.apiCall.get(this.endpointPath())}async delete(){return this.apiCall.delete(this.endpointPath())}endpointPath(){return`${N.RESOURCEPATH}/${encodeURIComponent(this.name)}`}};import{createHmac as Me}from"crypto";var _e="/keys",D=class r{constructor(e){this.apiCall=e;this.apiCall=e}async create(e){return this.apiCall.post(r.RESOURCEPATH,e)}async retrieve(){return this.apiCall.get(_e)}generateScopedSearchKey(e,t){let i=JSON.stringify(t),n=Buffer.from(Me("sha256",e).update(i).digest("base64")),s=e.substr(0,4),o=`${n}${s}${i}`;return Buffer.from(o).toString("base64")}static get RESOURCEPATH(){return _e}};var Y=class{constructor(e,t){this.id=e;this.apiCall=t}async retrieve(){return this.apiCall.get(this.endpointPath())}async delete(){return this.apiCall.delete(this.endpointPath())}endpointPath(){return`${D.RESOURCEPATH}/${encodeURIComponent(this.id)}`}};var Le="/debug",G=class{constructor(e){this.apiCall=e}async retrieve(){return this.apiCall.get(Le)}};var ke="/metrics.json",X=class{constructor(e){this.apiCall=e}async retrieve(){return this.apiCall.get(ke)}};var Ie="/stats.json",Z=class{constructor(e){this.apiCall=e}async retrieve(){return this.apiCall.get(Ie)}};var qe="/health",ee=class{constructor(e){this.apiCall=e}async retrieve(){return this.apiCall.get(qe)}};var Ke="/operations",te=class{constructor(e){this.apiCall=e}async perform(e,t={}){return this.apiCall.post(`${Ke}/${e}`,{},t)}};var We="/multi_search",H=class{constructor(e,t,i=!1){this.apiCall=e;this.configuration=t;this.useTextContentType=i;this.requestWithCache=new T}clearCache(){this.requestWithCache.clearCache()}async perform(e,t={},{cacheSearchResultsForSeconds:i=this.configuration.cacheSearchResultsForSeconds}={}){let n={};this.useTextContentType&&(n["content-type"]="text/plain");let s={};this.configuration.useServerSideSearchCache===!0&&(s.use_cache=!0);let o=Object.assign({},t,s);return this.requestWithCache.perform(this.apiCall,this.apiCall.post,[We,e,o,n],{cacheResponseForSeconds:i})}};var Fe="/presets",U=class r{constructor(e){this.apiCall=e}async upsert(e,t){return this.apiCall.put(this.endpointPath(e),t)}async retrieve(){return this.apiCall.get(this.endpointPath())}endpointPath(e){return`${r.RESOURCEPATH}${e===void 0?"":"/"+encodeURIComponent(e)}`}static get RESOURCEPATH(){return Fe}};var re=class{constructor(e,t){this.presetId=e;this.apiCall=t}async retrieve(){return this.apiCall.get(this.endpointPath())}async delete(){return this.apiCall.delete(this.endpointPath())}endpointPath(){return`${U.RESOURCEPATH}/${encodeURIComponent(this.presetId)}`}};var je="/analytics/rules",$=class r{constructor(e){this.apiCall=e;this.apiCall=e}async upsert(e,t){return this.apiCall.put(this.endpointPath(e),t)}async retrieve(){return this.apiCall.get(this.endpointPath())}endpointPath(e){return`${r.RESOURCEPATH}${e===void 0?"":"/"+encodeURIComponent(e)}`}static get RESOURCEPATH(){return je}};var ie=class{constructor(e,t){this.name=e;this.apiCall=t}async retrieve(){return this.apiCall.get(this.endpointPath())}async delete(){return this.apiCall.delete(this.endpointPath())}endpointPath(){return`${$.RESOURCEPATH}/${encodeURIComponent(this.name)}`}};var ze="/analytics/events",ne=class r{constructor(e){this.apiCall=e;this.apiCall=e}async create(e){return this.apiCall.post(this.endpointPath(),e)}endpointPath(e){return`${r.RESOURCEPATH}${e===void 0?"":"/"+encodeURIComponent(e)}`}static get RESOURCEPATH(){return ze}};var Qe="/analytics",se=class{constructor(e){this.apiCall=e;this.individualAnalyticsRules={};this.apiCall=e,this._analyticsRules=new $(this.apiCall),this._analyticsEvents=new ne(this.apiCall)}rules(e){return e===void 0?this._analyticsRules:(this.individualAnalyticsRules[e]===void 0&&(this.individualAnalyticsRules[e]=new ie(e,this.apiCall)),this.individualAnalyticsRules[e])}events(){return this._analyticsEvents}static get RESOURCEPATH(){return Qe}};var Je="/stopwords",M=class r{constructor(e){this.apiCall=e}async upsert(e,t){return this.apiCall.put(this.endpointPath(e),t)}async retrieve(){return this.apiCall.get(this.endpointPath())}endpointPath(e){return`${r.RESOURCEPATH}${e===void 0?"":"/"+encodeURIComponent(e)}`}static get RESOURCEPATH(){return Je}};var oe=class{constructor(e,t){this.stopwordId=e;this.apiCall=t}async retrieve(){return this.apiCall.get(this.endpointPath())}async delete(){return this.apiCall.delete(this.endpointPath())}endpointPath(){return`${M.RESOURCEPATH}/${encodeURIComponent(this.stopwordId)}`}};var Be="/conversations/models",L=class r{constructor(e){this.apiCall=e;this.apiCall=e}async create(e){return this.apiCall.post(this.endpointPath(),e)}async retrieve(){return this.apiCall.get(this.endpointPath())}endpointPath(e){return`${r.RESOURCEPATH}${e===void 0?"":"/"+encodeURIComponent(e)}`}static get RESOURCEPATH(){return Be}};var ae=class{constructor(e,t){this.id=e;this.apiCall=t}async update(e){return this.apiCall.put(this.endpointPath(),e)}async retrieve(){return this.apiCall.get(this.endpointPath())}async delete(){return this.apiCall.delete(this.endpointPath())}endpointPath(){return`${L.RESOURCEPATH}/${encodeURIComponent(this.id)}`}};var Ae="/conversations",k=class{constructor(e){this.apiCall=e;this.individualConversationModels={};this.apiCall=e,this._conversationsModels=new L(this.apiCall)}async retrieve(){return this.apiCall.get(Ae)}models(e){return e===void 0?this._conversationsModels:(this.individualConversationModels[e]===void 0&&(this.individualConversationModels[e]=new ae(e,this.apiCall)),this.individualConversationModels[e])}static get RESOURCEPATH(){return Ae}};var le=class{constructor(e,t){this.id=e;this.apiCall=t}async retrieve(){return this.apiCall.get(this.endpointPath())}async update(e){return this.apiCall.put(this.endpointPath(),e)}async delete(){return this.apiCall.delete(this.endpointPath())}endpointPath(){return`${k.RESOURCEPATH}/${encodeURIComponent(this.id)}`}};var ce=class{constructor(e){e.sendApiKeyAsQueryParam=e.sendApiKeyAsQueryParam??!1,this.configuration=new A(e),this.apiCall=new x(this.configuration),this.debug=new G(this.apiCall),this.metrics=new X(this.apiCall),this.stats=new Z(this.apiCall),this.health=new ee(this.apiCall),this.operations=new te(this.apiCall),this.multiSearch=new H(this.apiCall,this.configuration),this._collections=new p(this.apiCall),this.individualCollections={},this._aliases=new N(this.apiCall),this.individualAliases={},this._keys=new D(this.apiCall),this.individualKeys={},this._presets=new U(this.apiCall),this.individualPresets={},this._stopwords=new M(this.apiCall),this.individualStopwords={},this.analytics=new se(this.apiCall),this._conversations=new k(this.apiCall),this.individualConversations={}}collections(e){return e===void 0?this._collections:(this.individualCollections[e]===void 0&&(this.individualCollections[e]=new B(e,this.apiCall,this.configuration)),this.individualCollections[e])}aliases(e){return e===void 0?this._aliases:(this.individualAliases[e]===void 0&&(this.individualAliases[e]=new V(e,this.apiCall)),this.individualAliases[e])}keys(e){return e===void 0?this._keys:(this.individualKeys[e]===void 0&&(this.individualKeys[e]=new Y(e,this.apiCall)),this.individualKeys[e])}presets(e){return e===void 0?this._presets:(this.individualPresets[e]===void 0&&(this.individualPresets[e]=new re(e,this.apiCall)),this.individualPresets[e])}stopwords(e){return e===void 0?this._stopwords:(this.individualStopwords[e]===void 0&&(this.individualStopwords[e]=new oe(e,this.apiCall)),this.individualStopwords[e])}conversations(e){return e===void 0?this._conversations:(this.individualConversations[e]===void 0&&(this.individualConversations[e]=new le(e,this.apiCall)),this.individualConversations[e])}};var he=class{constructor(e,t,i){this.name=e;this.apiCall=t;this.configuration=i;this._documents=new j(this.name,this.apiCall,this.configuration)}documents(){return this._documents}};var pe=class{constructor(e){e.sendApiKeyAsQueryParam=e.sendApiKeyAsQueryParam??!0,e.sendApiKeyAsQueryParam===!0&&(e.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."),e.sendApiKeyAsQueryParam=!1),this.configuration=new A(e),this.apiCall=new x(this.configuration),this.multiSearch=new H(this.apiCall,this.configuration,!0),this.individualCollections={}}clearCache(){this.multiSearch.clearCache(),Object.entries(this.individualCollections).forEach(([e,t])=>{t.documents().clearCache()})}collections(e){if(e)return this.individualCollections[e]===void 0&&(this.individualCollections[e]=new he(e,this.apiCall,this.configuration)),this.individualCollections[e];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.")}};var Ii={Client:ce,SearchClient:pe,Errors:ue};export{ce as Client,ue as Errors,pe as SearchClient,Ii as default}; +//# sourceMappingURL=Typesense.min.mjs.map \ No newline at end of file diff --git a/dist/Typesense.min.mjs.map b/dist/Typesense.min.mjs.map new file mode 100644 index 00000000..8cf1470c --- /dev/null +++ b/dist/Typesense.min.mjs.map @@ -0,0 +1 @@ +{"version":3,"sources":["../src/Typesense/Logger.ts","../src/Typesense/Errors/index.ts","../src/Typesense/Errors/TypesenseError.ts","../src/Typesense/Errors/HTTPError.ts","../src/Typesense/Errors/MissingConfigurationError.ts","../src/Typesense/Errors/ObjectAlreadyExists.ts","../src/Typesense/Errors/ObjectNotFound.ts","../src/Typesense/Errors/ObjectUnprocessable.ts","../src/Typesense/Errors/RequestMalformed.ts","../src/Typesense/Errors/RequestUnauthorized.ts","../src/Typesense/Errors/ServerError.ts","../src/Typesense/Errors/ImportError.ts","../src/Typesense/Configuration.ts","../src/Typesense/ApiCall.ts","../src/Typesense/Collections.ts","../src/Typesense/RequestWithCache.ts","../src/Typesense/SearchOnlyDocuments.ts","../src/Typesense/Documents.ts","../src/Typesense/Overrides.ts","../src/Typesense/Override.ts","../src/Typesense/Synonyms.ts","../src/Typesense/Synonym.ts","../src/Typesense/Document.ts","../src/Typesense/Collection.ts","../src/Typesense/Aliases.ts","../src/Typesense/Alias.ts","../src/Typesense/Keys.ts","../src/Typesense/Key.ts","../src/Typesense/Debug.ts","../src/Typesense/Metrics.ts","../src/Typesense/Stats.ts","../src/Typesense/Health.ts","../src/Typesense/Operations.ts","../src/Typesense/MultiSearch.ts","../src/Typesense/Presets.ts","../src/Typesense/Preset.ts","../src/Typesense/AnalyticsRules.ts","../src/Typesense/AnalyticsRule.ts","../src/Typesense/AnalyticsEvents.ts","../src/Typesense/Analytics.ts","../src/Typesense/Stopwords.ts","../src/Typesense/Stopword.ts","../src/Typesense/ConversationModels.ts","../src/Typesense/ConversationModel.ts","../src/Typesense/Conversations.ts","../src/Typesense/Conversation.ts","../src/Typesense/Client.ts","../src/Typesense/SearchOnlyCollection.ts","../src/Typesense/SearchClient.ts","../src/Typesense.ts"],"sourcesContent":["/**\n * Represents the log levels that can be used in the logger with their corresponding number values.\n */\ntype LogLevelMap = {\n Trace: \"trace\" | 0;\n Debug: \"debug\" | 1;\n Info: \"info\" | 2;\n Warn: \"warn\" | 3;\n Error: \"error\" | 4;\n Silent: \"silent\" | 5;\n};\n\n/**\n * Represents mapping of the number values of the log levels.\n */\ntype LogLevelNumberValuesMap = {\n [K in keyof LogLevelMap]: LogLevelMap[K] extends infer R\n ? R extends number\n ? R\n : never\n : never;\n};\n\n/**\n * Numeric representation of the possible log levels.\n */\ntype LogLevelNumberValues =\n LogLevelNumberValuesMap[keyof LogLevelNumberValuesMap];\n\n/**\n * Represents the mapping of the string values to the number values of the log levels.\n */\ntype StringToNumberRepresentationLogLevelMap = {\n [K in keyof LogLevelMap as LogLevelMap[K] extends infer R\n ? R extends string\n ? R\n : never\n : never]: LogLevelMap[K] extends infer R\n ? R extends number\n ? R\n : never\n : never;\n};\n\n/**\n * Object that maps the log levels to their corresponding number values.\n * Used for always mapping the log level to number for comparison's sake.\n */\nconst LogLevelReverseMap = {\n trace: 0,\n debug: 1,\n info: 2,\n warn: 3,\n error: 4,\n silent: 5,\n} as const satisfies StringToNumberRepresentationLogLevelMap;\n\n/**\n * Represents the log levels that can be used in the logger.\n */\ntype LogLevel = LogLevelMap[keyof LogLevelMap];\n\n/**\n * Object that maps the log levels to their corresponding number values.\n */\nconst LogLevelNumber = {\n Trace: 0,\n Debug: 1,\n Info: 2,\n Warn: 3,\n Error: 4,\n Silent: 5,\n} as const satisfies { [K in keyof LogLevelMap]: LogLevelMap[K] };\n\n/**\n * Object that maps the log levels to their corresponding string values.\n */\nconst LogLevelNames = {\n Trace: \"trace\",\n Debug: \"debug\",\n Info: \"info\",\n Warn: \"warn\",\n Error: \"error\",\n Silent: \"silent\",\n} as const satisfies { [K in keyof LogLevelMap]: LogLevelMap[K] };\n\n/**\n * Object that maps the the console methods to the log levels.\n */\nconst logLevelToConsoleFunction = {\n Trace: (...args: any[]) => console.trace(...args),\n Debug: (...args: any[]) => console.debug(...args),\n Info: (...args: any[]) => console.info(...args),\n Warn: (...args: any[]) => console.warn(...args),\n Error: (...args: any[]) => console.error(...args),\n Silent: () => {},\n} as const satisfies { [K in keyof LogLevelMap]: (message: string) => void };\n\n/**\n * A simple logging class using a singleton pattern.\n * Only prints to stdout.\n */\nclass SimpleLogger {\n private static instance: SimpleLogger;\n /**\n * Numeric representation of the log level set.\n * Defaults to LogLevelNumber.Warn.\n * @private\n * @type {LogLevelNumberValues}\n */\n private logLevel: LogLevelNumberValues = LogLevelNumber.Warn;\n\n /**\n * Private constructor to prevent instantiation.\n * @private\n */\n private constructor() {}\n\n /**\n * Get the singleton instance of the SimpleLogger.\n * @returns {SimpleLogger} The singleton instance of the SimpleLogger.\n */\n static getInstance(): SimpleLogger {\n if (!SimpleLogger.instance) {\n SimpleLogger.instance = new SimpleLogger();\n }\n return SimpleLogger.instance;\n }\n\n /**\n * Formats the message to be logged.\n * @private\n * @param level The log level to be used.\n * @param message The message to be logged.\n * @returns The formatted message.\n */\n private formatMessage(\n level: keyof typeof LogLevelNames,\n message: string,\n ): string {\n return `[${level}] ${message}`;\n }\n\n /**\n * Logs the message with the appropriate console function\n * @param level The log level to be used.\n * @param message The message to be logged.\n */\n private logWith(level: keyof typeof LogLevelNames, message: string): void {\n const consoleFunction = this.mapLogLevelToConsoleFunction(level);\n consoleFunction(this.formatMessage(level, message));\n }\n\n /**\n * Maps the log level to the appropriate console function.\n * @param level The log level to be used.\n * @returns The console function to be used for the log level.\n */\n private mapLogLevelToConsoleFunction(\n level: keyof typeof LogLevelNames,\n ): (message: string, ...args: any[]) => void {\n return logLevelToConsoleFunction[level];\n }\n\n /**\n * Uses the `console.debug` method to log the message if the log level is set to debug or lower.\n * @param message The message to be logged.\n */\n debug(message: string): void {\n if (this.logLevel <= LogLevelNumber.Debug) {\n this.logWith(\"Debug\", message);\n }\n }\n\n /**\n * Uses the `console.warn` method to log the message if the log level is set to warn or lower.\n * @param message The message to be logged.\n */\n warn(message: string): void {\n if (this.logLevel <= LogLevelNumber.Warn) {\n this.logWith(\"Warn\", message);\n }\n }\n\n /**\n * Uses the `console.error` method to log the message if the log level is set to error or lower.\n * @param message The message to be logged.\n */\n error(message: string): void {\n if (this.logLevel <= LogLevelNumber.Error) {\n this.logWith(\"Error\", message);\n }\n }\n\n /**\n * Uses the `console.trace` method to log the message if the log level is set to trace or lower.\n * @param message The message to be logged.\n */\n trace(message: string): void {\n if (this.logLevel <= LogLevelNumber.Trace) {\n this.logWith(\"Trace\", message);\n }\n }\n\n /**\n * Uses the `console.info` method to log the message if the log level is set to info or lower.\n * @param message The message to be logged.\n */\n info(message: string): void {\n if (this.logLevel <= LogLevelNumber.Info) {\n this.logWith(\"Info\", message);\n }\n }\n\n /**\n * Sets the log level to the specified level as a numeric representation of it, if given a string.\n * @param level The log level to be set.\n */\n setLogLevel(level: LogLevel): void {\n if (typeof level === \"number\") {\n this.logLevel = level;\n } else {\n this.logLevel = LogLevelReverseMap[level];\n }\n }\n}\n\nexport const logger = SimpleLogger.getInstance();\nexport type { LogLevel };\n","import HTTPError from \"./HTTPError\";\nimport MissingConfigurationError from \"./MissingConfigurationError\";\nimport ObjectAlreadyExists from \"./ObjectAlreadyExists\";\nimport ObjectNotFound from \"./ObjectNotFound\";\nimport ObjectUnprocessable from \"./ObjectUnprocessable\";\nimport RequestMalformed from \"./RequestMalformed\";\nimport RequestUnauthorized from \"./RequestUnauthorized\";\nimport ServerError from \"./ServerError\";\nimport ImportError from \"./ImportError\";\nimport TypesenseError from \"./TypesenseError\";\n\nexport {\n HTTPError,\n MissingConfigurationError,\n ObjectAlreadyExists,\n ObjectNotFound,\n ObjectUnprocessable,\n RequestMalformed,\n RequestUnauthorized,\n ServerError,\n TypesenseError,\n ImportError,\n};\n","export default class TypesenseError extends Error {\n httpStatus?: number;\n\n // Source: https://stackoverflow.com/a/58417721/123545\n constructor(message?: string) {\n super(message);\n this.name = new.target.name;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class HTTPError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class MissingConfigurationError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectAlreadyExists extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectNotFound extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectUnprocessable extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestMalformed extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestUnauthorized extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ServerError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\nimport { ImportResponse } from \"../Documents\";\n\nexport default class ImportError extends TypesenseError {\n importResults: ImportResponse[];\n constructor(message: string, importResults: ImportResponse[]) {\n super(message);\n this.importResults = importResults;\n }\n}\n","import { logger } from \"./Logger\";\nimport type { LogLevel } from \"./Logger\";\nimport { MissingConfigurationError } from \"./Errors\";\nimport type { Agent as HTTPAgent } from \"http\";\nimport type { Agent as HTTPSAgent } from \"https\";\n\nexport interface NodeConfiguration {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n url?: string;\n}\n\nexport interface NodeConfigurationWithHostname {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n}\n\nexport interface NodeConfigurationWithUrl {\n url: string;\n}\n\nexport interface ConfigurationOptions {\n apiKey: string;\n nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n randomizeNodes?: boolean;\n /**\n * @deprecated\n * masterNode is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n masterNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n /**\n * @deprecated\n * readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n readReplicaNodes?:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n connectionTimeoutSeconds?: number;\n timeoutSeconds?: number;\n healthcheckIntervalSeconds?: number;\n numRetries?: number;\n retryIntervalSeconds?: number;\n sendApiKeyAsQueryParam?: boolean | undefined;\n useServerSideSearchCache?: boolean;\n cacheSearchResultsForSeconds?: number;\n additionalHeaders?: Record;\n logger?: typeof logger;\n logLevel?: LogLevel;\n\n /**\n * Set a custom HTTP Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPAgent } = require(\"http\");\n * ...\n * httpAgent: new HTTPAgent({ keepAlive: true }),\n * @type {HTTPAgent}\n */\n httpAgent?: HTTPAgent;\n\n /**\n * Set a custom HTTPS Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPSAgent } = require(\"https\");\n * ...\n * httpsAgent: new HTTPSAgent({ keepAlive: true }),\n * @type {HTTPSAgent}\n */\n httpsAgent?: HTTPSAgent;\n\n /**\n * Set a custom paramsSerializer\n *\n * See axios documentation for more information on how to use this parameter: https://axios-http.com/docs/req_config\n * This is helpful for handling React Native issues like this: https://github.com/axios/axios/issues/6102#issuecomment-2085301397\n * @type {any}\n */\n paramsSerializer?: any;\n}\n\nexport default class Configuration {\n readonly nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n readonly nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n readonly connectionTimeoutSeconds: number;\n readonly healthcheckIntervalSeconds: number;\n readonly numRetries: number;\n readonly retryIntervalSeconds: number;\n readonly apiKey: string;\n readonly sendApiKeyAsQueryParam?: boolean;\n readonly cacheSearchResultsForSeconds: number;\n readonly useServerSideSearchCache: boolean;\n readonly logger: typeof logger;\n readonly logLevel: LogLevel;\n readonly additionalHeaders?: Record;\n readonly httpAgent?: HTTPAgent;\n readonly httpsAgent?: HTTPSAgent;\n readonly paramsSerializer?: any;\n\n constructor(options: ConfigurationOptions) {\n this.nodes = options.nodes || [];\n this.nodes = this.nodes\n .map((node) => this.setDefaultPathInNode(node))\n .map((node) => this.setDefaultPortInNode(node))\n .map((node) => ({ ...node })) as NodeConfiguration[]; // Make a deep copy\n\n if (options.randomizeNodes == null) {\n options.randomizeNodes = true;\n }\n\n if (options.randomizeNodes === true) {\n this.shuffleArray(this.nodes);\n }\n\n this.nearestNode = options.nearestNode;\n this.nearestNode = this.setDefaultPathInNode(this.nearestNode);\n this.nearestNode = this.setDefaultPortInNode(this.nearestNode);\n\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\n this.apiKey = options.apiKey;\n this.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam; // We will set a default for this in Client and SearchClient\n\n this.cacheSearchResultsForSeconds =\n options.cacheSearchResultsForSeconds || 0; // Disable client-side cache by default\n this.useServerSideSearchCache = options.useServerSideSearchCache || false;\n\n this.logger = options.logger || logger;\n this.logLevel = options.logLevel || \"warn\";\n this.logger.setLogLevel(this.logLevel);\n\n this.additionalHeaders = options.additionalHeaders;\n\n this.httpAgent = options.httpAgent;\n this.httpsAgent = options.httpsAgent;\n\n this.paramsSerializer = options.paramsSerializer;\n\n this.showDeprecationWarnings(options);\n this.validate();\n }\n\n validate(): boolean {\n if (this.nodes == null || this.nodes.length === 0 || this.validateNodes()) {\n throw new MissingConfigurationError(\n \"Ensure that nodes[].protocol, nodes[].host and nodes[].port are set\",\n );\n }\n\n if (\n this.nearestNode != null &&\n this.isNodeMissingAnyParameters(this.nearestNode)\n ) {\n throw new MissingConfigurationError(\n \"Ensure that nearestNodes.protocol, nearestNodes.host and nearestNodes.port are set\",\n );\n }\n\n if (this.apiKey == null) {\n throw new MissingConfigurationError(\"Ensure that apiKey is set\");\n }\n\n return true;\n }\n\n private validateNodes(): boolean {\n return this.nodes.some((node) => {\n return this.isNodeMissingAnyParameters(node);\n });\n }\n\n private isNodeMissingAnyParameters(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl,\n ): boolean {\n return (\n ![\"protocol\", \"host\", \"port\", \"path\"].every((key) => {\n return node.hasOwnProperty(key);\n }) && node[\"url\"] == null\n );\n }\n\n private setDefaultPathInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (node != null && !node.hasOwnProperty(\"path\")) {\n node[\"path\"] = \"\";\n }\n return node;\n }\n\n private setDefaultPortInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (\n node != null &&\n !node.hasOwnProperty(\"port\") &&\n node.hasOwnProperty(\"protocol\")\n ) {\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\n private showDeprecationWarnings(options: ConfigurationOptions): void {\n if (options.timeoutSeconds) {\n this.logger.warn(\n \"Deprecation warning: timeoutSeconds is now renamed to connectionTimeoutSeconds\",\n );\n }\n if (options.masterNode) {\n this.logger.warn(\n \"Deprecation warning: masterNode is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n if (options.readReplicaNodes) {\n this.logger.warn(\n \"Deprecation warning: readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n }\n\n private shuffleArray(array) {\n for (let i = array.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [array[i], array[j]] = [array[j], array[i]];\n }\n }\n}\n","import axios, { AxiosRequestConfig, AxiosResponse, Method } from \"axios\";\nimport { logger } from \"./Logger\";\nimport {\n HTTPError,\n ObjectAlreadyExists,\n ObjectNotFound,\n ObjectUnprocessable,\n RequestMalformed,\n RequestUnauthorized,\n ServerError,\n} from \"./Errors\";\nimport TypesenseError from \"./Errors/TypesenseError\";\nimport Configuration, { NodeConfiguration } from \"./Configuration\";\nimport { Agent as HTTPAgent } from \"http\";\nimport { Agent as HTTPSAgent } from \"https\";\n\nconst APIKEYHEADERNAME = \"X-TYPESENSE-API-KEY\";\nconst HEALTHY = true;\nconst UNHEALTHY = false;\n\ninterface Node extends NodeConfiguration {\n isHealthy: boolean;\n index: string | number;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class ApiCall {\n private readonly apiKey: string;\n private readonly nodes: Node[];\n private readonly nearestNode: Node;\n private readonly connectionTimeoutSeconds: number;\n private readonly healthcheckIntervalSeconds: number;\n private readonly retryIntervalSeconds: number;\n private readonly sendApiKeyAsQueryParam?: boolean;\n private readonly numRetriesPerRequest: number;\n private readonly additionalUserHeaders?: Record;\n\n private readonly logger: typeof logger;\n private currentNodeIndex: number;\n\n constructor(private 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\n this.logger = this.configuration.logger;\n\n this.initializeMetadataForNodes();\n this.currentNodeIndex = -1;\n }\n\n async get(\n endpoint: string,\n queryParameters: any = {},\n {\n abortSignal = null,\n responseType = undefined,\n }: {\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n } = {},\n ): Promise {\n return this.performRequest(\"get\", endpoint, {\n queryParameters,\n abortSignal,\n responseType,\n });\n }\n\n async delete(endpoint: string, queryParameters: any = {}): Promise {\n return this.performRequest(\"delete\", endpoint, { queryParameters });\n }\n\n async post(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n additionalHeaders: any = {},\n ): Promise {\n return this.performRequest(\"post\", endpoint, {\n queryParameters,\n bodyParameters,\n additionalHeaders,\n });\n }\n\n async put(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"put\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async patch(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"patch\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async performRequest(\n requestType: Method,\n endpoint: string,\n {\n queryParameters = null,\n bodyParameters = null,\n additionalHeaders = {},\n abortSignal = null,\n responseType = undefined,\n skipConnectionTimeout = false,\n enableKeepAlive = undefined,\n }: {\n queryParameters?: any;\n bodyParameters?: any;\n additionalHeaders?: any;\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n skipConnectionTimeout?: boolean;\n enableKeepAlive?: boolean | undefined;\n },\n ): Promise {\n this.configuration.validate();\n\n const requestNumber = Date.now();\n let lastException;\n this.logger.debug(\n `Request #${requestNumber}: Performing ${requestType.toUpperCase()} request: ${endpoint}`,\n );\n for (\n let numTries = 1;\n numTries <= this.numRetriesPerRequest + 1;\n numTries++\n ) {\n const node = this.getNextNode(requestNumber);\n this.logger.debug(\n `Request #${requestNumber}: Attempting ${requestType.toUpperCase()} request Try #${numTries} to Node ${\n node.index\n }`,\n );\n\n if (abortSignal && abortSignal.aborted) {\n return Promise.reject(new Error(\"Request aborted by caller.\"));\n }\n\n let abortListener;\n\n try {\n const requestOptions: AxiosRequestConfig = {\n method: requestType,\n url: this.uriFor(endpoint, node),\n headers: Object.assign(\n {},\n this.defaultHeaders(),\n additionalHeaders,\n this.additionalUserHeaders,\n ),\n maxContentLength: Infinity,\n maxBodyLength: Infinity,\n responseType,\n validateStatus: (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 (data, headers) => {\n let transformedData = data;\n if (\n headers !== undefined &&\n typeof data === \"string\" &&\n headers[\"content-type\"] &&\n headers[\"content-type\"].startsWith(\"application/json\")\n ) {\n transformedData = JSON.parse(data);\n }\n return transformedData;\n },\n ],\n };\n\n if (skipConnectionTimeout !== true) {\n requestOptions.timeout = this.connectionTimeoutSeconds * 1000;\n }\n\n if (queryParameters && Object.keys(queryParameters).length !== 0) {\n requestOptions.params = queryParameters;\n }\n\n if (this.sendApiKeyAsQueryParam) {\n requestOptions.params = requestOptions.params || {};\n requestOptions.params[\"x-typesense-api-key\"] = this.apiKey;\n }\n\n if (this.configuration.httpAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpAgent`,\n );\n requestOptions.httpAgent = this.configuration.httpAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling KeepAlive`);\n requestOptions.httpAgent = new HTTPAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.httpsAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpsAgent`,\n );\n requestOptions.httpsAgent = this.configuration.httpsAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling keepAlive`);\n requestOptions.httpsAgent = new HTTPSAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.paramsSerializer) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom paramsSerializer`,\n );\n requestOptions.paramsSerializer = this.configuration.paramsSerializer;\n }\n\n if (\n bodyParameters &&\n ((typeof bodyParameters === \"string\" &&\n bodyParameters.length !== 0) ||\n (typeof bodyParameters === \"object\" &&\n Object.keys(bodyParameters).length !== 0))\n ) {\n requestOptions.data = bodyParameters;\n }\n\n // Translate from user-provided AbortController to the Axios request cancel mechanism.\n if (abortSignal) {\n const cancelToken = axios.CancelToken;\n const source = cancelToken.source();\n abortListener = () => source.cancel();\n abortSignal.addEventListener(\"abort\", abortListener);\n requestOptions.cancelToken = source.token;\n }\n\n const response = await axios(requestOptions);\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.setNodeHealthcheck(node, HEALTHY);\n }\n this.logger.debug(\n `Request #${requestNumber}: Request to Node ${node.index} was made. Response Code was ${response.status}.`,\n );\n\n if (response.status >= 200 && response.status < 300) {\n // If response is 2xx return a resolved promise\n return Promise.resolve(response.data);\n } else if (response.status < 500) {\n // Next, if response is anything but 5xx, don't retry, return a custom error\n return Promise.reject(\n this.customErrorForResponse(response, response.data?.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.customErrorForResponse(response, response.data?.message);\n }\n } catch (error: any) {\n // This block handles retries for HTTPStatus > 500 and network layer issues like connection timeouts\n this.setNodeHealthcheck(node, UNHEALTHY);\n lastException = error;\n this.logger.warn(\n `Request #${requestNumber}: Request to Node ${\n node.index\n } failed due to \"${error.code} ${error.message}${\n error.response == null\n ? \"\"\n : \" - \" + JSON.stringify(error.response?.data)\n }\"`,\n );\n // this.logger.debug(error.stack)\n this.logger.warn(\n `Request #${requestNumber}: Sleeping for ${this.retryIntervalSeconds}s and then retrying request...`,\n );\n await this.timer(this.retryIntervalSeconds);\n } finally {\n if (abortSignal && abortListener) {\n abortSignal.removeEventListener(\"abort\", abortListener);\n }\n }\n }\n this.logger.debug(\n `Request #${requestNumber}: No retries left. Raising last error`,\n );\n return Promise.reject(lastException);\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 getNextNode(requestNumber = 0): Node {\n // Check if nearestNode is set and is healthy, if so return it\n if (this.nearestNode != null) {\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: Node ${\n this.nearestNode.index\n } is ${this.nearestNode.isHealthy === true ? \"Healthy\" : \"Unhealthy\"}`,\n );\n if (\n this.nearestNode.isHealthy === true ||\n this.nodeDueForHealthcheck(this.nearestNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${this.nearestNode.index}`,\n );\n return this.nearestNode;\n }\n this.logger.debug(\n `Request #${requestNumber}: Falling back to individual nodes`,\n );\n }\n\n // Fallback to nodes as usual\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: ${this.nodes\n .map(\n (node) =>\n `Node ${node.index} is ${\n node.isHealthy === true ? \"Healthy\" : \"Unhealthy\"\n }`,\n )\n .join(\" || \")}`,\n );\n let candidateNode: Node = this.nodes[0];\n for (let i = 0; i <= this.nodes.length; i++) {\n this.currentNodeIndex = (this.currentNodeIndex + 1) % this.nodes.length;\n candidateNode = this.nodes[this.currentNodeIndex];\n if (\n candidateNode.isHealthy === true ||\n this.nodeDueForHealthcheck(candidateNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\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(\n `Request #${requestNumber}: No healthy nodes were found. Returning the next node, Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\n\n nodeDueForHealthcheck(node, requestNumber = 0): boolean {\n const isDueForHealthcheck =\n Date.now() - node.lastAccessTimestamp >\n this.healthcheckIntervalSeconds * 1000;\n if (isDueForHealthcheck) {\n this.logger.debug(\n `Request #${requestNumber}: Node ${node.index} has exceeded healtcheckIntervalSeconds of ${this.healthcheckIntervalSeconds}. Adding it back into rotation.`,\n );\n }\n return isDueForHealthcheck;\n }\n\n initializeMetadataForNodes(): void {\n if (this.nearestNode != null) {\n this.nearestNode.index = \"nearestNode\";\n this.setNodeHealthcheck(this.nearestNode, HEALTHY);\n }\n\n this.nodes.forEach((node, i) => {\n node.index = i;\n this.setNodeHealthcheck(node, HEALTHY);\n });\n }\n\n setNodeHealthcheck(node, isHealthy): void {\n node.isHealthy = isHealthy;\n node.lastAccessTimestamp = Date.now();\n }\n\n uriFor(endpoint: string, node): string {\n if (node.url != null) {\n return `${node.url}${endpoint}`;\n }\n return `${node.protocol}://${node.host}:${node.port}${node.path}${endpoint}`;\n }\n\n defaultHeaders(): any {\n const defaultHeaders = {};\n if (!this.sendApiKeyAsQueryParam) {\n defaultHeaders[APIKEYHEADERNAME] = this.apiKey;\n }\n defaultHeaders[\"Content-Type\"] = \"application/json\";\n return defaultHeaders;\n }\n\n async timer(seconds): Promise {\n return new Promise((resolve) => setTimeout(resolve, seconds * 1000));\n }\n\n customErrorForResponse(\n response: AxiosResponse,\n messageFromServer: string,\n ): TypesenseError {\n let errorMessage = `Request failed with HTTP code ${response.status}`;\n if (\n typeof messageFromServer === \"string\" &&\n messageFromServer.trim() !== \"\"\n ) {\n errorMessage += ` | Server said: ${messageFromServer}`;\n }\n\n let error = new TypesenseError(errorMessage);\n\n if (response.status === 400) {\n error = new RequestMalformed(errorMessage);\n } else if (response.status === 401) {\n error = new RequestUnauthorized(errorMessage);\n } else if (response.status === 404) {\n error = new ObjectNotFound(errorMessage);\n } else if (response.status === 409) {\n error = new ObjectAlreadyExists(errorMessage);\n } else if (response.status === 422) {\n error = new ObjectUnprocessable(errorMessage);\n } else if (response.status >= 500 && response.status <= 599) {\n error = new ServerError(errorMessage);\n } else {\n error = new HTTPError(errorMessage);\n }\n\n error.httpStatus = response.status;\n\n return error;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { CollectionFieldSchema, CollectionSchema } from \"./Collection\";\n\nexport interface CollectionCreateSchema {\n name: string;\n default_sorting_field?: string;\n fields?: CollectionFieldSchema[];\n symbols_to_index?: string[];\n token_separators?: string[];\n enable_nested_fields?: boolean;\n metadata?: object;\n voice_query_model?: {\n model_name?: string;\n };\n}\n\nexport interface CollectionCreateOptions {\n src_name?: string;\n}\n\nexport interface CollectionsRetrieveOptions {\n exclude_fields?: string;\n}\n\nconst RESOURCEPATH = \"/collections\";\n\nexport default class Collections {\n constructor(private apiCall: ApiCall) {}\n\n async create(\n schema: CollectionCreateSchema,\n options: CollectionCreateOptions = {},\n ): Promise {\n return this.apiCall.post(RESOURCEPATH, schema, options);\n }\n\n async retrieve(\n options: CollectionsRetrieveOptions = {},\n ): Promise {\n return this.apiCall.get(RESOURCEPATH, options);\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","const defaultCacheResponseForSeconds = 2 * 60;\nconst defaultMaxSize = 100;\n\nexport default class RequestWithCache {\n private responseCache: Map = new Map();\n private responsePromiseCache: Map = new Map();\n\n clearCache() {\n this.responseCache = new Map();\n this.responsePromiseCache = new Map();\n }\n\n // Todo: should probably be passed a callback instead, or an apiCall instance. Types are messy this way\n async perform(\n requestContext: any,\n requestFunction: (...params: any) => unknown,\n requestFunctionArguments: any[],\n cacheOptions: CacheOptions\n ): Promise {\n const {\n cacheResponseForSeconds = defaultCacheResponseForSeconds,\n maxSize = defaultMaxSize,\n } = cacheOptions;\n const isCacheDisabled = cacheResponseForSeconds <= 0 || maxSize <= 0;\n\n if (isCacheDisabled) {\n return requestFunction.call(requestContext, ...requestFunctionArguments);\n }\n\n const requestFunctionArgumentsJSON = JSON.stringify(\n requestFunctionArguments\n );\n const cacheEntry = this.responseCache.get(requestFunctionArgumentsJSON);\n const now = Date.now();\n\n if (cacheEntry) {\n const isEntryValid =\n now - cacheEntry.requestTimestamp < cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n this.responseCache.set(requestFunctionArgumentsJSON, cacheEntry);\n return Promise.resolve(cacheEntry.response);\n } else {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n\n const cachePromiseEntry = this.responsePromiseCache.get(\n requestFunctionArgumentsJSON\n );\n\n if (cachePromiseEntry) {\n const isEntryValid =\n now - cachePromiseEntry.requestTimestamp <\n cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n this.responsePromiseCache.set(\n requestFunctionArgumentsJSON,\n cachePromiseEntry\n );\n return cachePromiseEntry.responsePromise;\n } else {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n\n const responsePromise = requestFunction.call(\n requestContext,\n ...requestFunctionArguments\n );\n this.responsePromiseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n responsePromise,\n });\n\n const response = await responsePromise;\n this.responseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n response,\n });\n\n const isCacheOverMaxSize = this.responseCache.size > maxSize;\n if (isCacheOverMaxSize) {\n const oldestEntry = this.responseCache.keys().next().value;\n this.responseCache.delete(oldestEntry);\n }\n const isResponsePromiseCacheOverMaxSize =\n this.responsePromiseCache.size > maxSize;\n if (isResponsePromiseCacheOverMaxSize) {\n const oldestEntry = this.responsePromiseCache.keys().next().value;\n this.responsePromiseCache.delete(oldestEntry);\n }\n return response as T;\n }\n}\n\ninterface CacheOptions {\n cacheResponseForSeconds?: number;\n maxSize?: number;\n}\n","import RequestWithCache from \"./RequestWithCache\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport Collections from \"./Collections\";\nimport type {\n DocumentSchema,\n SearchableDocuments,\n SearchOptions,\n SearchParams,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\n\nconst RESOURCEPATH = \"/documents\";\n\nexport class SearchOnlyDocuments\n implements SearchableDocuments\n{\n protected requestWithCache: RequestWithCache = new RequestWithCache();\n\n constructor(\n protected collectionName: string,\n protected apiCall: ApiCall,\n protected configuration: Configuration\n ) {}\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n abortSignal = null,\n }: SearchOptions = {}\n ): Promise> {\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n for (const key in searchParameters) {\n if (Array.isArray(searchParameters[key])) {\n additionalQueryParams[key] = searchParameters[key].join(\",\");\n }\n }\n const queryParams = Object.assign(\n {},\n searchParameters,\n additionalQueryParams\n );\n\n return this.requestWithCache.perform(\n this.apiCall,\n this.apiCall.get,\n [this.endpointPath(\"search\"), queryParams, { abortSignal }],\n {\n cacheResponseForSeconds: cacheSearchResultsForSeconds,\n }\n ) as Promise>;\n }\n\n protected endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + operation\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import type { ReadStream } from \"fs\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport { ImportError } from \"./Errors\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\n// Todo: use generic to extract filter_by values\nexport interface DeleteQuery {\n filter_by?: string;\n batch_size?: number;\n ignore_not_found?: boolean;\n}\n\nexport interface DeleteResponse {\n num_deleted: number;\n}\n\ninterface ImportResponseSuccess {\n success: true;\n}\n\nexport interface ImportResponseFail {\n success: false;\n error: string;\n document: DocumentSchema;\n code: number;\n}\n\nexport type ImportResponse = ImportResponseSuccess | ImportResponseFail;\n\nexport type DocumentSchema = Record;\n\nexport interface SearchParamsWithPreset extends Partial {\n preset: string;\n}\n\ntype DropTokensMode =\n | \"right_to_left\"\n | \"left_to_right\"\n | \"both_sides:3\";\n\ntype OperationMode = \"off\" | \"always\" | \"fallback\";\nexport interface SearchParams {\n // From https://typesense.org/docs/latest/api/documents.html#arguments\n q?: string;\n query_by?: string | string[];\n query_by_weights?: string | number[];\n prefix?: string | boolean | boolean[]; // default: true\n filter_by?: string;\n enable_lazy_filter?: boolean; // default: false\n sort_by?: string | string[]; // default: text match desc\n facet_by?: string | string[];\n max_facet_values?: number;\n facet_sample_threshold?: number;\n facet_sample_percent?: number;\n facet_query?: string;\n facet_query_num_typos?: number;\n facet_return_parent?: string;\n page?: number; // default: 1\n per_page?: number; // default: 10, max 250\n group_by?: string | string[];\n group_limit?: number; // default:\n group_missing_values?: boolean;\n include_fields?: string | string[];\n exclude_fields?: string | string[];\n highlight_fields?: string | string[]; // default: all queried fields\n highlight_full_fields?: string | string[]; // default: all fields\n highlight_affix_num_tokens?: number; // default: 4\n highlight_start_tag?: string; // default: \n highlight_end_tag?: string; // default: \n enable_highlight_v1?: boolean;\n snippet_threshold?: number; // default: 30\n num_typos?: string | number | number[]; // default: 2\n min_len_1typo?: number;\n min_len_2typo?: number;\n split_join_tokens?: OperationMode;\n exhaustive_search?: boolean;\n drop_tokens_threshold?: number; // default: 10\n drop_tokens_mode?: DropTokensMode;\n typo_tokens_threshold?: number; // default: 100\n pinned_hits?: string | string[];\n hidden_hits?: string | string[];\n limit_hits?: number; // default: no limit\n pre_segmented_query?: boolean;\n enable_overrides?: boolean;\n override_tags?: string | string[];\n prioritize_exact_match?: boolean; // default: true\n prioritize_token_position?: boolean;\n prioritize_num_matching_fields?: boolean;\n search_cutoff_ms?: number;\n use_cache?: boolean;\n max_candidates?: number;\n infix?: OperationMode | OperationMode[];\n preset?: string;\n text_match_type?: \"max_score\" | \"max_weight\";\n vector_query?: string;\n \"x-typesense-api-key\"?: string;\n \"x-typesense-user-id\"?: string;\n offset?: number;\n limit?: number;\n stopwords?: string;\n conversation?: boolean;\n conversation_model_id?: string;\n conversation_id?: string;\n voice_query?: string;\n}\n\ntype SearchResponseHighlightObject = {\n matched_tokens?: string[];\n snippet?: string;\n value?: string;\n};\n\nexport type SearchResponseHighlight = T extends string | number\n ? SearchResponseHighlightObject\n : {\n [TAttribute in keyof T]?: SearchResponseHighlight;\n };\n\nexport interface SearchResponseHit {\n curated?: true;\n highlights?: [\n {\n field: keyof T;\n snippet?: string;\n value?: string;\n snippets?: string[];\n indices?: number[];\n matched_tokens: string[][] | string[];\n },\n ];\n highlight: SearchResponseHighlight;\n document: T;\n text_match: number;\n text_match_info?: {\n best_field_score: string; // To prevent scores from being truncated by JSON spec\n best_field_weight: number;\n fields_matched: number;\n score: string; // To prevent scores from being truncated by JSON spec\n tokens_matched: number;\n };\n}\n\nexport interface SearchResponseFacetCountSchema {\n counts: {\n count: number;\n highlighted: string;\n value: string;\n }[];\n field_name: keyof T;\n stats: {\n avg?: number;\n max?: number;\n min?: number;\n sum?: number;\n };\n}\n\nexport interface SearchResponseRequestParams {\n collection_name?: string;\n q?: string;\n page?: number;\n per_page?: number;\n first_q?: string;\n voice_query?: {\n transcribed_query?: string;\n };\n}\n\n// Todo: we could infer whether this is a grouped response by adding the search params as a generic\nexport interface SearchResponse {\n facet_counts?: SearchResponseFacetCountSchema[];\n found: number;\n found_docs?: number;\n out_of: number;\n page: number;\n request_params: SearchResponseRequestParams;\n search_time_ms: number;\n search_cutoff?: boolean;\n hits?: SearchResponseHit[];\n grouped_hits?: {\n group_key: string[];\n hits: SearchResponseHit[];\n found?: number;\n }[];\n conversation?: {\n answer: string;\n conversation_history: {\n conversation: object[];\n id: string;\n last_updated: number;\n ttl: number;\n };\n conversation_id: string;\n query: string;\n };\n error?: string;\n code?: number;\n}\n\nexport interface DocumentWriteParameters {\n dirty_values?: \"coerce_or_reject\" | \"coerce_or_drop\" | \"drop\" | \"reject\";\n action?: \"create\" | \"update\" | \"upsert\" | \"emplace\";\n}\n\nexport interface UpdateByFilterParameters {\n filter_by?: string;\n}\n\nexport interface UpdateByFilterResponse {\n num_updated: number;\n}\n\nexport interface DocumentImportParameters extends DocumentWriteParameters {\n batch_size?: number;\n return_doc?: boolean;\n return_id?: boolean;\n}\n\nexport interface DocumentsExportParameters {\n filter_by?: string;\n include_fields?: string;\n exclude_fields?: string;\n}\n\nexport interface SearchableDocuments {\n search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n options: SearchOptions,\n ): Promise>;\n clearCache(): void;\n}\n\nexport interface WriteableDocuments {\n create(document: T, options: DocumentWriteParameters): Promise;\n upsert(document: T, options: DocumentWriteParameters): Promise;\n update(document: T, options: DocumentWriteParameters): Promise;\n delete(query: DeleteQuery): Promise;\n import(\n documents: T[] | string,\n options: DocumentWriteParameters,\n ): Promise;\n export(options: DocumentsExportParameters): Promise;\n}\n\nexport interface SearchOptions {\n cacheSearchResultsForSeconds?: number;\n abortSignal?: AbortSignal | null;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class Documents\n extends SearchOnlyDocuments\n implements WriteableDocuments\n{\n constructor(\n collectionName: string,\n apiCall: ApiCall,\n configuration: Configuration,\n ) {\n super(collectionName, apiCall, configuration);\n }\n\n async create(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(this.endpointPath(), document, options);\n }\n\n async upsert(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"upsert\" }),\n );\n }\n\n async update(\n document: T,\n options: UpdateByFilterParameters,\n ): Promise;\n async update(document: T, options: DocumentWriteParameters): Promise;\n async update(\n document: T,\n options: DocumentWriteParameters | UpdateByFilterParameters = {},\n ): Promise {\n if (!document) throw new Error(\"No document provided\");\n\n if (options[\"filter_by\"] != null) {\n return this.apiCall.patch(\n this.endpointPath(),\n document,\n Object.assign({}, options),\n );\n } else {\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"update\" }),\n );\n }\n }\n\n async delete(\n query: DeleteQuery = {} as DeleteQuery,\n ): Promise {\n return this.apiCall.delete(this.endpointPath(), query);\n }\n\n async createMany(documents: T[], options: DocumentImportParameters = {}) {\n this.configuration.logger.warn(\n \"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 );\n return this.import(documents, options);\n }\n\n /**\n * Import a set of documents in a batch.\n * @param {string|Array} documents - Can be a JSONL string of documents or an array of document objects.\n * @param options\n * @return {string|Array} Returns a JSONL string if the input was a JSONL string, otherwise it returns an array of results.\n */\n async import(\n documents: string,\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[],\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[] | string,\n options: DocumentImportParameters = {},\n ): Promise {\n let documentsInJSONLFormat;\n if (Array.isArray(documents)) {\n try {\n documentsInJSONLFormat = documents\n .map((document) => JSON.stringify(document))\n .join(\"\\n\");\n } catch (error: any) {\n // if rangeerror, throw custom error message\n if (\n error instanceof RangeError &&\n error.message.includes(\"Too many properties to enumerate\")\n ) {\n throw new Error(`${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\n // else, throw the non-range error anyways\n throw new Error(error);\n }\n } else {\n documentsInJSONLFormat = documents;\n }\n\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n if (Array.isArray(documents)) {\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter(\n (r) => r.success === false,\n );\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n } else {\n return resultsInJSONLFormat as string;\n }\n }\n /**\n * Imports documents from a NodeJS readable stream of JSONL.\n */\n async importStream(\n readableStream: ReadStream,\n options: DocumentImportParameters = {},\n ): Promise {\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\n queryParameters: options,\n bodyParameters: readableStream,\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter((r) => r.success === false);\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n }\n\n /**\n * Returns a JSONL string for all the documents in this collection\n */\n async export(options: DocumentsExportParameters = {}): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options);\n }\n\n /**\n * Returns a NodeJS readable stream of JSONL for all the documents in this collection.\n */\n async exportStream(\n options: DocumentsExportParameters = {},\n ): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options, {\n responseType: \"stream\",\n });\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { OverrideSchema } from \"./Override\";\n\nconst RESOURCEPATH = \"/overrides\";\n\nexport interface OverrideRuleQuerySchema {\n query?: string;\n match?: \"exact\" | \"contains\";\n}\n\nexport interface OverrideRuleFilterSchema {\n filter_by?: string;\n}\n\nexport interface OverrideRuleTagsSchema {\n tags?: string[];\n}\n\nexport interface OverrideCreateSchema {\n rule: OverrideRuleQuerySchema &\n OverrideRuleFilterSchema &\n OverrideRuleTagsSchema;\n filter_by?: string;\n sort_by?: string;\n remove_matched_tokens?: boolean;\n replace_query?: string;\n includes?: Array<{\n id: string;\n position: number;\n }>;\n excludes?: Array<{ id: string }>;\n filter_curated_hits?: boolean;\n effective_from_ts?: number;\n effective_to_ts?: number;\n stop_processing?: boolean;\n metadata?: object;\n}\n\nexport interface OverridesRetrieveSchema {\n overrides: OverrideSchema[];\n}\n\nexport default class Overrides {\n constructor(\n private collectionName: string,\n private apiCall: ApiCall,\n ) {}\n\n async upsert(\n overrideId: string,\n params: OverrideCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(overrideId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${\n Overrides.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Overrides, { OverrideCreateSchema } from \"./Overrides\";\n\nexport interface OverrideSchema extends OverrideCreateSchema {\n id: string;\n}\n\nexport interface OverrideDeleteSchema {\n id: string;\n}\n\nexport default class Override {\n constructor(\n private collectionName: string,\n private overrideId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Overrides.RESOURCEPATH}/${encodeURIComponent(this.overrideId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { SynonymSchema } from \"./Synonym\";\n\nconst RESOURCEPATH = \"/synonyms\";\n\nexport interface SynonymCreateSchema {\n synonyms: string[];\n root?: string;\n locale?: string;\n symbols_to_index?: string[];\n}\n\nexport interface SynonymsRetrieveSchema {\n synonyms: SynonymSchema[];\n}\n\nexport default class Synonyms {\n constructor(private collectionName: string, private apiCall: ApiCall) {}\n\n async upsert(\n synonymId: string,\n params: SynonymCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(synonymId),\n params\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${\n Synonyms.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Synonyms, { SynonymCreateSchema } from \"./Synonyms\";\n\nexport interface SynonymSchema extends SynonymCreateSchema {\n id: string;\n}\n\nexport interface SynonymDeleteSchema {\n id: string;\n}\n\nexport default class Synonym {\n constructor(\n private collectionName: string,\n private synonymId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Synonyms.RESOURCEPATH}/${encodeURIComponent(this.synonymId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Documents, {\n DeleteQuery,\n DocumentSchema,\n DocumentWriteParameters,\n} from \"./Documents\";\n\nexport class Document {\n constructor(\n private collectionName: string,\n private documentId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(options?: DeleteQuery): Promise {\n return this.apiCall.delete(this.endpointPath(), options);\n }\n\n async update(\n partialDocument: Partial,\n options: DocumentWriteParameters = {}\n ): Promise {\n return this.apiCall.patch(this.endpointPath(), partialDocument, options);\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Documents.RESOURCEPATH}/${encodeURIComponent(this.documentId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections, { CollectionCreateSchema } from \"./Collections\";\nimport Documents, { DocumentSchema } from \"./Documents\";\nimport { ObjectNotFound } from \"./Errors\";\nimport Overrides from \"./Overrides\";\nimport Override from \"./Override\";\nimport Synonyms from \"./Synonyms\";\nimport Synonym from \"./Synonym\";\nimport { Document } from \"./Document\";\n\nexport type FieldType =\n | \"string\"\n | \"int32\"\n | \"int64\"\n | \"float\"\n | \"bool\"\n | \"geopoint\"\n | \"geopoint[]\"\n | \"string[]\"\n | \"int32[]\"\n | \"int64[]\"\n | \"float[]\"\n | \"bool[]\"\n | \"object\"\n | \"object[]\"\n | \"auto\"\n | \"string*\"\n | \"image\";\n\nexport interface CollectionFieldSchema {\n name: string;\n type: FieldType;\n optional?: boolean;\n facet?: boolean;\n index?: boolean;\n sort?: boolean;\n locale?: string;\n infix?: boolean;\n stem?: boolean;\n num_dim?: number;\n store?: boolean;\n [t: string]: unknown;\n}\n\nexport interface CollectionSchema extends CollectionCreateSchema {\n created_at: number;\n num_documents: number;\n num_memory_shards: number;\n}\n\nexport interface CollectionDropFieldSchema {\n name: string;\n drop: true;\n}\n\nexport interface CollectionUpdateSchema\n extends Partial> {\n fields?: (CollectionFieldSchema | CollectionDropFieldSchema)[];\n}\n\nexport default class Collection {\n private readonly _documents: Documents;\n private individualDocuments: Record> = {};\n private readonly _overrides: Overrides;\n private individualOverrides: Record = {};\n private readonly _synonyms: Synonyms;\n private individualSynonyms: Record = {};\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any,\n ) {\n this.name = name;\n this.apiCall = apiCall;\n this.configuration = configuration;\n\n this._documents = new Documents(\n this.name,\n this.apiCall,\n this.configuration,\n );\n this._overrides = new Overrides(this.name, this.apiCall);\n this._synonyms = new Synonyms(this.name, this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(schema: CollectionUpdateSchema): Promise {\n return this.apiCall.patch(this.endpointPath(), schema);\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n async exists(): Promise {\n try {\n await this.retrieve();\n return true;\n } catch (e) {\n if (e instanceof ObjectNotFound) return false;\n throw e;\n }\n }\n\n documents(): Documents;\n documents(documentId: string): Document;\n documents(documentId?: string): Document | Documents {\n if (!documentId) {\n return this._documents;\n } else {\n if (this.individualDocuments[documentId] === undefined) {\n this.individualDocuments[documentId] = new Document(\n this.name,\n documentId,\n this.apiCall,\n );\n }\n return this.individualDocuments[documentId];\n }\n }\n\n overrides(): Overrides;\n overrides(overrideId: string): Override;\n overrides(overrideId?: string): Overrides | Override {\n if (overrideId === undefined) {\n return this._overrides;\n } else {\n if (this.individualOverrides[overrideId] === undefined) {\n this.individualOverrides[overrideId] = new Override(\n this.name,\n overrideId,\n this.apiCall,\n );\n }\n return this.individualOverrides[overrideId];\n }\n }\n\n synonyms(): Synonyms;\n synonyms(synonymId: string): Synonym;\n synonyms(synonymId?: string): Synonyms | Synonym {\n if (synonymId === undefined) {\n return this._synonyms;\n } else {\n if (this.individualSynonyms[synonymId] === undefined) {\n this.individualSynonyms[synonymId] = new Synonym(\n this.name,\n synonymId,\n this.apiCall,\n );\n }\n return this.individualSynonyms[synonymId];\n }\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/aliases\";\n\nexport interface CollectionAliasCreateSchema {\n collection_name: string;\n}\n\nexport interface CollectionAliasSchema extends CollectionAliasCreateSchema {\n name: string;\n}\n\nexport interface CollectionAliasesResponseSchema {\n aliases: CollectionAliasSchema[];\n}\n\nexport default class Aliases {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n name: string,\n mapping: CollectionAliasCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(name),\n mapping\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n private endpointPath(aliasName): string {\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(aliasName)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import Aliases, { CollectionAliasSchema } from \"./Aliases\";\nimport ApiCall from \"./ApiCall\";\n\nexport default class Alias {\n constructor(private name: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import { createHmac } from \"crypto\";\nimport ApiCall from \"./ApiCall\";\nimport { KeyCreateSchema, KeySchema } from \"./Key\";\nimport { SearchParams } from \"./Documents\";\n\nconst RESOURCEPATH = \"/keys\";\n\nexport interface KeysRetrieveSchema {\n keys: KeySchema[];\n}\n\nexport interface GenerateScopedSearchKeyParams extends Partial {\n expires_at?: number;\n cache_ttl?: number;\n limit_multi_searches?: number;\n}\n\nexport default class Keys {\n constructor(private apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(params: KeyCreateSchema): Promise {\n return this.apiCall.post(Keys.RESOURCEPATH, params);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n generateScopedSearchKey(\n searchKey: string,\n parameters: GenerateScopedSearchKeyParams\n ): string {\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 const paramsJSON = JSON.stringify(parameters);\n const digest = Buffer.from(\n createHmac(\"sha256\", searchKey).update(paramsJSON).digest(\"base64\")\n );\n const keyPrefix = searchKey.substr(0, 4);\n const rawScopedKey = `${digest}${keyPrefix}${paramsJSON}`;\n\n return Buffer.from(rawScopedKey).toString(\"base64\");\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Keys from \"./Keys\";\n\nexport interface KeyCreateSchema {\n actions: string[];\n collections: string[];\n description?: string;\n value?: string;\n value_prefix?: string;\n expires_at?: number;\n}\n\nexport interface KeyDeleteSchema {\n id: number;\n}\n\nexport interface KeySchema extends KeyCreateSchema {\n id: number;\n}\n\nexport default class Key {\n constructor(private id: number, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Keys.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/debug\";\n\nexport interface DebugResponseSchema {\n state: number;\n version: string;\n}\n\nexport default class Debug {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/metrics.json\";\n\nexport interface MetricsResponse {\n [key: `system_cpu${number}_active_percentage`]: string;\n system_cpu_active_percentage: string;\n system_disk_total_bytes: string;\n system_disk_used_bytes: string;\n system_memory_total_bytes: string;\n system_memory_total_swap_bytes?: string;\n system_memory_used_bytes: string;\n system_memory_used_swap_bytes?: string;\n system_network_received_bytes: string;\n system_network_sent_bytes: string;\n typesense_memory_active_bytes: string;\n typesense_memory_allocated_bytes: string;\n typesense_memory_fragmentation_ratio: string;\n typesense_memory_mapped_bytes: string;\n typesense_memory_metadata_bytes: string;\n typesense_memory_resident_bytes: string;\n typesense_memory_retained_bytes: string;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/stats.json\";\n\nexport interface EndpointStats {\n [endpoint: string]: number;\n}\n\nexport interface StatsResponse {\n delete_latency_ms?: number;\n delete_requests_per_second?: number;\n import_latency_ms?: number;\n import_requests_per_second?: number;\n latency_ms?: EndpointStats;\n overloaded_requests_per_second?: number;\n pending_write_batches?: number;\n requests_per_second?: EndpointStats;\n search_latency_ms?: number;\n search_requests_per_second?: number;\n total_requests_per_second?: number;\n write_latency_ms?: number;\n write_requests_per_second?: number;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/health\";\n\nexport interface HealthResponse {\n ok: boolean;\n}\n\nexport default class Health {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/operations\";\n\nexport default class Operations {\n constructor(private apiCall: ApiCall) {}\n\n async perform(\n operationName: \"vote\" | \"snapshot\" | \"cache/clear\" | string,\n queryParameters: Record = {}\n ): Promise {\n return this.apiCall.post(\n `${RESOURCEPATH}/${operationName}`,\n {},\n queryParameters\n );\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport RequestWithCache from \"./RequestWithCache\";\nimport {\n DocumentSchema,\n SearchParams,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\n\nconst RESOURCEPATH = \"/multi_search\";\n\nexport interface MultiSearchRequestSchema extends SearchParams {\n collection?: string;\n \"x-typesense-api-key\"?: string;\n}\n\nexport interface MultiSearchRequestWithPresetSchema\n extends SearchParamsWithPreset {\n collection?: string;\n \"x-typesense-api-key\"?: string;\n}\n\nexport interface MultiSearchRequestsSchema {\n searches: (MultiSearchRequestSchema | MultiSearchRequestWithPresetSchema)[];\n}\n\nexport interface MultiSearchResponse {\n results: { [Index in keyof T]: SearchResponse } & {\n length: T[\"length\"];\n };\n}\n\nexport default class MultiSearch {\n private requestWithCache: RequestWithCache;\n\n constructor(\n private apiCall: ApiCall,\n private configuration: Configuration,\n private useTextContentType: boolean = false\n ) {\n this.requestWithCache = new RequestWithCache();\n }\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async perform(\n searchRequests: MultiSearchRequestsSchema,\n commonParams: Partial = {},\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n }: { cacheSearchResultsForSeconds?: number } = {}\n ): Promise> {\n const additionalHeaders = {};\n if (this.useTextContentType) {\n additionalHeaders[\"content-type\"] = \"text/plain\";\n }\n\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n const queryParams = Object.assign({}, commonParams, additionalQueryParams);\n\n return this.requestWithCache.perform(\n this.apiCall,\n this.apiCall.post,\n [RESOURCEPATH, searchRequests, queryParams, additionalHeaders],\n { cacheResponseForSeconds: cacheSearchResultsForSeconds }\n ) as Promise>;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { PresetSchema } from \"./Preset\";\nimport { SearchParams } from \"./Documents\";\nimport { MultiSearchRequestsSchema } from \"./MultiSearch\";\n\nconst RESOURCEPATH = \"/presets\";\n\nexport interface PresetCreateSchema {\n value: SearchParams | MultiSearchRequestsSchema;\n}\n\nexport interface PresetsRetrieveSchema {\n presets: PresetSchema[];\n}\n\nexport default class Presets {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n presetId: string,\n params: PresetCreateSchema\n ): Promise {\n return this.apiCall.put(this.endpointPath(presetId), params);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Presets.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Presets, { PresetCreateSchema } from \"./Presets\";\n\nexport interface PresetSchema extends PresetCreateSchema {\n name: string;\n}\n\nexport interface PresetDeleteSchema {\n name: string;\n}\n\nexport default class Preset {\n constructor(private presetId: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Presets.RESOURCEPATH}/${encodeURIComponent(this.presetId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n AnalyticsRuleCreateSchema,\n AnalyticsRuleSchema,\n} from \"./AnalyticsRule\";\n\nexport interface AnalyticsRulesRetrieveSchema {\n rules: AnalyticsRuleSchema[];\n}\n\nconst RESOURCEPATH = \"/analytics/rules\";\n\nexport default class AnalyticsRules {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async upsert(\n name: string,\n params: AnalyticsRuleCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(name),\n params\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsRules.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\n\nexport interface AnalyticsRuleCreateSchema {\n type: \"popular_queries\" | \"nohits_queries\" | \"counter\";\n params: {\n source: {\n collections: string[];\n events?: Array<{\n type: string;\n weight: number;\n name: string;\n }>;\n };\n expand_query?: boolean;\n destination: {\n collection: string;\n counter_field?: string;\n };\n limit?: number;\n };\n}\n\nexport interface AnalyticsRuleDeleteSchema {\n name: string;\n}\n\nexport interface AnalyticsRuleSchema extends AnalyticsRuleCreateSchema {\n name: string;\n}\n\nexport default class AnalyticsRule {\n constructor(\n private name: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${AnalyticsRules.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { AnalyticsEventCreateSchema } from \"./AnalyticsEvent\";\n\nconst RESOURCEPATH = \"/analytics/events\";\n\nexport default class AnalyticsEvents {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: AnalyticsEventCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsEvents.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\nimport AnalyticsRule from \"./AnalyticsRule\";\nimport AnalyticsEvents from \"./AnalyticsEvents\";\n\nconst RESOURCEPATH = \"/analytics\";\n\nexport default class Analytics {\n private readonly _analyticsRules: AnalyticsRules;\n private readonly individualAnalyticsRules: Record = {};\n private readonly _analyticsEvents: AnalyticsEvents;\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._analyticsRules = new AnalyticsRules(this.apiCall);\n this._analyticsEvents = new AnalyticsEvents(this.apiCall);\n }\n\n rules(id?: string): AnalyticsRules | AnalyticsRule {\n if (id === undefined) {\n return this._analyticsRules;\n } else {\n if (this.individualAnalyticsRules[id] === undefined) {\n this.individualAnalyticsRules[id] = new AnalyticsRule(id, this.apiCall);\n }\n return this.individualAnalyticsRules[id];\n }\n }\n\n events(): AnalyticsEvents {\n return this._analyticsEvents;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { StopwordSchema } from \"./Stopword\";\n\nconst RESOURCEPATH = \"/stopwords\";\n\nexport interface StopwordCreateSchema {\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordsRetrieveSchema {\n stopwords: StopwordSchema[];\n}\n\nexport default class Stopwords {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n stopwordId: string,\n params: StopwordCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(stopwordId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Stopwords.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Stopwords, { StopwordCreateSchema } from \"./Stopwords\";\n\nexport interface StopwordSchema extends StopwordCreateSchema {\n id: string;\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordDeleteSchema {\n id: string;\n}\n\nexport default class Stopword {\n constructor(\n private stopwordId: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Stopwords.RESOURCEPATH}/${encodeURIComponent(this.stopwordId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n ConversationModelCreateSchema,\n ConversationModelSchema,\n} from \"./ConversationModel\";\n\nconst RESOURCEPATH = \"/conversations/models\";\n\nexport default class ConversationModels {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(\n this.endpointPath(),\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${ConversationModels.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\n\nexport interface ConversationModelCreateSchema {\n id?: string;\n model_name: string;\n api_key?: string;\n system_prompt?: string;\n max_bytes: number;\n history_collection?: string;\n}\n\nexport interface ConversationModelDeleteSchema {\n id: string;\n}\n\nexport interface ConversationModelSchema extends ConversationModelCreateSchema {\n id: string;\n}\n\nexport default class ConversationModel {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async update(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(\n this.endpointPath(),\n );\n }\n\n private endpointPath(): string {\n return `${ConversationModels.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\nimport ConversationModel from \"./ConversationModel\";\nimport { ConversationSchema } from \"./Conversation\";\n\nconst RESOURCEPATH = \"/conversations\";\n\nexport interface ConversationsRetrieveSchema {\n conversations: ConversationSchema[];\n}\n\nexport default class Conversations {\n private readonly _conversationsModels: ConversationModels;\n private readonly individualConversationModels: Record<\n string,\n ConversationModel\n > = {};\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._conversationsModels = new ConversationModels(this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n models(): ConversationModels;\n models(id: string): ConversationModel;\n models(id?: string): ConversationModels | ConversationModel {\n if (id === undefined) {\n return this._conversationsModels;\n } else {\n if (this.individualConversationModels[id] === undefined) {\n this.individualConversationModels[id] = new ConversationModel(\n id,\n this.apiCall,\n );\n }\n return this.individualConversationModels[id];\n }\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Conversations from \"./Conversations\";\n\nexport interface ConversationDeleteSchema {\n id: number;\n}\n\nexport interface ConversationUpdateSchema {\n ttl: number;\n}\n\nexport interface ConversationSchema {\n id: number;\n conversation: object[];\n last_updated: number;\n ttl: number;\n}\n\nexport default class Conversation {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(\n params: ConversationUpdateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Conversations.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","/* eslint-disable no-dupe-class-members */\n\nimport Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Collection from \"./Collection\";\nimport Aliases from \"./Aliases\";\nimport Alias from \"./Alias\";\nimport Keys from \"./Keys\";\nimport Key from \"./Key\";\nimport Debug from \"./Debug\";\nimport Metrics from \"./Metrics\";\nimport Stats from \"./Stats\";\nimport Health from \"./Health\";\nimport Operations from \"./Operations\";\nimport MultiSearch from \"./MultiSearch\";\nimport Presets from \"./Presets\";\nimport Preset from \"./Preset\";\nimport Analytics from \"./Analytics\";\nimport Stopwords from \"./Stopwords\";\nimport Stopword from \"./Stopword\";\nimport Conversations from \"./Conversations\";\nimport Conversation from \"./Conversation\";\n\nexport default class Client {\n configuration: Configuration;\n apiCall: ApiCall;\n debug: Debug;\n metrics: Metrics;\n stats: Stats;\n health: Health;\n operations: Operations;\n multiSearch: MultiSearch;\n analytics: Analytics;\n private readonly _collections: Collections;\n private readonly individualCollections: Record;\n private readonly _aliases: Aliases;\n private readonly individualAliases: Record;\n private readonly _keys: Keys;\n private readonly individualKeys: Record;\n private readonly _presets: Presets;\n private readonly individualPresets: Record;\n private readonly _stopwords: Stopwords;\n private readonly individualStopwords: Record;\n private readonly _conversations: Conversations;\n private readonly individualConversations: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? false;\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.debug = new Debug(this.apiCall);\n this.metrics = new Metrics(this.apiCall);\n this.stats = new Stats(this.apiCall);\n this.health = new Health(this.apiCall);\n this.operations = new Operations(this.apiCall);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration);\n this._collections = new Collections(this.apiCall);\n this.individualCollections = {};\n this._aliases = new Aliases(this.apiCall);\n this.individualAliases = {};\n this._keys = new Keys(this.apiCall);\n this.individualKeys = {};\n this._presets = new Presets(this.apiCall);\n this.individualPresets = {};\n this._stopwords = new Stopwords(this.apiCall);\n this.individualStopwords = {};\n this.analytics = new Analytics(this.apiCall);\n this._conversations = new Conversations(this.apiCall);\n this.individualConversations = {};\n }\n\n collections(): Collections;\n collections = object>(\n collectionName: string,\n ): Collection;\n collections(collectionName?: string): Collections | Collection {\n if (collectionName === undefined) {\n return this._collections;\n } else {\n if (this.individualCollections[collectionName] === undefined) {\n this.individualCollections[collectionName] = new Collection(\n collectionName,\n this.apiCall,\n this.configuration,\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n\n aliases(): Aliases;\n aliases(aliasName: string): Alias;\n aliases(aliasName?: string): Aliases | Alias {\n if (aliasName === undefined) {\n return this._aliases;\n } else {\n if (this.individualAliases[aliasName] === undefined) {\n this.individualAliases[aliasName] = new Alias(aliasName, this.apiCall);\n }\n return this.individualAliases[aliasName];\n }\n }\n\n keys(): Keys;\n keys(id: number): Key;\n keys(id?: number): Keys | Key {\n if (id === undefined) {\n return this._keys;\n } else {\n if (this.individualKeys[id] === undefined) {\n this.individualKeys[id] = new Key(id, this.apiCall);\n }\n return this.individualKeys[id];\n }\n }\n\n presets(): Presets;\n presets(id: string): Preset;\n presets(id?: string): Presets | Preset {\n if (id === undefined) {\n return this._presets;\n } else {\n if (this.individualPresets[id] === undefined) {\n this.individualPresets[id] = new Preset(id, this.apiCall);\n }\n return this.individualPresets[id];\n }\n }\n\n stopwords(): Stopwords;\n stopwords(id: string): Stopword;\n stopwords(id?: string): Stopwords | Stopword {\n if (id === undefined) {\n return this._stopwords;\n } else {\n if (this.individualStopwords[id] === undefined) {\n this.individualStopwords[id] = new Stopword(id, this.apiCall);\n }\n return this.individualStopwords[id];\n }\n }\n\n conversations(): Conversations;\n conversations(id: string): Conversation;\n conversations(id?: string): Conversations | Conversation {\n if (id === undefined) {\n return this._conversations;\n } else {\n if (this.individualConversations[id] === undefined) {\n this.individualConversations[id] = new Conversation(id, this.apiCall);\n }\n return this.individualConversations[id];\n }\n }\n}\n","import { DocumentSchema, SearchableDocuments } from \"./Documents\";\nimport ApiCall from \"./ApiCall\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\nexport class SearchOnlyCollection {\n private readonly _documents: SearchableDocuments;\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any\n ) {\n this._documents = new SearchOnlyDocuments(\n this.name,\n this.apiCall,\n this.configuration\n );\n }\n\n documents(): SearchableDocuments {\n return this._documents;\n }\n}\n","import Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport MultiSearch from \"./MultiSearch\";\nimport { DocumentSchema } from \"./Documents\";\nimport { SearchOnlyCollection } from \"./SearchOnlyCollection\";\n\nexport default class SearchClient {\n public readonly multiSearch: MultiSearch;\n private readonly configuration: Configuration;\n private readonly apiCall: ApiCall;\n private readonly individualCollections: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? true;\n if (\n options.sendApiKeyAsQueryParam === true &&\n (options.apiKey || \"\").length > 2000\n ) {\n console.warn(\n \"[typesense] API Key is longer than 2000 characters which is over the allowed limit, so disabling sending it as a query parameter.\"\n );\n options.sendApiKeyAsQueryParam = false;\n }\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration, true);\n this.individualCollections = {};\n }\n\n clearCache() {\n this.multiSearch.clearCache();\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Object.entries(this.individualCollections).forEach(([_, collection]) => {\n collection.documents().clearCache();\n });\n }\n\n collections(\n collectionName: string\n ): SearchOnlyCollection | SearchOnlyCollection {\n if (!collectionName) {\n throw new Error(\n \"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(\n collectionName,\n this.apiCall,\n this.configuration\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n}\n","import Client from \"./Typesense/Client\";\nimport SearchClient from \"./Typesense/SearchClient\";\nimport * as Errors from \"./Typesense/Errors\";\n\nexport { Client, SearchClient, Errors };\nexport default { Client, SearchClient, Errors };\n"],"mappings":"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","names":["LogLevelReverseMap","LogLevelNumber","logLevelToConsoleFunction","args","SimpleLogger","_SimpleLogger","LogLevelNumber","level","message","LogLevelReverseMap","logger","Errors_exports","__export","HTTPError","ImportError","MissingConfigurationError","ObjectAlreadyExists","ObjectNotFound","ObjectUnprocessable","RequestMalformed","RequestUnauthorized","ServerError","TypesenseError","TypesenseError","message","HTTPError","TypesenseError","MissingConfigurationError","TypesenseError","ObjectAlreadyExists","TypesenseError","ObjectNotFound","TypesenseError","ObjectUnprocessable","TypesenseError","RequestMalformed","TypesenseError","RequestUnauthorized","TypesenseError","ServerError","TypesenseError","ImportError","TypesenseError","message","importResults","Configuration","options","node","logger","MissingConfigurationError","key","array","i","j","axios","HTTPAgent","HTTPSAgent","APIKEYHEADERNAME","HEALTHY","UNHEALTHY","isNodeJSEnvironment","ApiCall","configuration","endpoint","queryParameters","abortSignal","responseType","bodyParameters","additionalHeaders","requestType","skipConnectionTimeout","enableKeepAlive","requestNumber","lastException","numTries","node","abortListener","requestOptions","status","data","headers","transformedData","source","axios","response","error","candidateNode","isDueForHealthcheck","i","isHealthy","defaultHeaders","seconds","resolve","messageFromServer","errorMessage","TypesenseError","RequestMalformed","RequestUnauthorized","ObjectNotFound","ObjectAlreadyExists","ObjectUnprocessable","ServerError","HTTPError","RESOURCEPATH","Collections","apiCall","schema","options","RequestWithCache","requestContext","requestFunction","requestFunctionArguments","cacheOptions","cacheResponseForSeconds","maxSize","requestFunctionArgumentsJSON","cacheEntry","now","cachePromiseEntry","responsePromise","response","oldestEntry","RESOURCEPATH","SearchOnlyDocuments","collectionName","apiCall","configuration","RequestWithCache","searchParameters","cacheSearchResultsForSeconds","abortSignal","additionalQueryParams","key","queryParams","operation","Collections","isNodeJSEnvironment","Documents","SearchOnlyDocuments","collectionName","apiCall","configuration","document","options","query","documents","documentsInJSONLFormat","error","resultsInJSONLFormat","resultsInJSONFormat","r","failedItems","ImportError","readableStream","RESOURCEPATH","Overrides","_Overrides","collectionName","apiCall","overrideId","params","operation","Collections","Override","collectionName","overrideId","apiCall","Collections","Overrides","RESOURCEPATH","Synonyms","_Synonyms","collectionName","apiCall","synonymId","params","operation","Collections","Synonym","collectionName","synonymId","apiCall","Collections","Synonyms","Document","collectionName","documentId","apiCall","options","partialDocument","Collections","Documents","Collection","name","apiCall","configuration","Documents","Overrides","Synonyms","schema","ObjectNotFound","documentId","Document","overrideId","Override","synonymId","Synonym","Collections","RESOURCEPATH","Aliases","_Aliases","apiCall","name","mapping","aliasName","Alias","name","apiCall","Aliases","createHmac","RESOURCEPATH","Keys","_Keys","apiCall","params","searchKey","parameters","paramsJSON","digest","keyPrefix","rawScopedKey","Key","id","apiCall","Keys","RESOURCEPATH","Debug","apiCall","RESOURCEPATH","Metrics","apiCall","RESOURCEPATH","Metrics","apiCall","RESOURCEPATH","Health","apiCall","RESOURCEPATH","Operations","apiCall","operationName","queryParameters","RESOURCEPATH","MultiSearch","apiCall","configuration","useTextContentType","RequestWithCache","searchRequests","commonParams","cacheSearchResultsForSeconds","additionalHeaders","additionalQueryParams","queryParams","RESOURCEPATH","Presets","_Presets","apiCall","presetId","params","operation","Preset","presetId","apiCall","Presets","RESOURCEPATH","AnalyticsRules","_AnalyticsRules","apiCall","name","params","operation","AnalyticsRule","name","apiCall","AnalyticsRules","RESOURCEPATH","AnalyticsEvents","_AnalyticsEvents","apiCall","params","operation","RESOURCEPATH","Analytics","apiCall","AnalyticsRules","AnalyticsEvents","id","AnalyticsRule","RESOURCEPATH","Stopwords","_Stopwords","apiCall","stopwordId","params","operation","Stopword","stopwordId","apiCall","Stopwords","RESOURCEPATH","ConversationModels","_ConversationModels","apiCall","params","operation","ConversationModel","id","apiCall","params","ConversationModels","RESOURCEPATH","Conversations","apiCall","ConversationModels","id","ConversationModel","Conversation","id","apiCall","params","Conversations","Client","options","Configuration","ApiCall","Debug","Metrics","Health","Operations","MultiSearch","Collections","Aliases","Keys","Presets","Stopwords","Analytics","Conversations","collectionName","Collection","aliasName","Alias","id","Key","Preset","Stopword","Conversation","SearchOnlyCollection","name","apiCall","configuration","SearchOnlyDocuments","SearchClient","options","Configuration","ApiCall","MultiSearch","_","collection","collectionName","SearchOnlyCollection","Typesense_default","Client","SearchClient","Errors_exports"]} \ No newline at end of file diff --git a/dist/typesense.js b/dist/typesense.js deleted file mode 100644 index d104c69e..00000000 --- a/dist/typesense.js +++ /dev/null @@ -1,10588 +0,0 @@ -var Typesense; -/******/ (() => { // webpackBootstrap -/******/ var __webpack_modules__ = ({ - -/***/ "./src/Typesense/Alias.ts": -/*!********************************!*\ - !*** ./src/Typesense/Alias.ts ***! - \********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Alias) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _Aliases__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Aliases */ "./src/Typesense/Aliases.ts"); - - - - - -var Alias = /*#__PURE__*/function () { - function Alias(name, apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Alias); - this.name = name; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Alias, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "delete", - value: function () { - var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.delete(this.endpointPath())); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function _delete() { - return _delete2.apply(this, arguments); - } - return _delete; - }() - }, { - key: "endpointPath", - value: function endpointPath() { - return "".concat(_Aliases__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.name)); - } - }]); - return Alias; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Aliases.ts": -/*!**********************************!*\ - !*** ./src/Typesense/Aliases.ts ***! - \**********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Aliases) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); - - - - -var RESOURCEPATH = "/aliases"; -var Aliases = /*#__PURE__*/function () { - function Aliases(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Aliases); - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Aliases, [{ - key: "upsert", - value: function () { - var _upsert = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(name, mapping) { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.put(this.endpointPath(name), mapping)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function upsert(_x, _x2) { - return _upsert.apply(this, arguments); - } - return upsert; - }() - }, { - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.get(RESOURCEPATH)); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "endpointPath", - value: function endpointPath(aliasName) { - return "".concat(Aliases.RESOURCEPATH, "/").concat(encodeURIComponent(aliasName)); - } - }], [{ - key: "RESOURCEPATH", - get: function get() { - return RESOURCEPATH; - } - }]); - return Aliases; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Analytics.ts": -/*!************************************!*\ - !*** ./src/Typesense/Analytics.ts ***! - \************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Analytics) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js"); -/* harmony import */ var _AnalyticsRules__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./AnalyticsRules */ "./src/Typesense/AnalyticsRules.ts"); -/* harmony import */ var _AnalyticsRule__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./AnalyticsRule */ "./src/Typesense/AnalyticsRule.ts"); -/* harmony import */ var _AnalyticsEvents__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./AnalyticsEvents */ "./src/Typesense/AnalyticsEvents.ts"); - - - - - - -var RESOURCEPATH = "/analytics"; -var Analytics = /*#__PURE__*/function () { - function Analytics(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__["default"])(this, Analytics); - (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__["default"])(this, "individualAnalyticsRules", {}); - this.apiCall = apiCall; - this.apiCall = apiCall; - this._analyticsRules = new _AnalyticsRules__WEBPACK_IMPORTED_MODULE_3__["default"](this.apiCall); - this._analyticsEvents = new _AnalyticsEvents__WEBPACK_IMPORTED_MODULE_5__["default"](this.apiCall); - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__["default"])(Analytics, [{ - key: "rules", - value: function rules(id) { - if (id === undefined) { - return this._analyticsRules; - } else { - if (this.individualAnalyticsRules[id] === undefined) { - this.individualAnalyticsRules[id] = new _AnalyticsRule__WEBPACK_IMPORTED_MODULE_4__["default"](id, this.apiCall); - } - return this.individualAnalyticsRules[id]; - } - } - }, { - key: "events", - value: function events() { - return this._analyticsEvents; - } - }], [{ - key: "RESOURCEPATH", - get: function get() { - return RESOURCEPATH; - } - }]); - return Analytics; -}(); - - -/***/ }), - -/***/ "./src/Typesense/AnalyticsEvents.ts": -/*!******************************************!*\ - !*** ./src/Typesense/AnalyticsEvents.ts ***! - \******************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ AnalyticsEvents) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); - - - - -var RESOURCEPATH = "/analytics/events"; -var AnalyticsEvents = /*#__PURE__*/function () { - function AnalyticsEvents(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, AnalyticsEvents); - this.apiCall = apiCall; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(AnalyticsEvents, [{ - key: "create", - value: function () { - var _create = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(params) { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.post(this.endpointPath(), params)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function create(_x) { - return _create.apply(this, arguments); - } - return create; - }() - }, { - key: "endpointPath", - value: function endpointPath(operation) { - return "".concat(AnalyticsEvents.RESOURCEPATH).concat(operation === undefined ? "" : "/" + encodeURIComponent(operation)); - } - }], [{ - key: "RESOURCEPATH", - get: function get() { - return RESOURCEPATH; - } - }]); - return AnalyticsEvents; -}(); - - -/***/ }), - -/***/ "./src/Typesense/AnalyticsRule.ts": -/*!****************************************!*\ - !*** ./src/Typesense/AnalyticsRule.ts ***! - \****************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ AnalyticsRule) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _AnalyticsRules__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./AnalyticsRules */ "./src/Typesense/AnalyticsRules.ts"); - - - - - -var AnalyticsRule = /*#__PURE__*/function () { - function AnalyticsRule(name, apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, AnalyticsRule); - this.name = name; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(AnalyticsRule, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "delete", - value: function () { - var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.delete(this.endpointPath())); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function _delete() { - return _delete2.apply(this, arguments); - } - return _delete; - }() - }, { - key: "endpointPath", - value: function endpointPath() { - return "".concat(_AnalyticsRules__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.name)); - } - }]); - return AnalyticsRule; -}(); - - -/***/ }), - -/***/ "./src/Typesense/AnalyticsRules.ts": -/*!*****************************************!*\ - !*** ./src/Typesense/AnalyticsRules.ts ***! - \*****************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ AnalyticsRules) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); - - - - -var RESOURCEPATH = "/analytics/rules"; -var AnalyticsRules = /*#__PURE__*/function () { - function AnalyticsRules(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, AnalyticsRules); - this.apiCall = apiCall; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(AnalyticsRules, [{ - key: "upsert", - value: function () { - var _upsert = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(name, params) { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.put(this.endpointPath(name), params)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function upsert(_x, _x2) { - return _upsert.apply(this, arguments); - } - return upsert; - }() - }, { - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "endpointPath", - value: function endpointPath(operation) { - return "".concat(AnalyticsRules.RESOURCEPATH).concat(operation === undefined ? "" : "/" + encodeURIComponent(operation)); - } - }], [{ - key: "RESOURCEPATH", - get: function get() { - return RESOURCEPATH; - } - }]); - return AnalyticsRules; -}(); - - -/***/ }), - -/***/ "./src/Typesense/ApiCall.ts": -/*!**********************************!*\ - !*** ./src/Typesense/ApiCall.ts ***! - \**********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ ApiCall) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "./node_modules/@babel/runtime/helpers/esm/typeof.js"); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! axios */ "./node_modules/axios/lib/axios.js"); -/* harmony import */ var _Errors__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Errors */ "./src/Typesense/Errors/index.ts"); -/* harmony import */ var _Errors_TypesenseError__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Errors/TypesenseError */ "./src/Typesense/Errors/TypesenseError.ts"); -/* harmony import */ var http__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! http */ "?e89d"); -/* harmony import */ var http__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(http__WEBPACK_IMPORTED_MODULE_7__); -/* harmony import */ var https__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! https */ "?77e4"); -/* harmony import */ var https__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(https__WEBPACK_IMPORTED_MODULE_8__); - - - - - - - - - - -var APIKEYHEADERNAME = "X-TYPESENSE-API-KEY"; -var HEALTHY = true; -var UNHEALTHY = false; -var isNodeJSEnvironment = typeof process !== "undefined" && process.versions != null && process.versions.node != null; -var ApiCall = /*#__PURE__*/function () { - function ApiCall(configuration) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__["default"])(this, ApiCall); - this.configuration = configuration; - this.apiKey = this.configuration.apiKey; - this.nodes = this.configuration.nodes == null ? this.configuration.nodes : JSON.parse(JSON.stringify(this.configuration.nodes)); // Make a copy, since we'll be adding additional metadata to the nodes - this.nearestNode = this.configuration.nearestNode == null ? this.configuration.nearestNode : JSON.parse(JSON.stringify(this.configuration.nearestNode)); - this.connectionTimeoutSeconds = this.configuration.connectionTimeoutSeconds; - this.healthcheckIntervalSeconds = this.configuration.healthcheckIntervalSeconds; - this.numRetriesPerRequest = this.configuration.numRetries; - this.retryIntervalSeconds = this.configuration.retryIntervalSeconds; - this.sendApiKeyAsQueryParam = this.configuration.sendApiKeyAsQueryParam; - this.additionalUserHeaders = this.configuration.additionalHeaders; - this.logger = this.configuration.logger; - this.initializeMetadataForNodes(); - this.currentNodeIndex = -1; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__["default"])(ApiCall, [{ - key: "get", - value: function () { - var _get = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee(endpoint) { - var queryParameters, - _ref, - _ref$abortSignal, - abortSignal, - _ref$responseType, - responseType, - _args = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - queryParameters = _args.length > 1 && _args[1] !== undefined ? _args[1] : {}; - _ref = _args.length > 2 && _args[2] !== undefined ? _args[2] : {}, _ref$abortSignal = _ref.abortSignal, abortSignal = _ref$abortSignal === void 0 ? null : _ref$abortSignal, _ref$responseType = _ref.responseType, responseType = _ref$responseType === void 0 ? undefined : _ref$responseType; - return _context.abrupt("return", this.performRequest("get", endpoint, { - queryParameters: queryParameters, - abortSignal: abortSignal, - responseType: responseType - })); - case 3: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function get(_x) { - return _get.apply(this, arguments); - } - return get; - }() - }, { - key: "delete", - value: function () { - var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee2(endpoint) { - var queryParameters, - _args2 = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - queryParameters = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : {}; - return _context2.abrupt("return", this.performRequest("delete", endpoint, { - queryParameters: queryParameters - })); - case 2: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function _delete(_x2) { - return _delete2.apply(this, arguments); - } - return _delete; - }() - }, { - key: "post", - value: function () { - var _post = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee3(endpoint) { - var bodyParameters, - queryParameters, - additionalHeaders, - _args3 = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee3$(_context3) { - while (1) switch (_context3.prev = _context3.next) { - case 0: - bodyParameters = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : {}; - queryParameters = _args3.length > 2 && _args3[2] !== undefined ? _args3[2] : {}; - additionalHeaders = _args3.length > 3 && _args3[3] !== undefined ? _args3[3] : {}; - return _context3.abrupt("return", this.performRequest("post", endpoint, { - queryParameters: queryParameters, - bodyParameters: bodyParameters, - additionalHeaders: additionalHeaders - })); - case 4: - case "end": - return _context3.stop(); - } - }, _callee3, this); - })); - function post(_x3) { - return _post.apply(this, arguments); - } - return post; - }() - }, { - key: "put", - value: function () { - var _put = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee4(endpoint) { - var bodyParameters, - queryParameters, - _args4 = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee4$(_context4) { - while (1) switch (_context4.prev = _context4.next) { - case 0: - bodyParameters = _args4.length > 1 && _args4[1] !== undefined ? _args4[1] : {}; - queryParameters = _args4.length > 2 && _args4[2] !== undefined ? _args4[2] : {}; - return _context4.abrupt("return", this.performRequest("put", endpoint, { - queryParameters: queryParameters, - bodyParameters: bodyParameters - })); - case 3: - case "end": - return _context4.stop(); - } - }, _callee4, this); - })); - function put(_x4) { - return _put.apply(this, arguments); - } - return put; - }() - }, { - key: "patch", - value: function () { - var _patch = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee5(endpoint) { - var bodyParameters, - queryParameters, - _args5 = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee5$(_context5) { - while (1) switch (_context5.prev = _context5.next) { - case 0: - bodyParameters = _args5.length > 1 && _args5[1] !== undefined ? _args5[1] : {}; - queryParameters = _args5.length > 2 && _args5[2] !== undefined ? _args5[2] : {}; - return _context5.abrupt("return", this.performRequest("patch", endpoint, { - queryParameters: queryParameters, - bodyParameters: bodyParameters - })); - case 3: - case "end": - return _context5.stop(); - } - }, _callee5, this); - })); - function patch(_x5) { - return _patch.apply(this, arguments); - } - return patch; - }() - }, { - key: "performRequest", - value: function () { - var _performRequest = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee6(requestType, endpoint, _ref2) { - var _this = this; - var _ref2$queryParameters, queryParameters, _ref2$bodyParameters, bodyParameters, _ref2$additionalHeade, additionalHeaders, _ref2$abortSignal, abortSignal, _ref2$responseType, responseType, _ref2$skipConnectionT, skipConnectionTimeout, _ref2$enableKeepAlive, enableKeepAlive, requestNumber, lastException, _loop, _ret, numTries; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee6$(_context7) { - while (1) switch (_context7.prev = _context7.next) { - case 0: - _ref2$queryParameters = _ref2.queryParameters, queryParameters = _ref2$queryParameters === void 0 ? null : _ref2$queryParameters, _ref2$bodyParameters = _ref2.bodyParameters, bodyParameters = _ref2$bodyParameters === void 0 ? null : _ref2$bodyParameters, _ref2$additionalHeade = _ref2.additionalHeaders, additionalHeaders = _ref2$additionalHeade === void 0 ? {} : _ref2$additionalHeade, _ref2$abortSignal = _ref2.abortSignal, abortSignal = _ref2$abortSignal === void 0 ? null : _ref2$abortSignal, _ref2$responseType = _ref2.responseType, responseType = _ref2$responseType === void 0 ? undefined : _ref2$responseType, _ref2$skipConnectionT = _ref2.skipConnectionTimeout, skipConnectionTimeout = _ref2$skipConnectionT === void 0 ? false : _ref2$skipConnectionT, _ref2$enableKeepAlive = _ref2.enableKeepAlive, enableKeepAlive = _ref2$enableKeepAlive === void 0 ? undefined : _ref2$enableKeepAlive; - this.configuration.validate(); - requestNumber = Date.now(); - this.logger.debug("Request #".concat(requestNumber, ": Performing ").concat(requestType.toUpperCase(), " request: ").concat(endpoint)); - _loop = /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _loop() { - var node, abortListener, requestOptions, cancelToken, source, response, _response$data, _response$data2, _error$response; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _loop$(_context6) { - while (1) switch (_context6.prev = _context6.next) { - case 0: - node = _this.getNextNode(requestNumber); - _this.logger.debug("Request #".concat(requestNumber, ": Attempting ").concat(requestType.toUpperCase(), " request Try #").concat(numTries, " to Node ").concat(node.index)); - if (!(abortSignal && abortSignal.aborted)) { - _context6.next = 4; - break; - } - return _context6.abrupt("return", { - v: Promise.reject(new Error("Request aborted by caller.")) - }); - case 4: - _context6.prev = 4; - requestOptions = { - method: requestType, - url: _this.uriFor(endpoint, node), - headers: Object.assign({}, _this.defaultHeaders(), additionalHeaders, _this.additionalUserHeaders), - maxContentLength: Infinity, - maxBodyLength: Infinity, - responseType: responseType, - validateStatus: function validateStatus(status) { - /* Override default validateStatus, which only considers 2xx a success. - In our case, if the server returns any HTTP code, we will handle it below. - We do this to be able to raise custom errors based on response code. - */ - return status > 0; - }, - transformResponse: [function (data, headers) { - var transformedData = data; - if (headers !== undefined && typeof data === "string" && headers["content-type"] && headers["content-type"].startsWith("application/json")) { - transformedData = JSON.parse(data); - } - return transformedData; - }] - }; - if (skipConnectionTimeout !== true) { - requestOptions.timeout = _this.connectionTimeoutSeconds * 1000; - } - if (queryParameters && Object.keys(queryParameters).length !== 0) { - requestOptions.params = queryParameters; - } - if (_this.sendApiKeyAsQueryParam) { - requestOptions.params = requestOptions.params || {}; - requestOptions.params["x-typesense-api-key"] = _this.apiKey; - } - if (_this.configuration.httpAgent) { - _this.logger.debug("Request #".concat(requestNumber, ": Using custom httpAgent")); - requestOptions.httpAgent = _this.configuration.httpAgent; - } else if (enableKeepAlive === true) { - if (!isNodeJSEnvironment) { - _this.logger.warn("Request #".concat(requestNumber, ": Cannot use custom httpAgent in a browser environment to enable keepAlive")); - } else { - _this.logger.debug("Request #".concat(requestNumber, ": Enabling KeepAlive")); - requestOptions.httpAgent = new http__WEBPACK_IMPORTED_MODULE_7__.Agent({ - keepAlive: true - }); - } - } - if (_this.configuration.httpsAgent) { - _this.logger.debug("Request #".concat(requestNumber, ": Using custom httpsAgent")); - requestOptions.httpsAgent = _this.configuration.httpsAgent; - } else if (enableKeepAlive === true) { - if (!isNodeJSEnvironment) { - _this.logger.warn("Request #".concat(requestNumber, ": Cannot use custom httpAgent in a browser environment to enable keepAlive")); - } else { - _this.logger.debug("Request #".concat(requestNumber, ": Enabling keepAlive")); - requestOptions.httpsAgent = new https__WEBPACK_IMPORTED_MODULE_8__.Agent({ - keepAlive: true - }); - } - } - if (_this.configuration.paramsSerializer) { - _this.logger.debug("Request #".concat(requestNumber, ": Using custom paramsSerializer")); - requestOptions.paramsSerializer = _this.configuration.paramsSerializer; - } - if (bodyParameters && (typeof bodyParameters === "string" && bodyParameters.length !== 0 || (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__["default"])(bodyParameters) === "object" && Object.keys(bodyParameters).length !== 0)) { - requestOptions.data = bodyParameters; - } - - // Translate from user-provided AbortController to the Axios request cancel mechanism. - if (abortSignal) { - cancelToken = axios__WEBPACK_IMPORTED_MODULE_9__["default"].CancelToken; - source = cancelToken.source(); - abortListener = function abortListener() { - return source.cancel(); - }; - abortSignal.addEventListener("abort", abortListener); - requestOptions.cancelToken = source.token; - } - _context6.next = 16; - return (0,axios__WEBPACK_IMPORTED_MODULE_9__["default"])(requestOptions); - case 16: - response = _context6.sent; - if (response.status >= 1 && response.status <= 499) { - // Treat any status code > 0 and < 500 to be an indication that node is healthy - // We exclude 0 since some clients return 0 when request fails - _this.setNodeHealthcheck(node, HEALTHY); - } - _this.logger.debug("Request #".concat(requestNumber, ": Request to Node ").concat(node.index, " was made. Response Code was ").concat(response.status, ".")); - if (!(response.status >= 200 && response.status < 300)) { - _context6.next = 23; - break; - } - return _context6.abrupt("return", { - v: Promise.resolve(response.data) - }); - case 23: - if (!(response.status < 500)) { - _context6.next = 27; - break; - } - return _context6.abrupt("return", { - v: Promise.reject(_this.customErrorForResponse(response, (_response$data = response.data) === null || _response$data === void 0 ? void 0 : _response$data.message)) - }); - case 27: - throw _this.customErrorForResponse(response, (_response$data2 = response.data) === null || _response$data2 === void 0 ? void 0 : _response$data2.message); - case 28: - _context6.next = 38; - break; - case 30: - _context6.prev = 30; - _context6.t0 = _context6["catch"](4); - // This block handles retries for HTTPStatus > 500 and network layer issues like connection timeouts - _this.setNodeHealthcheck(node, UNHEALTHY); - lastException = _context6.t0; - _this.logger.warn("Request #".concat(requestNumber, ": Request to Node ").concat(node.index, " failed due to \"").concat(_context6.t0.code, " ").concat(_context6.t0.message).concat(_context6.t0.response == null ? "" : " - " + JSON.stringify((_error$response = _context6.t0.response) === null || _error$response === void 0 ? void 0 : _error$response.data), "\"")); - // this.logger.debug(error.stack) - _this.logger.warn("Request #".concat(requestNumber, ": Sleeping for ").concat(_this.retryIntervalSeconds, "s and then retrying request...")); - _context6.next = 38; - return _this.timer(_this.retryIntervalSeconds); - case 38: - _context6.prev = 38; - if (abortSignal && abortListener) { - abortSignal.removeEventListener("abort", abortListener); - } - return _context6.finish(38); - case 41: - case "end": - return _context6.stop(); - } - }, _loop, null, [[4, 30, 38, 41]]); - }); - numTries = 1; - case 6: - if (!(numTries <= this.numRetriesPerRequest + 1)) { - _context7.next = 14; - break; - } - return _context7.delegateYield(_loop(), "t0", 8); - case 8: - _ret = _context7.t0; - if (!_ret) { - _context7.next = 11; - break; - } - return _context7.abrupt("return", _ret.v); - case 11: - numTries++; - _context7.next = 6; - break; - case 14: - this.logger.debug("Request #".concat(requestNumber, ": No retries left. Raising last error")); - return _context7.abrupt("return", Promise.reject(lastException)); - case 16: - case "end": - return _context7.stop(); - } - }, _callee6, this); - })); - function performRequest(_x6, _x7, _x8) { - return _performRequest.apply(this, arguments); - } - return performRequest; - }() // Attempts to find the next healthy node, looping through the list of nodes once. - // But if no healthy nodes are found, it will just return the next node, even if it's unhealthy - // so we can try the request for good measure, in case that node has become healthy since - }, { - key: "getNextNode", - value: function getNextNode() { - var requestNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; - // Check if nearestNode is set and is healthy, if so return it - if (this.nearestNode != null) { - this.logger.debug("Request #".concat(requestNumber, ": Nodes Health: Node ").concat(this.nearestNode.index, " is ").concat(this.nearestNode.isHealthy === true ? "Healthy" : "Unhealthy")); - if (this.nearestNode.isHealthy === true || this.nodeDueForHealthcheck(this.nearestNode, requestNumber)) { - this.logger.debug("Request #".concat(requestNumber, ": Updated current node to Node ").concat(this.nearestNode.index)); - return this.nearestNode; - } - this.logger.debug("Request #".concat(requestNumber, ": Falling back to individual nodes")); - } - - // Fallback to nodes as usual - this.logger.debug("Request #".concat(requestNumber, ": Nodes Health: ").concat(this.nodes.map(function (node) { - return "Node ".concat(node.index, " is ").concat(node.isHealthy === true ? "Healthy" : "Unhealthy"); - }).join(" || "))); - var candidateNode = this.nodes[0]; - for (var i = 0; i <= this.nodes.length; i++) { - this.currentNodeIndex = (this.currentNodeIndex + 1) % this.nodes.length; - candidateNode = this.nodes[this.currentNodeIndex]; - if (candidateNode.isHealthy === true || this.nodeDueForHealthcheck(candidateNode, requestNumber)) { - this.logger.debug("Request #".concat(requestNumber, ": Updated current node to Node ").concat(candidateNode.index)); - return candidateNode; - } - } - - // None of the nodes are marked healthy, but some of them could have become healthy since last health check. - // So we will just return the next node. - this.logger.debug("Request #".concat(requestNumber, ": No healthy nodes were found. Returning the next node, Node ").concat(candidateNode.index)); - return candidateNode; - } - }, { - key: "nodeDueForHealthcheck", - value: function nodeDueForHealthcheck(node) { - var requestNumber = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; - var isDueForHealthcheck = Date.now() - node.lastAccessTimestamp > this.healthcheckIntervalSeconds * 1000; - if (isDueForHealthcheck) { - this.logger.debug("Request #".concat(requestNumber, ": Node ").concat(node.index, " has exceeded healtcheckIntervalSeconds of ").concat(this.healthcheckIntervalSeconds, ". Adding it back into rotation.")); - } - return isDueForHealthcheck; - } - }, { - key: "initializeMetadataForNodes", - value: function initializeMetadataForNodes() { - var _this2 = this; - if (this.nearestNode != null) { - this.nearestNode.index = "nearestNode"; - this.setNodeHealthcheck(this.nearestNode, HEALTHY); - } - this.nodes.forEach(function (node, i) { - node.index = i; - _this2.setNodeHealthcheck(node, HEALTHY); - }); - } - }, { - key: "setNodeHealthcheck", - value: function setNodeHealthcheck(node, isHealthy) { - node.isHealthy = isHealthy; - node.lastAccessTimestamp = Date.now(); - } - }, { - key: "uriFor", - value: function uriFor(endpoint, node) { - if (node.url != null) { - return "".concat(node.url).concat(endpoint); - } - return "".concat(node.protocol, "://").concat(node.host, ":").concat(node.port).concat(node.path).concat(endpoint); - } - }, { - key: "defaultHeaders", - value: function defaultHeaders() { - var defaultHeaders = {}; - if (!this.sendApiKeyAsQueryParam) { - defaultHeaders[APIKEYHEADERNAME] = this.apiKey; - } - defaultHeaders["Content-Type"] = "application/json"; - return defaultHeaders; - } - }, { - key: "timer", - value: function () { - var _timer = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee7(seconds) { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee7$(_context8) { - while (1) switch (_context8.prev = _context8.next) { - case 0: - return _context8.abrupt("return", new Promise(function (resolve) { - return setTimeout(resolve, seconds * 1000); - })); - case 1: - case "end": - return _context8.stop(); - } - }, _callee7); - })); - function timer(_x9) { - return _timer.apply(this, arguments); - } - return timer; - }() - }, { - key: "customErrorForResponse", - value: function customErrorForResponse(response, messageFromServer) { - var errorMessage = "Request failed with HTTP code ".concat(response.status); - if (typeof messageFromServer === "string" && messageFromServer.trim() !== "") { - errorMessage += " | Server said: ".concat(messageFromServer); - } - var error = new _Errors_TypesenseError__WEBPACK_IMPORTED_MODULE_6__["default"](errorMessage); - if (response.status === 400) { - error = new _Errors__WEBPACK_IMPORTED_MODULE_5__.RequestMalformed(errorMessage); - } else if (response.status === 401) { - error = new _Errors__WEBPACK_IMPORTED_MODULE_5__.RequestUnauthorized(errorMessage); - } else if (response.status === 404) { - error = new _Errors__WEBPACK_IMPORTED_MODULE_5__.ObjectNotFound(errorMessage); - } else if (response.status === 409) { - error = new _Errors__WEBPACK_IMPORTED_MODULE_5__.ObjectAlreadyExists(errorMessage); - } else if (response.status === 422) { - error = new _Errors__WEBPACK_IMPORTED_MODULE_5__.ObjectUnprocessable(errorMessage); - } else if (response.status >= 500 && response.status <= 599) { - error = new _Errors__WEBPACK_IMPORTED_MODULE_5__.ServerError(errorMessage); - } else { - error = new _Errors__WEBPACK_IMPORTED_MODULE_5__.HTTPError(errorMessage); - } - error.httpStatus = response.status; - return error; - } - }]); - return ApiCall; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Client.ts": -/*!*********************************!*\ - !*** ./src/Typesense/Client.ts ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Client) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _Configuration__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Configuration */ "./src/Typesense/Configuration.ts"); -/* harmony import */ var _ApiCall__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ApiCall */ "./src/Typesense/ApiCall.ts"); -/* harmony import */ var _Collections__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Collections */ "./src/Typesense/Collections.ts"); -/* harmony import */ var _Collection__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Collection */ "./src/Typesense/Collection.ts"); -/* harmony import */ var _Aliases__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Aliases */ "./src/Typesense/Aliases.ts"); -/* harmony import */ var _Alias__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Alias */ "./src/Typesense/Alias.ts"); -/* harmony import */ var _Keys__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Keys */ "./src/Typesense/Keys.ts"); -/* harmony import */ var _Key__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Key */ "./src/Typesense/Key.ts"); -/* harmony import */ var _Debug__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Debug */ "./src/Typesense/Debug.ts"); -/* harmony import */ var _Metrics__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Metrics */ "./src/Typesense/Metrics.ts"); -/* harmony import */ var _Stats__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./Stats */ "./src/Typesense/Stats.ts"); -/* harmony import */ var _Health__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./Health */ "./src/Typesense/Health.ts"); -/* harmony import */ var _Operations__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./Operations */ "./src/Typesense/Operations.ts"); -/* harmony import */ var _MultiSearch__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./MultiSearch */ "./src/Typesense/MultiSearch.ts"); -/* harmony import */ var _Presets__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./Presets */ "./src/Typesense/Presets.ts"); -/* harmony import */ var _Preset__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./Preset */ "./src/Typesense/Preset.ts"); -/* harmony import */ var _Analytics__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./Analytics */ "./src/Typesense/Analytics.ts"); -/* harmony import */ var _Stopwords__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./Stopwords */ "./src/Typesense/Stopwords.ts"); -/* harmony import */ var _Stopword__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./Stopword */ "./src/Typesense/Stopword.ts"); -/* harmony import */ var _Conversations__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./Conversations */ "./src/Typesense/Conversations.ts"); -/* harmony import */ var _Conversation__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./Conversation */ "./src/Typesense/Conversation.ts"); - - -/* eslint-disable no-dupe-class-members */ - - - - - - - - - - - - - - - - - - - - - - -var Client = /*#__PURE__*/function () { - function Client(options) { - var _options$sendApiKeyAs; - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__["default"])(this, Client); - options.sendApiKeyAsQueryParam = (_options$sendApiKeyAs = options.sendApiKeyAsQueryParam) !== null && _options$sendApiKeyAs !== void 0 ? _options$sendApiKeyAs : false; - this.configuration = new _Configuration__WEBPACK_IMPORTED_MODULE_2__["default"](options); - this.apiCall = new _ApiCall__WEBPACK_IMPORTED_MODULE_3__["default"](this.configuration); - this.debug = new _Debug__WEBPACK_IMPORTED_MODULE_10__["default"](this.apiCall); - this.metrics = new _Metrics__WEBPACK_IMPORTED_MODULE_11__["default"](this.apiCall); - this.stats = new _Stats__WEBPACK_IMPORTED_MODULE_12__["default"](this.apiCall); - this.health = new _Health__WEBPACK_IMPORTED_MODULE_13__["default"](this.apiCall); - this.operations = new _Operations__WEBPACK_IMPORTED_MODULE_14__["default"](this.apiCall); - this.multiSearch = new _MultiSearch__WEBPACK_IMPORTED_MODULE_15__["default"](this.apiCall, this.configuration); - this._collections = new _Collections__WEBPACK_IMPORTED_MODULE_4__["default"](this.apiCall); - this.individualCollections = {}; - this._aliases = new _Aliases__WEBPACK_IMPORTED_MODULE_6__["default"](this.apiCall); - this.individualAliases = {}; - this._keys = new _Keys__WEBPACK_IMPORTED_MODULE_8__["default"](this.apiCall); - this.individualKeys = {}; - this._presets = new _Presets__WEBPACK_IMPORTED_MODULE_16__["default"](this.apiCall); - this.individualPresets = {}; - this._stopwords = new _Stopwords__WEBPACK_IMPORTED_MODULE_19__["default"](this.apiCall); - this.individualStopwords = {}; - this.analytics = new _Analytics__WEBPACK_IMPORTED_MODULE_18__["default"](this.apiCall); - this._conversations = new _Conversations__WEBPACK_IMPORTED_MODULE_21__["default"](this.apiCall); - this.individualConversations = {}; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__["default"])(Client, [{ - key: "collections", - value: function collections(collectionName) { - if (collectionName === undefined) { - return this._collections; - } else { - if (this.individualCollections[collectionName] === undefined) { - this.individualCollections[collectionName] = new _Collection__WEBPACK_IMPORTED_MODULE_5__["default"](collectionName, this.apiCall, this.configuration); - } - return this.individualCollections[collectionName]; - } - } - }, { - key: "aliases", - value: function aliases(aliasName) { - if (aliasName === undefined) { - return this._aliases; - } else { - if (this.individualAliases[aliasName] === undefined) { - this.individualAliases[aliasName] = new _Alias__WEBPACK_IMPORTED_MODULE_7__["default"](aliasName, this.apiCall); - } - return this.individualAliases[aliasName]; - } - } - }, { - key: "keys", - value: function keys(id) { - if (id === undefined) { - return this._keys; - } else { - if (this.individualKeys[id] === undefined) { - this.individualKeys[id] = new _Key__WEBPACK_IMPORTED_MODULE_9__["default"](id, this.apiCall); - } - return this.individualKeys[id]; - } - } - }, { - key: "presets", - value: function presets(id) { - if (id === undefined) { - return this._presets; - } else { - if (this.individualPresets[id] === undefined) { - this.individualPresets[id] = new _Preset__WEBPACK_IMPORTED_MODULE_17__["default"](id, this.apiCall); - } - return this.individualPresets[id]; - } - } - }, { - key: "stopwords", - value: function stopwords(id) { - if (id === undefined) { - return this._stopwords; - } else { - if (this.individualStopwords[id] === undefined) { - this.individualStopwords[id] = new _Stopword__WEBPACK_IMPORTED_MODULE_20__["default"](id, this.apiCall); - } - return this.individualStopwords[id]; - } - } - }, { - key: "conversations", - value: function conversations(id) { - if (id === undefined) { - return this._conversations; - } else { - if (this.individualConversations[id] === undefined) { - this.individualConversations[id] = new _Conversation__WEBPACK_IMPORTED_MODULE_22__["default"](id, this.apiCall); - } - return this.individualConversations[id]; - } - } - }]); - return Client; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Collection.ts": -/*!*************************************!*\ - !*** ./src/Typesense/Collection.ts ***! - \*************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Collection) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var _Collections__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Collections */ "./src/Typesense/Collections.ts"); -/* harmony import */ var _Documents__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Documents */ "./src/Typesense/Documents.ts"); -/* harmony import */ var _Errors__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Errors */ "./src/Typesense/Errors/index.ts"); -/* harmony import */ var _Overrides__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Overrides */ "./src/Typesense/Overrides.ts"); -/* harmony import */ var _Override__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Override */ "./src/Typesense/Override.ts"); -/* harmony import */ var _Synonyms__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Synonyms */ "./src/Typesense/Synonyms.ts"); -/* harmony import */ var _Synonym__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Synonym */ "./src/Typesense/Synonym.ts"); -/* harmony import */ var _Document__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./Document */ "./src/Typesense/Document.ts"); - - - - - - - - - - - - - -var Collection = /*#__PURE__*/function () { - function Collection(name, apiCall, configuration) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Collection); - (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_3__["default"])(this, "individualDocuments", {}); - (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_3__["default"])(this, "individualOverrides", {}); - (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_3__["default"])(this, "individualSynonyms", {}); - this.name = name; - this.apiCall = apiCall; - this.configuration = configuration; - this.name = name; - this.apiCall = apiCall; - this.configuration = configuration; - this._documents = new _Documents__WEBPACK_IMPORTED_MODULE_6__["default"](this.name, this.apiCall, this.configuration); - this._overrides = new _Overrides__WEBPACK_IMPORTED_MODULE_8__["default"](this.name, this.apiCall); - this._synonyms = new _Synonyms__WEBPACK_IMPORTED_MODULE_10__["default"](this.name, this.apiCall); - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Collection, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "update", - value: function () { - var _update = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee2(schema) { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.patch(this.endpointPath(), schema)); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function update(_x) { - return _update.apply(this, arguments); - } - return update; - }() - }, { - key: "delete", - value: function () { - var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee3() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee3$(_context3) { - while (1) switch (_context3.prev = _context3.next) { - case 0: - return _context3.abrupt("return", this.apiCall.delete(this.endpointPath())); - case 1: - case "end": - return _context3.stop(); - } - }, _callee3, this); - })); - function _delete() { - return _delete2.apply(this, arguments); - } - return _delete; - }() - }, { - key: "exists", - value: function () { - var _exists = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee4() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee4$(_context4) { - while (1) switch (_context4.prev = _context4.next) { - case 0: - _context4.prev = 0; - _context4.next = 3; - return this.retrieve(); - case 3: - return _context4.abrupt("return", true); - case 6: - _context4.prev = 6; - _context4.t0 = _context4["catch"](0); - if (!(_context4.t0 instanceof _Errors__WEBPACK_IMPORTED_MODULE_7__.ObjectNotFound)) { - _context4.next = 10; - break; - } - return _context4.abrupt("return", false); - case 10: - throw _context4.t0; - case 11: - case "end": - return _context4.stop(); - } - }, _callee4, this, [[0, 6]]); - })); - function exists() { - return _exists.apply(this, arguments); - } - return exists; - }() - }, { - key: "documents", - value: function documents(documentId) { - if (!documentId) { - return this._documents; - } else { - if (this.individualDocuments[documentId] === undefined) { - this.individualDocuments[documentId] = new _Document__WEBPACK_IMPORTED_MODULE_12__.Document(this.name, documentId, this.apiCall); - } - return this.individualDocuments[documentId]; - } - } - }, { - key: "overrides", - value: function overrides(overrideId) { - if (overrideId === undefined) { - return this._overrides; - } else { - if (this.individualOverrides[overrideId] === undefined) { - this.individualOverrides[overrideId] = new _Override__WEBPACK_IMPORTED_MODULE_9__["default"](this.name, overrideId, this.apiCall); - } - return this.individualOverrides[overrideId]; - } - } - }, { - key: "synonyms", - value: function synonyms(synonymId) { - if (synonymId === undefined) { - return this._synonyms; - } else { - if (this.individualSynonyms[synonymId] === undefined) { - this.individualSynonyms[synonymId] = new _Synonym__WEBPACK_IMPORTED_MODULE_11__["default"](this.name, synonymId, this.apiCall); - } - return this.individualSynonyms[synonymId]; - } - } - }, { - key: "endpointPath", - value: function endpointPath() { - return "".concat(_Collections__WEBPACK_IMPORTED_MODULE_5__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.name)); - } - }]); - return Collection; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Collections.ts": -/*!**************************************!*\ - !*** ./src/Typesense/Collections.ts ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Collections) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); - - - - -var RESOURCEPATH = "/collections"; -var Collections = /*#__PURE__*/function () { - function Collections(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Collections); - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Collections, [{ - key: "create", - value: function () { - var _create = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(schema) { - var options, - _args = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - options = _args.length > 1 && _args[1] !== undefined ? _args[1] : {}; - return _context.abrupt("return", this.apiCall.post(RESOURCEPATH, schema, options)); - case 2: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function create(_x) { - return _create.apply(this, arguments); - } - return create; - }() - }, { - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - var options, - _args2 = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - options = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : {}; - return _context2.abrupt("return", this.apiCall.get(RESOURCEPATH, options)); - case 2: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }], [{ - key: "RESOURCEPATH", - get: function get() { - return RESOURCEPATH; - } - }]); - return Collections; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Configuration.ts": -/*!****************************************!*\ - !*** ./src/Typesense/Configuration.ts ***! - \****************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Configuration) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var loglevel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! loglevel */ "./node_modules/loglevel/lib/loglevel.js"); -/* harmony import */ var loglevel__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(loglevel__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _Errors__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Errors */ "./src/Typesense/Errors/index.ts"); - - - -function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } -function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } - - -var Configuration = /*#__PURE__*/function () { - function Configuration(options) { - var _this = this; - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Configuration); - this.nodes = options.nodes || []; - this.nodes = this.nodes.map(function (node) { - return _this.setDefaultPathInNode(node); - }).map(function (node) { - return _this.setDefaultPortInNode(node); - }).map(function (node) { - return _objectSpread({}, node); - }); // Make a deep copy - - if (options.randomizeNodes == null) { - options.randomizeNodes = true; - } - if (options.randomizeNodes === true) { - this.shuffleArray(this.nodes); - } - this.nearestNode = options.nearestNode; - this.nearestNode = this.setDefaultPathInNode(this.nearestNode); - this.nearestNode = this.setDefaultPortInNode(this.nearestNode); - this.connectionTimeoutSeconds = options.connectionTimeoutSeconds || options.timeoutSeconds || 5; - this.healthcheckIntervalSeconds = options.healthcheckIntervalSeconds || 60; - this.numRetries = options.numRetries || this.nodes.length + (this.nearestNode == null ? 0 : 1) || 3; - this.retryIntervalSeconds = options.retryIntervalSeconds || 0.1; - this.apiKey = options.apiKey; - this.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam; // We will set a default for this in Client and SearchClient - - this.cacheSearchResultsForSeconds = options.cacheSearchResultsForSeconds || 0; // Disable client-side cache by default - this.useServerSideSearchCache = options.useServerSideSearchCache || false; - this.logger = options.logger || loglevel__WEBPACK_IMPORTED_MODULE_3__; - this.logLevel = options.logLevel || "warn"; - this.logger.setLevel(this.logLevel); - this.additionalHeaders = options.additionalHeaders; - this.httpAgent = options.httpAgent; - this.httpsAgent = options.httpsAgent; - this.paramsSerializer = options.paramsSerializer; - this.showDeprecationWarnings(options); - this.validate(); - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Configuration, [{ - key: "validate", - value: function validate() { - if (this.nodes == null || this.nodes.length === 0 || this.validateNodes()) { - throw new _Errors__WEBPACK_IMPORTED_MODULE_4__.MissingConfigurationError("Ensure that nodes[].protocol, nodes[].host and nodes[].port are set"); - } - if (this.nearestNode != null && this.isNodeMissingAnyParameters(this.nearestNode)) { - throw new _Errors__WEBPACK_IMPORTED_MODULE_4__.MissingConfigurationError("Ensure that nearestNodes.protocol, nearestNodes.host and nearestNodes.port are set"); - } - if (this.apiKey == null) { - throw new _Errors__WEBPACK_IMPORTED_MODULE_4__.MissingConfigurationError("Ensure that apiKey is set"); - } - return true; - } - }, { - key: "validateNodes", - value: function validateNodes() { - var _this2 = this; - return this.nodes.some(function (node) { - return _this2.isNodeMissingAnyParameters(node); - }); - } - }, { - key: "isNodeMissingAnyParameters", - value: function isNodeMissingAnyParameters(node) { - return !["protocol", "host", "port", "path"].every(function (key) { - return node.hasOwnProperty(key); - }) && node["url"] == null; - } - }, { - key: "setDefaultPathInNode", - value: function setDefaultPathInNode(node) { - if (node != null && !node.hasOwnProperty("path")) { - node["path"] = ""; - } - return node; - } - }, { - key: "setDefaultPortInNode", - value: function setDefaultPortInNode(node) { - if (node != null && !node.hasOwnProperty("port") && node.hasOwnProperty("protocol")) { - switch (node["protocol"]) { - case "https": - node["port"] = 443; - break; - case "http": - node["port"] = 80; - break; - } - } - return node; - } - }, { - key: "showDeprecationWarnings", - value: function showDeprecationWarnings(options) { - if (options.timeoutSeconds) { - this.logger.warn("Deprecation warning: timeoutSeconds is now renamed to connectionTimeoutSeconds"); - } - if (options.masterNode) { - this.logger.warn("Deprecation warning: masterNode is now consolidated to nodes, starting with Typesense Server v0.12"); - } - if (options.readReplicaNodes) { - this.logger.warn("Deprecation warning: readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12"); - } - } - }, { - key: "shuffleArray", - value: function shuffleArray(array) { - for (var i = array.length - 1; i > 0; i--) { - var j = Math.floor(Math.random() * (i + 1)); - var _ref = [array[j], array[i]]; - array[i] = _ref[0]; - array[j] = _ref[1]; - } - } - }]); - return Configuration; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Conversation.ts": -/*!***************************************!*\ - !*** ./src/Typesense/Conversation.ts ***! - \***************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Conversation) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _Conversations__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Conversations */ "./src/Typesense/Conversations.ts"); - - - - - -var Conversation = /*#__PURE__*/function () { - function Conversation(id, apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Conversation); - this.id = id; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Conversation, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "update", - value: function () { - var _update = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2(params) { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.put(this.endpointPath(), params)); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function update(_x) { - return _update.apply(this, arguments); - } - return update; - }() - }, { - key: "delete", - value: function () { - var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee3() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee3$(_context3) { - while (1) switch (_context3.prev = _context3.next) { - case 0: - return _context3.abrupt("return", this.apiCall.delete(this.endpointPath())); - case 1: - case "end": - return _context3.stop(); - } - }, _callee3, this); - })); - function _delete() { - return _delete2.apply(this, arguments); - } - return _delete; - }() - }, { - key: "endpointPath", - value: function endpointPath() { - return "".concat(_Conversations__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.id)); - } - }]); - return Conversation; -}(); - - -/***/ }), - -/***/ "./src/Typesense/ConversationModel.ts": -/*!********************************************!*\ - !*** ./src/Typesense/ConversationModel.ts ***! - \********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ ConversationModel) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _ConversationModels__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ConversationModels */ "./src/Typesense/ConversationModels.ts"); - - - - - -var ConversationModel = /*#__PURE__*/function () { - function ConversationModel(id, apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, ConversationModel); - this.id = id; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(ConversationModel, [{ - key: "update", - value: function () { - var _update = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(params) { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.put(this.endpointPath(), params)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function update(_x) { - return _update.apply(this, arguments); - } - return update; - }() - }, { - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "delete", - value: function () { - var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee3() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee3$(_context3) { - while (1) switch (_context3.prev = _context3.next) { - case 0: - return _context3.abrupt("return", this.apiCall.delete(this.endpointPath())); - case 1: - case "end": - return _context3.stop(); - } - }, _callee3, this); - })); - function _delete() { - return _delete2.apply(this, arguments); - } - return _delete; - }() - }, { - key: "endpointPath", - value: function endpointPath() { - return "".concat(_ConversationModels__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.id)); - } - }]); - return ConversationModel; -}(); - - -/***/ }), - -/***/ "./src/Typesense/ConversationModels.ts": -/*!*********************************************!*\ - !*** ./src/Typesense/ConversationModels.ts ***! - \*********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ ConversationModels) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); - - - - -var RESOURCEPATH = "/conversations/models"; -var ConversationModels = /*#__PURE__*/function () { - function ConversationModels(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, ConversationModels); - this.apiCall = apiCall; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(ConversationModels, [{ - key: "create", - value: function () { - var _create = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(params) { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.post(this.endpointPath(), params)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function create(_x) { - return _create.apply(this, arguments); - } - return create; - }() - }, { - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "endpointPath", - value: function endpointPath(operation) { - return "".concat(ConversationModels.RESOURCEPATH).concat(operation === undefined ? "" : "/" + encodeURIComponent(operation)); - } - }], [{ - key: "RESOURCEPATH", - get: function get() { - return RESOURCEPATH; - } - }]); - return ConversationModels; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Conversations.ts": -/*!****************************************!*\ - !*** ./src/Typesense/Conversations.ts ***! - \****************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Conversations) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var _ConversationModels__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ConversationModels */ "./src/Typesense/ConversationModels.ts"); -/* harmony import */ var _ConversationModel__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ConversationModel */ "./src/Typesense/ConversationModel.ts"); - - - - - - - -var RESOURCEPATH = "/conversations"; -var Conversations = /*#__PURE__*/function () { - function Conversations(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Conversations); - (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_3__["default"])(this, "individualConversationModels", {}); - this.apiCall = apiCall; - this.apiCall = apiCall; - this._conversationsModels = new _ConversationModels__WEBPACK_IMPORTED_MODULE_5__["default"](this.apiCall); - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Conversations, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(RESOURCEPATH)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "models", - value: function models(id) { - if (id === undefined) { - return this._conversationsModels; - } else { - if (this.individualConversationModels[id] === undefined) { - this.individualConversationModels[id] = new _ConversationModel__WEBPACK_IMPORTED_MODULE_6__["default"](id, this.apiCall); - } - return this.individualConversationModels[id]; - } - } - }], [{ - key: "RESOURCEPATH", - get: function get() { - return RESOURCEPATH; - } - }]); - return Conversations; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Debug.ts": -/*!********************************!*\ - !*** ./src/Typesense/Debug.ts ***! - \********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Debug) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); - - - - -var RESOURCEPATH = "/debug"; -var Debug = /*#__PURE__*/function () { - function Debug(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Debug); - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Debug, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(RESOURCEPATH)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }]); - return Debug; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Document.ts": -/*!***********************************!*\ - !*** ./src/Typesense/Document.ts ***! - \***********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ Document: () => (/* binding */ Document) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _Collections__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Collections */ "./src/Typesense/Collections.ts"); -/* harmony import */ var _Documents__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Documents */ "./src/Typesense/Documents.ts"); - - - - - - -var Document = /*#__PURE__*/function () { - function Document(collectionName, documentId, apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Document); - this.collectionName = collectionName; - this.documentId = documentId; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Document, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "delete", - value: function () { - var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2(options) { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.delete(this.endpointPath(), options)); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function _delete(_x) { - return _delete2.apply(this, arguments); - } - return _delete; - }() - }, { - key: "update", - value: function () { - var _update = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee3(partialDocument) { - var options, - _args3 = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee3$(_context3) { - while (1) switch (_context3.prev = _context3.next) { - case 0: - options = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : {}; - return _context3.abrupt("return", this.apiCall.patch(this.endpointPath(), partialDocument, options)); - case 2: - case "end": - return _context3.stop(); - } - }, _callee3, this); - })); - function update(_x2) { - return _update.apply(this, arguments); - } - return update; - }() - }, { - key: "endpointPath", - value: function endpointPath() { - return "".concat(_Collections__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.collectionName)).concat(_Documents__WEBPACK_IMPORTED_MODULE_5__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.documentId)); - } - }]); - return Document; -}(); - -/***/ }), - -/***/ "./src/Typesense/Documents.ts": -/*!************************************!*\ - !*** ./src/Typesense/Documents.ts ***! - \************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Documents) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"); -/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); -/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var _Errors__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Errors */ "./src/Typesense/Errors/index.ts"); -/* harmony import */ var _SearchOnlyDocuments__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./SearchOnlyDocuments */ "./src/Typesense/SearchOnlyDocuments.ts"); - - - - - - - -function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__["default"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__["default"])(t).constructor) : o.apply(t, e)); } -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } - - - -// Todo: use generic to extract filter_by values - -// Todo: we could infer whether this is a grouped response by adding the search params as a generic - -var isNodeJSEnvironment = typeof process !== "undefined" && process.versions != null && process.versions.node != null; -var Documents = /*#__PURE__*/function (_ref) { - (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__["default"])(Documents, _ref); - function Documents(collectionName, apiCall, configuration) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Documents); - return _callSuper(this, Documents, [collectionName, apiCall, configuration]); - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Documents, [{ - key: "create", - value: function () { - var _create = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().mark(function _callee(document) { - var options, - _args = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - options = _args.length > 1 && _args[1] !== undefined ? _args[1] : {}; - if (document) { - _context.next = 3; - break; - } - throw new Error("No document provided"); - case 3: - return _context.abrupt("return", this.apiCall.post(this.endpointPath(), document, options)); - case 4: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function create(_x) { - return _create.apply(this, arguments); - } - return create; - }() - }, { - key: "upsert", - value: function () { - var _upsert = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().mark(function _callee2(document) { - var options, - _args2 = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - options = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : {}; - if (document) { - _context2.next = 3; - break; - } - throw new Error("No document provided"); - case 3: - return _context2.abrupt("return", this.apiCall.post(this.endpointPath(), document, Object.assign({}, options, { - action: "upsert" - }))); - case 4: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function upsert(_x2) { - return _upsert.apply(this, arguments); - } - return upsert; - }() - }, { - key: "update", - value: function () { - var _update = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().mark(function _callee3(document) { - var options, - _args3 = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().wrap(function _callee3$(_context3) { - while (1) switch (_context3.prev = _context3.next) { - case 0: - options = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : {}; - if (document) { - _context3.next = 3; - break; - } - throw new Error("No document provided"); - case 3: - if (!(options["filter_by"] != null)) { - _context3.next = 7; - break; - } - return _context3.abrupt("return", this.apiCall.patch(this.endpointPath(), document, Object.assign({}, options))); - case 7: - return _context3.abrupt("return", this.apiCall.post(this.endpointPath(), document, Object.assign({}, options, { - action: "update" - }))); - case 8: - case "end": - return _context3.stop(); - } - }, _callee3, this); - })); - function update(_x3) { - return _update.apply(this, arguments); - } - return update; - }() - }, { - key: "delete", - value: function () { - var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().mark(function _callee4() { - var query, - _args4 = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().wrap(function _callee4$(_context4) { - while (1) switch (_context4.prev = _context4.next) { - case 0: - query = _args4.length > 0 && _args4[0] !== undefined ? _args4[0] : {}; - return _context4.abrupt("return", this.apiCall.delete(this.endpointPath(), query)); - case 2: - case "end": - return _context4.stop(); - } - }, _callee4, this); - })); - function _delete() { - return _delete2.apply(this, arguments); - } - return _delete; - }() - }, { - key: "createMany", - value: function () { - var _createMany = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().mark(function _callee5(documents) { - var options, - _args5 = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().wrap(function _callee5$(_context5) { - while (1) switch (_context5.prev = _context5.next) { - case 0: - options = _args5.length > 1 && _args5[1] !== undefined ? _args5[1] : {}; - 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"); - return _context5.abrupt("return", this.import(documents, options)); - case 3: - case "end": - return _context5.stop(); - } - }, _callee5, this); - })); - function createMany(_x4) { - return _createMany.apply(this, arguments); - } - return createMany; - }() - /** - * Import a set of documents in a batch. - * @param {string|Array} documents - Can be a JSONL string of documents or an array of document objects. - * @param options - * @return {string|Array} Returns a JSONL string if the input was a JSONL string, otherwise it returns an array of results. - */ - }, { - key: "import", - value: function () { - var _import2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().mark(function _callee6(documents) { - var options, - documentsInJSONLFormat, - resultsInJSONLFormat, - resultsInJSONFormat, - failedItems, - _args6 = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().wrap(function _callee6$(_context6) { - while (1) switch (_context6.prev = _context6.next) { - case 0: - options = _args6.length > 1 && _args6[1] !== undefined ? _args6[1] : {}; - if (!Array.isArray(documents)) { - _context6.next = 13; - break; - } - _context6.prev = 2; - documentsInJSONLFormat = documents.map(function (document) { - return JSON.stringify(document); - }).join("\n"); - _context6.next = 11; - break; - case 6: - _context6.prev = 6; - _context6.t0 = _context6["catch"](2); - if (!(_context6.t0 instanceof RangeError && _context6.t0.message.includes("Too many properties to enumerate"))) { - _context6.next = 10; - break; - } - throw new Error("".concat(_context6.t0, "\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 ")); - case 10: - throw new Error(_context6.t0); - case 11: - _context6.next = 14; - break; - case 13: - documentsInJSONLFormat = documents; - case 14: - _context6.next = 16; - return this.apiCall.performRequest("post", this.endpointPath("import"), { - queryParameters: options, - bodyParameters: documentsInJSONLFormat, - additionalHeaders: { - "Content-Type": "text/plain" - }, - 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 - enableKeepAlive: isNodeJSEnvironment ? true : false // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991 - }); - case 16: - resultsInJSONLFormat = _context6.sent; - if (!Array.isArray(documents)) { - _context6.next = 27; - break; - } - resultsInJSONFormat = resultsInJSONLFormat.split("\n").map(function (r) { - return JSON.parse(r); - }); - failedItems = resultsInJSONFormat.filter(function (r) { - return r.success === false; - }); - if (!(failedItems.length > 0)) { - _context6.next = 24; - break; - } - throw new _Errors__WEBPACK_IMPORTED_MODULE_7__.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); - case 24: - return _context6.abrupt("return", resultsInJSONFormat); - case 25: - _context6.next = 28; - break; - case 27: - return _context6.abrupt("return", resultsInJSONLFormat); - case 28: - case "end": - return _context6.stop(); - } - }, _callee6, this, [[2, 6]]); - })); - function _import(_x5) { - return _import2.apply(this, arguments); - } - return _import; - }() - /** - * Imports documents from a NodeJS readable stream of JSONL. - */ - }, { - key: "importStream", - value: (function () { - var _importStream = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().mark(function _callee7(readableStream) { - var options, - resultsInJSONLFormat, - resultsInJSONFormat, - failedItems, - _args7 = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().wrap(function _callee7$(_context7) { - while (1) switch (_context7.prev = _context7.next) { - case 0: - options = _args7.length > 1 && _args7[1] !== undefined ? _args7[1] : {}; - _context7.next = 3; - return this.apiCall.performRequest("post", this.endpointPath("import"), { - queryParameters: options, - bodyParameters: readableStream, - additionalHeaders: { - "Content-Type": "text/plain" - }, - 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 - enableKeepAlive: isNodeJSEnvironment ? true : false // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991 - }); - case 3: - resultsInJSONLFormat = _context7.sent; - resultsInJSONFormat = resultsInJSONLFormat.split("\n").map(function (r) { - return JSON.parse(r); - }); - failedItems = resultsInJSONFormat.filter(function (r) { - return r.success === false; - }); - if (!(failedItems.length > 0)) { - _context7.next = 10; - break; - } - throw new _Errors__WEBPACK_IMPORTED_MODULE_7__.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); - case 10: - return _context7.abrupt("return", resultsInJSONFormat); - case 11: - case "end": - return _context7.stop(); - } - }, _callee7, this); - })); - function importStream(_x6) { - return _importStream.apply(this, arguments); - } - return importStream; - }() - /** - * Returns a JSONL string for all the documents in this collection - */ - ) - }, { - key: "export", - value: (function () { - var _export2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().mark(function _callee8() { - var options, - _args8 = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().wrap(function _callee8$(_context8) { - while (1) switch (_context8.prev = _context8.next) { - case 0: - options = _args8.length > 0 && _args8[0] !== undefined ? _args8[0] : {}; - return _context8.abrupt("return", this.apiCall.get(this.endpointPath("export"), options)); - case 2: - case "end": - return _context8.stop(); - } - }, _callee8, this); - })); - function _export() { - return _export2.apply(this, arguments); - } - return _export; - }() - /** - * Returns a NodeJS readable stream of JSONL for all the documents in this collection. - */ - ) - }, { - key: "exportStream", - value: (function () { - var _exportStream = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().mark(function _callee9() { - var options, - _args9 = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().wrap(function _callee9$(_context9) { - while (1) switch (_context9.prev = _context9.next) { - case 0: - options = _args9.length > 0 && _args9[0] !== undefined ? _args9[0] : {}; - return _context9.abrupt("return", this.apiCall.get(this.endpointPath("export"), options, { - responseType: "stream" - })); - case 2: - case "end": - return _context9.stop(); - } - }, _callee9, this); - })); - function exportStream() { - return _exportStream.apply(this, arguments); - } - return exportStream; - }()) - }]); - return Documents; -}(_SearchOnlyDocuments__WEBPACK_IMPORTED_MODULE_8__.SearchOnlyDocuments); - - -/***/ }), - -/***/ "./src/Typesense/Errors/HTTPError.ts": -/*!*******************************************!*\ - !*** ./src/Typesense/Errors/HTTPError.ts ***! - \*******************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ HTTPError) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"); -/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); -/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js"); -/* harmony import */ var _TypesenseError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./TypesenseError */ "./src/Typesense/Errors/TypesenseError.ts"); - - - - - -function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(t).constructor) : o.apply(t, e)); } -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } - -var HTTPError = /*#__PURE__*/function (_TypesenseError) { - (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__["default"])(HTTPError, _TypesenseError); - function HTTPError() { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, HTTPError); - return _callSuper(this, HTTPError, arguments); - } - return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__["default"])(HTTPError); -}(_TypesenseError__WEBPACK_IMPORTED_MODULE_5__["default"]); - - -/***/ }), - -/***/ "./src/Typesense/Errors/ImportError.ts": -/*!*********************************************!*\ - !*** ./src/Typesense/Errors/ImportError.ts ***! - \*********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ ImportError) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"); -/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); -/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js"); -/* harmony import */ var _TypesenseError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./TypesenseError */ "./src/Typesense/Errors/TypesenseError.ts"); - - - - - -function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(t).constructor) : o.apply(t, e)); } -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } - -var ImportError = /*#__PURE__*/function (_TypesenseError) { - (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__["default"])(ImportError, _TypesenseError); - function ImportError(message, importResults) { - var _this; - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, ImportError); - _this = _callSuper(this, ImportError, [message]); - _this.importResults = importResults; - return _this; - } - return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__["default"])(ImportError); -}(_TypesenseError__WEBPACK_IMPORTED_MODULE_5__["default"]); - - -/***/ }), - -/***/ "./src/Typesense/Errors/MissingConfigurationError.ts": -/*!***********************************************************!*\ - !*** ./src/Typesense/Errors/MissingConfigurationError.ts ***! - \***********************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ MissingConfigurationError) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"); -/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); -/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js"); -/* harmony import */ var _TypesenseError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./TypesenseError */ "./src/Typesense/Errors/TypesenseError.ts"); - - - - - -function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(t).constructor) : o.apply(t, e)); } -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } - -var MissingConfigurationError = /*#__PURE__*/function (_TypesenseError) { - (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__["default"])(MissingConfigurationError, _TypesenseError); - function MissingConfigurationError() { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, MissingConfigurationError); - return _callSuper(this, MissingConfigurationError, arguments); - } - return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__["default"])(MissingConfigurationError); -}(_TypesenseError__WEBPACK_IMPORTED_MODULE_5__["default"]); - - -/***/ }), - -/***/ "./src/Typesense/Errors/ObjectAlreadyExists.ts": -/*!*****************************************************!*\ - !*** ./src/Typesense/Errors/ObjectAlreadyExists.ts ***! - \*****************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ ObjectAlreadyExists) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"); -/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); -/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js"); -/* harmony import */ var _TypesenseError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./TypesenseError */ "./src/Typesense/Errors/TypesenseError.ts"); - - - - - -function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(t).constructor) : o.apply(t, e)); } -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } - -var ObjectAlreadyExists = /*#__PURE__*/function (_TypesenseError) { - (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__["default"])(ObjectAlreadyExists, _TypesenseError); - function ObjectAlreadyExists() { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, ObjectAlreadyExists); - return _callSuper(this, ObjectAlreadyExists, arguments); - } - return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__["default"])(ObjectAlreadyExists); -}(_TypesenseError__WEBPACK_IMPORTED_MODULE_5__["default"]); - - -/***/ }), - -/***/ "./src/Typesense/Errors/ObjectNotFound.ts": -/*!************************************************!*\ - !*** ./src/Typesense/Errors/ObjectNotFound.ts ***! - \************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ ObjectNotFound) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"); -/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); -/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js"); -/* harmony import */ var _TypesenseError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./TypesenseError */ "./src/Typesense/Errors/TypesenseError.ts"); - - - - - -function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(t).constructor) : o.apply(t, e)); } -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } - -var ObjectNotFound = /*#__PURE__*/function (_TypesenseError) { - (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__["default"])(ObjectNotFound, _TypesenseError); - function ObjectNotFound() { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, ObjectNotFound); - return _callSuper(this, ObjectNotFound, arguments); - } - return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__["default"])(ObjectNotFound); -}(_TypesenseError__WEBPACK_IMPORTED_MODULE_5__["default"]); - - -/***/ }), - -/***/ "./src/Typesense/Errors/ObjectUnprocessable.ts": -/*!*****************************************************!*\ - !*** ./src/Typesense/Errors/ObjectUnprocessable.ts ***! - \*****************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ ObjectUnprocessable) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"); -/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); -/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js"); -/* harmony import */ var _TypesenseError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./TypesenseError */ "./src/Typesense/Errors/TypesenseError.ts"); - - - - - -function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(t).constructor) : o.apply(t, e)); } -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } - -var ObjectUnprocessable = /*#__PURE__*/function (_TypesenseError) { - (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__["default"])(ObjectUnprocessable, _TypesenseError); - function ObjectUnprocessable() { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, ObjectUnprocessable); - return _callSuper(this, ObjectUnprocessable, arguments); - } - return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__["default"])(ObjectUnprocessable); -}(_TypesenseError__WEBPACK_IMPORTED_MODULE_5__["default"]); - - -/***/ }), - -/***/ "./src/Typesense/Errors/RequestMalformed.ts": -/*!**************************************************!*\ - !*** ./src/Typesense/Errors/RequestMalformed.ts ***! - \**************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ RequestMalformed) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"); -/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); -/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js"); -/* harmony import */ var _TypesenseError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./TypesenseError */ "./src/Typesense/Errors/TypesenseError.ts"); - - - - - -function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(t).constructor) : o.apply(t, e)); } -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } - -var RequestMalformed = /*#__PURE__*/function (_TypesenseError) { - (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__["default"])(RequestMalformed, _TypesenseError); - function RequestMalformed() { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, RequestMalformed); - return _callSuper(this, RequestMalformed, arguments); - } - return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__["default"])(RequestMalformed); -}(_TypesenseError__WEBPACK_IMPORTED_MODULE_5__["default"]); - - -/***/ }), - -/***/ "./src/Typesense/Errors/RequestUnauthorized.ts": -/*!*****************************************************!*\ - !*** ./src/Typesense/Errors/RequestUnauthorized.ts ***! - \*****************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ RequestUnauthorized) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"); -/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); -/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js"); -/* harmony import */ var _TypesenseError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./TypesenseError */ "./src/Typesense/Errors/TypesenseError.ts"); - - - - - -function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(t).constructor) : o.apply(t, e)); } -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } - -var RequestUnauthorized = /*#__PURE__*/function (_TypesenseError) { - (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__["default"])(RequestUnauthorized, _TypesenseError); - function RequestUnauthorized() { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, RequestUnauthorized); - return _callSuper(this, RequestUnauthorized, arguments); - } - return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__["default"])(RequestUnauthorized); -}(_TypesenseError__WEBPACK_IMPORTED_MODULE_5__["default"]); - - -/***/ }), - -/***/ "./src/Typesense/Errors/ServerError.ts": -/*!*********************************************!*\ - !*** ./src/Typesense/Errors/ServerError.ts ***! - \*********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ ServerError) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"); -/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); -/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js"); -/* harmony import */ var _TypesenseError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./TypesenseError */ "./src/Typesense/Errors/TypesenseError.ts"); - - - - - -function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(t).constructor) : o.apply(t, e)); } -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } - -var ServerError = /*#__PURE__*/function (_TypesenseError) { - (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__["default"])(ServerError, _TypesenseError); - function ServerError() { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, ServerError); - return _callSuper(this, ServerError, arguments); - } - return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__["default"])(ServerError); -}(_TypesenseError__WEBPACK_IMPORTED_MODULE_5__["default"]); - - -/***/ }), - -/***/ "./src/Typesense/Errors/TypesenseError.ts": -/*!************************************************!*\ - !*** ./src/Typesense/Errors/TypesenseError.ts ***! - \************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ TypesenseError) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"); -/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); -/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ "./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js"); -/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js"); -/* harmony import */ var _babel_runtime_helpers_wrapNativeSuper__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/wrapNativeSuper */ "./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js"); - - - - - - - -function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(t).constructor) : o.apply(t, e)); } -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } -var TypesenseError = /*#__PURE__*/function (_Error) { - (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__["default"])(TypesenseError, _Error); - // Source: https://stackoverflow.com/a/58417721/123545 - function TypesenseError(message) { - var _this; - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, TypesenseError); - _this = _callSuper(this, TypesenseError, [message]); - _this.name = (this instanceof TypesenseError ? this.constructor : void 0).name; - Object.setPrototypeOf((0,_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4__["default"])(_this), (this instanceof TypesenseError ? this.constructor : void 0).prototype); - return _this; - } - return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__["default"])(TypesenseError); -}( /*#__PURE__*/(0,_babel_runtime_helpers_wrapNativeSuper__WEBPACK_IMPORTED_MODULE_6__["default"])(Error)); - - -/***/ }), - -/***/ "./src/Typesense/Errors/index.ts": -/*!***************************************!*\ - !*** ./src/Typesense/Errors/index.ts ***! - \***************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ HTTPError: () => (/* reexport safe */ _HTTPError__WEBPACK_IMPORTED_MODULE_0__["default"]), -/* harmony export */ ImportError: () => (/* reexport safe */ _ImportError__WEBPACK_IMPORTED_MODULE_8__["default"]), -/* harmony export */ MissingConfigurationError: () => (/* reexport safe */ _MissingConfigurationError__WEBPACK_IMPORTED_MODULE_1__["default"]), -/* harmony export */ ObjectAlreadyExists: () => (/* reexport safe */ _ObjectAlreadyExists__WEBPACK_IMPORTED_MODULE_2__["default"]), -/* harmony export */ ObjectNotFound: () => (/* reexport safe */ _ObjectNotFound__WEBPACK_IMPORTED_MODULE_3__["default"]), -/* harmony export */ ObjectUnprocessable: () => (/* reexport safe */ _ObjectUnprocessable__WEBPACK_IMPORTED_MODULE_4__["default"]), -/* harmony export */ RequestMalformed: () => (/* reexport safe */ _RequestMalformed__WEBPACK_IMPORTED_MODULE_5__["default"]), -/* harmony export */ RequestUnauthorized: () => (/* reexport safe */ _RequestUnauthorized__WEBPACK_IMPORTED_MODULE_6__["default"]), -/* harmony export */ ServerError: () => (/* reexport safe */ _ServerError__WEBPACK_IMPORTED_MODULE_7__["default"]), -/* harmony export */ TypesenseError: () => (/* reexport safe */ _TypesenseError__WEBPACK_IMPORTED_MODULE_9__["default"]) -/* harmony export */ }); -/* harmony import */ var _HTTPError__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./HTTPError */ "./src/Typesense/Errors/HTTPError.ts"); -/* harmony import */ var _MissingConfigurationError__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./MissingConfigurationError */ "./src/Typesense/Errors/MissingConfigurationError.ts"); -/* harmony import */ var _ObjectAlreadyExists__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ObjectAlreadyExists */ "./src/Typesense/Errors/ObjectAlreadyExists.ts"); -/* harmony import */ var _ObjectNotFound__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ObjectNotFound */ "./src/Typesense/Errors/ObjectNotFound.ts"); -/* harmony import */ var _ObjectUnprocessable__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ObjectUnprocessable */ "./src/Typesense/Errors/ObjectUnprocessable.ts"); -/* harmony import */ var _RequestMalformed__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./RequestMalformed */ "./src/Typesense/Errors/RequestMalformed.ts"); -/* harmony import */ var _RequestUnauthorized__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./RequestUnauthorized */ "./src/Typesense/Errors/RequestUnauthorized.ts"); -/* harmony import */ var _ServerError__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./ServerError */ "./src/Typesense/Errors/ServerError.ts"); -/* harmony import */ var _ImportError__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./ImportError */ "./src/Typesense/Errors/ImportError.ts"); -/* harmony import */ var _TypesenseError__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./TypesenseError */ "./src/Typesense/Errors/TypesenseError.ts"); - - - - - - - - - - - - -/***/ }), - -/***/ "./src/Typesense/Health.ts": -/*!*********************************!*\ - !*** ./src/Typesense/Health.ts ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Health) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); - - - - -var RESOURCEPATH = "/health"; -var Health = /*#__PURE__*/function () { - function Health(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Health); - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Health, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(RESOURCEPATH)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }]); - return Health; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Key.ts": -/*!******************************!*\ - !*** ./src/Typesense/Key.ts ***! - \******************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Key) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _Keys__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Keys */ "./src/Typesense/Keys.ts"); - - - - - -var Key = /*#__PURE__*/function () { - function Key(id, apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Key); - this.id = id; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Key, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "delete", - value: function () { - var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.delete(this.endpointPath())); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function _delete() { - return _delete2.apply(this, arguments); - } - return _delete; - }() - }, { - key: "endpointPath", - value: function endpointPath() { - return "".concat(_Keys__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.id)); - } - }]); - return Key; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Keys.ts": -/*!*******************************!*\ - !*** ./src/Typesense/Keys.ts ***! - \*******************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Keys) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var crypto__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! crypto */ "?4bf0"); -/* harmony import */ var crypto__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(crypto__WEBPACK_IMPORTED_MODULE_4__); - - - - - -var RESOURCEPATH = "/keys"; -var Keys = /*#__PURE__*/function () { - function Keys(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Keys); - this.apiCall = apiCall; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Keys, [{ - key: "create", - value: function () { - var _create = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(params) { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.post(Keys.RESOURCEPATH, params)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function create(_x) { - return _create.apply(this, arguments); - } - return create; - }() - }, { - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.get(RESOURCEPATH)); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "generateScopedSearchKey", - value: function generateScopedSearchKey(searchKey, parameters) { - // Note: only a key generated with the `documents:search` action will be - // accepted by the server, when usined with the search endpoint. - var paramsJSON = JSON.stringify(parameters); - var digest = Buffer.from((0,crypto__WEBPACK_IMPORTED_MODULE_4__.createHmac)("sha256", searchKey).update(paramsJSON).digest("base64")); - var keyPrefix = searchKey.substr(0, 4); - var rawScopedKey = "".concat(digest).concat(keyPrefix).concat(paramsJSON); - return Buffer.from(rawScopedKey).toString("base64"); - } - }], [{ - key: "RESOURCEPATH", - get: function get() { - return RESOURCEPATH; - } - }]); - return Keys; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Metrics.ts": -/*!**********************************!*\ - !*** ./src/Typesense/Metrics.ts ***! - \**********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Metrics) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); - - - - -var RESOURCEPATH = "/metrics.json"; -var Metrics = /*#__PURE__*/function () { - function Metrics(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Metrics); - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Metrics, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(RESOURCEPATH)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }]); - return Metrics; -}(); - - -/***/ }), - -/***/ "./src/Typesense/MultiSearch.ts": -/*!**************************************!*\ - !*** ./src/Typesense/MultiSearch.ts ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ MultiSearch) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _RequestWithCache__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./RequestWithCache */ "./src/Typesense/RequestWithCache.ts"); - - - - - -var RESOURCEPATH = "/multi_search"; -var MultiSearch = /*#__PURE__*/function () { - function MultiSearch(apiCall, configuration) { - var useTextContentType = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, MultiSearch); - this.apiCall = apiCall; - this.configuration = configuration; - this.useTextContentType = useTextContentType; - this.requestWithCache = new _RequestWithCache__WEBPACK_IMPORTED_MODULE_4__["default"](); - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(MultiSearch, [{ - key: "clearCache", - value: function clearCache() { - this.requestWithCache.clearCache(); - } - }, { - key: "perform", - value: function () { - var _perform = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(searchRequests) { - var commonParams, - _ref, - _ref$cacheSearchResul, - cacheSearchResultsForSeconds, - additionalHeaders, - additionalQueryParams, - queryParams, - _args = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - commonParams = _args.length > 1 && _args[1] !== undefined ? _args[1] : {}; - _ref = _args.length > 2 && _args[2] !== undefined ? _args[2] : {}, _ref$cacheSearchResul = _ref.cacheSearchResultsForSeconds, cacheSearchResultsForSeconds = _ref$cacheSearchResul === void 0 ? this.configuration.cacheSearchResultsForSeconds : _ref$cacheSearchResul; - additionalHeaders = {}; - if (this.useTextContentType) { - additionalHeaders["content-type"] = "text/plain"; - } - additionalQueryParams = {}; - if (this.configuration.useServerSideSearchCache === true) { - additionalQueryParams["use_cache"] = true; - } - queryParams = Object.assign({}, commonParams, additionalQueryParams); - return _context.abrupt("return", this.requestWithCache.perform(this.apiCall, this.apiCall.post, [RESOURCEPATH, searchRequests, queryParams, additionalHeaders], { - cacheResponseForSeconds: cacheSearchResultsForSeconds - })); - case 8: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function perform(_x) { - return _perform.apply(this, arguments); - } - return perform; - }() - }]); - return MultiSearch; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Operations.ts": -/*!*************************************!*\ - !*** ./src/Typesense/Operations.ts ***! - \*************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Operations) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); - - - - -var RESOURCEPATH = "/operations"; -var Operations = /*#__PURE__*/function () { - function Operations(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Operations); - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Operations, [{ - key: "perform", - value: function () { - var _perform = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(operationName) { - var queryParameters, - _args = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - queryParameters = _args.length > 1 && _args[1] !== undefined ? _args[1] : {}; - return _context.abrupt("return", this.apiCall.post("".concat(RESOURCEPATH, "/").concat(operationName), {}, queryParameters)); - case 2: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function perform(_x) { - return _perform.apply(this, arguments); - } - return perform; - }() - }]); - return Operations; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Override.ts": -/*!***********************************!*\ - !*** ./src/Typesense/Override.ts ***! - \***********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Override) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _Collections__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Collections */ "./src/Typesense/Collections.ts"); -/* harmony import */ var _Overrides__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Overrides */ "./src/Typesense/Overrides.ts"); - - - - - - -var Override = /*#__PURE__*/function () { - function Override(collectionName, overrideId, apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Override); - this.collectionName = collectionName; - this.overrideId = overrideId; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Override, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "delete", - value: function () { - var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.delete(this.endpointPath())); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function _delete() { - return _delete2.apply(this, arguments); - } - return _delete; - }() - }, { - key: "endpointPath", - value: function endpointPath() { - return "".concat(_Collections__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.collectionName)).concat(_Overrides__WEBPACK_IMPORTED_MODULE_5__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.overrideId)); - } - }]); - return Override; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Overrides.ts": -/*!************************************!*\ - !*** ./src/Typesense/Overrides.ts ***! - \************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Overrides) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _Collections__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Collections */ "./src/Typesense/Collections.ts"); - - - - - -var RESOURCEPATH = "/overrides"; -var Overrides = /*#__PURE__*/function () { - function Overrides(collectionName, apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Overrides); - this.collectionName = collectionName; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Overrides, [{ - key: "upsert", - value: function () { - var _upsert = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(overrideId, params) { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.put(this.endpointPath(overrideId), params)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function upsert(_x, _x2) { - return _upsert.apply(this, arguments); - } - return upsert; - }() - }, { - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "endpointPath", - value: function endpointPath(operation) { - return "".concat(_Collections__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(this.collectionName).concat(Overrides.RESOURCEPATH).concat(operation === undefined ? "" : "/" + encodeURIComponent(operation)); - } - }], [{ - key: "RESOURCEPATH", - get: function get() { - return RESOURCEPATH; - } - }]); - return Overrides; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Preset.ts": -/*!*********************************!*\ - !*** ./src/Typesense/Preset.ts ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Preset) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _Presets__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Presets */ "./src/Typesense/Presets.ts"); - - - - - -var Preset = /*#__PURE__*/function () { - function Preset(presetId, apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Preset); - this.presetId = presetId; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Preset, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "delete", - value: function () { - var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.delete(this.endpointPath())); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function _delete() { - return _delete2.apply(this, arguments); - } - return _delete; - }() - }, { - key: "endpointPath", - value: function endpointPath() { - return "".concat(_Presets__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.presetId)); - } - }]); - return Preset; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Presets.ts": -/*!**********************************!*\ - !*** ./src/Typesense/Presets.ts ***! - \**********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Presets) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); - - - - -var RESOURCEPATH = "/presets"; -var Presets = /*#__PURE__*/function () { - function Presets(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Presets); - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Presets, [{ - key: "upsert", - value: function () { - var _upsert = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(presetId, params) { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.put(this.endpointPath(presetId), params)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function upsert(_x, _x2) { - return _upsert.apply(this, arguments); - } - return upsert; - }() - }, { - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "endpointPath", - value: function endpointPath(operation) { - return "".concat(Presets.RESOURCEPATH).concat(operation === undefined ? "" : "/" + encodeURIComponent(operation)); - } - }], [{ - key: "RESOURCEPATH", - get: function get() { - return RESOURCEPATH; - } - }]); - return Presets; -}(); - - -/***/ }), - -/***/ "./src/Typesense/RequestWithCache.ts": -/*!*******************************************!*\ - !*** ./src/Typesense/RequestWithCache.ts ***! - \*******************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ RequestWithCache) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js"); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_5__); - - - - - - -var defaultCacheResponseForSeconds = 2 * 60; -var defaultMaxSize = 100; -var RequestWithCache = /*#__PURE__*/function () { - function RequestWithCache() { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__["default"])(this, RequestWithCache); - (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_4__["default"])(this, "responseCache", new Map()); - (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_4__["default"])(this, "responsePromiseCache", new Map()); - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__["default"])(RequestWithCache, [{ - key: "clearCache", - value: function clearCache() { - this.responseCache = new Map(); - this.responsePromiseCache = new Map(); - } - - // Todo: should probably be passed a callback instead, or an apiCall instance. Types are messy this way - }, { - key: "perform", - value: function () { - var _perform = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_5___default().mark(function _callee(requestContext, requestFunction, requestFunctionArguments, cacheOptions) { - var _cacheOptions$cacheRe, cacheResponseForSeconds, _cacheOptions$maxSize, maxSize, isCacheDisabled, requestFunctionArgumentsJSON, cacheEntry, now, isEntryValid, cachePromiseEntry, _isEntryValid, responsePromise, response, isCacheOverMaxSize, oldestEntry, isResponsePromiseCacheOverMaxSize, _oldestEntry; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_5___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - _cacheOptions$cacheRe = cacheOptions.cacheResponseForSeconds, cacheResponseForSeconds = _cacheOptions$cacheRe === void 0 ? defaultCacheResponseForSeconds : _cacheOptions$cacheRe, _cacheOptions$maxSize = cacheOptions.maxSize, maxSize = _cacheOptions$maxSize === void 0 ? defaultMaxSize : _cacheOptions$maxSize; - isCacheDisabled = cacheResponseForSeconds <= 0 || maxSize <= 0; - if (!isCacheDisabled) { - _context.next = 4; - break; - } - return _context.abrupt("return", requestFunction.call.apply(requestFunction, [requestContext].concat((0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__["default"])(requestFunctionArguments)))); - case 4: - requestFunctionArgumentsJSON = JSON.stringify(requestFunctionArguments); - cacheEntry = this.responseCache.get(requestFunctionArgumentsJSON); - now = Date.now(); - if (!cacheEntry) { - _context.next = 16; - break; - } - isEntryValid = now - cacheEntry.requestTimestamp < cacheResponseForSeconds * 1000; - if (!isEntryValid) { - _context.next = 15; - break; - } - this.responseCache.delete(requestFunctionArgumentsJSON); - this.responseCache.set(requestFunctionArgumentsJSON, cacheEntry); - return _context.abrupt("return", Promise.resolve(cacheEntry.response)); - case 15: - this.responseCache.delete(requestFunctionArgumentsJSON); - case 16: - cachePromiseEntry = this.responsePromiseCache.get(requestFunctionArgumentsJSON); - if (!cachePromiseEntry) { - _context.next = 26; - break; - } - _isEntryValid = now - cachePromiseEntry.requestTimestamp < cacheResponseForSeconds * 1000; - if (!_isEntryValid) { - _context.next = 25; - break; - } - this.responsePromiseCache.delete(requestFunctionArgumentsJSON); - this.responsePromiseCache.set(requestFunctionArgumentsJSON, cachePromiseEntry); - return _context.abrupt("return", cachePromiseEntry.responsePromise); - case 25: - this.responsePromiseCache.delete(requestFunctionArgumentsJSON); - case 26: - responsePromise = requestFunction.call.apply(requestFunction, [requestContext].concat((0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__["default"])(requestFunctionArguments))); - this.responsePromiseCache.set(requestFunctionArgumentsJSON, { - requestTimestamp: now, - responsePromise: responsePromise - }); - _context.next = 30; - return responsePromise; - case 30: - response = _context.sent; - this.responseCache.set(requestFunctionArgumentsJSON, { - requestTimestamp: now, - response: response - }); - isCacheOverMaxSize = this.responseCache.size > maxSize; - if (isCacheOverMaxSize) { - oldestEntry = this.responseCache.keys().next().value; - this.responseCache.delete(oldestEntry); - } - isResponsePromiseCacheOverMaxSize = this.responsePromiseCache.size > maxSize; - if (isResponsePromiseCacheOverMaxSize) { - _oldestEntry = this.responsePromiseCache.keys().next().value; - this.responsePromiseCache.delete(_oldestEntry); - } - return _context.abrupt("return", response); - case 37: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function perform(_x, _x2, _x3, _x4) { - return _perform.apply(this, arguments); - } - return perform; - }() - }]); - return RequestWithCache; -}(); - - -/***/ }), - -/***/ "./src/Typesense/SearchClient.ts": -/*!***************************************!*\ - !*** ./src/Typesense/SearchClient.ts ***! - \***************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ SearchClient) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "./node_modules/@babel/runtime/helpers/esm/slicedToArray.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _Configuration__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Configuration */ "./src/Typesense/Configuration.ts"); -/* harmony import */ var _ApiCall__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ApiCall */ "./src/Typesense/ApiCall.ts"); -/* harmony import */ var _MultiSearch__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./MultiSearch */ "./src/Typesense/MultiSearch.ts"); -/* harmony import */ var _SearchOnlyCollection__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./SearchOnlyCollection */ "./src/Typesense/SearchOnlyCollection.ts"); - - - - - - - -var SearchClient = /*#__PURE__*/function () { - function SearchClient(options) { - var _options$sendApiKeyAs; - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, SearchClient); - options.sendApiKeyAsQueryParam = (_options$sendApiKeyAs = options.sendApiKeyAsQueryParam) !== null && _options$sendApiKeyAs !== void 0 ? _options$sendApiKeyAs : true; - if (options.sendApiKeyAsQueryParam === true && (options.apiKey || "").length > 2000) { - console.warn("[typesense] API Key is longer than 2000 characters which is over the allowed limit, so disabling sending it as a query parameter."); - options.sendApiKeyAsQueryParam = false; - } - this.configuration = new _Configuration__WEBPACK_IMPORTED_MODULE_3__["default"](options); - this.apiCall = new _ApiCall__WEBPACK_IMPORTED_MODULE_4__["default"](this.configuration); - this.multiSearch = new _MultiSearch__WEBPACK_IMPORTED_MODULE_5__["default"](this.apiCall, this.configuration, true); - this.individualCollections = {}; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(SearchClient, [{ - key: "clearCache", - value: function clearCache() { - this.multiSearch.clearCache(); - - // eslint-disable-next-line @typescript-eslint/no-unused-vars - Object.entries(this.individualCollections).forEach(function (_ref) { - var _ref2 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__["default"])(_ref, 2), - _ = _ref2[0], - collection = _ref2[1]; - collection.documents().clearCache(); - }); - } - }, { - key: "collections", - value: function collections(collectionName) { - if (!collectionName) { - 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."); - } else { - if (this.individualCollections[collectionName] === undefined) { - this.individualCollections[collectionName] = new _SearchOnlyCollection__WEBPACK_IMPORTED_MODULE_6__.SearchOnlyCollection(collectionName, this.apiCall, this.configuration); - } - return this.individualCollections[collectionName]; - } - } - }]); - return SearchClient; -}(); - - -/***/ }), - -/***/ "./src/Typesense/SearchOnlyCollection.ts": -/*!***********************************************!*\ - !*** ./src/Typesense/SearchOnlyCollection.ts ***! - \***********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ SearchOnlyCollection: () => (/* binding */ SearchOnlyCollection) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _SearchOnlyDocuments__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./SearchOnlyDocuments */ "./src/Typesense/SearchOnlyDocuments.ts"); - - - -var SearchOnlyCollection = /*#__PURE__*/function () { - function SearchOnlyCollection(name, apiCall, configuration) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__["default"])(this, SearchOnlyCollection); - this.name = name; - this.apiCall = apiCall; - this.configuration = configuration; - this._documents = new _SearchOnlyDocuments__WEBPACK_IMPORTED_MODULE_2__.SearchOnlyDocuments(this.name, this.apiCall, this.configuration); - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__["default"])(SearchOnlyCollection, [{ - key: "documents", - value: function documents() { - return this._documents; - } - }]); - return SearchOnlyCollection; -}(); - -/***/ }), - -/***/ "./src/Typesense/SearchOnlyDocuments.ts": -/*!**********************************************!*\ - !*** ./src/Typesense/SearchOnlyDocuments.ts ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ SearchOnlyDocuments: () => (/* binding */ SearchOnlyDocuments) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var _RequestWithCache__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./RequestWithCache */ "./src/Typesense/RequestWithCache.ts"); -/* harmony import */ var _Collections__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Collections */ "./src/Typesense/Collections.ts"); - - - - - - - -var RESOURCEPATH = "/documents"; -var SearchOnlyDocuments = /*#__PURE__*/function () { - function SearchOnlyDocuments(collectionName, apiCall, configuration) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, SearchOnlyDocuments); - (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_3__["default"])(this, "requestWithCache", new _RequestWithCache__WEBPACK_IMPORTED_MODULE_5__["default"]()); - this.collectionName = collectionName; - this.apiCall = apiCall; - this.configuration = configuration; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(SearchOnlyDocuments, [{ - key: "clearCache", - value: function clearCache() { - this.requestWithCache.clearCache(); - } - }, { - key: "search", - value: function () { - var _search = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee(searchParameters) { - var _ref, - _ref$cacheSearchResul, - cacheSearchResultsForSeconds, - _ref$abortSignal, - abortSignal, - additionalQueryParams, - key, - queryParams, - _args = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - _ref = _args.length > 1 && _args[1] !== undefined ? _args[1] : {}, _ref$cacheSearchResul = _ref.cacheSearchResultsForSeconds, cacheSearchResultsForSeconds = _ref$cacheSearchResul === void 0 ? this.configuration.cacheSearchResultsForSeconds : _ref$cacheSearchResul, _ref$abortSignal = _ref.abortSignal, abortSignal = _ref$abortSignal === void 0 ? null : _ref$abortSignal; - additionalQueryParams = {}; - if (this.configuration.useServerSideSearchCache === true) { - additionalQueryParams["use_cache"] = true; - } - for (key in searchParameters) { - if (Array.isArray(searchParameters[key])) { - additionalQueryParams[key] = searchParameters[key].join(","); - } - } - queryParams = Object.assign({}, searchParameters, additionalQueryParams); - return _context.abrupt("return", this.requestWithCache.perform(this.apiCall, this.apiCall.get, [this.endpointPath("search"), queryParams, { - abortSignal: abortSignal - }], { - cacheResponseForSeconds: cacheSearchResultsForSeconds - })); - case 6: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function search(_x) { - return _search.apply(this, arguments); - } - return search; - }() - }, { - key: "endpointPath", - value: function endpointPath(operation) { - return "".concat(_Collections__WEBPACK_IMPORTED_MODULE_6__["default"].RESOURCEPATH, "/").concat(this.collectionName).concat(RESOURCEPATH).concat(operation === undefined ? "" : "/" + operation); - } - }], [{ - key: "RESOURCEPATH", - get: function get() { - return RESOURCEPATH; - } - }]); - return SearchOnlyDocuments; -}(); - -/***/ }), - -/***/ "./src/Typesense/Stats.ts": -/*!********************************!*\ - !*** ./src/Typesense/Stats.ts ***! - \********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Metrics) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); - - - - -var RESOURCEPATH = "/stats.json"; -var Metrics = /*#__PURE__*/function () { - function Metrics(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Metrics); - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Metrics, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(RESOURCEPATH)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }]); - return Metrics; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Stopword.ts": -/*!***********************************!*\ - !*** ./src/Typesense/Stopword.ts ***! - \***********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Stopword) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _Stopwords__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Stopwords */ "./src/Typesense/Stopwords.ts"); - - - - - -var Stopword = /*#__PURE__*/function () { - function Stopword(stopwordId, apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Stopword); - this.stopwordId = stopwordId; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Stopword, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "delete", - value: function () { - var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.delete(this.endpointPath())); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function _delete() { - return _delete2.apply(this, arguments); - } - return _delete; - }() - }, { - key: "endpointPath", - value: function endpointPath() { - return "".concat(_Stopwords__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.stopwordId)); - } - }]); - return Stopword; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Stopwords.ts": -/*!************************************!*\ - !*** ./src/Typesense/Stopwords.ts ***! - \************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Stopwords) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); - - - - -var RESOURCEPATH = "/stopwords"; -var Stopwords = /*#__PURE__*/function () { - function Stopwords(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Stopwords); - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Stopwords, [{ - key: "upsert", - value: function () { - var _upsert = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(stopwordId, params) { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.put(this.endpointPath(stopwordId), params)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function upsert(_x, _x2) { - return _upsert.apply(this, arguments); - } - return upsert; - }() - }, { - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "endpointPath", - value: function endpointPath(operation) { - return "".concat(Stopwords.RESOURCEPATH).concat(operation === undefined ? "" : "/" + encodeURIComponent(operation)); - } - }], [{ - key: "RESOURCEPATH", - get: function get() { - return RESOURCEPATH; - } - }]); - return Stopwords; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Synonym.ts": -/*!**********************************!*\ - !*** ./src/Typesense/Synonym.ts ***! - \**********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Synonym) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _Collections__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Collections */ "./src/Typesense/Collections.ts"); -/* harmony import */ var _Synonyms__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Synonyms */ "./src/Typesense/Synonyms.ts"); - - - - - - -var Synonym = /*#__PURE__*/function () { - function Synonym(collectionName, synonymId, apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Synonym); - this.collectionName = collectionName; - this.synonymId = synonymId; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Synonym, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "delete", - value: function () { - var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.delete(this.endpointPath())); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function _delete() { - return _delete2.apply(this, arguments); - } - return _delete; - }() - }, { - key: "endpointPath", - value: function endpointPath() { - return "".concat(_Collections__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.collectionName)).concat(_Synonyms__WEBPACK_IMPORTED_MODULE_5__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.synonymId)); - } - }]); - return Synonym; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Synonyms.ts": -/*!***********************************!*\ - !*** ./src/Typesense/Synonyms.ts ***! - \***********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Synonyms) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _Collections__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Collections */ "./src/Typesense/Collections.ts"); - - - - - -var RESOURCEPATH = "/synonyms"; -var Synonyms = /*#__PURE__*/function () { - function Synonyms(collectionName, apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Synonyms); - this.collectionName = collectionName; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Synonyms, [{ - key: "upsert", - value: function () { - var _upsert = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(synonymId, params) { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.put(this.endpointPath(synonymId), params)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function upsert(_x, _x2) { - return _upsert.apply(this, arguments); - } - return upsert; - }() - }, { - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "endpointPath", - value: function endpointPath(operation) { - return "".concat(_Collections__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.collectionName)).concat(Synonyms.RESOURCEPATH).concat(operation === undefined ? "" : "/" + encodeURIComponent(operation)); - } - }], [{ - key: "RESOURCEPATH", - get: function get() { - return RESOURCEPATH; - } - }]); - return Synonyms; -}(); - - -/***/ }), - -/***/ "./node_modules/loglevel/lib/loglevel.js": -/*!***********************************************!*\ - !*** ./node_modules/loglevel/lib/loglevel.js ***! - \***********************************************/ -/***/ (function(module, exports, __webpack_require__) { - -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/* -* loglevel - https://github.com/pimterry/loglevel -* -* Copyright (c) 2013 Tim Perry -* Licensed under the MIT license. -*/ -(function (root, definition) { - "use strict"; - if (true) { - !(__WEBPACK_AMD_DEFINE_FACTORY__ = (definition), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) : - __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); - } else {} -}(this, function () { - "use strict"; - - // Slightly dubious tricks to cut down minimized file size - var noop = function() {}; - var undefinedType = "undefined"; - var isIE = (typeof window !== undefinedType) && (typeof window.navigator !== undefinedType) && ( - /Trident\/|MSIE /.test(window.navigator.userAgent) - ); - - var logMethods = [ - "trace", - "debug", - "info", - "warn", - "error" - ]; - - var _loggersByName = {}; - var defaultLogger = null; - - // Cross-browser bind equivalent that works at least back to IE6 - function bindMethod(obj, methodName) { - var method = obj[methodName]; - if (typeof method.bind === 'function') { - return method.bind(obj); - } else { - try { - return Function.prototype.bind.call(method, obj); - } catch (e) { - // Missing bind shim or IE8 + Modernizr, fallback to wrapping - return function() { - return Function.prototype.apply.apply(method, [obj, arguments]); - }; - } - } - } - - // Trace() doesn't print the message in IE, so for that case we need to wrap it - function traceForIE() { - if (console.log) { - if (console.log.apply) { - console.log.apply(console, arguments); - } else { - // In old IE, native console methods themselves don't have apply(). - Function.prototype.apply.apply(console.log, [console, arguments]); - } - } - if (console.trace) console.trace(); - } - - // Build the best logging method possible for this env - // Wherever possible we want to bind, not wrap, to preserve stack traces - function realMethod(methodName) { - if (methodName === 'debug') { - methodName = 'log'; - } - - if (typeof console === undefinedType) { - return false; // No method possible, for now - fixed later by enableLoggingWhenConsoleArrives - } else if (methodName === 'trace' && isIE) { - return traceForIE; - } else if (console[methodName] !== undefined) { - return bindMethod(console, methodName); - } else if (console.log !== undefined) { - return bindMethod(console, 'log'); - } else { - return noop; - } - } - - // These private functions always need `this` to be set properly - - function replaceLoggingMethods() { - /*jshint validthis:true */ - var level = this.getLevel(); - - // Replace the actual methods. - for (var i = 0; i < logMethods.length; i++) { - var methodName = logMethods[i]; - this[methodName] = (i < level) ? - noop : - this.methodFactory(methodName, level, this.name); - } - - // Define log.log as an alias for log.debug - this.log = this.debug; - - // Return any important warnings. - if (typeof console === undefinedType && level < this.levels.SILENT) { - return "No console available for logging"; - } - } - - // In old IE versions, the console isn't present until you first open it. - // We build realMethod() replacements here that regenerate logging methods - function enableLoggingWhenConsoleArrives(methodName) { - return function () { - if (typeof console !== undefinedType) { - replaceLoggingMethods.call(this); - this[methodName].apply(this, arguments); - } - }; - } - - // By default, we use closely bound real methods wherever possible, and - // otherwise we wait for a console to appear, and then try again. - function defaultMethodFactory(methodName, _level, _loggerName) { - /*jshint validthis:true */ - return realMethod(methodName) || - enableLoggingWhenConsoleArrives.apply(this, arguments); - } - - function Logger(name, factory) { - // Private instance variables. - var self = this; - /** - * The level inherited from a parent logger (or a global default). We - * cache this here rather than delegating to the parent so that it stays - * in sync with the actual logging methods that we have installed (the - * parent could change levels but we might not have rebuilt the loggers - * in this child yet). - * @type {number} - */ - var inheritedLevel; - /** - * The default level for this logger, if any. If set, this overrides - * `inheritedLevel`. - * @type {number|null} - */ - var defaultLevel; - /** - * A user-specific level for this logger. If set, this overrides - * `defaultLevel`. - * @type {number|null} - */ - var userLevel; - - var storageKey = "loglevel"; - if (typeof name === "string") { - storageKey += ":" + name; - } else if (typeof name === "symbol") { - storageKey = undefined; - } - - function persistLevelIfPossible(levelNum) { - var levelName = (logMethods[levelNum] || 'silent').toUpperCase(); - - if (typeof window === undefinedType || !storageKey) return; - - // Use localStorage if available - try { - window.localStorage[storageKey] = levelName; - return; - } catch (ignore) {} - - // Use session cookie as fallback - try { - window.document.cookie = - encodeURIComponent(storageKey) + "=" + levelName + ";"; - } catch (ignore) {} - } - - function getPersistedLevel() { - var storedLevel; - - if (typeof window === undefinedType || !storageKey) return; - - try { - storedLevel = window.localStorage[storageKey]; - } catch (ignore) {} - - // Fallback to cookies if local storage gives us nothing - if (typeof storedLevel === undefinedType) { - try { - var cookie = window.document.cookie; - var cookieName = encodeURIComponent(storageKey); - var location = cookie.indexOf(cookieName + "="); - if (location !== -1) { - storedLevel = /^([^;]+)/.exec( - cookie.slice(location + cookieName.length + 1) - )[1]; - } - } catch (ignore) {} - } - - // If the stored level is not valid, treat it as if nothing was stored. - if (self.levels[storedLevel] === undefined) { - storedLevel = undefined; - } - - return storedLevel; - } - - function clearPersistedLevel() { - if (typeof window === undefinedType || !storageKey) return; - - // Use localStorage if available - try { - window.localStorage.removeItem(storageKey); - } catch (ignore) {} - - // Use session cookie as fallback - try { - window.document.cookie = - encodeURIComponent(storageKey) + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC"; - } catch (ignore) {} - } - - function normalizeLevel(input) { - var level = input; - if (typeof level === "string" && self.levels[level.toUpperCase()] !== undefined) { - level = self.levels[level.toUpperCase()]; - } - if (typeof level === "number" && level >= 0 && level <= self.levels.SILENT) { - return level; - } else { - throw new TypeError("log.setLevel() called with invalid level: " + input); - } - } - - /* - * - * Public logger API - see https://github.com/pimterry/loglevel for details - * - */ - - self.name = name; - - self.levels = { "TRACE": 0, "DEBUG": 1, "INFO": 2, "WARN": 3, - "ERROR": 4, "SILENT": 5}; - - self.methodFactory = factory || defaultMethodFactory; - - self.getLevel = function () { - if (userLevel != null) { - return userLevel; - } else if (defaultLevel != null) { - return defaultLevel; - } else { - return inheritedLevel; - } - }; - - self.setLevel = function (level, persist) { - userLevel = normalizeLevel(level); - if (persist !== false) { // defaults to true - persistLevelIfPossible(userLevel); - } - - // NOTE: in v2, this should call rebuild(), which updates children. - return replaceLoggingMethods.call(self); - }; - - self.setDefaultLevel = function (level) { - defaultLevel = normalizeLevel(level); - if (!getPersistedLevel()) { - self.setLevel(level, false); - } - }; - - self.resetLevel = function () { - userLevel = null; - clearPersistedLevel(); - replaceLoggingMethods.call(self); - }; - - self.enableAll = function(persist) { - self.setLevel(self.levels.TRACE, persist); - }; - - self.disableAll = function(persist) { - self.setLevel(self.levels.SILENT, persist); - }; - - self.rebuild = function () { - if (defaultLogger !== self) { - inheritedLevel = normalizeLevel(defaultLogger.getLevel()); - } - replaceLoggingMethods.call(self); - - if (defaultLogger === self) { - for (var childName in _loggersByName) { - _loggersByName[childName].rebuild(); - } - } - }; - - // Initialize all the internal levels. - inheritedLevel = normalizeLevel( - defaultLogger ? defaultLogger.getLevel() : "WARN" - ); - var initialLevel = getPersistedLevel(); - if (initialLevel != null) { - userLevel = normalizeLevel(initialLevel); - } - replaceLoggingMethods.call(self); - } - - /* - * - * Top-level API - * - */ - - defaultLogger = new Logger(); - - defaultLogger.getLogger = function getLogger(name) { - if ((typeof name !== "symbol" && typeof name !== "string") || name === "") { - throw new TypeError("You must supply a name when creating a logger."); - } - - var logger = _loggersByName[name]; - if (!logger) { - logger = _loggersByName[name] = new Logger( - name, - defaultLogger.methodFactory - ); - } - return logger; - }; - - // Grab the current global log variable in case of overwrite - var _log = (typeof window !== undefinedType) ? window.log : undefined; - defaultLogger.noConflict = function() { - if (typeof window !== undefinedType && - window.log === defaultLogger) { - window.log = _log; - } - - return defaultLogger; - }; - - defaultLogger.getLoggers = function getLoggers() { - return _loggersByName; - }; - - // ES6 default export, for compatibility - defaultLogger['default'] = defaultLogger; - - return defaultLogger; -})); - - -/***/ }), - -/***/ "?4bf0": -/*!************************!*\ - !*** crypto (ignored) ***! - \************************/ -/***/ (() => { - -/* (ignored) */ - -/***/ }), - -/***/ "?e89d": -/*!**********************!*\ - !*** http (ignored) ***! - \**********************/ -/***/ (() => { - -/* (ignored) */ - -/***/ }), - -/***/ "?77e4": -/*!***********************!*\ - !*** https (ignored) ***! - \***********************/ -/***/ (() => { - -/* (ignored) */ - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/regeneratorRuntime.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/regeneratorRuntime.js ***! - \*******************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -var _typeof = (__webpack_require__(/*! ./typeof.js */ "./node_modules/@babel/runtime/helpers/typeof.js")["default"]); -function _regeneratorRuntime() { - "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ - module.exports = _regeneratorRuntime = function _regeneratorRuntime() { - return e; - }, module.exports.__esModule = true, module.exports["default"] = module.exports; - var t, - e = {}, - r = Object.prototype, - n = r.hasOwnProperty, - o = Object.defineProperty || function (t, e, r) { - t[e] = r.value; - }, - i = "function" == typeof Symbol ? Symbol : {}, - a = i.iterator || "@@iterator", - c = i.asyncIterator || "@@asyncIterator", - u = i.toStringTag || "@@toStringTag"; - function define(t, e, r) { - return Object.defineProperty(t, e, { - value: r, - enumerable: !0, - configurable: !0, - writable: !0 - }), t[e]; - } - try { - define({}, ""); - } catch (t) { - define = function define(t, e, r) { - return t[e] = r; - }; - } - function wrap(t, e, r, n) { - var i = e && e.prototype instanceof Generator ? e : Generator, - a = Object.create(i.prototype), - c = new Context(n || []); - return o(a, "_invoke", { - value: makeInvokeMethod(t, r, c) - }), a; - } - function tryCatch(t, e, r) { - try { - return { - type: "normal", - arg: t.call(e, r) - }; - } catch (t) { - return { - type: "throw", - arg: t - }; - } - } - e.wrap = wrap; - var h = "suspendedStart", - l = "suspendedYield", - f = "executing", - s = "completed", - y = {}; - function Generator() {} - function GeneratorFunction() {} - function GeneratorFunctionPrototype() {} - var p = {}; - define(p, a, function () { - return this; - }); - var d = Object.getPrototypeOf, - v = d && d(d(values([]))); - v && v !== r && n.call(v, a) && (p = v); - var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); - function defineIteratorMethods(t) { - ["next", "throw", "return"].forEach(function (e) { - define(t, e, function (t) { - return this._invoke(e, t); - }); - }); - } - function AsyncIterator(t, e) { - function invoke(r, o, i, a) { - var c = tryCatch(t[r], t, o); - if ("throw" !== c.type) { - var u = c.arg, - h = u.value; - return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { - invoke("next", t, i, a); - }, function (t) { - invoke("throw", t, i, a); - }) : e.resolve(h).then(function (t) { - u.value = t, i(u); - }, function (t) { - return invoke("throw", t, i, a); - }); - } - a(c.arg); - } - var r; - o(this, "_invoke", { - value: function value(t, n) { - function callInvokeWithMethodAndArg() { - return new e(function (e, r) { - invoke(t, n, e, r); - }); - } - return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); - } - }); - } - function makeInvokeMethod(e, r, n) { - var o = h; - return function (i, a) { - if (o === f) throw new Error("Generator is already running"); - if (o === s) { - if ("throw" === i) throw a; - return { - value: t, - done: !0 - }; - } - for (n.method = i, n.arg = a;;) { - var c = n.delegate; - if (c) { - var u = maybeInvokeDelegate(c, n); - if (u) { - if (u === y) continue; - return u; - } - } - if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { - if (o === h) throw o = s, n.arg; - n.dispatchException(n.arg); - } else "return" === n.method && n.abrupt("return", n.arg); - o = f; - var p = tryCatch(e, r, n); - if ("normal" === p.type) { - if (o = n.done ? s : l, p.arg === y) continue; - return { - value: p.arg, - done: n.done - }; - } - "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); - } - }; - } - function maybeInvokeDelegate(e, r) { - var n = r.method, - o = e.iterator[n]; - if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; - var i = tryCatch(o, e.iterator, r.arg); - if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; - var a = i.arg; - return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); - } - function pushTryEntry(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 resetTryEntry(t) { - var e = t.completion || {}; - e.type = "normal", delete e.arg, t.completion = e; - } - function Context(t) { - this.tryEntries = [{ - tryLoc: "root" - }], t.forEach(pushTryEntry, this), this.reset(!0); - } - function values(e) { - if (e || "" === e) { - var r = e[a]; - if (r) return r.call(e); - if ("function" == typeof e.next) return e; - if (!isNaN(e.length)) { - var o = -1, - i = function next() { - for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; - return next.value = t, next.done = !0, next; - }; - return i.next = i; - } - } - throw new TypeError(_typeof(e) + " is not iterable"); - } - return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { - value: GeneratorFunctionPrototype, - configurable: !0 - }), o(GeneratorFunctionPrototype, "constructor", { - value: GeneratorFunction, - configurable: !0 - }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { - var e = "function" == typeof t && t.constructor; - return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); - }, e.mark = function (t) { - return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; - }, e.awrap = function (t) { - return { - __await: t - }; - }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { - return this; - }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { - void 0 === i && (i = Promise); - var a = new AsyncIterator(wrap(t, r, n, o), i); - return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { - return t.done ? t.value : a.next(); - }); - }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { - return this; - }), define(g, "toString", function () { - return "[object Generator]"; - }), e.keys = function (t) { - var e = Object(t), - r = []; - for (var n in e) r.push(n); - return r.reverse(), function next() { - for (; r.length;) { - var t = r.pop(); - if (t in e) return next.value = t, next.done = !1, next; - } - return next.done = !0, next; - }; - }, e.values = values, Context.prototype = { - constructor: Context, - reset: function reset(e) { - if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); - }, - stop: function stop() { - this.done = !0; - var t = this.tryEntries[0].completion; - if ("throw" === t.type) throw t.arg; - return this.rval; - }, - dispatchException: function dispatchException(e) { - if (this.done) throw e; - var r = this; - function handle(n, o) { - return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; - } - for (var o = this.tryEntries.length - 1; o >= 0; --o) { - var i = this.tryEntries[o], - a = i.completion; - if ("root" === i.tryLoc) return handle("end"); - if (i.tryLoc <= this.prev) { - var c = n.call(i, "catchLoc"), - u = n.call(i, "finallyLoc"); - if (c && u) { - if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); - if (this.prev < i.finallyLoc) return handle(i.finallyLoc); - } else if (c) { - if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); - } else { - if (!u) throw new Error("try statement without catch or finally"); - if (this.prev < i.finallyLoc) return handle(i.finallyLoc); - } - } - } - }, - abrupt: function abrupt(t, e) { - for (var r = this.tryEntries.length - 1; r >= 0; --r) { - var o = this.tryEntries[r]; - if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { - var i = o; - break; - } - } - i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); - var a = i ? i.completion : {}; - return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); - }, - complete: function complete(t, e) { - if ("throw" === t.type) throw t.arg; - return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; - }, - finish: function finish(t) { - for (var e = this.tryEntries.length - 1; e >= 0; --e) { - var r = this.tryEntries[e]; - if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; - } - }, - "catch": function _catch(t) { - for (var e = this.tryEntries.length - 1; e >= 0; --e) { - var r = this.tryEntries[e]; - if (r.tryLoc === t) { - var n = r.completion; - if ("throw" === n.type) { - var o = n.arg; - resetTryEntry(r); - } - return o; - } - } - throw new Error("illegal catch attempt"); - }, - delegateYield: function delegateYield(e, r, n) { - return this.delegate = { - iterator: values(e), - resultName: r, - nextLoc: n - }, "next" === this.method && (this.arg = t), y; - } - }, e; -} -module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports; - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/typeof.js": -/*!*******************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/typeof.js ***! - \*******************************************************/ -/***/ ((module) => { - -function _typeof(o) { - "@babel/helpers - typeof"; - - return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { - return typeof o; - } : function (o) { - return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; - }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(o); -} -module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports; - -/***/ }), - -/***/ "./node_modules/@babel/runtime/regenerator/index.js": -/*!**********************************************************!*\ - !*** ./node_modules/@babel/runtime/regenerator/index.js ***! - \**********************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -// TODO(Babel 8): Remove this file. - -var runtime = __webpack_require__(/*! ../helpers/regeneratorRuntime */ "./node_modules/@babel/runtime/helpers/regeneratorRuntime.js")(); -module.exports = runtime; - -// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736= -try { - regeneratorRuntime = runtime; -} catch (accidentalStrictMode) { - if (typeof globalThis === "object") { - globalThis.regeneratorRuntime = runtime; - } else { - Function("r", "regeneratorRuntime = r")(runtime); - } -} - - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js ***! - \*********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _arrayLikeToArray) -/* harmony export */ }); -function _arrayLikeToArray(arr, len) { - if (len == null || len > arr.length) len = arr.length; - for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; - return arr2; -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js ***! - \*******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _arrayWithHoles) -/* harmony export */ }); -function _arrayWithHoles(arr) { - if (Array.isArray(arr)) return arr; -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js ***! - \**********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _arrayWithoutHoles) -/* harmony export */ }); -/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ "./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js"); - -function _arrayWithoutHoles(arr) { - if (Array.isArray(arr)) return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(arr); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js": -/*!**************************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js ***! - \**************************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _assertThisInitialized) -/* harmony export */ }); -function _assertThisInitialized(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - return self; -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js ***! - \*********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _asyncToGenerator) -/* harmony export */ }); -function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { - try { - var info = gen[key](arg); - var value = info.value; - } catch (error) { - reject(error); - return; - } - if (info.done) { - resolve(value); - } else { - Promise.resolve(value).then(_next, _throw); - } -} -function _asyncToGenerator(fn) { - return function () { - var self = this, - args = arguments; - return new Promise(function (resolve, reject) { - var gen = fn.apply(self, args); - function _next(value) { - asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); - } - function _throw(err) { - asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); - } - _next(undefined); - }); - }; -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js ***! - \*******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _classCallCheck) -/* harmony export */ }); -function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/construct.js": -/*!**************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/construct.js ***! - \**************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _construct) -/* harmony export */ }); -/* harmony import */ var _setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setPrototypeOf.js */ "./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js"); -/* harmony import */ var _isNativeReflectConstruct_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isNativeReflectConstruct.js */ "./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js"); - - -function _construct(t, e, r) { - if ((0,_isNativeReflectConstruct_js__WEBPACK_IMPORTED_MODULE_1__["default"])()) return Reflect.construct.apply(null, arguments); - var o = [null]; - o.push.apply(o, e); - var p = new (t.bind.apply(t, o))(); - return r && (0,_setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__["default"])(p, r.prototype), p; -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/createClass.js": -/*!****************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/createClass.js ***! - \****************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _createClass) -/* harmony export */ }); -/* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ "./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js"); - -function _defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i]; - descriptor.enumerable = descriptor.enumerable || false; - descriptor.configurable = true; - if ("value" in descriptor) descriptor.writable = true; - Object.defineProperty(target, (0,_toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__["default"])(descriptor.key), descriptor); - } -} -function _createClass(Constructor, protoProps, staticProps) { - if (protoProps) _defineProperties(Constructor.prototype, protoProps); - if (staticProps) _defineProperties(Constructor, staticProps); - Object.defineProperty(Constructor, "prototype", { - writable: false - }); - return Constructor; -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/defineProperty.js ***! - \*******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _defineProperty) -/* harmony export */ }); -/* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ "./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js"); - -function _defineProperty(obj, key, value) { - key = (0,_toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__["default"])(key); - if (key in obj) { - Object.defineProperty(obj, key, { - value: value, - enumerable: true, - configurable: true, - writable: true - }); - } else { - obj[key] = value; - } - return obj; -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js ***! - \*******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _getPrototypeOf) -/* harmony export */ }); -function _getPrototypeOf(o) { - _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { - return o.__proto__ || Object.getPrototypeOf(o); - }; - return _getPrototypeOf(o); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/inherits.js": -/*!*************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/inherits.js ***! - \*************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _inherits) -/* harmony export */ }); -/* harmony import */ var _setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setPrototypeOf.js */ "./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js"); - -function _inherits(subClass, superClass) { - if (typeof superClass !== "function" && superClass !== null) { - throw new TypeError("Super expression must either be null or a function"); - } - subClass.prototype = Object.create(superClass && superClass.prototype, { - constructor: { - value: subClass, - writable: true, - configurable: true - } - }); - Object.defineProperty(subClass, "prototype", { - writable: false - }); - if (superClass) (0,_setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__["default"])(subClass, superClass); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js ***! - \*********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _isNativeFunction) -/* harmony export */ }); -function _isNativeFunction(fn) { - try { - return Function.toString.call(fn).indexOf("[native code]") !== -1; - } catch (e) { - return typeof fn === "function"; - } -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js ***! - \*****************************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _isNativeReflectConstruct) -/* harmony export */ }); -function _isNativeReflectConstruct() { - try { - var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); - } catch (t) {} - return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { - return !!t; - })(); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/iterableToArray.js": -/*!********************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js ***! - \********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _iterableToArray) -/* harmony export */ }); -function _iterableToArray(iter) { - if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js": -/*!*************************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js ***! - \*************************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _iterableToArrayLimit) -/* harmony export */ }); -function _iterableToArrayLimit(r, l) { - var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; - if (null != t) { - var e, - n, - i, - u, - a = [], - f = !0, - o = !1; - try { - if (i = (t = t.call(r)).next, 0 === l) { - if (Object(t) !== t) return; - f = !1; - } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); - } catch (r) { - o = !0, n = r; - } finally { - try { - if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; - } finally { - if (o) throw n; - } - } - return a; - } -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js": -/*!********************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js ***! - \********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _nonIterableRest) -/* harmony export */ }); -function _nonIterableRest() { - throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js ***! - \**********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _nonIterableSpread) -/* harmony export */ }); -function _nonIterableSpread() { - throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js": -/*!******************************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js ***! - \******************************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _possibleConstructorReturn) -/* harmony export */ }); -/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "./node_modules/@babel/runtime/helpers/esm/typeof.js"); -/* harmony import */ var _assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./assertThisInitialized.js */ "./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js"); - - -function _possibleConstructorReturn(self, call) { - if (call && ((0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(call) === "object" || typeof call === "function")) { - return call; - } else if (call !== void 0) { - throw new TypeError("Derived constructors may only return object or undefined"); - } - return (0,_assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_1__["default"])(self); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js ***! - \*******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _setPrototypeOf) -/* harmony export */ }); -function _setPrototypeOf(o, p) { - _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { - o.__proto__ = p; - return o; - }; - return _setPrototypeOf(o, p); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/slicedToArray.js": -/*!******************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js ***! - \******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _slicedToArray) -/* harmony export */ }); -/* harmony import */ var _arrayWithHoles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayWithHoles.js */ "./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js"); -/* harmony import */ var _iterableToArrayLimit_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterableToArrayLimit.js */ "./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js"); -/* harmony import */ var _unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js"); -/* harmony import */ var _nonIterableRest_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./nonIterableRest.js */ "./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js"); - - - - -function _slicedToArray(arr, i) { - return (0,_arrayWithHoles_js__WEBPACK_IMPORTED_MODULE_0__["default"])(arr) || (0,_iterableToArrayLimit_js__WEBPACK_IMPORTED_MODULE_1__["default"])(arr, i) || (0,_unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__["default"])(arr, i) || (0,_nonIterableRest_js__WEBPACK_IMPORTED_MODULE_3__["default"])(); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js ***! - \**********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _toConsumableArray) -/* harmony export */ }); -/* harmony import */ var _arrayWithoutHoles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayWithoutHoles.js */ "./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js"); -/* harmony import */ var _iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterableToArray.js */ "./node_modules/@babel/runtime/helpers/esm/iterableToArray.js"); -/* harmony import */ var _unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js"); -/* harmony import */ var _nonIterableSpread_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./nonIterableSpread.js */ "./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js"); - - - - -function _toConsumableArray(arr) { - return (0,_arrayWithoutHoles_js__WEBPACK_IMPORTED_MODULE_0__["default"])(arr) || (0,_iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__["default"])(arr) || (0,_unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__["default"])(arr) || (0,_nonIterableSpread_js__WEBPACK_IMPORTED_MODULE_3__["default"])(); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/toPrimitive.js": -/*!****************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/toPrimitive.js ***! - \****************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ toPrimitive) -/* harmony export */ }); -/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "./node_modules/@babel/runtime/helpers/esm/typeof.js"); - -function toPrimitive(t, r) { - if ("object" != (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(t) || !t) return t; - var e = t[Symbol.toPrimitive]; - if (void 0 !== e) { - var i = e.call(t, r || "default"); - if ("object" != (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(i)) return i; - throw new TypeError("@@toPrimitive must return a primitive value."); - } - return ("string" === r ? String : Number)(t); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js": -/*!******************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js ***! - \******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ toPropertyKey) -/* harmony export */ }); -/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "./node_modules/@babel/runtime/helpers/esm/typeof.js"); -/* harmony import */ var _toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toPrimitive.js */ "./node_modules/@babel/runtime/helpers/esm/toPrimitive.js"); - - -function toPropertyKey(t) { - var i = (0,_toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__["default"])(t, "string"); - return "symbol" == (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(i) ? i : String(i); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/typeof.js": -/*!***********************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/typeof.js ***! - \***********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _typeof) -/* harmony export */ }); -function _typeof(o) { - "@babel/helpers - typeof"; - - return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { - return typeof o; - } : function (o) { - return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; - }, _typeof(o); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js ***! - \*******************************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _unsupportedIterableToArray) -/* harmony export */ }); -/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ "./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js"); - -function _unsupportedIterableToArray(o, minLen) { - if (!o) return; - if (typeof o === "string") return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(o, minLen); - var n = Object.prototype.toString.call(o).slice(8, -1); - if (n === "Object" && o.constructor) n = o.constructor.name; - if (n === "Map" || n === "Set") return Array.from(o); - if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(o, minLen); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js": -/*!********************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js ***! - \********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _wrapNativeSuper) -/* harmony export */ }); -/* harmony import */ var _getPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getPrototypeOf.js */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); -/* harmony import */ var _setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./setPrototypeOf.js */ "./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js"); -/* harmony import */ var _isNativeFunction_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isNativeFunction.js */ "./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js"); -/* harmony import */ var _construct_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./construct.js */ "./node_modules/@babel/runtime/helpers/esm/construct.js"); - - - - -function _wrapNativeSuper(Class) { - var _cache = typeof Map === "function" ? new Map() : undefined; - _wrapNativeSuper = function _wrapNativeSuper(Class) { - if (Class === null || !(0,_isNativeFunction_js__WEBPACK_IMPORTED_MODULE_2__["default"])(Class)) return Class; - if (typeof Class !== "function") { - throw new TypeError("Super expression must either be null or a function"); - } - if (typeof _cache !== "undefined") { - if (_cache.has(Class)) return _cache.get(Class); - _cache.set(Class, Wrapper); - } - function Wrapper() { - return (0,_construct_js__WEBPACK_IMPORTED_MODULE_3__["default"])(Class, arguments, (0,_getPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__["default"])(this).constructor); - } - Wrapper.prototype = Object.create(Class.prototype, { - constructor: { - value: Wrapper, - enumerable: false, - writable: true, - configurable: true - } - }); - return (0,_setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_1__["default"])(Wrapper, Class); - }; - return _wrapNativeSuper(Class); -} - -/***/ }), - -/***/ "./node_modules/axios/lib/adapters/adapters.js": -/*!*****************************************************!*\ - !*** ./node_modules/axios/lib/adapters/adapters.js ***! - \*****************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _http_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./http.js */ "./node_modules/axios/lib/helpers/null.js"); -/* harmony import */ var _xhr_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./xhr.js */ "./node_modules/axios/lib/adapters/xhr.js"); -/* harmony import */ var _fetch_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./fetch.js */ "./node_modules/axios/lib/adapters/fetch.js"); -/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); - - - - - - -const knownAdapters = { - http: _http_js__WEBPACK_IMPORTED_MODULE_0__["default"], - xhr: _xhr_js__WEBPACK_IMPORTED_MODULE_1__["default"], - fetch: _fetch_js__WEBPACK_IMPORTED_MODULE_2__["default"] -} - -_utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].forEach(knownAdapters, (fn, value) => { - if (fn) { - try { - Object.defineProperty(fn, 'name', {value}); - } catch (e) { - // eslint-disable-next-line no-empty - } - Object.defineProperty(fn, 'adapterName', {value}); - } -}); - -const renderReason = (reason) => `- ${reason}`; - -const isResolvedHandle = (adapter) => _utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].isFunction(adapter) || adapter === null || adapter === false; - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ - getAdapter: (adapters) => { - adapters = _utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].isArray(adapters) ? adapters : [adapters]; - - const {length} = adapters; - let nameOrAdapter; - let adapter; - - const rejectedReasons = {}; - - for (let i = 0; i < length; i++) { - nameOrAdapter = adapters[i]; - let id; - - adapter = nameOrAdapter; - - if (!isResolvedHandle(nameOrAdapter)) { - adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()]; - - if (adapter === undefined) { - throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_4__["default"](`Unknown adapter '${id}'`); - } - } - - if (adapter) { - break; - } - - rejectedReasons[id || '#' + i] = adapter; - } - - if (!adapter) { - - const reasons = Object.entries(rejectedReasons) - .map(([id, state]) => `adapter ${id} ` + - (state === false ? 'is not supported by the environment' : 'is not available in the build') - ); - - let s = length ? - (reasons.length > 1 ? 'since :\n' + reasons.map(renderReason).join('\n') : ' ' + renderReason(reasons[0])) : - 'as no adapter specified'; - - throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_4__["default"]( - `There is no suitable adapter to dispatch the request ` + s, - 'ERR_NOT_SUPPORT' - ); - } - - return adapter; - }, - adapters: knownAdapters -}); - - -/***/ }), - -/***/ "./node_modules/axios/lib/adapters/fetch.js": -/*!**************************************************!*\ - !*** ./node_modules/axios/lib/adapters/fetch.js ***! - \**************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js"); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); -/* harmony import */ var _helpers_composeSignals_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../helpers/composeSignals.js */ "./node_modules/axios/lib/helpers/composeSignals.js"); -/* harmony import */ var _helpers_trackStream_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../helpers/trackStream.js */ "./node_modules/axios/lib/helpers/trackStream.js"); -/* harmony import */ var _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../core/AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); -/* harmony import */ var _helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../helpers/progressEventReducer.js */ "./node_modules/axios/lib/helpers/progressEventReducer.js"); -/* harmony import */ var _helpers_resolveConfig_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../helpers/resolveConfig.js */ "./node_modules/axios/lib/helpers/resolveConfig.js"); -/* harmony import */ var _core_settle_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../core/settle.js */ "./node_modules/axios/lib/core/settle.js"); - - - - - - - - - - -const isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function'; -const isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function'; - -// used only inside the fetch adapter -const encodeText = isFetchSupported && (typeof TextEncoder === 'function' ? - ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) : - async (str) => new Uint8Array(await new Response(str).arrayBuffer()) -); - -const test = (fn, ...args) => { - try { - return !!fn(...args); - } catch (e) { - return false - } -} - -const supportsRequestStream = isReadableStreamSupported && test(() => { - let duplexAccessed = false; - - const hasContentType = new Request(_platform_index_js__WEBPACK_IMPORTED_MODULE_0__["default"].origin, { - body: new ReadableStream(), - method: 'POST', - get duplex() { - duplexAccessed = true; - return 'half'; - }, - }).headers.has('Content-Type'); - - return duplexAccessed && !hasContentType; -}); - -const DEFAULT_CHUNK_SIZE = 64 * 1024; - -const supportsResponseStream = isReadableStreamSupported && - test(() => _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isReadableStream(new Response('').body)); - - -const resolvers = { - stream: supportsResponseStream && ((res) => res.body) -}; - -isFetchSupported && (((res) => { - ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => { - !resolvers[type] && (resolvers[type] = _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isFunction(res[type]) ? (res) => res[type]() : - (_, config) => { - throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_2__["default"](`Response type '${type}' is not supported`, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_2__["default"].ERR_NOT_SUPPORT, config); - }) - }); -})(new Response)); - -const getBodyLength = async (body) => { - if (body == null) { - return 0; - } - - if(_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isBlob(body)) { - return body.size; - } - - if(_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isSpecCompliantForm(body)) { - return (await new Request(body).arrayBuffer()).byteLength; - } - - if(_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isArrayBufferView(body) || _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isArrayBuffer(body)) { - return body.byteLength; - } - - if(_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isURLSearchParams(body)) { - body = body + ''; - } - - if(_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isString(body)) { - return (await encodeText(body)).byteLength; - } -} - -const resolveBodyLength = async (headers, body) => { - const length = _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].toFiniteNumber(headers.getContentLength()); - - return length == null ? getBodyLength(body) : length; -} - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isFetchSupported && (async (config) => { - let { - url, - method, - data, - signal, - cancelToken, - timeout, - onDownloadProgress, - onUploadProgress, - responseType, - headers, - withCredentials = 'same-origin', - fetchOptions - } = (0,_helpers_resolveConfig_js__WEBPACK_IMPORTED_MODULE_3__["default"])(config); - - responseType = responseType ? (responseType + '').toLowerCase() : 'text'; - - let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ? - (0,_helpers_composeSignals_js__WEBPACK_IMPORTED_MODULE_4__["default"])([signal, cancelToken], timeout) : []; - - let finished, request; - - const onFinish = () => { - !finished && setTimeout(() => { - composedSignal && composedSignal.unsubscribe(); - }); - - finished = true; - } - - let requestContentLength; - - try { - if ( - onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' && - (requestContentLength = await resolveBodyLength(headers, data)) !== 0 - ) { - let _request = new Request(url, { - method: 'POST', - body: data, - duplex: "half" - }); - - let contentTypeHeader; - - if (_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) { - headers.setContentType(contentTypeHeader) - } - - if (_request.body) { - const [onProgress, flush] = (0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_5__.progressEventDecorator)( - requestContentLength, - (0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_5__.progressEventReducer)((0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_5__.asyncDecorator)(onUploadProgress)) - ); - - data = (0,_helpers_trackStream_js__WEBPACK_IMPORTED_MODULE_6__.trackStream)(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush, encodeText); - } - } - - if (!_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isString(withCredentials)) { - withCredentials = withCredentials ? 'include' : 'omit'; - } - - // Cloudflare Workers throws when credentials are defined - // see https://github.com/cloudflare/workerd/issues/902 - const isCredentialsSupported = "credentials" in Request.prototype; - request = new Request(url, { - ...fetchOptions, - signal: composedSignal, - method: method.toUpperCase(), - headers: headers.normalize().toJSON(), - body: data, - duplex: "half", - credentials: isCredentialsSupported ? withCredentials : undefined - }); - - let response = await fetch(request); - - const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response'); - - if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) { - const options = {}; - - ['status', 'statusText', 'headers'].forEach(prop => { - options[prop] = response[prop]; - }); - - const responseContentLength = _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].toFiniteNumber(response.headers.get('content-length')); - - const [onProgress, flush] = onDownloadProgress && (0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_5__.progressEventDecorator)( - responseContentLength, - (0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_5__.progressEventReducer)((0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_5__.asyncDecorator)(onDownloadProgress), true) - ) || []; - - response = new Response( - (0,_helpers_trackStream_js__WEBPACK_IMPORTED_MODULE_6__.trackStream)(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => { - flush && flush(); - isStreamResponse && onFinish(); - }, encodeText), - options - ); - } - - responseType = responseType || 'text'; - - let responseData = await resolvers[_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].findKey(resolvers, responseType) || 'text'](response, config); - - !isStreamResponse && onFinish(); - - stopTimeout && stopTimeout(); - - return await new Promise((resolve, reject) => { - (0,_core_settle_js__WEBPACK_IMPORTED_MODULE_7__["default"])(resolve, reject, { - data: responseData, - headers: _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_8__["default"].from(response.headers), - status: response.status, - statusText: response.statusText, - config, - request - }) - }) - } catch (err) { - onFinish(); - - if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) { - throw Object.assign( - new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_2__["default"]('Network Error', _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_2__["default"].ERR_NETWORK, config, request), - { - cause: err.cause || err - } - ) - } - - throw _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_2__["default"].from(err, err && err.code, config, request); - } -})); - - - - -/***/ }), - -/***/ "./node_modules/axios/lib/adapters/xhr.js": -/*!************************************************!*\ - !*** ./node_modules/axios/lib/adapters/xhr.js ***! - \************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _core_settle_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../core/settle.js */ "./node_modules/axios/lib/core/settle.js"); -/* harmony import */ var _defaults_transitional_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../defaults/transitional.js */ "./node_modules/axios/lib/defaults/transitional.js"); -/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); -/* harmony import */ var _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../cancel/CanceledError.js */ "./node_modules/axios/lib/cancel/CanceledError.js"); -/* harmony import */ var _helpers_parseProtocol_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../helpers/parseProtocol.js */ "./node_modules/axios/lib/helpers/parseProtocol.js"); -/* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js"); -/* harmony import */ var _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); -/* harmony import */ var _helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../helpers/progressEventReducer.js */ "./node_modules/axios/lib/helpers/progressEventReducer.js"); -/* harmony import */ var _helpers_resolveConfig_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../helpers/resolveConfig.js */ "./node_modules/axios/lib/helpers/resolveConfig.js"); - - - - - - - - - - - -const isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined'; - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isXHRAdapterSupported && function (config) { - return new Promise(function dispatchXhrRequest(resolve, reject) { - const _config = (0,_helpers_resolveConfig_js__WEBPACK_IMPORTED_MODULE_0__["default"])(config); - let requestData = _config.data; - const requestHeaders = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"].from(_config.headers).normalize(); - let {responseType, onUploadProgress, onDownloadProgress} = _config; - let onCanceled; - let uploadThrottled, downloadThrottled; - let flushUpload, flushDownload; - - function done() { - flushUpload && flushUpload(); // flush events - flushDownload && flushDownload(); // flush events - - _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled); - - _config.signal && _config.signal.removeEventListener('abort', onCanceled); - } - - let request = new XMLHttpRequest(); - - request.open(_config.method.toUpperCase(), _config.url, true); - - // Set the request timeout in MS - request.timeout = _config.timeout; - - function onloadend() { - if (!request) { - return; - } - // Prepare the response - const responseHeaders = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"].from( - 'getAllResponseHeaders' in request && request.getAllResponseHeaders() - ); - const responseData = !responseType || responseType === 'text' || responseType === 'json' ? - request.responseText : request.response; - const response = { - data: responseData, - status: request.status, - statusText: request.statusText, - headers: responseHeaders, - config, - request - }; - - (0,_core_settle_js__WEBPACK_IMPORTED_MODULE_2__["default"])(function _resolve(value) { - resolve(value); - done(); - }, function _reject(err) { - reject(err); - done(); - }, response); - - // Clean up request - request = null; - } - - if ('onloadend' in request) { - // Use onloadend if available - request.onloadend = onloadend; - } else { - // Listen for ready state to emulate onloadend - request.onreadystatechange = function handleLoad() { - if (!request || request.readyState !== 4) { - return; - } - - // The request errored out and we didn't get a response, this will be - // handled by onerror instead - // With one exception: request that using file: protocol, most browsers - // will return status as 0 even though it's a successful request - if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) { - return; - } - // readystate handler is calling before onerror or ontimeout handlers, - // so we should call onloadend on the next 'tick' - setTimeout(onloadend); - }; - } - - // Handle browser request cancellation (as opposed to a manual cancellation) - request.onabort = function handleAbort() { - if (!request) { - return; - } - - reject(new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"]('Request aborted', _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"].ECONNABORTED, config, request)); - - // Clean up request - request = null; - }; - - // Handle low level network errors - request.onerror = function handleError() { - // Real errors are hidden from us by the browser - // onerror should only fire if it's a network error - reject(new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"]('Network Error', _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"].ERR_NETWORK, config, request)); - - // Clean up request - request = null; - }; - - // Handle timeout - request.ontimeout = function handleTimeout() { - let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded'; - const transitional = _config.transitional || _defaults_transitional_js__WEBPACK_IMPORTED_MODULE_4__["default"]; - if (_config.timeoutErrorMessage) { - timeoutErrorMessage = _config.timeoutErrorMessage; - } - reject(new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"]( - timeoutErrorMessage, - transitional.clarifyTimeoutError ? _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"].ETIMEDOUT : _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"].ECONNABORTED, - config, - request)); - - // Clean up request - request = null; - }; - - // Remove Content-Type if data is undefined - requestData === undefined && requestHeaders.setContentType(null); - - // Add headers to the request - if ('setRequestHeader' in request) { - _utils_js__WEBPACK_IMPORTED_MODULE_5__["default"].forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) { - request.setRequestHeader(key, val); - }); - } - - // Add withCredentials to request if needed - if (!_utils_js__WEBPACK_IMPORTED_MODULE_5__["default"].isUndefined(_config.withCredentials)) { - request.withCredentials = !!_config.withCredentials; - } - - // Add responseType to request if needed - if (responseType && responseType !== 'json') { - request.responseType = _config.responseType; - } - - // Handle progress if needed - if (onDownloadProgress) { - ([downloadThrottled, flushDownload] = (0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_6__.progressEventReducer)(onDownloadProgress, true)); - request.addEventListener('progress', downloadThrottled); - } - - // Not all browsers support upload events - if (onUploadProgress && request.upload) { - ([uploadThrottled, flushUpload] = (0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_6__.progressEventReducer)(onUploadProgress)); - - request.upload.addEventListener('progress', uploadThrottled); - - request.upload.addEventListener('loadend', flushUpload); - } - - if (_config.cancelToken || _config.signal) { - // Handle cancellation - // eslint-disable-next-line func-names - onCanceled = cancel => { - if (!request) { - return; - } - reject(!cancel || cancel.type ? new _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_7__["default"](null, config, request) : cancel); - request.abort(); - request = null; - }; - - _config.cancelToken && _config.cancelToken.subscribe(onCanceled); - if (_config.signal) { - _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled); - } - } - - const protocol = (0,_helpers_parseProtocol_js__WEBPACK_IMPORTED_MODULE_8__["default"])(_config.url); - - if (protocol && _platform_index_js__WEBPACK_IMPORTED_MODULE_9__["default"].protocols.indexOf(protocol) === -1) { - reject(new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"]('Unsupported protocol ' + protocol + ':', _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"].ERR_BAD_REQUEST, config)); - return; - } - - - // Send the request - request.send(requestData || null); - }); -}); - - -/***/ }), - -/***/ "./node_modules/axios/lib/axios.js": -/*!*****************************************!*\ - !*** ./node_modules/axios/lib/axios.js ***! - \*****************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _helpers_bind_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./helpers/bind.js */ "./node_modules/axios/lib/helpers/bind.js"); -/* harmony import */ var _core_Axios_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./core/Axios.js */ "./node_modules/axios/lib/core/Axios.js"); -/* harmony import */ var _core_mergeConfig_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./core/mergeConfig.js */ "./node_modules/axios/lib/core/mergeConfig.js"); -/* harmony import */ var _defaults_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./defaults/index.js */ "./node_modules/axios/lib/defaults/index.js"); -/* harmony import */ var _helpers_formDataToJSON_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./helpers/formDataToJSON.js */ "./node_modules/axios/lib/helpers/formDataToJSON.js"); -/* harmony import */ var _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./cancel/CanceledError.js */ "./node_modules/axios/lib/cancel/CanceledError.js"); -/* harmony import */ var _cancel_CancelToken_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./cancel/CancelToken.js */ "./node_modules/axios/lib/cancel/CancelToken.js"); -/* harmony import */ var _cancel_isCancel_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./cancel/isCancel.js */ "./node_modules/axios/lib/cancel/isCancel.js"); -/* harmony import */ var _env_data_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./env/data.js */ "./node_modules/axios/lib/env/data.js"); -/* harmony import */ var _helpers_toFormData_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./helpers/toFormData.js */ "./node_modules/axios/lib/helpers/toFormData.js"); -/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); -/* harmony import */ var _helpers_spread_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./helpers/spread.js */ "./node_modules/axios/lib/helpers/spread.js"); -/* harmony import */ var _helpers_isAxiosError_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./helpers/isAxiosError.js */ "./node_modules/axios/lib/helpers/isAxiosError.js"); -/* harmony import */ var _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./core/AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); -/* harmony import */ var _adapters_adapters_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./adapters/adapters.js */ "./node_modules/axios/lib/adapters/adapters.js"); -/* harmony import */ var _helpers_HttpStatusCode_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./helpers/HttpStatusCode.js */ "./node_modules/axios/lib/helpers/HttpStatusCode.js"); - - - - - - - - - - - - - - - - - - - - -/** - * Create an instance of Axios - * - * @param {Object} defaultConfig The default config for the instance - * - * @returns {Axios} A new instance of Axios - */ -function createInstance(defaultConfig) { - const context = new _core_Axios_js__WEBPACK_IMPORTED_MODULE_0__["default"](defaultConfig); - const instance = (0,_helpers_bind_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_core_Axios_js__WEBPACK_IMPORTED_MODULE_0__["default"].prototype.request, context); - - // Copy axios.prototype to instance - _utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].extend(instance, _core_Axios_js__WEBPACK_IMPORTED_MODULE_0__["default"].prototype, context, {allOwnKeys: true}); - - // Copy context to instance - _utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].extend(instance, context, null, {allOwnKeys: true}); - - // Factory for creating new instances - instance.create = function create(instanceConfig) { - return createInstance((0,_core_mergeConfig_js__WEBPACK_IMPORTED_MODULE_3__["default"])(defaultConfig, instanceConfig)); - }; - - return instance; -} - -// Create the default instance to be exported -const axios = createInstance(_defaults_index_js__WEBPACK_IMPORTED_MODULE_4__["default"]); - -// Expose Axios class to allow class inheritance -axios.Axios = _core_Axios_js__WEBPACK_IMPORTED_MODULE_0__["default"]; - -// Expose Cancel & CancelToken -axios.CanceledError = _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_5__["default"]; -axios.CancelToken = _cancel_CancelToken_js__WEBPACK_IMPORTED_MODULE_6__["default"]; -axios.isCancel = _cancel_isCancel_js__WEBPACK_IMPORTED_MODULE_7__["default"]; -axios.VERSION = _env_data_js__WEBPACK_IMPORTED_MODULE_8__.VERSION; -axios.toFormData = _helpers_toFormData_js__WEBPACK_IMPORTED_MODULE_9__["default"]; - -// Expose AxiosError class -axios.AxiosError = _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_10__["default"]; - -// alias for CanceledError for backward compatibility -axios.Cancel = axios.CanceledError; - -// Expose all/spread -axios.all = function all(promises) { - return Promise.all(promises); -}; - -axios.spread = _helpers_spread_js__WEBPACK_IMPORTED_MODULE_11__["default"]; - -// Expose isAxiosError -axios.isAxiosError = _helpers_isAxiosError_js__WEBPACK_IMPORTED_MODULE_12__["default"]; - -// Expose mergeConfig -axios.mergeConfig = _core_mergeConfig_js__WEBPACK_IMPORTED_MODULE_3__["default"]; - -axios.AxiosHeaders = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_13__["default"]; - -axios.formToJSON = thing => (0,_helpers_formDataToJSON_js__WEBPACK_IMPORTED_MODULE_14__["default"])(_utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].isHTMLForm(thing) ? new FormData(thing) : thing); - -axios.getAdapter = _adapters_adapters_js__WEBPACK_IMPORTED_MODULE_15__["default"].getAdapter; - -axios.HttpStatusCode = _helpers_HttpStatusCode_js__WEBPACK_IMPORTED_MODULE_16__["default"]; - -axios.default = axios; - -// this module should only have a default export -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (axios); - - -/***/ }), - -/***/ "./node_modules/axios/lib/cancel/CancelToken.js": -/*!******************************************************!*\ - !*** ./node_modules/axios/lib/cancel/CancelToken.js ***! - \******************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _CanceledError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CanceledError.js */ "./node_modules/axios/lib/cancel/CanceledError.js"); - - - - -/** - * A `CancelToken` is an object that can be used to request cancellation of an operation. - * - * @param {Function} executor The executor function. - * - * @returns {CancelToken} - */ -class CancelToken { - constructor(executor) { - if (typeof executor !== 'function') { - throw new TypeError('executor must be a function.'); - } - - let resolvePromise; - - this.promise = new Promise(function promiseExecutor(resolve) { - resolvePromise = resolve; - }); - - const token = this; - - // eslint-disable-next-line func-names - this.promise.then(cancel => { - if (!token._listeners) return; - - let i = token._listeners.length; - - while (i-- > 0) { - token._listeners[i](cancel); - } - token._listeners = null; - }); - - // eslint-disable-next-line func-names - this.promise.then = onfulfilled => { - let _resolve; - // eslint-disable-next-line func-names - const promise = new Promise(resolve => { - token.subscribe(resolve); - _resolve = resolve; - }).then(onfulfilled); - - promise.cancel = function reject() { - token.unsubscribe(_resolve); - }; - - return promise; - }; - - executor(function cancel(message, config, request) { - if (token.reason) { - // Cancellation has already been requested - return; - } - - token.reason = new _CanceledError_js__WEBPACK_IMPORTED_MODULE_0__["default"](message, config, request); - resolvePromise(token.reason); - }); - } - - /** - * Throws a `CanceledError` if cancellation has been requested. - */ - throwIfRequested() { - if (this.reason) { - throw this.reason; - } - } - - /** - * Subscribe to the cancel signal - */ - - subscribe(listener) { - if (this.reason) { - listener(this.reason); - return; - } - - if (this._listeners) { - this._listeners.push(listener); - } else { - this._listeners = [listener]; - } - } - - /** - * Unsubscribe from the cancel signal - */ - - unsubscribe(listener) { - if (!this._listeners) { - return; - } - const index = this._listeners.indexOf(listener); - if (index !== -1) { - this._listeners.splice(index, 1); - } - } - - /** - * Returns an object that contains a new `CancelToken` and a function that, when called, - * cancels the `CancelToken`. - */ - static source() { - let cancel; - const token = new CancelToken(function executor(c) { - cancel = c; - }); - return { - token, - cancel - }; - } -} - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (CancelToken); - - -/***/ }), - -/***/ "./node_modules/axios/lib/cancel/CanceledError.js": -/*!********************************************************!*\ - !*** ./node_modules/axios/lib/cancel/CanceledError.js ***! - \********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); - - - - - -/** - * A `CanceledError` is an object that is thrown when an operation is canceled. - * - * @param {string=} message The message. - * @param {Object=} config The config. - * @param {Object=} request The request. - * - * @returns {CanceledError} The created error. - */ -function CanceledError(message, config, request) { - // eslint-disable-next-line no-eq-null,eqeqeq - _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"].call(this, message == null ? 'canceled' : message, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"].ERR_CANCELED, config, request); - this.name = 'CanceledError'; -} - -_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].inherits(CanceledError, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"], { - __CANCEL__: true -}); - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (CanceledError); - - -/***/ }), - -/***/ "./node_modules/axios/lib/cancel/isCancel.js": -/*!***************************************************!*\ - !*** ./node_modules/axios/lib/cancel/isCancel.js ***! - \***************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ isCancel) -/* harmony export */ }); - - -function isCancel(value) { - return !!(value && value.__CANCEL__); -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/core/Axios.js": -/*!**********************************************!*\ - !*** ./node_modules/axios/lib/core/Axios.js ***! - \**********************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _helpers_buildURL_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../helpers/buildURL.js */ "./node_modules/axios/lib/helpers/buildURL.js"); -/* harmony import */ var _InterceptorManager_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./InterceptorManager.js */ "./node_modules/axios/lib/core/InterceptorManager.js"); -/* harmony import */ var _dispatchRequest_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./dispatchRequest.js */ "./node_modules/axios/lib/core/dispatchRequest.js"); -/* harmony import */ var _mergeConfig_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./mergeConfig.js */ "./node_modules/axios/lib/core/mergeConfig.js"); -/* harmony import */ var _buildFullPath_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./buildFullPath.js */ "./node_modules/axios/lib/core/buildFullPath.js"); -/* harmony import */ var _helpers_validator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../helpers/validator.js */ "./node_modules/axios/lib/helpers/validator.js"); -/* harmony import */ var _AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); - - - - - - - - - - - -const validators = _helpers_validator_js__WEBPACK_IMPORTED_MODULE_0__["default"].validators; - -/** - * Create a new instance of Axios - * - * @param {Object} instanceConfig The default config for the instance - * - * @return {Axios} A new instance of Axios - */ -class Axios { - constructor(instanceConfig) { - this.defaults = instanceConfig; - this.interceptors = { - request: new _InterceptorManager_js__WEBPACK_IMPORTED_MODULE_1__["default"](), - response: new _InterceptorManager_js__WEBPACK_IMPORTED_MODULE_1__["default"]() - }; - } - - /** - * Dispatch a request - * - * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults) - * @param {?Object} config - * - * @returns {Promise} The Promise to be fulfilled - */ - async request(configOrUrl, config) { - try { - return await this._request(configOrUrl, config); - } catch (err) { - if (err instanceof Error) { - let dummy; - - Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error()); - - // slice off the Error: ... line - const stack = dummy.stack ? dummy.stack.replace(/^.+\n/, '') : ''; - try { - if (!err.stack) { - err.stack = stack; - // match without the 2 top stack lines - } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\n.+\n/, ''))) { - err.stack += '\n' + stack - } - } catch (e) { - // ignore the case where "stack" is an un-writable property - } - } - - throw err; - } - } - - _request(configOrUrl, config) { - /*eslint no-param-reassign:0*/ - // Allow for axios('example/url'[, config]) a la fetch API - if (typeof configOrUrl === 'string') { - config = config || {}; - config.url = configOrUrl; - } else { - config = configOrUrl || {}; - } - - config = (0,_mergeConfig_js__WEBPACK_IMPORTED_MODULE_2__["default"])(this.defaults, config); - - const {transitional, paramsSerializer, headers} = config; - - if (transitional !== undefined) { - _helpers_validator_js__WEBPACK_IMPORTED_MODULE_0__["default"].assertOptions(transitional, { - silentJSONParsing: validators.transitional(validators.boolean), - forcedJSONParsing: validators.transitional(validators.boolean), - clarifyTimeoutError: validators.transitional(validators.boolean) - }, false); - } - - if (paramsSerializer != null) { - if (_utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].isFunction(paramsSerializer)) { - config.paramsSerializer = { - serialize: paramsSerializer - } - } else { - _helpers_validator_js__WEBPACK_IMPORTED_MODULE_0__["default"].assertOptions(paramsSerializer, { - encode: validators.function, - serialize: validators.function - }, true); - } - } - - // Set config.method - config.method = (config.method || this.defaults.method || 'get').toLowerCase(); - - // Flatten headers - let contextHeaders = headers && _utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].merge( - headers.common, - headers[config.method] - ); - - headers && _utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].forEach( - ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], - (method) => { - delete headers[method]; - } - ); - - config.headers = _AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_4__["default"].concat(contextHeaders, headers); - - // filter out skipped interceptors - const requestInterceptorChain = []; - let synchronousRequestInterceptors = true; - this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { - if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) { - return; - } - - synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; - - requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected); - }); - - const responseInterceptorChain = []; - this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { - responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); - }); - - let promise; - let i = 0; - let len; - - if (!synchronousRequestInterceptors) { - const chain = [_dispatchRequest_js__WEBPACK_IMPORTED_MODULE_5__["default"].bind(this), undefined]; - chain.unshift.apply(chain, requestInterceptorChain); - chain.push.apply(chain, responseInterceptorChain); - len = chain.length; - - promise = Promise.resolve(config); - - while (i < len) { - promise = promise.then(chain[i++], chain[i++]); - } - - return promise; - } - - len = requestInterceptorChain.length; - - let newConfig = config; - - i = 0; - - while (i < len) { - const onFulfilled = requestInterceptorChain[i++]; - const onRejected = requestInterceptorChain[i++]; - try { - newConfig = onFulfilled(newConfig); - } catch (error) { - onRejected.call(this, error); - break; - } - } - - try { - promise = _dispatchRequest_js__WEBPACK_IMPORTED_MODULE_5__["default"].call(this, newConfig); - } catch (error) { - return Promise.reject(error); - } - - i = 0; - len = responseInterceptorChain.length; - - while (i < len) { - promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]); - } - - return promise; - } - - getUri(config) { - config = (0,_mergeConfig_js__WEBPACK_IMPORTED_MODULE_2__["default"])(this.defaults, config); - const fullPath = (0,_buildFullPath_js__WEBPACK_IMPORTED_MODULE_6__["default"])(config.baseURL, config.url); - return (0,_helpers_buildURL_js__WEBPACK_IMPORTED_MODULE_7__["default"])(fullPath, config.params, config.paramsSerializer); - } -} - -// Provide aliases for supported request methods -_utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { - /*eslint func-names:0*/ - Axios.prototype[method] = function(url, config) { - return this.request((0,_mergeConfig_js__WEBPACK_IMPORTED_MODULE_2__["default"])(config || {}, { - method, - url, - data: (config || {}).data - })); - }; -}); - -_utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { - /*eslint func-names:0*/ - - function generateHTTPMethod(isForm) { - return function httpMethod(url, data, config) { - return this.request((0,_mergeConfig_js__WEBPACK_IMPORTED_MODULE_2__["default"])(config || {}, { - method, - headers: isForm ? { - 'Content-Type': 'multipart/form-data' - } : {}, - url, - data - })); - }; - } - - Axios.prototype[method] = generateHTTPMethod(); - - Axios.prototype[method + 'Form'] = generateHTTPMethod(true); -}); - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Axios); - - -/***/ }), - -/***/ "./node_modules/axios/lib/core/AxiosError.js": -/*!***************************************************!*\ - !*** ./node_modules/axios/lib/core/AxiosError.js ***! - \***************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); - - - - -/** - * Create an Error with the specified message, config, error code, request and response. - * - * @param {string} message The error message. - * @param {string} [code] The error code (for example, 'ECONNABORTED'). - * @param {Object} [config] The config. - * @param {Object} [request] The request. - * @param {Object} [response] The response. - * - * @returns {Error} The created error. - */ -function AxiosError(message, code, config, request, response) { - Error.call(this); - - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } else { - this.stack = (new Error()).stack; - } - - this.message = message; - this.name = 'AxiosError'; - code && (this.code = code); - config && (this.config = config); - request && (this.request = request); - if (response) { - this.response = response; - this.status = response.status ? response.status : null; - } -} - -_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].inherits(AxiosError, Error, { - toJSON: function toJSON() { - return { - // Standard - message: this.message, - name: this.name, - // Microsoft - description: this.description, - number: this.number, - // Mozilla - fileName: this.fileName, - lineNumber: this.lineNumber, - columnNumber: this.columnNumber, - stack: this.stack, - // Axios - config: _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toJSONObject(this.config), - code: this.code, - status: this.status - }; - } -}); - -const prototype = AxiosError.prototype; -const descriptors = {}; - -[ - 'ERR_BAD_OPTION_VALUE', - 'ERR_BAD_OPTION', - 'ECONNABORTED', - 'ETIMEDOUT', - 'ERR_NETWORK', - 'ERR_FR_TOO_MANY_REDIRECTS', - 'ERR_DEPRECATED', - 'ERR_BAD_RESPONSE', - 'ERR_BAD_REQUEST', - 'ERR_CANCELED', - 'ERR_NOT_SUPPORT', - 'ERR_INVALID_URL' -// eslint-disable-next-line func-names -].forEach(code => { - descriptors[code] = {value: code}; -}); - -Object.defineProperties(AxiosError, descriptors); -Object.defineProperty(prototype, 'isAxiosError', {value: true}); - -// eslint-disable-next-line func-names -AxiosError.from = (error, code, config, request, response, customProps) => { - const axiosError = Object.create(prototype); - - _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toFlatObject(error, axiosError, function filter(obj) { - return obj !== Error.prototype; - }, prop => { - return prop !== 'isAxiosError'; - }); - - AxiosError.call(axiosError, error.message, code, config, request, response); - - axiosError.cause = error; - - axiosError.name = error.name; - - customProps && Object.assign(axiosError, customProps); - - return axiosError; -}; - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AxiosError); - - -/***/ }), - -/***/ "./node_modules/axios/lib/core/AxiosHeaders.js": -/*!*****************************************************!*\ - !*** ./node_modules/axios/lib/core/AxiosHeaders.js ***! - \*****************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _helpers_parseHeaders_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../helpers/parseHeaders.js */ "./node_modules/axios/lib/helpers/parseHeaders.js"); - - - - - -const $internals = Symbol('internals'); - -function normalizeHeader(header) { - return header && String(header).trim().toLowerCase(); -} - -function normalizeValue(value) { - if (value === false || value == null) { - return value; - } - - return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(value) ? value.map(normalizeValue) : String(value); -} - -function parseTokens(str) { - const tokens = Object.create(null); - const tokensRE = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g; - let match; - - while ((match = tokensRE.exec(str))) { - tokens[match[1]] = match[2]; - } - - return tokens; -} - -const isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim()); - -function matchHeaderValue(context, value, header, filter, isHeaderNameFilter) { - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFunction(filter)) { - return filter.call(this, value, header); - } - - if (isHeaderNameFilter) { - value = header; - } - - if (!_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(value)) return; - - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(filter)) { - return value.indexOf(filter) !== -1; - } - - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isRegExp(filter)) { - return filter.test(value); - } -} - -function formatHeader(header) { - return header.trim() - .toLowerCase().replace(/([a-z\d])(\w*)/g, (w, char, str) => { - return char.toUpperCase() + str; - }); -} - -function buildAccessors(obj, header) { - const accessorName = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toCamelCase(' ' + header); - - ['get', 'set', 'has'].forEach(methodName => { - Object.defineProperty(obj, methodName + accessorName, { - value: function(arg1, arg2, arg3) { - return this[methodName].call(this, header, arg1, arg2, arg3); - }, - configurable: true - }); - }); -} - -class AxiosHeaders { - constructor(headers) { - headers && this.set(headers); - } - - set(header, valueOrRewrite, rewrite) { - const self = this; - - function setHeader(_value, _header, _rewrite) { - const lHeader = normalizeHeader(_header); - - if (!lHeader) { - throw new Error('header name must be a non-empty string'); - } - - const key = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].findKey(self, lHeader); - - if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) { - self[key || _header] = normalizeValue(_value); - } - } - - const setHeaders = (headers, _rewrite) => - _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite)); - - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isPlainObject(header) || header instanceof this.constructor) { - setHeaders(header, valueOrRewrite) - } else if(_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(header) && (header = header.trim()) && !isValidHeaderName(header)) { - setHeaders((0,_helpers_parseHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"])(header), valueOrRewrite); - } else if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isHeaders(header)) { - for (const [key, value] of header.entries()) { - setHeader(value, key, rewrite); - } - } else { - header != null && setHeader(valueOrRewrite, header, rewrite); - } - - return this; - } - - get(header, parser) { - header = normalizeHeader(header); - - if (header) { - const key = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].findKey(this, header); - - if (key) { - const value = this[key]; - - if (!parser) { - return value; - } - - if (parser === true) { - return parseTokens(value); - } - - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFunction(parser)) { - return parser.call(this, value, key); - } - - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isRegExp(parser)) { - return parser.exec(value); - } - - throw new TypeError('parser must be boolean|regexp|function'); - } - } - } - - has(header, matcher) { - header = normalizeHeader(header); - - if (header) { - const key = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].findKey(this, header); - - return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher))); - } - - return false; - } - - delete(header, matcher) { - const self = this; - let deleted = false; - - function deleteHeader(_header) { - _header = normalizeHeader(_header); - - if (_header) { - const key = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].findKey(self, _header); - - if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) { - delete self[key]; - - deleted = true; - } - } - } - - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(header)) { - header.forEach(deleteHeader); - } else { - deleteHeader(header); - } - - return deleted; - } - - clear(matcher) { - const keys = Object.keys(this); - let i = keys.length; - let deleted = false; - - while (i--) { - const key = keys[i]; - if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) { - delete this[key]; - deleted = true; - } - } - - return deleted; - } - - normalize(format) { - const self = this; - const headers = {}; - - _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(this, (value, header) => { - const key = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].findKey(headers, header); - - if (key) { - self[key] = normalizeValue(value); - delete self[header]; - return; - } - - const normalized = format ? formatHeader(header) : String(header).trim(); - - if (normalized !== header) { - delete self[header]; - } - - self[normalized] = normalizeValue(value); - - headers[normalized] = true; - }); - - return this; - } - - concat(...targets) { - return this.constructor.concat(this, ...targets); - } - - toJSON(asStrings) { - const obj = Object.create(null); - - _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(this, (value, header) => { - value != null && value !== false && (obj[header] = asStrings && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(value) ? value.join(', ') : value); - }); - - return obj; - } - - [Symbol.iterator]() { - return Object.entries(this.toJSON())[Symbol.iterator](); - } - - toString() { - return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\n'); - } - - get [Symbol.toStringTag]() { - return 'AxiosHeaders'; - } - - static from(thing) { - return thing instanceof this ? thing : new this(thing); - } - - static concat(first, ...targets) { - const computed = new this(first); - - targets.forEach((target) => computed.set(target)); - - return computed; - } - - static accessor(header) { - const internals = this[$internals] = (this[$internals] = { - accessors: {} - }); - - const accessors = internals.accessors; - const prototype = this.prototype; - - function defineAccessor(_header) { - const lHeader = normalizeHeader(_header); - - if (!accessors[lHeader]) { - buildAccessors(prototype, _header); - accessors[lHeader] = true; - } - } - - _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header); - - return this; - } -} - -AxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']); - -// reserved names hotfix -_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => { - let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set` - return { - get: () => value, - set(headerValue) { - this[mapped] = headerValue; - } - } -}); - -_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].freezeMethods(AxiosHeaders); - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AxiosHeaders); - - -/***/ }), - -/***/ "./node_modules/axios/lib/core/InterceptorManager.js": -/*!***********************************************************!*\ - !*** ./node_modules/axios/lib/core/InterceptorManager.js ***! - \***********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); - - - - -class InterceptorManager { - constructor() { - this.handlers = []; - } - - /** - * Add a new interceptor to the stack - * - * @param {Function} fulfilled The function to handle `then` for a `Promise` - * @param {Function} rejected The function to handle `reject` for a `Promise` - * - * @return {Number} An ID used to remove interceptor later - */ - use(fulfilled, rejected, options) { - this.handlers.push({ - fulfilled, - rejected, - synchronous: options ? options.synchronous : false, - runWhen: options ? options.runWhen : null - }); - return this.handlers.length - 1; - } - - /** - * Remove an interceptor from the stack - * - * @param {Number} id The ID that was returned by `use` - * - * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise - */ - eject(id) { - if (this.handlers[id]) { - this.handlers[id] = null; - } - } - - /** - * Clear all interceptors from the stack - * - * @returns {void} - */ - clear() { - if (this.handlers) { - this.handlers = []; - } - } - - /** - * Iterate over all the registered interceptors - * - * This method is particularly useful for skipping over any - * interceptors that may have become `null` calling `eject`. - * - * @param {Function} fn The function to call for each interceptor - * - * @returns {void} - */ - forEach(fn) { - _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(this.handlers, function forEachHandler(h) { - if (h !== null) { - fn(h); - } - }); - } -} - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (InterceptorManager); - - -/***/ }), - -/***/ "./node_modules/axios/lib/core/buildFullPath.js": -/*!******************************************************!*\ - !*** ./node_modules/axios/lib/core/buildFullPath.js ***! - \******************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ buildFullPath) -/* harmony export */ }); -/* harmony import */ var _helpers_isAbsoluteURL_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../helpers/isAbsoluteURL.js */ "./node_modules/axios/lib/helpers/isAbsoluteURL.js"); -/* harmony import */ var _helpers_combineURLs_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../helpers/combineURLs.js */ "./node_modules/axios/lib/helpers/combineURLs.js"); - - - - - -/** - * Creates a new URL by combining the baseURL with the requestedURL, - * only when the requestedURL is not already an absolute URL. - * If the requestURL is absolute, this function returns the requestedURL untouched. - * - * @param {string} baseURL The base URL - * @param {string} requestedURL Absolute or relative URL to combine - * - * @returns {string} The combined full path - */ -function buildFullPath(baseURL, requestedURL) { - if (baseURL && !(0,_helpers_isAbsoluteURL_js__WEBPACK_IMPORTED_MODULE_0__["default"])(requestedURL)) { - return (0,_helpers_combineURLs_js__WEBPACK_IMPORTED_MODULE_1__["default"])(baseURL, requestedURL); - } - return requestedURL; -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/core/dispatchRequest.js": -/*!********************************************************!*\ - !*** ./node_modules/axios/lib/core/dispatchRequest.js ***! - \********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ dispatchRequest) -/* harmony export */ }); -/* harmony import */ var _transformData_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./transformData.js */ "./node_modules/axios/lib/core/transformData.js"); -/* harmony import */ var _cancel_isCancel_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../cancel/isCancel.js */ "./node_modules/axios/lib/cancel/isCancel.js"); -/* harmony import */ var _defaults_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../defaults/index.js */ "./node_modules/axios/lib/defaults/index.js"); -/* harmony import */ var _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../cancel/CanceledError.js */ "./node_modules/axios/lib/cancel/CanceledError.js"); -/* harmony import */ var _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); -/* harmony import */ var _adapters_adapters_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../adapters/adapters.js */ "./node_modules/axios/lib/adapters/adapters.js"); - - - - - - - - - -/** - * Throws a `CanceledError` if cancellation has been requested. - * - * @param {Object} config The config that is to be used for the request - * - * @returns {void} - */ -function throwIfCancellationRequested(config) { - if (config.cancelToken) { - config.cancelToken.throwIfRequested(); - } - - if (config.signal && config.signal.aborted) { - throw new _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_0__["default"](null, config); - } -} - -/** - * Dispatch a request to the server using the configured adapter. - * - * @param {object} config The config that is to be used for the request - * - * @returns {Promise} The Promise to be fulfilled - */ -function dispatchRequest(config) { - throwIfCancellationRequested(config); - - config.headers = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"].from(config.headers); - - // Transform request data - config.data = _transformData_js__WEBPACK_IMPORTED_MODULE_2__["default"].call( - config, - config.transformRequest - ); - - if (['post', 'put', 'patch'].indexOf(config.method) !== -1) { - config.headers.setContentType('application/x-www-form-urlencoded', false); - } - - const adapter = _adapters_adapters_js__WEBPACK_IMPORTED_MODULE_3__["default"].getAdapter(config.adapter || _defaults_index_js__WEBPACK_IMPORTED_MODULE_4__["default"].adapter); - - return adapter(config).then(function onAdapterResolution(response) { - throwIfCancellationRequested(config); - - // Transform response data - response.data = _transformData_js__WEBPACK_IMPORTED_MODULE_2__["default"].call( - config, - config.transformResponse, - response - ); - - response.headers = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"].from(response.headers); - - return response; - }, function onAdapterRejection(reason) { - if (!(0,_cancel_isCancel_js__WEBPACK_IMPORTED_MODULE_5__["default"])(reason)) { - throwIfCancellationRequested(config); - - // Transform response data - if (reason && reason.response) { - reason.response.data = _transformData_js__WEBPACK_IMPORTED_MODULE_2__["default"].call( - config, - config.transformResponse, - reason.response - ); - reason.response.headers = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"].from(reason.response.headers); - } - } - - return Promise.reject(reason); - }); -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/core/mergeConfig.js": -/*!****************************************************!*\ - !*** ./node_modules/axios/lib/core/mergeConfig.js ***! - \****************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ mergeConfig) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); - - - - - -const headersToObject = (thing) => thing instanceof _AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_0__["default"] ? { ...thing } : thing; - -/** - * Config-specific merge-function which creates a new config-object - * by merging two configuration objects together. - * - * @param {Object} config1 - * @param {Object} config2 - * - * @returns {Object} New object resulting from merging config2 to config1 - */ -function mergeConfig(config1, config2) { - // eslint-disable-next-line no-param-reassign - config2 = config2 || {}; - const config = {}; - - function getMergedValue(target, source, caseless) { - if (_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isPlainObject(target) && _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isPlainObject(source)) { - return _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].merge.call({caseless}, target, source); - } else if (_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isPlainObject(source)) { - return _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].merge({}, source); - } else if (_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isArray(source)) { - return source.slice(); - } - return source; - } - - // eslint-disable-next-line consistent-return - function mergeDeepProperties(a, b, caseless) { - if (!_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isUndefined(b)) { - return getMergedValue(a, b, caseless); - } else if (!_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isUndefined(a)) { - return getMergedValue(undefined, a, caseless); - } - } - - // eslint-disable-next-line consistent-return - function valueFromConfig2(a, b) { - if (!_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isUndefined(b)) { - return getMergedValue(undefined, b); - } - } - - // eslint-disable-next-line consistent-return - function defaultToConfig2(a, b) { - if (!_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isUndefined(b)) { - return getMergedValue(undefined, b); - } else if (!_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isUndefined(a)) { - return getMergedValue(undefined, a); - } - } - - // eslint-disable-next-line consistent-return - function mergeDirectKeys(a, b, prop) { - if (prop in config2) { - return getMergedValue(a, b); - } else if (prop in config1) { - return getMergedValue(undefined, a); - } - } - - const mergeMap = { - url: valueFromConfig2, - method: valueFromConfig2, - data: valueFromConfig2, - baseURL: defaultToConfig2, - transformRequest: defaultToConfig2, - transformResponse: defaultToConfig2, - paramsSerializer: defaultToConfig2, - timeout: defaultToConfig2, - timeoutMessage: defaultToConfig2, - withCredentials: defaultToConfig2, - withXSRFToken: defaultToConfig2, - adapter: defaultToConfig2, - responseType: defaultToConfig2, - xsrfCookieName: defaultToConfig2, - xsrfHeaderName: defaultToConfig2, - onUploadProgress: defaultToConfig2, - onDownloadProgress: defaultToConfig2, - decompress: defaultToConfig2, - maxContentLength: defaultToConfig2, - maxBodyLength: defaultToConfig2, - beforeRedirect: defaultToConfig2, - transport: defaultToConfig2, - httpAgent: defaultToConfig2, - httpsAgent: defaultToConfig2, - cancelToken: defaultToConfig2, - socketPath: defaultToConfig2, - responseEncoding: defaultToConfig2, - validateStatus: mergeDirectKeys, - headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true) - }; - - _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) { - const merge = mergeMap[prop] || mergeDeepProperties; - const configValue = merge(config1[prop], config2[prop], prop); - (_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue); - }); - - return config; -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/core/settle.js": -/*!***********************************************!*\ - !*** ./node_modules/axios/lib/core/settle.js ***! - \***********************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ settle) -/* harmony export */ }); -/* harmony import */ var _AxiosError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); - - - - -/** - * Resolve or reject a Promise based on response status. - * - * @param {Function} resolve A function that resolves the promise. - * @param {Function} reject A function that rejects the promise. - * @param {object} response The response. - * - * @returns {object} The response. - */ -function settle(resolve, reject, response) { - const validateStatus = response.config.validateStatus; - if (!response.status || !validateStatus || validateStatus(response.status)) { - resolve(response); - } else { - reject(new _AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"]( - 'Request failed with status code ' + response.status, - [_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"].ERR_BAD_REQUEST, _AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"].ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4], - response.config, - response.request, - response - )); - } -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/core/transformData.js": -/*!******************************************************!*\ - !*** ./node_modules/axios/lib/core/transformData.js ***! - \******************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ transformData) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _defaults_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../defaults/index.js */ "./node_modules/axios/lib/defaults/index.js"); -/* harmony import */ var _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); - - - - - - -/** - * Transform the data for a request or a response - * - * @param {Array|Function} fns A single function or Array of functions - * @param {?Object} response The response object - * - * @returns {*} The resulting transformed data - */ -function transformData(fns, response) { - const config = this || _defaults_index_js__WEBPACK_IMPORTED_MODULE_0__["default"]; - const context = response || config; - const headers = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"].from(context.headers); - let data = context.data; - - _utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].forEach(fns, function transform(fn) { - data = fn.call(config, data, headers.normalize(), response ? response.status : undefined); - }); - - headers.normalize(); - - return data; -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/defaults/index.js": -/*!**************************************************!*\ - !*** ./node_modules/axios/lib/defaults/index.js ***! - \**************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); -/* harmony import */ var _transitional_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./transitional.js */ "./node_modules/axios/lib/defaults/transitional.js"); -/* harmony import */ var _helpers_toFormData_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../helpers/toFormData.js */ "./node_modules/axios/lib/helpers/toFormData.js"); -/* harmony import */ var _helpers_toURLEncodedForm_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../helpers/toURLEncodedForm.js */ "./node_modules/axios/lib/helpers/toURLEncodedForm.js"); -/* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js"); -/* harmony import */ var _helpers_formDataToJSON_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../helpers/formDataToJSON.js */ "./node_modules/axios/lib/helpers/formDataToJSON.js"); - - - - - - - - - - -/** - * It takes a string, tries to parse it, and if it fails, it returns the stringified version - * of the input - * - * @param {any} rawValue - The value to be stringified. - * @param {Function} parser - A function that parses a string into a JavaScript object. - * @param {Function} encoder - A function that takes a value and returns a string. - * - * @returns {string} A stringified version of the rawValue. - */ -function stringifySafely(rawValue, parser, encoder) { - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(rawValue)) { - try { - (parser || JSON.parse)(rawValue); - return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].trim(rawValue); - } catch (e) { - if (e.name !== 'SyntaxError') { - throw e; - } - } - } - - return (encoder || JSON.stringify)(rawValue); -} - -const defaults = { - - transitional: _transitional_js__WEBPACK_IMPORTED_MODULE_1__["default"], - - adapter: ['xhr', 'http', 'fetch'], - - transformRequest: [function transformRequest(data, headers) { - const contentType = headers.getContentType() || ''; - const hasJSONContentType = contentType.indexOf('application/json') > -1; - const isObjectPayload = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isObject(data); - - if (isObjectPayload && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isHTMLForm(data)) { - data = new FormData(data); - } - - const isFormData = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFormData(data); - - if (isFormData) { - return hasJSONContentType ? JSON.stringify((0,_helpers_formDataToJSON_js__WEBPACK_IMPORTED_MODULE_2__["default"])(data)) : data; - } - - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArrayBuffer(data) || - _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isBuffer(data) || - _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isStream(data) || - _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFile(data) || - _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isBlob(data) || - _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isReadableStream(data) - ) { - return data; - } - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArrayBufferView(data)) { - return data.buffer; - } - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isURLSearchParams(data)) { - headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false); - return data.toString(); - } - - let isFileList; - - if (isObjectPayload) { - if (contentType.indexOf('application/x-www-form-urlencoded') > -1) { - return (0,_helpers_toURLEncodedForm_js__WEBPACK_IMPORTED_MODULE_3__["default"])(data, this.formSerializer).toString(); - } - - if ((isFileList = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) { - const _FormData = this.env && this.env.FormData; - - return (0,_helpers_toFormData_js__WEBPACK_IMPORTED_MODULE_4__["default"])( - isFileList ? {'files[]': data} : data, - _FormData && new _FormData(), - this.formSerializer - ); - } - } - - if (isObjectPayload || hasJSONContentType ) { - headers.setContentType('application/json', false); - return stringifySafely(data); - } - - return data; - }], - - transformResponse: [function transformResponse(data) { - const transitional = this.transitional || defaults.transitional; - const forcedJSONParsing = transitional && transitional.forcedJSONParsing; - const JSONRequested = this.responseType === 'json'; - - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isResponse(data) || _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isReadableStream(data)) { - return data; - } - - if (data && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) { - const silentJSONParsing = transitional && transitional.silentJSONParsing; - const strictJSONParsing = !silentJSONParsing && JSONRequested; - - try { - return JSON.parse(data); - } catch (e) { - if (strictJSONParsing) { - if (e.name === 'SyntaxError') { - throw _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_5__["default"].from(e, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_5__["default"].ERR_BAD_RESPONSE, this, null, this.response); - } - throw e; - } - } - } - - return data; - }], - - /** - * A timeout in milliseconds to abort a request. If set to 0 (default) a - * timeout is not created. - */ - timeout: 0, - - xsrfCookieName: 'XSRF-TOKEN', - xsrfHeaderName: 'X-XSRF-TOKEN', - - maxContentLength: -1, - maxBodyLength: -1, - - env: { - FormData: _platform_index_js__WEBPACK_IMPORTED_MODULE_6__["default"].classes.FormData, - Blob: _platform_index_js__WEBPACK_IMPORTED_MODULE_6__["default"].classes.Blob - }, - - validateStatus: function validateStatus(status) { - return status >= 200 && status < 300; - }, - - headers: { - common: { - 'Accept': 'application/json, text/plain, */*', - 'Content-Type': undefined - } - } -}; - -_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => { - defaults.headers[method] = {}; -}); - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (defaults); - - -/***/ }), - -/***/ "./node_modules/axios/lib/defaults/transitional.js": -/*!*********************************************************!*\ - !*** ./node_modules/axios/lib/defaults/transitional.js ***! - \*********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); - - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ - silentJSONParsing: true, - forcedJSONParsing: true, - clarifyTimeoutError: false -}); - - -/***/ }), - -/***/ "./node_modules/axios/lib/env/data.js": -/*!********************************************!*\ - !*** ./node_modules/axios/lib/env/data.js ***! - \********************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ VERSION: () => (/* binding */ VERSION) -/* harmony export */ }); -const VERSION = "1.7.5"; - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/AxiosURLSearchParams.js": -/*!****************************************************************!*\ - !*** ./node_modules/axios/lib/helpers/AxiosURLSearchParams.js ***! - \****************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _toFormData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toFormData.js */ "./node_modules/axios/lib/helpers/toFormData.js"); - - - - -/** - * It encodes a string by replacing all characters that are not in the unreserved set with - * their percent-encoded equivalents - * - * @param {string} str - The string to encode. - * - * @returns {string} The encoded string. - */ -function encode(str) { - const charMap = { - '!': '%21', - "'": '%27', - '(': '%28', - ')': '%29', - '~': '%7E', - '%20': '+', - '%00': '\x00' - }; - return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) { - return charMap[match]; - }); -} - -/** - * It takes a params object and converts it to a FormData object - * - * @param {Object} params - The parameters to be converted to a FormData object. - * @param {Object} options - The options object passed to the Axios constructor. - * - * @returns {void} - */ -function AxiosURLSearchParams(params, options) { - this._pairs = []; - - params && (0,_toFormData_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params, this, options); -} - -const prototype = AxiosURLSearchParams.prototype; - -prototype.append = function append(name, value) { - this._pairs.push([name, value]); -}; - -prototype.toString = function toString(encoder) { - const _encode = encoder ? function(value) { - return encoder.call(this, value, encode); - } : encode; - - return this._pairs.map(function each(pair) { - return _encode(pair[0]) + '=' + _encode(pair[1]); - }, '').join('&'); -}; - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AxiosURLSearchParams); - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/HttpStatusCode.js": -/*!**********************************************************!*\ - !*** ./node_modules/axios/lib/helpers/HttpStatusCode.js ***! - \**********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -const HttpStatusCode = { - Continue: 100, - SwitchingProtocols: 101, - Processing: 102, - EarlyHints: 103, - Ok: 200, - Created: 201, - Accepted: 202, - NonAuthoritativeInformation: 203, - NoContent: 204, - ResetContent: 205, - PartialContent: 206, - MultiStatus: 207, - AlreadyReported: 208, - ImUsed: 226, - MultipleChoices: 300, - MovedPermanently: 301, - Found: 302, - SeeOther: 303, - NotModified: 304, - UseProxy: 305, - Unused: 306, - TemporaryRedirect: 307, - PermanentRedirect: 308, - BadRequest: 400, - Unauthorized: 401, - PaymentRequired: 402, - Forbidden: 403, - NotFound: 404, - MethodNotAllowed: 405, - NotAcceptable: 406, - ProxyAuthenticationRequired: 407, - RequestTimeout: 408, - Conflict: 409, - Gone: 410, - LengthRequired: 411, - PreconditionFailed: 412, - PayloadTooLarge: 413, - UriTooLong: 414, - UnsupportedMediaType: 415, - RangeNotSatisfiable: 416, - ExpectationFailed: 417, - ImATeapot: 418, - MisdirectedRequest: 421, - UnprocessableEntity: 422, - Locked: 423, - FailedDependency: 424, - TooEarly: 425, - UpgradeRequired: 426, - PreconditionRequired: 428, - TooManyRequests: 429, - RequestHeaderFieldsTooLarge: 431, - UnavailableForLegalReasons: 451, - InternalServerError: 500, - NotImplemented: 501, - BadGateway: 502, - ServiceUnavailable: 503, - GatewayTimeout: 504, - HttpVersionNotSupported: 505, - VariantAlsoNegotiates: 506, - InsufficientStorage: 507, - LoopDetected: 508, - NotExtended: 510, - NetworkAuthenticationRequired: 511, -}; - -Object.entries(HttpStatusCode).forEach(([key, value]) => { - HttpStatusCode[value] = key; -}); - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (HttpStatusCode); - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/bind.js": -/*!************************************************!*\ - !*** ./node_modules/axios/lib/helpers/bind.js ***! - \************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ bind) -/* harmony export */ }); - - -function bind(fn, thisArg) { - return function wrap() { - return fn.apply(thisArg, arguments); - }; -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/buildURL.js": -/*!****************************************************!*\ - !*** ./node_modules/axios/lib/helpers/buildURL.js ***! - \****************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ buildURL) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _helpers_AxiosURLSearchParams_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../helpers/AxiosURLSearchParams.js */ "./node_modules/axios/lib/helpers/AxiosURLSearchParams.js"); - - - - - -/** - * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their - * URI encoded counterparts - * - * @param {string} val The value to be encoded. - * - * @returns {string} The encoded value. - */ -function encode(val) { - return encodeURIComponent(val). - replace(/%3A/gi, ':'). - replace(/%24/g, '$'). - replace(/%2C/gi, ','). - replace(/%20/g, '+'). - replace(/%5B/gi, '['). - replace(/%5D/gi, ']'); -} - -/** - * Build a URL by appending params to the end - * - * @param {string} url The base of the url (e.g., http://www.google.com) - * @param {object} [params] The params to be appended - * @param {?object} options - * - * @returns {string} The formatted url - */ -function buildURL(url, params, options) { - /*eslint no-param-reassign:0*/ - if (!params) { - return url; - } - - const _encode = options && options.encode || encode; - - const serializeFn = options && options.serialize; - - let serializedParams; - - if (serializeFn) { - serializedParams = serializeFn(params, options); - } else { - serializedParams = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isURLSearchParams(params) ? - params.toString() : - new _helpers_AxiosURLSearchParams_js__WEBPACK_IMPORTED_MODULE_1__["default"](params, options).toString(_encode); - } - - if (serializedParams) { - const hashmarkIndex = url.indexOf("#"); - - if (hashmarkIndex !== -1) { - url = url.slice(0, hashmarkIndex); - } - url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams; - } - - return url; -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/combineURLs.js": -/*!*******************************************************!*\ - !*** ./node_modules/axios/lib/helpers/combineURLs.js ***! - \*******************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ combineURLs) -/* harmony export */ }); - - -/** - * Creates a new URL by combining the specified URLs - * - * @param {string} baseURL The base URL - * @param {string} relativeURL The relative URL - * - * @returns {string} The combined URL - */ -function combineURLs(baseURL, relativeURL) { - return relativeURL - ? baseURL.replace(/\/?\/$/, '') + '/' + relativeURL.replace(/^\/+/, '') - : baseURL; -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/composeSignals.js": -/*!**********************************************************!*\ - !*** ./node_modules/axios/lib/helpers/composeSignals.js ***! - \**********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../cancel/CanceledError.js */ "./node_modules/axios/lib/cancel/CanceledError.js"); -/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); - - - -const composeSignals = (signals, timeout) => { - let controller = new AbortController(); - - let aborted; - - const onabort = function (cancel) { - if (!aborted) { - aborted = true; - unsubscribe(); - const err = cancel instanceof Error ? cancel : this.reason; - controller.abort(err instanceof _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"] ? err : new _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_1__["default"](err instanceof Error ? err.message : err)); - } - } - - let timer = timeout && setTimeout(() => { - onabort(new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"](`timeout ${timeout} of ms exceeded`, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"].ETIMEDOUT)) - }, timeout) - - const unsubscribe = () => { - if (signals) { - timer && clearTimeout(timer); - timer = null; - signals.forEach(signal => { - signal && - (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort)); - }); - signals = null; - } - } - - signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort)); - - const {signal} = controller; - - signal.unsubscribe = unsubscribe; - - return [signal, () => { - timer && clearTimeout(timer); - timer = null; - }]; -} - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (composeSignals); - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/cookies.js": -/*!***************************************************!*\ - !*** ./node_modules/axios/lib/helpers/cookies.js ***! - \***************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js"); - - - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_platform_index_js__WEBPACK_IMPORTED_MODULE_0__["default"].hasStandardBrowserEnv ? - - // Standard browser envs support document.cookie - { - write(name, value, expires, path, domain, secure) { - const cookie = [name + '=' + encodeURIComponent(value)]; - - _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString()); - - _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isString(path) && cookie.push('path=' + path); - - _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isString(domain) && cookie.push('domain=' + domain); - - secure === true && cookie.push('secure'); - - document.cookie = cookie.join('; '); - }, - - read(name) { - const match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)')); - return (match ? decodeURIComponent(match[3]) : null); - }, - - remove(name) { - this.write(name, '', Date.now() - 86400000); - } - } - - : - - // Non-standard browser env (web workers, react-native) lack needed support. - { - write() {}, - read() { - return null; - }, - remove() {} - }); - - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/formDataToJSON.js": -/*!**********************************************************!*\ - !*** ./node_modules/axios/lib/helpers/formDataToJSON.js ***! - \**********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); - - - - -/** - * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z'] - * - * @param {string} name - The name of the property to get. - * - * @returns An array of strings. - */ -function parsePropPath(name) { - // foo[x][y][z] - // foo.x.y.z - // foo-x-y-z - // foo x y z - return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].matchAll(/\w+|\[(\w*)]/g, name).map(match => { - return match[0] === '[]' ? '' : match[1] || match[0]; - }); -} - -/** - * Convert an array to an object. - * - * @param {Array} arr - The array to convert to an object. - * - * @returns An object with the same keys and values as the array. - */ -function arrayToObject(arr) { - const obj = {}; - const keys = Object.keys(arr); - let i; - const len = keys.length; - let key; - for (i = 0; i < len; i++) { - key = keys[i]; - obj[key] = arr[key]; - } - return obj; -} - -/** - * It takes a FormData object and returns a JavaScript object - * - * @param {string} formData The FormData object to convert to JSON. - * - * @returns {Object | null} The converted object. - */ -function formDataToJSON(formData) { - function buildPath(path, value, target, index) { - let name = path[index++]; - - if (name === '__proto__') return true; - - const isNumericKey = Number.isFinite(+name); - const isLast = index >= path.length; - name = !name && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(target) ? target.length : name; - - if (isLast) { - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].hasOwnProp(target, name)) { - target[name] = [target[name], value]; - } else { - target[name] = value; - } - - return !isNumericKey; - } - - if (!target[name] || !_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isObject(target[name])) { - target[name] = []; - } - - const result = buildPath(path, value, target[name], index); - - if (result && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(target[name])) { - target[name] = arrayToObject(target[name]); - } - - return !isNumericKey; - } - - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFormData(formData) && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFunction(formData.entries)) { - const obj = {}; - - _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEachEntry(formData, (name, value) => { - buildPath(parsePropPath(name), value, obj, 0); - }); - - return obj; - } - - return null; -} - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (formDataToJSON); - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/isAbsoluteURL.js": -/*!*********************************************************!*\ - !*** ./node_modules/axios/lib/helpers/isAbsoluteURL.js ***! - \*********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ isAbsoluteURL) -/* harmony export */ }); - - -/** - * Determines whether the specified URL is absolute - * - * @param {string} url The URL to test - * - * @returns {boolean} True if the specified URL is absolute, otherwise false - */ -function isAbsoluteURL(url) { - // A URL is considered absolute if it begins with "://" or "//" (protocol-relative URL). - // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed - // by any combination of letters, digits, plus, period, or hyphen. - return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url); -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/isAxiosError.js": -/*!********************************************************!*\ - !*** ./node_modules/axios/lib/helpers/isAxiosError.js ***! - \********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ isAxiosError) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); - - - - -/** - * Determines whether the payload is an error thrown by Axios - * - * @param {*} payload The value to test - * - * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false - */ -function isAxiosError(payload) { - return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isObject(payload) && (payload.isAxiosError === true); -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/isURLSameOrigin.js": -/*!***********************************************************!*\ - !*** ./node_modules/axios/lib/helpers/isURLSameOrigin.js ***! - \***********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js"); - - - - - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_platform_index_js__WEBPACK_IMPORTED_MODULE_0__["default"].hasStandardBrowserEnv ? - -// Standard browser envs have full support of the APIs needed to test -// whether the request URL is of the same origin as current location. - (function standardBrowserEnv() { - const msie = _platform_index_js__WEBPACK_IMPORTED_MODULE_0__["default"].navigator && /(msie|trident)/i.test(_platform_index_js__WEBPACK_IMPORTED_MODULE_0__["default"].navigator.userAgent); - const urlParsingNode = document.createElement('a'); - let originURL; - - /** - * Parse a URL to discover its components - * - * @param {String} url The URL to be parsed - * @returns {Object} - */ - function resolveURL(url) { - let href = url; - - if (msie) { - // IE needs attribute set twice to normalize properties - urlParsingNode.setAttribute('href', href); - href = urlParsingNode.href; - } - - urlParsingNode.setAttribute('href', href); - - // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils - return { - href: urlParsingNode.href, - protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '', - host: urlParsingNode.host, - search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '', - hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '', - hostname: urlParsingNode.hostname, - port: urlParsingNode.port, - pathname: (urlParsingNode.pathname.charAt(0) === '/') ? - urlParsingNode.pathname : - '/' + urlParsingNode.pathname - }; - } - - originURL = resolveURL(window.location.href); - - /** - * Determine if a URL shares the same origin as the current location - * - * @param {String} requestURL The URL to test - * @returns {boolean} True if URL shares the same origin, otherwise false - */ - return function isURLSameOrigin(requestURL) { - const parsed = (_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isString(requestURL)) ? resolveURL(requestURL) : requestURL; - return (parsed.protocol === originURL.protocol && - parsed.host === originURL.host); - }; - })() : - - // Non standard browser envs (web workers, react-native) lack needed support. - (function nonStandardBrowserEnv() { - return function isURLSameOrigin() { - return true; - }; - })()); - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/null.js": -/*!************************************************!*\ - !*** ./node_modules/axios/lib/helpers/null.js ***! - \************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -// eslint-disable-next-line strict -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (null); - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/parseHeaders.js": -/*!********************************************************!*\ - !*** ./node_modules/axios/lib/helpers/parseHeaders.js ***! - \********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); - - - - -// RawAxiosHeaders whose duplicates are ignored by node -// c.f. https://nodejs.org/api/http.html#http_message_headers -const ignoreDuplicateOf = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toObjectSet([ - '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' -]); - -/** - * Parse headers into an object - * - * ``` - * Date: Wed, 27 Aug 2014 08:58:49 GMT - * Content-Type: application/json - * Connection: keep-alive - * Transfer-Encoding: chunked - * ``` - * - * @param {String} rawHeaders Headers needing to be parsed - * - * @returns {Object} Headers parsed into an object - */ -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (rawHeaders => { - const parsed = {}; - let key; - let val; - let i; - - rawHeaders && rawHeaders.split('\n').forEach(function parser(line) { - i = line.indexOf(':'); - key = line.substring(0, i).trim().toLowerCase(); - val = line.substring(i + 1).trim(); - - if (!key || (parsed[key] && ignoreDuplicateOf[key])) { - return; - } - - if (key === 'set-cookie') { - if (parsed[key]) { - parsed[key].push(val); - } else { - parsed[key] = [val]; - } - } else { - parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val; - } - }); - - return parsed; -}); - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/parseProtocol.js": -/*!*********************************************************!*\ - !*** ./node_modules/axios/lib/helpers/parseProtocol.js ***! - \*********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ parseProtocol) -/* harmony export */ }); - - -function parseProtocol(url) { - const match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url); - return match && match[1] || ''; -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/progressEventReducer.js": -/*!****************************************************************!*\ - !*** ./node_modules/axios/lib/helpers/progressEventReducer.js ***! - \****************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ asyncDecorator: () => (/* binding */ asyncDecorator), -/* harmony export */ progressEventDecorator: () => (/* binding */ progressEventDecorator), -/* harmony export */ progressEventReducer: () => (/* binding */ progressEventReducer) -/* harmony export */ }); -/* harmony import */ var _speedometer_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./speedometer.js */ "./node_modules/axios/lib/helpers/speedometer.js"); -/* harmony import */ var _throttle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./throttle.js */ "./node_modules/axios/lib/helpers/throttle.js"); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); - - - - -const progressEventReducer = (listener, isDownloadStream, freq = 3) => { - let bytesNotified = 0; - const _speedometer = (0,_speedometer_js__WEBPACK_IMPORTED_MODULE_0__["default"])(50, 250); - - return (0,_throttle_js__WEBPACK_IMPORTED_MODULE_1__["default"])(e => { - const loaded = e.loaded; - const total = e.lengthComputable ? e.total : undefined; - const progressBytes = loaded - bytesNotified; - const rate = _speedometer(progressBytes); - const inRange = loaded <= total; - - bytesNotified = loaded; - - const data = { - loaded, - total, - progress: total ? (loaded / total) : undefined, - bytes: progressBytes, - rate: rate ? rate : undefined, - estimated: rate && total && inRange ? (total - loaded) / rate : undefined, - event: e, - lengthComputable: total != null, - [isDownloadStream ? 'download' : 'upload']: true - }; - - listener(data); - }, freq); -} - -const progressEventDecorator = (total, throttled) => { - const lengthComputable = total != null; - - return [(loaded) => throttled[0]({ - lengthComputable, - total, - loaded - }), throttled[1]]; -} - -const asyncDecorator = (fn) => (...args) => _utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].asap(() => fn(...args)); - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/resolveConfig.js": -/*!*********************************************************!*\ - !*** ./node_modules/axios/lib/helpers/resolveConfig.js ***! - \*********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js"); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _isURLSameOrigin_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./isURLSameOrigin.js */ "./node_modules/axios/lib/helpers/isURLSameOrigin.js"); -/* harmony import */ var _cookies_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./cookies.js */ "./node_modules/axios/lib/helpers/cookies.js"); -/* harmony import */ var _core_buildFullPath_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../core/buildFullPath.js */ "./node_modules/axios/lib/core/buildFullPath.js"); -/* harmony import */ var _core_mergeConfig_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/mergeConfig.js */ "./node_modules/axios/lib/core/mergeConfig.js"); -/* harmony import */ var _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); -/* harmony import */ var _buildURL_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./buildURL.js */ "./node_modules/axios/lib/helpers/buildURL.js"); - - - - - - - - - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((config) => { - const newConfig = (0,_core_mergeConfig_js__WEBPACK_IMPORTED_MODULE_0__["default"])({}, config); - - let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig; - - newConfig.headers = headers = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"].from(headers); - - newConfig.url = (0,_buildURL_js__WEBPACK_IMPORTED_MODULE_2__["default"])((0,_core_buildFullPath_js__WEBPACK_IMPORTED_MODULE_3__["default"])(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer); - - // HTTP basic authentication - if (auth) { - headers.set('Authorization', 'Basic ' + - btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : '')) - ); - } - - let contentType; - - if (_utils_js__WEBPACK_IMPORTED_MODULE_4__["default"].isFormData(data)) { - if (_platform_index_js__WEBPACK_IMPORTED_MODULE_5__["default"].hasStandardBrowserEnv || _platform_index_js__WEBPACK_IMPORTED_MODULE_5__["default"].hasStandardBrowserWebWorkerEnv) { - headers.setContentType(undefined); // Let the browser set it - } else if ((contentType = headers.getContentType()) !== false) { - // fix semicolon duplication issue for ReactNative FormData implementation - const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : []; - headers.setContentType([type || 'multipart/form-data', ...tokens].join('; ')); - } - } - - // Add xsrf header - // This is only done if running in a standard browser environment. - // Specifically not if we're in a web worker, or react-native. - - if (_platform_index_js__WEBPACK_IMPORTED_MODULE_5__["default"].hasStandardBrowserEnv) { - withXSRFToken && _utils_js__WEBPACK_IMPORTED_MODULE_4__["default"].isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig)); - - if (withXSRFToken || (withXSRFToken !== false && (0,_isURLSameOrigin_js__WEBPACK_IMPORTED_MODULE_6__["default"])(newConfig.url))) { - // Add xsrf header - const xsrfValue = xsrfHeaderName && xsrfCookieName && _cookies_js__WEBPACK_IMPORTED_MODULE_7__["default"].read(xsrfCookieName); - - if (xsrfValue) { - headers.set(xsrfHeaderName, xsrfValue); - } - } - } - - return newConfig; -}); - - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/speedometer.js": -/*!*******************************************************!*\ - !*** ./node_modules/axios/lib/helpers/speedometer.js ***! - \*******************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); - - -/** - * Calculate data maxRate - * @param {Number} [samplesCount= 10] - * @param {Number} [min= 1000] - * @returns {Function} - */ -function speedometer(samplesCount, min) { - samplesCount = samplesCount || 10; - const bytes = new Array(samplesCount); - const timestamps = new Array(samplesCount); - let head = 0; - let tail = 0; - let firstSampleTS; - - min = min !== undefined ? min : 1000; - - return function push(chunkLength) { - const now = Date.now(); - - const startedAt = timestamps[tail]; - - if (!firstSampleTS) { - firstSampleTS = now; - } - - bytes[head] = chunkLength; - timestamps[head] = now; - - let i = tail; - let bytesCount = 0; - - while (i !== head) { - bytesCount += bytes[i++]; - i = i % samplesCount; - } - - head = (head + 1) % samplesCount; - - if (head === tail) { - tail = (tail + 1) % samplesCount; - } - - if (now - firstSampleTS < min) { - return; - } - - const passed = startedAt && now - startedAt; - - return passed ? Math.round(bytesCount * 1000 / passed) : undefined; - }; -} - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (speedometer); - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/spread.js": -/*!**************************************************!*\ - !*** ./node_modules/axios/lib/helpers/spread.js ***! - \**************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ spread) -/* harmony export */ }); - - -/** - * Syntactic sugar for invoking a function and expanding an array for arguments. - * - * Common use case would be to use `Function.prototype.apply`. - * - * ```js - * function f(x, y, z) {} - * var args = [1, 2, 3]; - * f.apply(null, args); - * ``` - * - * With `spread` this example can be re-written. - * - * ```js - * spread(function(x, y, z) {})([1, 2, 3]); - * ``` - * - * @param {Function} callback - * - * @returns {Function} - */ -function spread(callback) { - return function wrap(arr) { - return callback.apply(null, arr); - }; -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/throttle.js": -/*!****************************************************!*\ - !*** ./node_modules/axios/lib/helpers/throttle.js ***! - \****************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/** - * Throttle decorator - * @param {Function} fn - * @param {Number} freq - * @return {Function} - */ -function throttle(fn, freq) { - let timestamp = 0; - let threshold = 1000 / freq; - let lastArgs; - let timer; - - const invoke = (args, now = Date.now()) => { - timestamp = now; - lastArgs = null; - if (timer) { - clearTimeout(timer); - timer = null; - } - fn.apply(null, args); - } - - const throttled = (...args) => { - const now = Date.now(); - const passed = now - timestamp; - if ( passed >= threshold) { - invoke(args, now); - } else { - lastArgs = args; - if (!timer) { - timer = setTimeout(() => { - timer = null; - invoke(lastArgs) - }, threshold - passed); - } - } - } - - const flush = () => lastArgs && invoke(lastArgs); - - return [throttled, flush]; -} - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (throttle); - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/toFormData.js": -/*!******************************************************!*\ - !*** ./node_modules/axios/lib/helpers/toFormData.js ***! - \******************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); -/* harmony import */ var _platform_node_classes_FormData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../platform/node/classes/FormData.js */ "./node_modules/axios/lib/helpers/null.js"); - - - - -// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored - - -/** - * Determines if the given thing is a array or js object. - * - * @param {string} thing - The object or array to be visited. - * - * @returns {boolean} - */ -function isVisitable(thing) { - return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isPlainObject(thing) || _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(thing); -} - -/** - * It removes the brackets from the end of a string - * - * @param {string} key - The key of the parameter. - * - * @returns {string} the key without the brackets. - */ -function removeBrackets(key) { - return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].endsWith(key, '[]') ? key.slice(0, -2) : key; -} - -/** - * It takes a path, a key, and a boolean, and returns a string - * - * @param {string} path - The path to the current key. - * @param {string} key - The key of the current object being iterated over. - * @param {string} dots - If true, the key will be rendered with dots instead of brackets. - * - * @returns {string} The path to the current key. - */ -function renderKey(path, key, dots) { - if (!path) return key; - return path.concat(key).map(function each(token, i) { - // eslint-disable-next-line no-param-reassign - token = removeBrackets(token); - return !dots && i ? '[' + token + ']' : token; - }).join(dots ? '.' : ''); -} - -/** - * If the array is an array and none of its elements are visitable, then it's a flat array. - * - * @param {Array} arr - The array to check - * - * @returns {boolean} - */ -function isFlatArray(arr) { - return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(arr) && !arr.some(isVisitable); -} - -const predicates = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toFlatObject(_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"], {}, null, function filter(prop) { - return /^is[A-Z]/.test(prop); -}); - -/** - * Convert a data object to FormData - * - * @param {Object} obj - * @param {?Object} [formData] - * @param {?Object} [options] - * @param {Function} [options.visitor] - * @param {Boolean} [options.metaTokens = true] - * @param {Boolean} [options.dots = false] - * @param {?Boolean} [options.indexes = false] - * - * @returns {Object} - **/ - -/** - * It converts an object into a FormData object - * - * @param {Object} obj - The object to convert to form data. - * @param {string} formData - The FormData object to append to. - * @param {Object} options - * - * @returns - */ -function toFormData(obj, formData, options) { - if (!_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isObject(obj)) { - throw new TypeError('target must be an object'); - } - - // eslint-disable-next-line no-param-reassign - formData = formData || new (_platform_node_classes_FormData_js__WEBPACK_IMPORTED_MODULE_1__["default"] || FormData)(); - - // eslint-disable-next-line no-param-reassign - options = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toFlatObject(options, { - metaTokens: true, - dots: false, - indexes: false - }, false, function defined(option, source) { - // eslint-disable-next-line no-eq-null,eqeqeq - return !_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isUndefined(source[option]); - }); - - const metaTokens = options.metaTokens; - // eslint-disable-next-line no-use-before-define - const visitor = options.visitor || defaultVisitor; - const dots = options.dots; - const indexes = options.indexes; - const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob; - const useBlob = _Blob && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isSpecCompliantForm(formData); - - if (!_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFunction(visitor)) { - throw new TypeError('visitor must be a function'); - } - - function convertValue(value) { - if (value === null) return ''; - - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isDate(value)) { - return value.toISOString(); - } - - if (!useBlob && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isBlob(value)) { - throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_2__["default"]('Blob is not supported. Use a Buffer instead.'); - } - - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArrayBuffer(value) || _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isTypedArray(value)) { - return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value); - } - - return value; - } - - /** - * Default visitor. - * - * @param {*} value - * @param {String|Number} key - * @param {Array} path - * @this {FormData} - * - * @returns {boolean} return true to visit the each prop of the value recursively - */ - function defaultVisitor(value, key, path) { - let arr = value; - - if (value && !path && typeof value === 'object') { - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].endsWith(key, '{}')) { - // eslint-disable-next-line no-param-reassign - key = metaTokens ? key : key.slice(0, -2); - // eslint-disable-next-line no-param-reassign - value = JSON.stringify(value); - } else if ( - (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(value) && isFlatArray(value)) || - ((_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFileList(value) || _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].endsWith(key, '[]')) && (arr = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toArray(value)) - )) { - // eslint-disable-next-line no-param-reassign - key = removeBrackets(key); - - arr.forEach(function each(el, index) { - !(_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isUndefined(el) || el === null) && formData.append( - // eslint-disable-next-line no-nested-ternary - indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'), - convertValue(el) - ); - }); - return false; - } - } - - if (isVisitable(value)) { - return true; - } - - formData.append(renderKey(path, key, dots), convertValue(value)); - - return false; - } - - const stack = []; - - const exposedHelpers = Object.assign(predicates, { - defaultVisitor, - convertValue, - isVisitable - }); - - function build(value, path) { - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isUndefined(value)) return; - - if (stack.indexOf(value) !== -1) { - throw Error('Circular reference detected in ' + path.join('.')); - } - - stack.push(value); - - _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(value, function each(el, key) { - const result = !(_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isUndefined(el) || el === null) && visitor.call( - formData, el, _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(key) ? key.trim() : key, path, exposedHelpers - ); - - if (result === true) { - build(el, path ? path.concat(key) : [key]); - } - }); - - stack.pop(); - } - - if (!_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isObject(obj)) { - throw new TypeError('data must be an object'); - } - - build(obj); - - return formData; -} - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (toFormData); - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/toURLEncodedForm.js": -/*!************************************************************!*\ - !*** ./node_modules/axios/lib/helpers/toURLEncodedForm.js ***! - \************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ toURLEncodedForm) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _toFormData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toFormData.js */ "./node_modules/axios/lib/helpers/toFormData.js"); -/* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js"); - - - - - - -function toURLEncodedForm(data, options) { - return (0,_toFormData_js__WEBPACK_IMPORTED_MODULE_0__["default"])(data, new _platform_index_js__WEBPACK_IMPORTED_MODULE_1__["default"].classes.URLSearchParams(), Object.assign({ - visitor: function(value, key, path, helpers) { - if (_platform_index_js__WEBPACK_IMPORTED_MODULE_1__["default"].isNode && _utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].isBuffer(value)) { - this.append(key, value.toString('base64')); - return false; - } - - return helpers.defaultVisitor.apply(this, arguments); - } - }, options)); -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/trackStream.js": -/*!*******************************************************!*\ - !*** ./node_modules/axios/lib/helpers/trackStream.js ***! - \*******************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ readBytes: () => (/* binding */ readBytes), -/* harmony export */ streamChunk: () => (/* binding */ streamChunk), -/* harmony export */ trackStream: () => (/* binding */ trackStream) -/* harmony export */ }); - -const streamChunk = function* (chunk, chunkSize) { - let len = chunk.byteLength; - - if (!chunkSize || len < chunkSize) { - yield chunk; - return; - } - - let pos = 0; - let end; - - while (pos < len) { - end = pos + chunkSize; - yield chunk.slice(pos, end); - pos = end; - } -} - -const readBytes = async function* (iterable, chunkSize, encode) { - for await (const chunk of iterable) { - yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize); - } -} - -const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => { - const iterator = readBytes(stream, chunkSize, encode); - - let bytes = 0; - let done; - let _onFinish = (e) => { - if (!done) { - done = true; - onFinish && onFinish(e); - } - } - - return new ReadableStream({ - async pull(controller) { - try { - const {done, value} = await iterator.next(); - - if (done) { - _onFinish(); - controller.close(); - return; - } - - let len = value.byteLength; - if (onProgress) { - let loadedBytes = bytes += len; - onProgress(loadedBytes); - } - controller.enqueue(new Uint8Array(value)); - } catch (err) { - _onFinish(err); - throw err; - } - }, - cancel(reason) { - _onFinish(reason); - return iterator.return(); - } - }, { - highWaterMark: 2 - }) -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/validator.js": -/*!*****************************************************!*\ - !*** ./node_modules/axios/lib/helpers/validator.js ***! - \*****************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _env_data_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../env/data.js */ "./node_modules/axios/lib/env/data.js"); -/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); - - - - - -const validators = {}; - -// eslint-disable-next-line func-names -['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => { - validators[type] = function validator(thing) { - return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type; - }; -}); - -const deprecatedWarnings = {}; - -/** - * Transitional option validator - * - * @param {function|boolean?} validator - set to false if the transitional option has been removed - * @param {string?} version - deprecated version / removed since version - * @param {string?} message - some message with additional info - * - * @returns {function} - */ -validators.transitional = function transitional(validator, version, message) { - function formatMessage(opt, desc) { - return '[Axios v' + _env_data_js__WEBPACK_IMPORTED_MODULE_0__.VERSION + '] Transitional option \'' + opt + '\'' + desc + (message ? '. ' + message : ''); - } - - // eslint-disable-next-line func-names - return (value, opt, opts) => { - if (validator === false) { - throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"]( - formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')), - _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"].ERR_DEPRECATED - ); - } - - if (version && !deprecatedWarnings[opt]) { - deprecatedWarnings[opt] = true; - // eslint-disable-next-line no-console - console.warn( - formatMessage( - opt, - ' has been deprecated since v' + version + ' and will be removed in the near future' - ) - ); - } - - return validator ? validator(value, opt, opts) : true; - }; -}; - -/** - * Assert object's properties type - * - * @param {object} options - * @param {object} schema - * @param {boolean?} allowUnknown - * - * @returns {object} - */ - -function assertOptions(options, schema, allowUnknown) { - if (typeof options !== 'object') { - throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"]('options must be an object', _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"].ERR_BAD_OPTION_VALUE); - } - const keys = Object.keys(options); - let i = keys.length; - while (i-- > 0) { - const opt = keys[i]; - const validator = schema[opt]; - if (validator) { - const value = options[opt]; - const result = value === undefined || validator(value, opt, options); - if (result !== true) { - throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"]('option ' + opt + ' must be ' + result, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"].ERR_BAD_OPTION_VALUE); - } - continue; - } - if (allowUnknown !== true) { - throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"]('Unknown option ' + opt, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"].ERR_BAD_OPTION); - } - } -} - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ - assertOptions, - validators -}); - - -/***/ }), - -/***/ "./node_modules/axios/lib/platform/browser/classes/Blob.js": -/*!*****************************************************************!*\ - !*** ./node_modules/axios/lib/platform/browser/classes/Blob.js ***! - \*****************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); - - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (typeof Blob !== 'undefined' ? Blob : null); - - -/***/ }), - -/***/ "./node_modules/axios/lib/platform/browser/classes/FormData.js": -/*!*********************************************************************!*\ - !*** ./node_modules/axios/lib/platform/browser/classes/FormData.js ***! - \*********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); - - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (typeof FormData !== 'undefined' ? FormData : null); - - -/***/ }), - -/***/ "./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js": -/*!****************************************************************************!*\ - !*** ./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js ***! - \****************************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _helpers_AxiosURLSearchParams_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../helpers/AxiosURLSearchParams.js */ "./node_modules/axios/lib/helpers/AxiosURLSearchParams.js"); - - - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (typeof URLSearchParams !== 'undefined' ? URLSearchParams : _helpers_AxiosURLSearchParams_js__WEBPACK_IMPORTED_MODULE_0__["default"]); - - -/***/ }), - -/***/ "./node_modules/axios/lib/platform/browser/index.js": -/*!**********************************************************!*\ - !*** ./node_modules/axios/lib/platform/browser/index.js ***! - \**********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _classes_URLSearchParams_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./classes/URLSearchParams.js */ "./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js"); -/* harmony import */ var _classes_FormData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./classes/FormData.js */ "./node_modules/axios/lib/platform/browser/classes/FormData.js"); -/* harmony import */ var _classes_Blob_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./classes/Blob.js */ "./node_modules/axios/lib/platform/browser/classes/Blob.js"); - - - - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ - isBrowser: true, - classes: { - URLSearchParams: _classes_URLSearchParams_js__WEBPACK_IMPORTED_MODULE_0__["default"], - FormData: _classes_FormData_js__WEBPACK_IMPORTED_MODULE_1__["default"], - Blob: _classes_Blob_js__WEBPACK_IMPORTED_MODULE_2__["default"] - }, - protocols: ['http', 'https', 'file', 'blob', 'url', 'data'] -}); - - -/***/ }), - -/***/ "./node_modules/axios/lib/platform/common/utils.js": -/*!*********************************************************!*\ - !*** ./node_modules/axios/lib/platform/common/utils.js ***! - \*********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ hasBrowserEnv: () => (/* binding */ hasBrowserEnv), -/* harmony export */ hasStandardBrowserEnv: () => (/* binding */ hasStandardBrowserEnv), -/* harmony export */ hasStandardBrowserWebWorkerEnv: () => (/* binding */ hasStandardBrowserWebWorkerEnv), -/* harmony export */ navigator: () => (/* binding */ _navigator), -/* harmony export */ origin: () => (/* binding */ origin) -/* harmony export */ }); -const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined'; - -const _navigator = typeof navigator === 'object' && navigator || undefined; - -/** - * Determine if we're running in a standard browser environment - * - * This allows axios to run in a web worker, and react-native. - * Both environments support XMLHttpRequest, but not fully standard globals. - * - * web workers: - * typeof window -> undefined - * typeof document -> undefined - * - * react-native: - * navigator.product -> 'ReactNative' - * nativescript - * navigator.product -> 'NativeScript' or 'NS' - * - * @returns {boolean} - */ -const hasStandardBrowserEnv = hasBrowserEnv && - (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0); - -/** - * Determine if we're running in a standard browser webWorker environment - * - * Although the `isStandardBrowserEnv` method indicates that - * `allows axios to run in a web worker`, the WebWorker will still be - * filtered out due to its judgment standard - * `typeof window !== 'undefined' && typeof document !== 'undefined'`. - * This leads to a problem when axios post `FormData` in webWorker - */ -const hasStandardBrowserWebWorkerEnv = (() => { - return ( - typeof WorkerGlobalScope !== 'undefined' && - // eslint-disable-next-line no-undef - self instanceof WorkerGlobalScope && - typeof self.importScripts === 'function' - ); -})(); - -const origin = hasBrowserEnv && window.location.href || 'http://localhost'; - - - - -/***/ }), - -/***/ "./node_modules/axios/lib/platform/index.js": -/*!**************************************************!*\ - !*** ./node_modules/axios/lib/platform/index.js ***! - \**************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _node_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node/index.js */ "./node_modules/axios/lib/platform/browser/index.js"); -/* harmony import */ var _common_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./common/utils.js */ "./node_modules/axios/lib/platform/common/utils.js"); - - - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ - ..._common_utils_js__WEBPACK_IMPORTED_MODULE_0__, - ..._node_index_js__WEBPACK_IMPORTED_MODULE_1__["default"] -}); - - -/***/ }), - -/***/ "./node_modules/axios/lib/utils.js": -/*!*****************************************!*\ - !*** ./node_modules/axios/lib/utils.js ***! - \*****************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _helpers_bind_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helpers/bind.js */ "./node_modules/axios/lib/helpers/bind.js"); - - - - -// utils is a library of generic helper functions non-specific to axios - -const {toString} = Object.prototype; -const {getPrototypeOf} = Object; - -const kindOf = (cache => thing => { - const str = toString.call(thing); - return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase()); -})(Object.create(null)); - -const kindOfTest = (type) => { - type = type.toLowerCase(); - return (thing) => kindOf(thing) === type -} - -const typeOfTest = type => thing => typeof thing === type; - -/** - * Determine if a value is an Array - * - * @param {Object} val The value to test - * - * @returns {boolean} True if value is an Array, otherwise false - */ -const {isArray} = Array; - -/** - * Determine if a value is undefined - * - * @param {*} val The value to test - * - * @returns {boolean} True if the value is undefined, otherwise false - */ -const isUndefined = typeOfTest('undefined'); - -/** - * Determine if a value is a Buffer - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a Buffer, otherwise false - */ -function isBuffer(val) { - return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) - && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val); -} - -/** - * Determine if a value is an ArrayBuffer - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is an ArrayBuffer, otherwise false - */ -const isArrayBuffer = kindOfTest('ArrayBuffer'); - - -/** - * Determine if a value is a view on an ArrayBuffer - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false - */ -function isArrayBufferView(val) { - let result; - if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) { - result = ArrayBuffer.isView(val); - } else { - result = (val) && (val.buffer) && (isArrayBuffer(val.buffer)); - } - return result; -} - -/** - * Determine if a value is a String - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a String, otherwise false - */ -const isString = typeOfTest('string'); - -/** - * Determine if a value is a Function - * - * @param {*} val The value to test - * @returns {boolean} True if value is a Function, otherwise false - */ -const isFunction = typeOfTest('function'); - -/** - * Determine if a value is a Number - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a Number, otherwise false - */ -const isNumber = typeOfTest('number'); - -/** - * Determine if a value is an Object - * - * @param {*} thing The value to test - * - * @returns {boolean} True if value is an Object, otherwise false - */ -const isObject = (thing) => thing !== null && typeof thing === 'object'; - -/** - * Determine if a value is a Boolean - * - * @param {*} thing The value to test - * @returns {boolean} True if value is a Boolean, otherwise false - */ -const isBoolean = thing => thing === true || thing === false; - -/** - * Determine if a value is a plain Object - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a plain Object, otherwise false - */ -const isPlainObject = (val) => { - if (kindOf(val) !== 'object') { - return false; - } - - const prototype = getPrototypeOf(val); - return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val); -} - -/** - * Determine if a value is a Date - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a Date, otherwise false - */ -const isDate = kindOfTest('Date'); - -/** - * Determine if a value is a File - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a File, otherwise false - */ -const isFile = kindOfTest('File'); - -/** - * Determine if a value is a Blob - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a Blob, otherwise false - */ -const isBlob = kindOfTest('Blob'); - -/** - * Determine if a value is a FileList - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a File, otherwise false - */ -const isFileList = kindOfTest('FileList'); - -/** - * Determine if a value is a Stream - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a Stream, otherwise false - */ -const isStream = (val) => isObject(val) && isFunction(val.pipe); - -/** - * Determine if a value is a FormData - * - * @param {*} thing The value to test - * - * @returns {boolean} True if value is an FormData, otherwise false - */ -const isFormData = (thing) => { - let kind; - return thing && ( - (typeof FormData === 'function' && thing instanceof FormData) || ( - isFunction(thing.append) && ( - (kind = kindOf(thing)) === 'formdata' || - // detect form-data instance - (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]') - ) - ) - ) -} - -/** - * Determine if a value is a URLSearchParams object - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a URLSearchParams object, otherwise false - */ -const isURLSearchParams = kindOfTest('URLSearchParams'); - -const [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest); - -/** - * Trim excess whitespace off the beginning and end of a string - * - * @param {String} str The String to trim - * - * @returns {String} The String freed of excess whitespace - */ -const trim = (str) => str.trim ? - str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); - -/** - * Iterate over an Array or an Object invoking a function for each item. - * - * If `obj` is an Array callback will be called passing - * the value, index, and complete array for each item. - * - * If 'obj' is an Object callback will be called passing - * the value, key, and complete object for each property. - * - * @param {Object|Array} obj The object to iterate - * @param {Function} fn The callback to invoke for each item - * - * @param {Boolean} [allOwnKeys = false] - * @returns {any} - */ -function forEach(obj, fn, {allOwnKeys = false} = {}) { - // Don't bother if no value provided - if (obj === null || typeof obj === 'undefined') { - return; - } - - let i; - let l; - - // Force an array if not already something iterable - if (typeof obj !== 'object') { - /*eslint no-param-reassign:0*/ - obj = [obj]; - } - - if (isArray(obj)) { - // Iterate over array values - for (i = 0, l = obj.length; i < l; i++) { - fn.call(null, obj[i], i, obj); - } - } else { - // Iterate over object keys - const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj); - const len = keys.length; - let key; - - for (i = 0; i < len; i++) { - key = keys[i]; - fn.call(null, obj[key], key, obj); - } - } -} - -function findKey(obj, key) { - key = key.toLowerCase(); - const keys = Object.keys(obj); - let i = keys.length; - let _key; - while (i-- > 0) { - _key = keys[i]; - if (key === _key.toLowerCase()) { - return _key; - } - } - return null; -} - -const _global = (() => { - /*eslint no-undef:0*/ - if (typeof globalThis !== "undefined") return globalThis; - return typeof self !== "undefined" ? self : (typeof window !== 'undefined' ? window : global) -})(); - -const isContextDefined = (context) => !isUndefined(context) && context !== _global; - -/** - * Accepts varargs expecting each argument to be an object, then - * immutably merges the properties of each object and returns result. - * - * When multiple objects contain the same key the later object in - * the arguments list will take precedence. - * - * Example: - * - * ```js - * var result = merge({foo: 123}, {foo: 456}); - * console.log(result.foo); // outputs 456 - * ``` - * - * @param {Object} obj1 Object to merge - * - * @returns {Object} Result of all merge properties - */ -function merge(/* obj1, obj2, obj3, ... */) { - const {caseless} = isContextDefined(this) && this || {}; - const result = {}; - const assignValue = (val, key) => { - const targetKey = caseless && findKey(result, key) || key; - if (isPlainObject(result[targetKey]) && isPlainObject(val)) { - result[targetKey] = merge(result[targetKey], val); - } else if (isPlainObject(val)) { - result[targetKey] = merge({}, val); - } else if (isArray(val)) { - result[targetKey] = val.slice(); - } else { - result[targetKey] = val; - } - } - - for (let i = 0, l = arguments.length; i < l; i++) { - arguments[i] && forEach(arguments[i], assignValue); - } - return result; -} - -/** - * Extends object a by mutably adding to it the properties of object b. - * - * @param {Object} a The object to be extended - * @param {Object} b The object to copy properties from - * @param {Object} thisArg The object to bind function to - * - * @param {Boolean} [allOwnKeys] - * @returns {Object} The resulting value of object a - */ -const extend = (a, b, thisArg, {allOwnKeys}= {}) => { - forEach(b, (val, key) => { - if (thisArg && isFunction(val)) { - a[key] = (0,_helpers_bind_js__WEBPACK_IMPORTED_MODULE_0__["default"])(val, thisArg); - } else { - a[key] = val; - } - }, {allOwnKeys}); - return a; -} - -/** - * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM) - * - * @param {string} content with BOM - * - * @returns {string} content value without BOM - */ -const stripBOM = (content) => { - if (content.charCodeAt(0) === 0xFEFF) { - content = content.slice(1); - } - return content; -} - -/** - * Inherit the prototype methods from one constructor into another - * @param {function} constructor - * @param {function} superConstructor - * @param {object} [props] - * @param {object} [descriptors] - * - * @returns {void} - */ -const inherits = (constructor, superConstructor, props, descriptors) => { - constructor.prototype = Object.create(superConstructor.prototype, descriptors); - constructor.prototype.constructor = constructor; - Object.defineProperty(constructor, 'super', { - value: superConstructor.prototype - }); - props && Object.assign(constructor.prototype, props); -} - -/** - * Resolve object with deep prototype chain to a flat object - * @param {Object} sourceObj source object - * @param {Object} [destObj] - * @param {Function|Boolean} [filter] - * @param {Function} [propFilter] - * - * @returns {Object} - */ -const toFlatObject = (sourceObj, destObj, filter, propFilter) => { - let props; - let i; - let prop; - const merged = {}; - - destObj = destObj || {}; - // eslint-disable-next-line no-eq-null,eqeqeq - if (sourceObj == null) return destObj; - - do { - props = Object.getOwnPropertyNames(sourceObj); - i = props.length; - while (i-- > 0) { - prop = props[i]; - if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) { - destObj[prop] = sourceObj[prop]; - merged[prop] = true; - } - } - sourceObj = filter !== false && getPrototypeOf(sourceObj); - } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype); - - return destObj; -} - -/** - * Determines whether a string ends with the characters of a specified string - * - * @param {String} str - * @param {String} searchString - * @param {Number} [position= 0] - * - * @returns {boolean} - */ -const endsWith = (str, searchString, position) => { - str = String(str); - if (position === undefined || position > str.length) { - position = str.length; - } - position -= searchString.length; - const lastIndex = str.indexOf(searchString, position); - return lastIndex !== -1 && lastIndex === position; -} - - -/** - * Returns new array from array like object or null if failed - * - * @param {*} [thing] - * - * @returns {?Array} - */ -const toArray = (thing) => { - if (!thing) return null; - if (isArray(thing)) return thing; - let i = thing.length; - if (!isNumber(i)) return null; - const arr = new Array(i); - while (i-- > 0) { - arr[i] = thing[i]; - } - return arr; -} - -/** - * Checking if the Uint8Array exists and if it does, it returns a function that checks if the - * thing passed in is an instance of Uint8Array - * - * @param {TypedArray} - * - * @returns {Array} - */ -// eslint-disable-next-line func-names -const isTypedArray = (TypedArray => { - // eslint-disable-next-line func-names - return thing => { - return TypedArray && thing instanceof TypedArray; - }; -})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array)); - -/** - * For each entry in the object, call the function with the key and value. - * - * @param {Object} obj - The object to iterate over. - * @param {Function} fn - The function to call for each entry. - * - * @returns {void} - */ -const forEachEntry = (obj, fn) => { - const generator = obj && obj[Symbol.iterator]; - - const iterator = generator.call(obj); - - let result; - - while ((result = iterator.next()) && !result.done) { - const pair = result.value; - fn.call(obj, pair[0], pair[1]); - } -} - -/** - * It takes a regular expression and a string, and returns an array of all the matches - * - * @param {string} regExp - The regular expression to match against. - * @param {string} str - The string to search. - * - * @returns {Array} - */ -const matchAll = (regExp, str) => { - let matches; - const arr = []; - - while ((matches = regExp.exec(str)) !== null) { - arr.push(matches); - } - - return arr; -} - -/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */ -const isHTMLForm = kindOfTest('HTMLFormElement'); - -const toCamelCase = str => { - return str.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g, - function replacer(m, p1, p2) { - return p1.toUpperCase() + p2; - } - ); -}; - -/* Creating a function that will check if an object has a property. */ -const hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype); - -/** - * Determine if a value is a RegExp object - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a RegExp object, otherwise false - */ -const isRegExp = kindOfTest('RegExp'); - -const reduceDescriptors = (obj, reducer) => { - const descriptors = Object.getOwnPropertyDescriptors(obj); - const reducedDescriptors = {}; - - forEach(descriptors, (descriptor, name) => { - let ret; - if ((ret = reducer(descriptor, name, obj)) !== false) { - reducedDescriptors[name] = ret || descriptor; - } - }); - - Object.defineProperties(obj, reducedDescriptors); -} - -/** - * Makes all methods read-only - * @param {Object} obj - */ - -const freezeMethods = (obj) => { - reduceDescriptors(obj, (descriptor, name) => { - // skip restricted props in strict mode - if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) { - return false; - } - - const value = obj[name]; - - if (!isFunction(value)) return; - - descriptor.enumerable = false; - - if ('writable' in descriptor) { - descriptor.writable = false; - return; - } - - if (!descriptor.set) { - descriptor.set = () => { - throw Error('Can not rewrite read-only method \'' + name + '\''); - }; - } - }); -} - -const toObjectSet = (arrayOrString, delimiter) => { - const obj = {}; - - const define = (arr) => { - arr.forEach(value => { - obj[value] = true; - }); - } - - isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter)); - - return obj; -} - -const noop = () => {} - -const toFiniteNumber = (value, defaultValue) => { - return value != null && Number.isFinite(value = +value) ? value : defaultValue; -} - -const ALPHA = 'abcdefghijklmnopqrstuvwxyz' - -const DIGIT = '0123456789'; - -const ALPHABET = { - DIGIT, - ALPHA, - ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT -} - -const generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => { - let str = ''; - const {length} = alphabet; - while (size--) { - str += alphabet[Math.random() * length|0] - } - - return str; -} - -/** - * If the thing is a FormData object, return true, otherwise return false. - * - * @param {unknown} thing - The thing to check. - * - * @returns {boolean} - */ -function isSpecCompliantForm(thing) { - return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]); -} - -const toJSONObject = (obj) => { - const stack = new Array(10); - - const visit = (source, i) => { - - if (isObject(source)) { - if (stack.indexOf(source) >= 0) { - return; - } - - if(!('toJSON' in source)) { - stack[i] = source; - const target = isArray(source) ? [] : {}; - - forEach(source, (value, key) => { - const reducedValue = visit(value, i + 1); - !isUndefined(reducedValue) && (target[key] = reducedValue); - }); - - stack[i] = undefined; - - return target; - } - } - - return source; - } - - return visit(obj, 0); -} - -const isAsyncFn = kindOfTest('AsyncFunction'); - -const isThenable = (thing) => - thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch); - -// original code -// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34 - -const _setImmediate = ((setImmediateSupported, postMessageSupported) => { - if (setImmediateSupported) { - return setImmediate; - } - - return postMessageSupported ? ((token, callbacks) => { - _global.addEventListener("message", ({source, data}) => { - if (source === _global && data === token) { - callbacks.length && callbacks.shift()(); - } - }, false); - - return (cb) => { - callbacks.push(cb); - _global.postMessage(token, "*"); - } - })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb); -})( - typeof setImmediate === 'function', - isFunction(_global.postMessage) -); - -const asap = typeof queueMicrotask !== 'undefined' ? - queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate); - -// ********************* - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ - isArray, - isArrayBuffer, - isBuffer, - isFormData, - isArrayBufferView, - isString, - isNumber, - isBoolean, - isObject, - isPlainObject, - isReadableStream, - isRequest, - isResponse, - isHeaders, - isUndefined, - isDate, - isFile, - isBlob, - isRegExp, - isFunction, - isStream, - isURLSearchParams, - isTypedArray, - isFileList, - forEach, - merge, - extend, - trim, - stripBOM, - inherits, - toFlatObject, - kindOf, - kindOfTest, - endsWith, - toArray, - forEachEntry, - matchAll, - isHTMLForm, - hasOwnProperty, - hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection - reduceDescriptors, - freezeMethods, - toObjectSet, - toCamelCase, - noop, - toFiniteNumber, - findKey, - global: _global, - isContextDefined, - ALPHABET, - generateString, - isSpecCompliantForm, - toJSONObject, - isAsyncFn, - isThenable, - setImmediate: _setImmediate, - asap -}); - - -/***/ }) - -/******/ }); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ var cachedModule = __webpack_module_cache__[moduleId]; -/******/ if (cachedModule !== undefined) { -/******/ return cachedModule.exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ // no module.id needed -/******/ // no module.loaded needed -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/************************************************************************/ -/******/ /* webpack/runtime/compat get default export */ -/******/ (() => { -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = (module) => { -/******/ var getter = module && module.__esModule ? -/******/ () => (module['default']) : -/******/ () => (module); -/******/ __webpack_require__.d(getter, { a: getter }); -/******/ return getter; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/define property getters */ -/******/ (() => { -/******/ // define getter functions for harmony exports -/******/ __webpack_require__.d = (exports, definition) => { -/******/ for(var key in definition) { -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); -/******/ } -/******/ } -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/hasOwnProperty shorthand */ -/******/ (() => { -/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) -/******/ })(); -/******/ -/******/ /* webpack/runtime/make namespace object */ -/******/ (() => { -/******/ // define __esModule on exports -/******/ __webpack_require__.r = (exports) => { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ })(); -/******/ -/************************************************************************/ -var __webpack_exports__ = {}; -// This entry need to be wrapped in an IIFE because it need to be in strict mode. -(() => { -"use strict"; -/*!**************************!*\ - !*** ./src/Typesense.ts ***! - \**************************/ -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ Client: () => (/* reexport safe */ _Typesense_Client__WEBPACK_IMPORTED_MODULE_0__["default"]), -/* harmony export */ Errors: () => (/* reexport module object */ _Typesense_Errors__WEBPACK_IMPORTED_MODULE_2__), -/* harmony export */ SearchClient: () => (/* reexport safe */ _Typesense_SearchClient__WEBPACK_IMPORTED_MODULE_1__["default"]), -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _Typesense_Client__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Typesense/Client */ "./src/Typesense/Client.ts"); -/* harmony import */ var _Typesense_SearchClient__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Typesense/SearchClient */ "./src/Typesense/SearchClient.ts"); -/* harmony import */ var _Typesense_Errors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Typesense/Errors */ "./src/Typesense/Errors/index.ts"); - - - - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ - Client: _Typesense_Client__WEBPACK_IMPORTED_MODULE_0__["default"], - SearchClient: _Typesense_SearchClient__WEBPACK_IMPORTED_MODULE_1__["default"], - Errors: _Typesense_Errors__WEBPACK_IMPORTED_MODULE_2__ -}); -})(); - -Typesense = __webpack_exports__; -/******/ })() -; -//# sourceMappingURL=typesense.js.map \ No newline at end of file diff --git a/dist/typesense.js.map b/dist/typesense.js.map deleted file mode 100644 index 91275754..00000000 --- a/dist/typesense.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"typesense.js","mappings":"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;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;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;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA,qDAAqD;AACrD,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,sBAAsB;AACtB;;AAEA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA,oCAAoC;AACpC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;;;;;;;;;;ACpWD;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA,cAAc,sGAAiC;AAC/C;AACA,gBAAgB;AAChB;AACA;AACA,GAAG,EAAE,yBAAyB,SAAS,yBAAyB;AAChE;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,KAAK;AACL,iDAAiD;AACjD;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;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;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;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,eAAe;AAClC;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,SAAS;AACtB;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;;;;;;;;;;;;;;;ACHe;AACf;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;ACLA;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;;;;;;;;;;;;;;;;;ACJiD;AACoB;AACtD;AACf,MAAM,wEAAwB;AAC9B;AACA;AACA;AACA,cAAc,8DAAc;AAC5B;;;;;;;;;;;;;;;;ACR+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;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACLiD;AAClC;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH,kBAAkB,8DAAc;AAChC;;;;;;;;;;;;;;;AChBe;AACf;AACA;AACA,IAAI;AACJ;AACA;AACA;;;;;;;;;;;;;;;ACNe;AACf;AACA,yFAAyF;AACzF,IAAI;AACJ;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;ACPe;AACf;AACA;;;;;;;;;;;;;;;ACFe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,YAAY,kEAAkE;AACtF,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;AC1Be;AACf;AACA;;;;;;;;;;;;;;;ACFe;AACf;AACA;;;;;;;;;;;;;;;;;ACFkC;AAC6B;AAChD;AACf,eAAe,sDAAO;AACtB;AACA,IAAI;AACJ;AACA;AACA,S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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP,oCAAoC,iDAAK;;AAEzC,wDAAwD,wFAAsB;AAC9E;AACA,QAAQ,sFAAoB,CAAC,gFAAc;AAC3C;;AAEA;AACA,QAAQ,oEAAW;AACnB;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA,uCAAuC,iDAAK;;AAE5C;;AAEA;;AAEA;AACA,MAAM,2DAAM;AACZ;AACA,iBAAiB,6DAAY;AAC7B;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,IAAI;AACJ;;AAEA;AACA;AACA,YAAY,2DAAU,kBAAkB,2DAAU;AAClD;AACA;AACA;AACA;AACA;;AAEA,UAAU,2DAAU;AACpB;AACA,CAAC,CAAC,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrO+B;AACO;AACsB;AAChB;AACQ;AACC;AACZ;AACO;AACqB;AAChB;;AAExD;;AAEA,iEAAe;AACf;AACA,oBAAoB,qEAAa;AACjC;AACA,2BAA2B,6DAAY;AACvC,SAAS,oDAAoD;AAC7D;AACA;AACA;;AAEA;AACA,oCAAoC;AACpC,wCAAwC;;AAExC;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,8BAA8B,6DAAY;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAM,2DAAM;AACZ;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,iBAAiB,2DAAU,oBAAoB,2DAAU;;AAEzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,2DAAU,kBAAkB,2DAAU;;AAEvD;AACA;AACA;;AAEA;AACA;AACA;AACA,mDAAmD,iEAAoB;AACvE;AACA;AACA;AACA,iBAAiB,2DAAU;AAC3B;AACA,2CAA2C,2DAAU,aAAa,2DAAU;AAC5E;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAM,iDAAK;AACX;AACA,OAAO;AACP;;AAEA;AACA,SAAS,iDAAK;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,4CAA4C,sFAAoB;AAChE;AACA;;AAEA;AACA;AACA,wCAAwC,sFAAoB;;AAE5D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,gEAAa;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,qEAAa;;AAElC,oBAAoB,0DAAQ;AAC5B,iBAAiB,2DAAU,2CAA2C,2DAAU;AAChF;AACA;;;AAGA;AACA;AACA,GAAG;AACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpMY;;AAEkB;AACM;AACD;AACY;AACL;AACc;AACH;AACJ;AACN;AACN;AACW;AACH;AACL;AACY;AACH;AACJ;AACW;;AAEzD;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,OAAO;AACpB;AACA;AACA,sBAAsB,sDAAK;AAC3B,mBAAmB,4DAAI,CAAC,sDAAK;;AAE7B;AACA,EAAE,iDAAK,kBAAkB,sDAAK,sBAAsB,iBAAiB;;AAErE;AACA,EAAE,iDAAK,kCAAkC,iBAAiB;;AAE1D;AACA;AACA,0BAA0B,gEAAW;AACrC;;AAEA;AACA;;AAEA;AACA,6BAA6B,0DAAQ;;AAErC;AACA,cAAc,sDAAK;;AAEnB;AACA,sBAAsB,gEAAa;AACnC,oBAAoB,8DAAW;AAC/B,iBAAiB,2DAAQ;AACzB,gBAAgB,iDAAO;AACvB,mBAAmB,8DAAU;;AAE7B;AACA,mBAAmB,4DAAU;;AAE7B;AACA;;AAEA;AACA;AACA;AACA;;AAEA,eAAe,2DAAM;;AAErB;AACA,qBAAqB,iEAAY;;AAEjC;AACA,oBAAoB,4DAAW;;AAE/B,qBAAqB,8DAAY;;AAEjC,4BAA4B,uEAAc,CAAC,iDAAK;;AAEhD,mBAAmB,8DAAQ;;AAE3B,uBAAuB,mEAAc;;AAErC;;AAEA;AACA,iEAAe,KAAK;;;;;;;;;;;;;;;;;ACxFP;;AAEkC;;AAE/C;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,yDAAa;AACtC;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA,iEAAe,WAAW,EAAC;;;;;;;;;;;;;;;;;;ACxHd;;AAEkC;AACf;;AAEhC;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,aAAa,eAAe;AAC5B;AACA;AACA;AACA,EAAE,2DAAU,oDAAoD,2DAAU;AAC1E;AACA;;AAEA,iDAAK,yBAAyB,2DAAU;AACxC;AACA,CAAC;;AAED,iEAAe,aAAa,EAAC;;;;;;;;;;;;;;;;ACxBhB;;AAEE;AACf;AACA;;;;;;;;;;;;;;;;;;;;;;;;ACJa;;AAEqB;AACY;AACW;AACN;AACR;AACI;AACC;AACH;;AAE7C,mBAAmB,6DAAS;;AAE5B;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,mBAAmB,8DAAkB;AACrC,oBAAoB,8DAAkB;AACtC;AACA;;AAEA;AACA;AACA;AACA,aAAa,eAAe;AAC5B,aAAa,SAAS;AACtB;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA,oEAAoE;;AAEpE;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA,aAAa,2DAAW;;AAExB,WAAW,yCAAyC;;AAEpD;AACA,MAAM,6DAAS;AACf;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,UAAU,iDAAK;AACf;AACA;AACA;AACA,QAAQ;AACR,QAAQ,6DAAS;AACjB;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA,oCAAoC,iDAAK;AACzC;AACA;AACA;;AAEA,eAAe,iDAAK;AACpB;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,wDAAY;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA,qBAAqB,2DAAe;AACpC;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA,gBAAgB,2DAAe;AAC/B,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,aAAa,2DAAW;AACxB,qBAAqB,6DAAa;AAClC,WAAW,gEAAQ;AACnB;AACA;;AAEA;AACA,iDAAK;AACL;AACA;AACA,wBAAwB,2DAAW,aAAa;AAChD;AACA;AACA,yBAAyB;AACzB,KAAK;AACL;AACA,CAAC;;AAED,iDAAK;AACL;;AAEA;AACA;AACA,0BAA0B,2DAAW,aAAa;AAClD;AACA;AACA;AACA,UAAU,IAAI;AACd;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA,CAAC;;AAED,iEAAe,KAAK,EAAC;;;;;;;;;;;;;;;;;ACnOR;;AAEmB;;AAEhC;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,OAAO;AACpB;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iDAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,iDAAK;AACnB;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,CAAC;;AAED;AACA,kDAAkD,YAAY;;AAE9D;AACA;AACA;;AAEA,EAAE,iDAAK;AACP;AACA,GAAG;AACH;AACA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,iEAAe,UAAU,EAAC;;;;;;;;;;;;;;;;;;ACtGb;;AAEmB;AACsB;;AAEtD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS,iDAAK;AACd;;AAEA;AACA;AACA,2BAA2B,mBAAmB;AAC9C;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,MAAM,iDAAK;AACX;AACA;;AAEA;AACA;AACA;;AAEA,OAAO,iDAAK;;AAEZ,MAAM,iDAAK;AACX;AACA;;AAEA,MAAM,iDAAK;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,uBAAuB,iDAAK;;AAE5B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,iDAAK;;AAEvB;AACA;AACA;AACA;;AAEA;AACA,MAAM,iDAAK;;AAEX,QAAQ,iDAAK;AACb;AACA,MAAM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e;AACf;AACA;AACA;;AAEA;AACA,QAAQ,iDAAK,0BAA0B,iDAAK;AAC5C,aAAa,iDAAK,aAAa,SAAS;AACxC,MAAM,SAAS,iDAAK;AACpB,aAAa,iDAAK,SAAS;AAC3B,MAAM,SAAS,iDAAK;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS,iDAAK;AACd;AACA,MAAM,UAAU,iDAAK;AACrB;AACA;AACA;;AAEA;AACA;AACA,SAAS,iDAAK;AACd;AACA;AACA;;AAEA;AACA;AACA,SAAS,iDAAK;AACd;AACA,MAAM,UAAU,iDAAK;AACrB;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;AACA;AACA;AACA;;AAEA,EAAE,iDAAK,qCAAqC;AAC5C;AACA;AACA,KAAK,iDAAK;AACV,GAAG;;AAEH;AACA;;;;;;;;;;;;;;;;;ACzGa;;AAE4B;;AAEzC;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;AACA,IAAI;AACJ,eAAe,sDAAU;AACzB;AACA,OAAO,sDAAU,kBAAkB,sDAAU;AAC7C;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;AC1Ba;;AAEqB;AACU;AACO;;AAEnD;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB;AACA,aAAa,GAAG;AAChB;AACe;AACf,yBAAyB,0DAAQ;AACjC;AACA,kBAAkB,6DAAY;AAC9B;;AAEA,EAAE,iDAAK;AACP;AACA,GAAG;;AAEH;;AAEA;AACA;;;;;;;;;;;;;;;;;;;;;;;AC3Ba;;AAEmB;AACe;AACM;AACH;AACY;AAClB;AACc;;AAE1D;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA,MAAM,iDAAK;AACX;AACA;AACA,aAAa,iDAAK;AAClB,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,gBAAgB,wDAAoB;;AAEpC;;AAEA;AACA;AACA;AACA,4BAA4B,iDAAK;;AAEjC,2BAA2B,iDAAK;AAChC;AACA;;AAEA,uBAAuB,iDAAK;;AAE5B;AACA,iDAAiD,sEAAc;AAC/D;;AAEA,QAAQ,iDAAK;AACb,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX;AACA;AACA;AACA,QAAQ,iDAAK;AACb;AACA;AACA,QAAQ,iDAAK;AACb,gEAAgE;AAChE;AACA;;AAEA;;AAEA;AACA;AACA,eAAe,wEAAgB;AAC/B;;AAEA,wBAAwB,iDAAK;AAC7B;;AAEA,eAAe,kEAAU;AACzB,wBAAwB,iBAAiB;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA,QAAQ,iDAAK,qBAAqB,iDAAK;AACvC;AACA;;AAEA,gBAAgB,iDAAK;AACrB;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA,kBAAkB,2DAAU,SAAS,2DAAU;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,cAAc,0DAAQ;AACtB,UAAU,0DAAQ;AAClB,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iDAAK;AACL;AACA,CAAC;;AAED,iEAAe,QAAQ,EAAC;;;;;;;;;;;;;;;;AChKX;;AAEb,iEAAe;AACf;AACA;AACA;AACA,CAAC,EAAC;;;;;;;;;;;;;;;;ACNK;;;;;;;;;;;;;;;;ACAM;;AAE4B;;AAEzC;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,WAAW,qBAAqB;AAChC,WAAW,qBAAqB;AAChC;AACA,aAAa;AACb;AACA;AACA;;AAEA,YAAY,0DAAU;AACtB;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA,GAAG;AACH;;AAEA,iEAAe,oBAAoB,EAAC;;;;;;;;;;;;;;;;ACzDpC;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;;AAEA;AACA;AACA,CAAC;;AAED,iEAAe,cAAc,EAAC;;;;;;;;;;;;;;;;ACtEjB;;AAEE;AACf;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACNa;;AAEmB;AACsC;;AAEtE;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,IAAI;AACJ,uBAAuB,iDAAK;AAC5B;AACA,UAAU,wEAAoB;AAC9B;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;AC9Da;;AAEb;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AA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AgB;;AAEvB;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACA,OAAO,SAAS;;AAEhB;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;;AAGA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,UAAU;AACrB;AACA,WAAW,SAAS;AACpB,aAAa;AACb;AACA,2BAA2B,oBAAoB,IAAI;AACnD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS;AAC5C,4BAA4B;AAC5B;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA,SAAS,UAAU;AACnB;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,kCAAkC;AAClC,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;;AAEA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA,gCAAgC,WAAW,IAAI;AAC/C;AACA;AACA,eAAe,4DAAI;AACnB,MAAM;AACN;AACA;AACA,GAAG,GAAG,WAAW;AACjB;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,kBAAkB;AAC7B,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,WAAW,kBAAkB;AAC7B,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B,eAAe;;AAEzC;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS,QAAQ;AACjB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,0CAA0C,aAAa;AACvD;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,GAAG,WAAW,cAAc;AAC5B,CAAC;AACD;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,iEAAe;AACf;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,EAAC;;;;;;;UCvvBF;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;;;;;;;ACNwC;AACY;AACP;AAEL;AACxC,iEAAe;EAAE9B,MAAM,EAANA,yDAAM;EAAEuL,YAAY,EAAZA,+DAAY;EAAEU,MAAM,EAANA,8CAAMA;AAAC,CAAC,E","sources":["webpack://Typesense/./src/Typesense/Alias.ts","webpack://Typesense/./src/Typesense/Aliases.ts","webpack://Typesense/./src/Typesense/Analytics.ts","webpack://Typesense/./src/Typesense/AnalyticsEvents.ts","webpack://Typesense/./src/Typesense/AnalyticsRule.ts","webpack://Typesense/./src/Typesense/AnalyticsRules.ts","webpack://Typesense/./src/Typesense/ApiCall.ts","webpack://Typesense/./src/Typesense/Client.ts","webpack://Typesense/./src/Typesense/Collection.ts","webpack://Typesense/./src/Typesense/Collections.ts","webpack://Typesense/./src/Typesense/Configuration.ts","webpack://Typesense/./src/Typesense/Conversation.ts","webpack://Typesense/./src/Typesense/ConversationModel.ts","webpack://Typesense/./src/Typesense/ConversationModels.ts","webpack://Typesense/./src/Typesense/Conversations.ts","webpack://Typesense/./src/Typesense/Debug.ts","webpack://Typesense/./src/Typesense/Document.ts","webpack://Typesense/./src/Typesense/Documents.ts","webpack://Typesense/./src/Typesense/Errors/HTTPError.ts","webpack://Typesense/./src/Typesense/Errors/ImportError.ts","webpack://Typesense/./src/Typesense/Errors/MissingConfigurationError.ts","webpack://Typesense/./src/Typesense/Errors/ObjectAlreadyExists.ts","webpack://Typesense/./src/Typesense/Errors/ObjectNotFound.ts","webpack://Typesense/./src/Typesense/Errors/ObjectUnprocessable.ts","webpack://Typesense/./src/Typesense/Errors/RequestMalformed.ts","webpack://Typesense/./src/Typesense/Errors/RequestUnauthorized.ts","webpack://Typesense/./src/Typesense/Errors/ServerError.ts","webpack://Typesense/./src/Typesense/Errors/TypesenseError.ts","webpack://Typesense/./src/Typesense/Errors/index.ts","webpack://Typesense/./src/Typesense/Health.ts","webpack://Typesense/./src/Typesense/Key.ts","webpack://Typesense/./src/Typesense/Keys.ts","webpack://Typesense/./src/Typesense/Metrics.ts","webpack://Typesense/./src/Typesense/MultiSearch.ts","webpack://Typesense/./src/Typesense/Operations.ts","webpack://Typesense/./src/Typesense/Override.ts","webpack://Typesense/./src/Typesense/Overrides.ts","webpack://Typesense/./src/Typesense/Preset.ts","webpack://Typesense/./src/Typesense/Presets.ts","webpack://Typesense/./src/Typesense/RequestWithCache.ts","webpack://Typesense/./src/Typesense/SearchClient.ts","webpack://Typesense/./src/Typesense/SearchOnlyCollection.ts","webpack://Typesense/./src/Typesense/SearchOnlyDocuments.ts","webpack://Typesense/./src/Typesense/Stats.ts","webpack://Typesense/./src/Typesense/Stopword.ts","webpack://Typesense/./src/Typesense/Stopwords.ts","webpack://Typesense/./src/Typesense/Synonym.ts","webpack://Typesense/./src/Typesense/Synonyms.ts","webpack://Typesense/./node_modules/loglevel/lib/loglevel.js","webpack://Typesense/ignored|/Users/jason/Programming/jprojs/typesense/typesense-js/src/Typesense|crypto","webpack://Typesense/ignored|/Users/jason/Programming/jprojs/typesense/typesense-js/src/Typesense|http","webpack://Typesense/ignored|/Users/jason/Programming/jprojs/typesense/typesense-js/src/Typesense|https","webpack://Typesense/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/regenerator/index.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://Typesense/./node_modules/axios/lib/adapters/adapters.js","webpack://Typesense/./node_modules/axios/lib/adapters/fetch.js","webpack://Typesense/./node_modules/axios/lib/adapters/xhr.js","webpack://Typesense/./node_modules/axios/lib/axios.js","webpack://Typesense/./node_modules/axios/lib/cancel/CancelToken.js","webpack://Typesense/./node_modules/axios/lib/cancel/CanceledError.js","webpack://Typesense/./node_modules/axios/lib/cancel/isCancel.js","webpack://Typesense/./node_modules/axios/lib/core/Axios.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosError.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://Typesense/./node_modules/axios/lib/core/InterceptorManager.js","webpack://Typesense/./node_modules/axios/lib/core/buildFullPath.js","webpack://Typesense/./node_modules/axios/lib/core/dispatchRequest.js","webpack://Typesense/./node_modules/axios/lib/core/mergeConfig.js","webpack://Typesense/./node_modules/axios/lib/core/settle.js","webpack://Typesense/./node_modules/axios/lib/core/transformData.js","webpack://Typesense/./node_modules/axios/lib/defaults/index.js","webpack://Typesense/./node_modules/axios/lib/defaults/transitional.js","webpack://Typesense/./node_modules/axios/lib/env/data.js","webpack://Typesense/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://Typesense/./node_modules/axios/lib/helpers/bind.js","webpack://Typesense/./node_modules/axios/lib/helpers/buildURL.js","webpack://Typesense/./node_modules/axios/lib/helpers/combineURLs.js","webpack://Typesense/./node_modules/axios/lib/helpers/composeSignals.js","webpack://Typesense/./node_modules/axios/lib/helpers/cookies.js","webpack://Typesense/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://Typesense/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://Typesense/./node_modules/axios/lib/helpers/null.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://Typesense/./node_modules/axios/lib/helpers/progressEventReducer.js","webpack://Typesense/./node_modules/axios/lib/helpers/resolveConfig.js","webpack://Typesense/./node_modules/axios/lib/helpers/speedometer.js","webpack://Typesense/./node_modules/axios/lib/helpers/spread.js","webpack://Typesense/./node_modules/axios/lib/helpers/throttle.js","webpack://Typesense/./node_modules/axios/lib/helpers/toFormData.js","webpack://Typesense/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://Typesense/./node_modules/axios/lib/helpers/trackStream.js","webpack://Typesense/./node_modules/axios/lib/helpers/validator.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/index.js","webpack://Typesense/./node_modules/axios/lib/platform/common/utils.js","webpack://Typesense/./node_modules/axios/lib/platform/index.js","webpack://Typesense/./node_modules/axios/lib/utils.js","webpack://Typesense/webpack/bootstrap","webpack://Typesense/webpack/runtime/compat get default export","webpack://Typesense/webpack/runtime/define property getters","webpack://Typesense/webpack/runtime/hasOwnProperty shorthand","webpack://Typesense/webpack/runtime/make namespace object","webpack://Typesense/./src/Typesense.ts"],"sourcesContent":["import Aliases, { CollectionAliasSchema } from \"./Aliases\";\nimport ApiCall from \"./ApiCall\";\n\nexport default class Alias {\n constructor(private name: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/aliases\";\n\nexport interface CollectionAliasCreateSchema {\n collection_name: string;\n}\n\nexport interface CollectionAliasSchema extends CollectionAliasCreateSchema {\n name: string;\n}\n\nexport interface CollectionAliasesResponseSchema {\n aliases: CollectionAliasSchema[];\n}\n\nexport default class Aliases {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n name: string,\n mapping: CollectionAliasCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(name),\n mapping\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n private endpointPath(aliasName): string {\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(aliasName)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\nimport AnalyticsRule from \"./AnalyticsRule\";\nimport AnalyticsEvents from \"./AnalyticsEvents\";\n\nconst RESOURCEPATH = \"/analytics\";\n\nexport default class Analytics {\n private readonly _analyticsRules: AnalyticsRules;\n private readonly individualAnalyticsRules: Record = {};\n private readonly _analyticsEvents: AnalyticsEvents;\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._analyticsRules = new AnalyticsRules(this.apiCall);\n this._analyticsEvents = new AnalyticsEvents(this.apiCall);\n }\n\n rules(id?: string): AnalyticsRules | AnalyticsRule {\n if (id === undefined) {\n return this._analyticsRules;\n } else {\n if (this.individualAnalyticsRules[id] === undefined) {\n this.individualAnalyticsRules[id] = new AnalyticsRule(id, this.apiCall);\n }\n return this.individualAnalyticsRules[id];\n }\n }\n\n events(): AnalyticsEvents {\n return this._analyticsEvents;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { AnalyticsEventCreateSchema } from \"./AnalyticsEvent\";\n\nconst RESOURCEPATH = \"/analytics/events\";\n\nexport default class AnalyticsEvents {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: AnalyticsEventCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsEvents.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\n\nexport interface AnalyticsRuleCreateSchema {\n type: \"popular_queries\" | \"nohits_queries\" | \"counter\";\n params: {\n source: {\n collections: string[];\n events?: Array<{\n type: string;\n weight: number;\n name: string;\n }>;\n };\n expand_query?: boolean;\n destination: {\n collection: string;\n counter_field?: string;\n };\n limit?: number;\n };\n}\n\nexport interface AnalyticsRuleDeleteSchema {\n name: string;\n}\n\nexport interface AnalyticsRuleSchema extends AnalyticsRuleCreateSchema {\n name: string;\n}\n\nexport default class AnalyticsRule {\n constructor(\n private name: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${AnalyticsRules.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n AnalyticsRuleCreateSchema,\n AnalyticsRuleSchema,\n} from \"./AnalyticsRule\";\n\nexport interface AnalyticsRulesRetrieveSchema {\n rules: AnalyticsRuleSchema[];\n}\n\nconst RESOURCEPATH = \"/analytics/rules\";\n\nexport default class AnalyticsRules {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async upsert(\n name: string,\n params: AnalyticsRuleCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(name),\n params\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsRules.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import axios, { AxiosRequestConfig, AxiosResponse, Method } from \"axios\";\nimport { Logger } from \"loglevel\";\nimport {\n HTTPError,\n ObjectAlreadyExists,\n ObjectNotFound,\n ObjectUnprocessable,\n RequestMalformed,\n RequestUnauthorized,\n ServerError,\n} from \"./Errors\";\nimport TypesenseError from \"./Errors/TypesenseError\";\nimport Configuration, { NodeConfiguration } from \"./Configuration\";\nimport { Agent as HTTPAgent } from \"http\";\nimport { Agent as HTTPSAgent } from \"https\";\n\nconst APIKEYHEADERNAME = \"X-TYPESENSE-API-KEY\";\nconst HEALTHY = true;\nconst UNHEALTHY = false;\n\ninterface Node extends NodeConfiguration {\n isHealthy: boolean;\n index: string | number;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class ApiCall {\n private readonly apiKey: string;\n private readonly nodes: Node[];\n private readonly nearestNode: Node;\n private readonly connectionTimeoutSeconds: number;\n private readonly healthcheckIntervalSeconds: number;\n private readonly retryIntervalSeconds: number;\n private readonly sendApiKeyAsQueryParam?: boolean;\n private readonly numRetriesPerRequest: number;\n private readonly additionalUserHeaders?: Record;\n\n private readonly logger: Logger;\n private currentNodeIndex: number;\n\n constructor(private 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\n this.logger = this.configuration.logger;\n\n this.initializeMetadataForNodes();\n this.currentNodeIndex = -1;\n }\n\n async get(\n endpoint: string,\n queryParameters: any = {},\n {\n abortSignal = null,\n responseType = undefined,\n }: {\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n } = {},\n ): Promise {\n return this.performRequest(\"get\", endpoint, {\n queryParameters,\n abortSignal,\n responseType,\n });\n }\n\n async delete(endpoint: string, queryParameters: any = {}): Promise {\n return this.performRequest(\"delete\", endpoint, { queryParameters });\n }\n\n async post(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n additionalHeaders: any = {},\n ): Promise {\n return this.performRequest(\"post\", endpoint, {\n queryParameters,\n bodyParameters,\n additionalHeaders,\n });\n }\n\n async put(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"put\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async patch(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"patch\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async performRequest(\n requestType: Method,\n endpoint: string,\n {\n queryParameters = null,\n bodyParameters = null,\n additionalHeaders = {},\n abortSignal = null,\n responseType = undefined,\n skipConnectionTimeout = false,\n enableKeepAlive = undefined,\n }: {\n queryParameters?: any;\n bodyParameters?: any;\n additionalHeaders?: any;\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n skipConnectionTimeout?: boolean;\n enableKeepAlive?: boolean | undefined;\n },\n ): Promise {\n this.configuration.validate();\n\n const requestNumber = Date.now();\n let lastException;\n this.logger.debug(\n `Request #${requestNumber}: Performing ${requestType.toUpperCase()} request: ${endpoint}`,\n );\n for (\n let numTries = 1;\n numTries <= this.numRetriesPerRequest + 1;\n numTries++\n ) {\n const node = this.getNextNode(requestNumber);\n this.logger.debug(\n `Request #${requestNumber}: Attempting ${requestType.toUpperCase()} request Try #${numTries} to Node ${\n node.index\n }`,\n );\n\n if (abortSignal && abortSignal.aborted) {\n return Promise.reject(new Error(\"Request aborted by caller.\"));\n }\n\n let abortListener;\n\n try {\n const requestOptions: AxiosRequestConfig = {\n method: requestType,\n url: this.uriFor(endpoint, node),\n headers: Object.assign(\n {},\n this.defaultHeaders(),\n additionalHeaders,\n this.additionalUserHeaders,\n ),\n maxContentLength: Infinity,\n maxBodyLength: Infinity,\n responseType,\n validateStatus: (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 (data, headers) => {\n let transformedData = data;\n if (\n headers !== undefined &&\n typeof data === \"string\" &&\n headers[\"content-type\"] &&\n headers[\"content-type\"].startsWith(\"application/json\")\n ) {\n transformedData = JSON.parse(data);\n }\n return transformedData;\n },\n ],\n };\n\n if (skipConnectionTimeout !== true) {\n requestOptions.timeout = this.connectionTimeoutSeconds * 1000;\n }\n\n if (queryParameters && Object.keys(queryParameters).length !== 0) {\n requestOptions.params = queryParameters;\n }\n\n if (this.sendApiKeyAsQueryParam) {\n requestOptions.params = requestOptions.params || {};\n requestOptions.params[\"x-typesense-api-key\"] = this.apiKey;\n }\n\n if (this.configuration.httpAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpAgent`,\n );\n requestOptions.httpAgent = this.configuration.httpAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling KeepAlive`);\n requestOptions.httpAgent = new HTTPAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.httpsAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpsAgent`,\n );\n requestOptions.httpsAgent = this.configuration.httpsAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling keepAlive`);\n requestOptions.httpsAgent = new HTTPSAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.paramsSerializer) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom paramsSerializer`,\n );\n requestOptions.paramsSerializer = this.configuration.paramsSerializer;\n }\n\n if (\n bodyParameters &&\n ((typeof bodyParameters === \"string\" &&\n bodyParameters.length !== 0) ||\n (typeof bodyParameters === \"object\" &&\n Object.keys(bodyParameters).length !== 0))\n ) {\n requestOptions.data = bodyParameters;\n }\n\n // Translate from user-provided AbortController to the Axios request cancel mechanism.\n if (abortSignal) {\n const cancelToken = axios.CancelToken;\n const source = cancelToken.source();\n abortListener = () => source.cancel();\n abortSignal.addEventListener(\"abort\", abortListener);\n requestOptions.cancelToken = source.token;\n }\n\n const response = await axios(requestOptions);\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.setNodeHealthcheck(node, HEALTHY);\n }\n this.logger.debug(\n `Request #${requestNumber}: Request to Node ${node.index} was made. Response Code was ${response.status}.`,\n );\n\n if (response.status >= 200 && response.status < 300) {\n // If response is 2xx return a resolved promise\n return Promise.resolve(response.data);\n } else if (response.status < 500) {\n // Next, if response is anything but 5xx, don't retry, return a custom error\n return Promise.reject(\n this.customErrorForResponse(response, response.data?.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.customErrorForResponse(response, response.data?.message);\n }\n } catch (error: any) {\n // This block handles retries for HTTPStatus > 500 and network layer issues like connection timeouts\n this.setNodeHealthcheck(node, UNHEALTHY);\n lastException = error;\n this.logger.warn(\n `Request #${requestNumber}: Request to Node ${\n node.index\n } failed due to \"${error.code} ${error.message}${\n error.response == null\n ? \"\"\n : \" - \" + JSON.stringify(error.response?.data)\n }\"`,\n );\n // this.logger.debug(error.stack)\n this.logger.warn(\n `Request #${requestNumber}: Sleeping for ${this.retryIntervalSeconds}s and then retrying request...`,\n );\n await this.timer(this.retryIntervalSeconds);\n } finally {\n if (abortSignal && abortListener) {\n abortSignal.removeEventListener(\"abort\", abortListener);\n }\n }\n }\n this.logger.debug(\n `Request #${requestNumber}: No retries left. Raising last error`,\n );\n return Promise.reject(lastException);\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 getNextNode(requestNumber = 0): Node {\n // Check if nearestNode is set and is healthy, if so return it\n if (this.nearestNode != null) {\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: Node ${\n this.nearestNode.index\n } is ${this.nearestNode.isHealthy === true ? \"Healthy\" : \"Unhealthy\"}`,\n );\n if (\n this.nearestNode.isHealthy === true ||\n this.nodeDueForHealthcheck(this.nearestNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${this.nearestNode.index}`,\n );\n return this.nearestNode;\n }\n this.logger.debug(\n `Request #${requestNumber}: Falling back to individual nodes`,\n );\n }\n\n // Fallback to nodes as usual\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: ${this.nodes\n .map(\n (node) =>\n `Node ${node.index} is ${\n node.isHealthy === true ? \"Healthy\" : \"Unhealthy\"\n }`,\n )\n .join(\" || \")}`,\n );\n let candidateNode: Node = this.nodes[0];\n for (let i = 0; i <= this.nodes.length; i++) {\n this.currentNodeIndex = (this.currentNodeIndex + 1) % this.nodes.length;\n candidateNode = this.nodes[this.currentNodeIndex];\n if (\n candidateNode.isHealthy === true ||\n this.nodeDueForHealthcheck(candidateNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\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(\n `Request #${requestNumber}: No healthy nodes were found. Returning the next node, Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\n\n nodeDueForHealthcheck(node, requestNumber = 0): boolean {\n const isDueForHealthcheck =\n Date.now() - node.lastAccessTimestamp >\n this.healthcheckIntervalSeconds * 1000;\n if (isDueForHealthcheck) {\n this.logger.debug(\n `Request #${requestNumber}: Node ${node.index} has exceeded healtcheckIntervalSeconds of ${this.healthcheckIntervalSeconds}. Adding it back into rotation.`,\n );\n }\n return isDueForHealthcheck;\n }\n\n initializeMetadataForNodes(): void {\n if (this.nearestNode != null) {\n this.nearestNode.index = \"nearestNode\";\n this.setNodeHealthcheck(this.nearestNode, HEALTHY);\n }\n\n this.nodes.forEach((node, i) => {\n node.index = i;\n this.setNodeHealthcheck(node, HEALTHY);\n });\n }\n\n setNodeHealthcheck(node, isHealthy): void {\n node.isHealthy = isHealthy;\n node.lastAccessTimestamp = Date.now();\n }\n\n uriFor(endpoint: string, node): string {\n if (node.url != null) {\n return `${node.url}${endpoint}`;\n }\n return `${node.protocol}://${node.host}:${node.port}${node.path}${endpoint}`;\n }\n\n defaultHeaders(): any {\n const defaultHeaders = {};\n if (!this.sendApiKeyAsQueryParam) {\n defaultHeaders[APIKEYHEADERNAME] = this.apiKey;\n }\n defaultHeaders[\"Content-Type\"] = \"application/json\";\n return defaultHeaders;\n }\n\n async timer(seconds): Promise {\n return new Promise((resolve) => setTimeout(resolve, seconds * 1000));\n }\n\n customErrorForResponse(\n response: AxiosResponse,\n messageFromServer: string,\n ): TypesenseError {\n let errorMessage = `Request failed with HTTP code ${response.status}`;\n if (\n typeof messageFromServer === \"string\" &&\n messageFromServer.trim() !== \"\"\n ) {\n errorMessage += ` | Server said: ${messageFromServer}`;\n }\n\n let error = new TypesenseError(errorMessage);\n\n if (response.status === 400) {\n error = new RequestMalformed(errorMessage);\n } else if (response.status === 401) {\n error = new RequestUnauthorized(errorMessage);\n } else if (response.status === 404) {\n error = new ObjectNotFound(errorMessage);\n } else if (response.status === 409) {\n error = new ObjectAlreadyExists(errorMessage);\n } else if (response.status === 422) {\n error = new ObjectUnprocessable(errorMessage);\n } else if (response.status >= 500 && response.status <= 599) {\n error = new ServerError(errorMessage);\n } else {\n error = new HTTPError(errorMessage);\n }\n\n error.httpStatus = response.status;\n\n return error;\n }\n}\n","/* eslint-disable no-dupe-class-members */\n\nimport Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Collection from \"./Collection\";\nimport Aliases from \"./Aliases\";\nimport Alias from \"./Alias\";\nimport Keys from \"./Keys\";\nimport Key from \"./Key\";\nimport Debug from \"./Debug\";\nimport Metrics from \"./Metrics\";\nimport Stats from \"./Stats\";\nimport Health from \"./Health\";\nimport Operations from \"./Operations\";\nimport MultiSearch from \"./MultiSearch\";\nimport Presets from \"./Presets\";\nimport Preset from \"./Preset\";\nimport Analytics from \"./Analytics\";\nimport Stopwords from \"./Stopwords\";\nimport Stopword from \"./Stopword\";\nimport Conversations from \"./Conversations\";\nimport Conversation from \"./Conversation\";\n\nexport default class Client {\n configuration: Configuration;\n apiCall: ApiCall;\n debug: Debug;\n metrics: Metrics;\n stats: Stats;\n health: Health;\n operations: Operations;\n multiSearch: MultiSearch;\n analytics: Analytics;\n private readonly _collections: Collections;\n private readonly individualCollections: Record;\n private readonly _aliases: Aliases;\n private readonly individualAliases: Record;\n private readonly _keys: Keys;\n private readonly individualKeys: Record;\n private readonly _presets: Presets;\n private readonly individualPresets: Record;\n private readonly _stopwords: Stopwords;\n private readonly individualStopwords: Record;\n private readonly _conversations: Conversations;\n private readonly individualConversations: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? false;\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.debug = new Debug(this.apiCall);\n this.metrics = new Metrics(this.apiCall);\n this.stats = new Stats(this.apiCall);\n this.health = new Health(this.apiCall);\n this.operations = new Operations(this.apiCall);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration);\n this._collections = new Collections(this.apiCall);\n this.individualCollections = {};\n this._aliases = new Aliases(this.apiCall);\n this.individualAliases = {};\n this._keys = new Keys(this.apiCall);\n this.individualKeys = {};\n this._presets = new Presets(this.apiCall);\n this.individualPresets = {};\n this._stopwords = new Stopwords(this.apiCall);\n this.individualStopwords = {};\n this.analytics = new Analytics(this.apiCall);\n this._conversations = new Conversations(this.apiCall);\n this.individualConversations = {};\n }\n\n collections(): Collections;\n collections = object>(\n collectionName: string,\n ): Collection;\n collections(collectionName?: string): Collections | Collection {\n if (collectionName === undefined) {\n return this._collections;\n } else {\n if (this.individualCollections[collectionName] === undefined) {\n this.individualCollections[collectionName] = new Collection(\n collectionName,\n this.apiCall,\n this.configuration,\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n\n aliases(): Aliases;\n aliases(aliasName: string): Alias;\n aliases(aliasName?: string): Aliases | Alias {\n if (aliasName === undefined) {\n return this._aliases;\n } else {\n if (this.individualAliases[aliasName] === undefined) {\n this.individualAliases[aliasName] = new Alias(aliasName, this.apiCall);\n }\n return this.individualAliases[aliasName];\n }\n }\n\n keys(): Keys;\n keys(id: number): Key;\n keys(id?: number): Keys | Key {\n if (id === undefined) {\n return this._keys;\n } else {\n if (this.individualKeys[id] === undefined) {\n this.individualKeys[id] = new Key(id, this.apiCall);\n }\n return this.individualKeys[id];\n }\n }\n\n presets(): Presets;\n presets(id: string): Preset;\n presets(id?: string): Presets | Preset {\n if (id === undefined) {\n return this._presets;\n } else {\n if (this.individualPresets[id] === undefined) {\n this.individualPresets[id] = new Preset(id, this.apiCall);\n }\n return this.individualPresets[id];\n }\n }\n\n stopwords(): Stopwords;\n stopwords(id: string): Stopword;\n stopwords(id?: string): Stopwords | Stopword {\n if (id === undefined) {\n return this._stopwords;\n } else {\n if (this.individualStopwords[id] === undefined) {\n this.individualStopwords[id] = new Stopword(id, this.apiCall);\n }\n return this.individualStopwords[id];\n }\n }\n\n conversations(): Conversations;\n conversations(id: string): Conversation;\n conversations(id?: string): Conversations | Conversation {\n if (id === undefined) {\n return this._conversations;\n } else {\n if (this.individualConversations[id] === undefined) {\n this.individualConversations[id] = new Conversation(id, this.apiCall);\n }\n return this.individualConversations[id];\n }\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections, { CollectionCreateSchema } from \"./Collections\";\nimport Documents, { DocumentSchema } from \"./Documents\";\nimport { ObjectNotFound } from \"./Errors\";\nimport Overrides from \"./Overrides\";\nimport Override from \"./Override\";\nimport Synonyms from \"./Synonyms\";\nimport Synonym from \"./Synonym\";\nimport { Document } from \"./Document\";\n\nexport type FieldType =\n | \"string\"\n | \"int32\"\n | \"int64\"\n | \"float\"\n | \"bool\"\n | \"geopoint\"\n | \"geopoint[]\"\n | \"string[]\"\n | \"int32[]\"\n | \"int64[]\"\n | \"float[]\"\n | \"bool[]\"\n | \"object\"\n | \"object[]\"\n | \"auto\"\n | \"string*\"\n | \"image\";\n\nexport interface CollectionFieldSchema {\n name: string;\n type: FieldType;\n optional?: boolean;\n facet?: boolean;\n index?: boolean;\n sort?: boolean;\n locale?: string;\n infix?: boolean;\n stem?: boolean;\n num_dim?: number;\n store?: boolean;\n [t: string]: unknown;\n}\n\nexport interface CollectionSchema extends CollectionCreateSchema {\n created_at: number;\n num_documents: number;\n num_memory_shards: number;\n}\n\nexport interface CollectionDropFieldSchema {\n name: string;\n drop: true;\n}\n\nexport interface CollectionUpdateSchema\n extends Partial> {\n fields?: (CollectionFieldSchema | CollectionDropFieldSchema)[];\n}\n\nexport default class Collection {\n private readonly _documents: Documents;\n private individualDocuments: Record> = {};\n private readonly _overrides: Overrides;\n private individualOverrides: Record = {};\n private readonly _synonyms: Synonyms;\n private individualSynonyms: Record = {};\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any,\n ) {\n this.name = name;\n this.apiCall = apiCall;\n this.configuration = configuration;\n\n this._documents = new Documents(\n this.name,\n this.apiCall,\n this.configuration,\n );\n this._overrides = new Overrides(this.name, this.apiCall);\n this._synonyms = new Synonyms(this.name, this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(schema: CollectionUpdateSchema): Promise {\n return this.apiCall.patch(this.endpointPath(), schema);\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n async exists(): Promise {\n try {\n await this.retrieve();\n return true;\n } catch (e) {\n if (e instanceof ObjectNotFound) return false;\n throw e;\n }\n }\n\n documents(): Documents;\n documents(documentId: string): Document;\n documents(documentId?: string): Document | Documents {\n if (!documentId) {\n return this._documents;\n } else {\n if (this.individualDocuments[documentId] === undefined) {\n this.individualDocuments[documentId] = new Document(\n this.name,\n documentId,\n this.apiCall,\n );\n }\n return this.individualDocuments[documentId];\n }\n }\n\n overrides(): Overrides;\n overrides(overrideId: string): Override;\n overrides(overrideId?: string): Overrides | Override {\n if (overrideId === undefined) {\n return this._overrides;\n } else {\n if (this.individualOverrides[overrideId] === undefined) {\n this.individualOverrides[overrideId] = new Override(\n this.name,\n overrideId,\n this.apiCall,\n );\n }\n return this.individualOverrides[overrideId];\n }\n }\n\n synonyms(): Synonyms;\n synonyms(synonymId: string): Synonym;\n synonyms(synonymId?: string): Synonyms | Synonym {\n if (synonymId === undefined) {\n return this._synonyms;\n } else {\n if (this.individualSynonyms[synonymId] === undefined) {\n this.individualSynonyms[synonymId] = new Synonym(\n this.name,\n synonymId,\n this.apiCall,\n );\n }\n return this.individualSynonyms[synonymId];\n }\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { CollectionFieldSchema, CollectionSchema } from \"./Collection\";\n\nexport interface CollectionCreateSchema {\n name: string;\n default_sorting_field?: string;\n fields?: CollectionFieldSchema[];\n symbols_to_index?: string[];\n token_separators?: string[];\n enable_nested_fields?: boolean;\n metadata?: object;\n voice_query_model?: {\n model_name?: string;\n };\n}\n\nexport interface CollectionCreateOptions {\n src_name?: string;\n}\n\nexport interface CollectionsRetrieveOptions {\n exclude_fields?: string;\n}\n\nconst RESOURCEPATH = \"/collections\";\n\nexport default class Collections {\n constructor(private apiCall: ApiCall) {}\n\n async create(\n schema: CollectionCreateSchema,\n options: CollectionCreateOptions = {},\n ): Promise {\n return this.apiCall.post(RESOURCEPATH, schema, options);\n }\n\n async retrieve(\n options: CollectionsRetrieveOptions = {},\n ): Promise {\n return this.apiCall.get(RESOURCEPATH, options);\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import * as logger from \"loglevel\";\nimport { Logger, LogLevelDesc } from \"loglevel\";\nimport { MissingConfigurationError } from \"./Errors\";\nimport type { Agent as HTTPAgent } from \"http\";\nimport type { Agent as HTTPSAgent } from \"https\";\n\nexport interface NodeConfiguration {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n url?: string;\n}\n\nexport interface NodeConfigurationWithHostname {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n}\n\nexport interface NodeConfigurationWithUrl {\n url: string;\n}\n\nexport interface ConfigurationOptions {\n apiKey: string;\n nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n randomizeNodes?: boolean;\n /**\n * @deprecated\n * masterNode is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n masterNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n /**\n * @deprecated\n * readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n readReplicaNodes?:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n connectionTimeoutSeconds?: number;\n timeoutSeconds?: number;\n healthcheckIntervalSeconds?: number;\n numRetries?: number;\n retryIntervalSeconds?: number;\n sendApiKeyAsQueryParam?: boolean | undefined;\n useServerSideSearchCache?: boolean;\n cacheSearchResultsForSeconds?: number;\n additionalHeaders?: Record;\n\n logLevel?: LogLevelDesc;\n logger?: Logger;\n\n /**\n * Set a custom HTTP Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPAgent } = require(\"http\");\n * ...\n * httpAgent: new HTTPAgent({ keepAlive: true }),\n * @type {HTTPAgent}\n */\n httpAgent?: HTTPAgent;\n\n /**\n * Set a custom HTTPS Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPSAgent } = require(\"https\");\n * ...\n * httpsAgent: new HTTPSAgent({ keepAlive: true }),\n * @type {HTTPSAgent}\n */\n httpsAgent?: HTTPSAgent;\n\n /**\n * Set a custom paramsSerializer\n *\n * See axios documentation for more information on how to use this parameter: https://axios-http.com/docs/req_config\n * This is helpful for handling React Native issues like this: https://github.com/axios/axios/issues/6102#issuecomment-2085301397\n * @type {any}\n */\n paramsSerializer?: any;\n}\n\nexport default class Configuration {\n readonly nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n readonly nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n readonly connectionTimeoutSeconds: number;\n readonly healthcheckIntervalSeconds: number;\n readonly numRetries: number;\n readonly retryIntervalSeconds: number;\n readonly apiKey: string;\n readonly sendApiKeyAsQueryParam?: boolean;\n readonly cacheSearchResultsForSeconds: number;\n readonly useServerSideSearchCache: boolean;\n readonly logger: Logger;\n readonly logLevel: LogLevelDesc;\n readonly additionalHeaders?: Record;\n readonly httpAgent?: HTTPAgent;\n readonly httpsAgent?: HTTPSAgent;\n readonly paramsSerializer?: any;\n\n constructor(options: ConfigurationOptions) {\n this.nodes = options.nodes || [];\n this.nodes = this.nodes\n .map((node) => this.setDefaultPathInNode(node))\n .map((node) => this.setDefaultPortInNode(node))\n .map((node) => ({ ...node })) as NodeConfiguration[]; // Make a deep copy\n\n if (options.randomizeNodes == null) {\n options.randomizeNodes = true;\n }\n\n if (options.randomizeNodes === true) {\n this.shuffleArray(this.nodes);\n }\n\n this.nearestNode = options.nearestNode;\n this.nearestNode = this.setDefaultPathInNode(this.nearestNode);\n this.nearestNode = this.setDefaultPortInNode(this.nearestNode);\n\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\n this.apiKey = options.apiKey;\n this.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam; // We will set a default for this in Client and SearchClient\n\n this.cacheSearchResultsForSeconds =\n options.cacheSearchResultsForSeconds || 0; // Disable client-side cache by default\n this.useServerSideSearchCache = options.useServerSideSearchCache || false;\n\n this.logger = options.logger || logger;\n this.logLevel = options.logLevel || \"warn\";\n this.logger.setLevel(this.logLevel);\n\n this.additionalHeaders = options.additionalHeaders;\n\n this.httpAgent = options.httpAgent;\n this.httpsAgent = options.httpsAgent;\n\n this.paramsSerializer = options.paramsSerializer;\n\n this.showDeprecationWarnings(options);\n this.validate();\n }\n\n validate(): boolean {\n if (this.nodes == null || this.nodes.length === 0 || this.validateNodes()) {\n throw new MissingConfigurationError(\n \"Ensure that nodes[].protocol, nodes[].host and nodes[].port are set\",\n );\n }\n\n if (\n this.nearestNode != null &&\n this.isNodeMissingAnyParameters(this.nearestNode)\n ) {\n throw new MissingConfigurationError(\n \"Ensure that nearestNodes.protocol, nearestNodes.host and nearestNodes.port are set\",\n );\n }\n\n if (this.apiKey == null) {\n throw new MissingConfigurationError(\"Ensure that apiKey is set\");\n }\n\n return true;\n }\n\n private validateNodes(): boolean {\n return this.nodes.some((node) => {\n return this.isNodeMissingAnyParameters(node);\n });\n }\n\n private isNodeMissingAnyParameters(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl,\n ): boolean {\n return (\n ![\"protocol\", \"host\", \"port\", \"path\"].every((key) => {\n return node.hasOwnProperty(key);\n }) && node[\"url\"] == null\n );\n }\n\n private setDefaultPathInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (node != null && !node.hasOwnProperty(\"path\")) {\n node[\"path\"] = \"\";\n }\n return node;\n }\n\n private setDefaultPortInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (\n node != null &&\n !node.hasOwnProperty(\"port\") &&\n node.hasOwnProperty(\"protocol\")\n ) {\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\n private showDeprecationWarnings(options: ConfigurationOptions): void {\n if (options.timeoutSeconds) {\n this.logger.warn(\n \"Deprecation warning: timeoutSeconds is now renamed to connectionTimeoutSeconds\",\n );\n }\n if (options.masterNode) {\n this.logger.warn(\n \"Deprecation warning: masterNode is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n if (options.readReplicaNodes) {\n this.logger.warn(\n \"Deprecation warning: readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n }\n\n private shuffleArray(array) {\n for (let i = array.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [array[i], array[j]] = [array[j], array[i]];\n }\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Conversations from \"./Conversations\";\n\nexport interface ConversationDeleteSchema {\n id: number;\n}\n\nexport interface ConversationUpdateSchema {\n ttl: number;\n}\n\nexport interface ConversationSchema {\n id: number;\n conversation: object[];\n last_updated: number;\n ttl: number;\n}\n\nexport default class Conversation {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(\n params: ConversationUpdateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Conversations.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\n\nexport interface ConversationModelCreateSchema {\n id?: string;\n model_name: string;\n api_key?: string;\n system_prompt?: string;\n max_bytes: number;\n history_collection?: string;\n}\n\nexport interface ConversationModelDeleteSchema {\n id: string;\n}\n\nexport interface ConversationModelSchema extends ConversationModelCreateSchema {\n id: string;\n}\n\nexport default class ConversationModel {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async update(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(\n this.endpointPath(),\n );\n }\n\n private endpointPath(): string {\n return `${ConversationModels.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n ConversationModelCreateSchema,\n ConversationModelSchema,\n} from \"./ConversationModel\";\n\nconst RESOURCEPATH = \"/conversations/models\";\n\nexport default class ConversationModels {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(\n this.endpointPath(),\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${ConversationModels.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\nimport ConversationModel from \"./ConversationModel\";\nimport { ConversationSchema } from \"./Conversation\";\n\nconst RESOURCEPATH = \"/conversations\";\n\nexport interface ConversationsRetrieveSchema {\n conversations: ConversationSchema[];\n}\n\nexport default class Conversations {\n private readonly _conversationsModels: ConversationModels;\n private readonly individualConversationModels: Record<\n string,\n ConversationModel\n > = {};\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._conversationsModels = new ConversationModels(this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n models(): ConversationModels;\n models(id: string): ConversationModel;\n models(id?: string): ConversationModels | ConversationModel {\n if (id === undefined) {\n return this._conversationsModels;\n } else {\n if (this.individualConversationModels[id] === undefined) {\n this.individualConversationModels[id] = new ConversationModel(\n id,\n this.apiCall,\n );\n }\n return this.individualConversationModels[id];\n }\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/debug\";\n\nexport interface DebugResponseSchema {\n state: number;\n version: string;\n}\n\nexport default class Debug {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Documents, {\n DeleteQuery,\n DocumentSchema,\n DocumentWriteParameters,\n} from \"./Documents\";\n\nexport class Document {\n constructor(\n private collectionName: string,\n private documentId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(options?: DeleteQuery): Promise {\n return this.apiCall.delete(this.endpointPath(), options);\n }\n\n async update(\n partialDocument: Partial,\n options: DocumentWriteParameters = {}\n ): Promise {\n return this.apiCall.patch(this.endpointPath(), partialDocument, options);\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Documents.RESOURCEPATH}/${encodeURIComponent(this.documentId)}`;\n }\n}\n","import type { ReadStream } from \"fs\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport { ImportError } from \"./Errors\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\n// Todo: use generic to extract filter_by values\nexport interface DeleteQuery {\n filter_by?: string;\n batch_size?: number;\n ignore_not_found?: boolean;\n}\n\nexport interface DeleteResponse {\n num_deleted: number;\n}\n\ninterface ImportResponseSuccess {\n success: true;\n}\n\nexport interface ImportResponseFail {\n success: false;\n error: string;\n document: DocumentSchema;\n code: number;\n}\n\nexport type ImportResponse = ImportResponseSuccess | ImportResponseFail;\n\nexport type DocumentSchema = Record;\n\nexport interface SearchParamsWithPreset extends Partial {\n preset: string;\n}\n\ntype DropTokensMode =\n | \"right_to_left\"\n | \"left_to_right\"\n | \"both_sides:3\";\n\ntype OperationMode = \"off\" | \"always\" | \"fallback\";\nexport interface SearchParams {\n // From https://typesense.org/docs/latest/api/documents.html#arguments\n q?: string;\n query_by?: string | string[];\n query_by_weights?: string | number[];\n prefix?: string | boolean | boolean[]; // default: true\n filter_by?: string;\n enable_lazy_filter?: boolean; // default: false\n sort_by?: string | string[]; // default: text match desc\n facet_by?: string | string[];\n max_facet_values?: number;\n facet_sample_threshold?: number;\n facet_sample_percent?: number;\n facet_query?: string;\n facet_query_num_typos?: number;\n facet_return_parent?: string;\n page?: number; // default: 1\n per_page?: number; // default: 10, max 250\n group_by?: string | string[];\n group_limit?: number; // default:\n group_missing_values?: boolean;\n include_fields?: string | string[];\n exclude_fields?: string | string[];\n highlight_fields?: string | string[]; // default: all queried fields\n highlight_full_fields?: string | string[]; // default: all fields\n highlight_affix_num_tokens?: number; // default: 4\n highlight_start_tag?: string; // default: \n highlight_end_tag?: string; // default: \n enable_highlight_v1?: boolean;\n snippet_threshold?: number; // default: 30\n num_typos?: string | number | number[]; // default: 2\n min_len_1typo?: number;\n min_len_2typo?: number;\n split_join_tokens?: OperationMode;\n exhaustive_search?: boolean;\n drop_tokens_threshold?: number; // default: 10\n drop_tokens_mode?: DropTokensMode;\n typo_tokens_threshold?: number; // default: 100\n pinned_hits?: string | string[];\n hidden_hits?: string | string[];\n limit_hits?: number; // default: no limit\n pre_segmented_query?: boolean;\n enable_overrides?: boolean;\n override_tags?: string | string[];\n prioritize_exact_match?: boolean; // default: true\n prioritize_token_position?: boolean;\n prioritize_num_matching_fields?: boolean;\n search_cutoff_ms?: number;\n use_cache?: boolean;\n max_candidates?: number;\n infix?: OperationMode | OperationMode[];\n preset?: string;\n text_match_type?: \"max_score\" | \"max_weight\";\n vector_query?: string;\n \"x-typesense-api-key\"?: string;\n \"x-typesense-user-id\"?: string;\n offset?: number;\n limit?: number;\n stopwords?: string;\n conversation?: boolean;\n conversation_model_id?: string;\n conversation_id?: string;\n voice_query?: string;\n}\n\ntype SearchResponseHighlightObject = {\n matched_tokens?: string[];\n snippet?: string;\n value?: string;\n};\n\nexport type SearchResponseHighlight = T extends string | number\n ? SearchResponseHighlightObject\n : {\n [TAttribute in keyof T]?: SearchResponseHighlight;\n };\n\nexport interface SearchResponseHit {\n curated?: true;\n highlights?: [\n {\n field: keyof T;\n snippet?: string;\n value?: string;\n snippets?: string[];\n indices?: number[];\n matched_tokens: string[][] | string[];\n },\n ];\n highlight: SearchResponseHighlight;\n document: T;\n text_match: number;\n text_match_info?: {\n best_field_score: string; // To prevent scores from being truncated by JSON spec\n best_field_weight: number;\n fields_matched: number;\n score: string; // To prevent scores from being truncated by JSON spec\n tokens_matched: number;\n };\n}\n\nexport interface SearchResponseFacetCountSchema {\n counts: {\n count: number;\n highlighted: string;\n value: string;\n }[];\n field_name: keyof T;\n stats: {\n avg?: number;\n max?: number;\n min?: number;\n sum?: number;\n };\n}\n\nexport interface SearchResponseRequestParams {\n collection_name?: string;\n q?: string;\n page?: number;\n per_page?: number;\n first_q?: string;\n voice_query?: {\n transcribed_query?: string;\n };\n}\n\n// Todo: we could infer whether this is a grouped response by adding the search params as a generic\nexport interface SearchResponse {\n facet_counts?: SearchResponseFacetCountSchema[];\n found: number;\n found_docs?: number;\n out_of: number;\n page: number;\n request_params: SearchResponseRequestParams;\n search_time_ms: number;\n search_cutoff?: boolean;\n hits?: SearchResponseHit[];\n grouped_hits?: {\n group_key: string[];\n hits: SearchResponseHit[];\n found?: number;\n }[];\n conversation?: {\n answer: string;\n conversation_history: {\n conversation: object[];\n id: string;\n last_updated: number;\n ttl: number;\n };\n conversation_id: string;\n query: string;\n };\n error?: string;\n code?: number;\n}\n\nexport interface DocumentWriteParameters {\n dirty_values?: \"coerce_or_reject\" | \"coerce_or_drop\" | \"drop\" | \"reject\";\n action?: \"create\" | \"update\" | \"upsert\" | \"emplace\";\n}\n\nexport interface UpdateByFilterParameters {\n filter_by?: string;\n}\n\nexport interface UpdateByFilterResponse {\n num_updated: number;\n}\n\nexport interface DocumentImportParameters extends DocumentWriteParameters {\n batch_size?: number;\n return_doc?: boolean;\n return_id?: boolean;\n}\n\nexport interface DocumentsExportParameters {\n filter_by?: string;\n include_fields?: string;\n exclude_fields?: string;\n}\n\nexport interface SearchableDocuments {\n search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n options: SearchOptions,\n ): Promise>;\n clearCache(): void;\n}\n\nexport interface WriteableDocuments {\n create(document: T, options: DocumentWriteParameters): Promise;\n upsert(document: T, options: DocumentWriteParameters): Promise;\n update(document: T, options: DocumentWriteParameters): Promise;\n delete(query: DeleteQuery): Promise;\n import(\n documents: T[] | string,\n options: DocumentWriteParameters,\n ): Promise;\n export(options: DocumentsExportParameters): Promise;\n}\n\nexport interface SearchOptions {\n cacheSearchResultsForSeconds?: number;\n abortSignal?: AbortSignal | null;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class Documents\n extends SearchOnlyDocuments\n implements WriteableDocuments\n{\n constructor(\n collectionName: string,\n apiCall: ApiCall,\n configuration: Configuration,\n ) {\n super(collectionName, apiCall, configuration);\n }\n\n async create(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(this.endpointPath(), document, options);\n }\n\n async upsert(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"upsert\" }),\n );\n }\n\n async update(\n document: T,\n options: UpdateByFilterParameters,\n ): Promise;\n async update(document: T, options: DocumentWriteParameters): Promise;\n async update(\n document: T,\n options: DocumentWriteParameters | UpdateByFilterParameters = {},\n ): Promise {\n if (!document) throw new Error(\"No document provided\");\n\n if (options[\"filter_by\"] != null) {\n return this.apiCall.patch(\n this.endpointPath(),\n document,\n Object.assign({}, options),\n );\n } else {\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"update\" }),\n );\n }\n }\n\n async delete(\n query: DeleteQuery = {} as DeleteQuery,\n ): Promise {\n return this.apiCall.delete(this.endpointPath(), query);\n }\n\n async createMany(documents: T[], options: DocumentImportParameters = {}) {\n this.configuration.logger.warn(\n \"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 );\n return this.import(documents, options);\n }\n\n /**\n * Import a set of documents in a batch.\n * @param {string|Array} documents - Can be a JSONL string of documents or an array of document objects.\n * @param options\n * @return {string|Array} Returns a JSONL string if the input was a JSONL string, otherwise it returns an array of results.\n */\n async import(\n documents: string,\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[],\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[] | string,\n options: DocumentImportParameters = {},\n ): Promise {\n let documentsInJSONLFormat;\n if (Array.isArray(documents)) {\n try {\n documentsInJSONLFormat = documents\n .map((document) => JSON.stringify(document))\n .join(\"\\n\");\n } catch (error: any) {\n // if rangeerror, throw custom error message\n if (\n error instanceof RangeError &&\n error.message.includes(\"Too many properties to enumerate\")\n ) {\n throw new Error(`${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\n // else, throw the non-range error anyways\n throw new Error(error);\n }\n } else {\n documentsInJSONLFormat = documents;\n }\n\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n if (Array.isArray(documents)) {\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter(\n (r) => r.success === false,\n );\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n } else {\n return resultsInJSONLFormat as string;\n }\n }\n /**\n * Imports documents from a NodeJS readable stream of JSONL.\n */\n async importStream(\n readableStream: ReadStream,\n options: DocumentImportParameters = {},\n ): Promise {\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\n queryParameters: options,\n bodyParameters: readableStream,\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter((r) => r.success === false);\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n }\n\n /**\n * Returns a JSONL string for all the documents in this collection\n */\n async export(options: DocumentsExportParameters = {}): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options);\n }\n\n /**\n * Returns a NodeJS readable stream of JSONL for all the documents in this collection.\n */\n async exportStream(\n options: DocumentsExportParameters = {},\n ): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options, {\n responseType: \"stream\",\n });\n }\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class HTTPError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\nimport { ImportResponse } from \"../Documents\";\n\nexport default class ImportError extends TypesenseError {\n importResults: ImportResponse[];\n constructor(message: string, importResults: ImportResponse[]) {\n super(message);\n this.importResults = importResults;\n }\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class MissingConfigurationError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectAlreadyExists extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectNotFound extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectUnprocessable extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestMalformed extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestUnauthorized extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ServerError extends TypesenseError {}\n","export default class TypesenseError extends Error {\n httpStatus?: number;\n\n // Source: https://stackoverflow.com/a/58417721/123545\n constructor(message?: string) {\n super(message);\n this.name = new.target.name;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n","import HTTPError from \"./HTTPError\";\nimport MissingConfigurationError from \"./MissingConfigurationError\";\nimport ObjectAlreadyExists from \"./ObjectAlreadyExists\";\nimport ObjectNotFound from \"./ObjectNotFound\";\nimport ObjectUnprocessable from \"./ObjectUnprocessable\";\nimport RequestMalformed from \"./RequestMalformed\";\nimport RequestUnauthorized from \"./RequestUnauthorized\";\nimport ServerError from \"./ServerError\";\nimport ImportError from \"./ImportError\";\nimport TypesenseError from \"./TypesenseError\";\n\nexport {\n HTTPError,\n MissingConfigurationError,\n ObjectAlreadyExists,\n ObjectNotFound,\n ObjectUnprocessable,\n RequestMalformed,\n RequestUnauthorized,\n ServerError,\n TypesenseError,\n ImportError,\n};\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/health\";\n\nexport interface HealthResponse {\n ok: boolean;\n}\n\nexport default class Health {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Keys from \"./Keys\";\n\nexport interface KeyCreateSchema {\n actions: string[];\n collections: string[];\n description?: string;\n value?: string;\n value_prefix?: string;\n expires_at?: number;\n}\n\nexport interface KeyDeleteSchema {\n id: number;\n}\n\nexport interface KeySchema extends KeyCreateSchema {\n id: number;\n}\n\nexport default class Key {\n constructor(private id: number, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Keys.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import { createHmac } from \"crypto\";\nimport ApiCall from \"./ApiCall\";\nimport { KeyCreateSchema, KeySchema } from \"./Key\";\nimport { SearchParams } from \"./Documents\";\n\nconst RESOURCEPATH = \"/keys\";\n\nexport interface KeysRetrieveSchema {\n keys: KeySchema[];\n}\n\nexport interface GenerateScopedSearchKeyParams extends Partial {\n expires_at?: number;\n cache_ttl?: number;\n limit_multi_searches?: number;\n}\n\nexport default class Keys {\n constructor(private apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(params: KeyCreateSchema): Promise {\n return this.apiCall.post(Keys.RESOURCEPATH, params);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n generateScopedSearchKey(\n searchKey: string,\n parameters: GenerateScopedSearchKeyParams\n ): string {\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 const paramsJSON = JSON.stringify(parameters);\n const digest = Buffer.from(\n createHmac(\"sha256\", searchKey).update(paramsJSON).digest(\"base64\")\n );\n const keyPrefix = searchKey.substr(0, 4);\n const rawScopedKey = `${digest}${keyPrefix}${paramsJSON}`;\n\n return Buffer.from(rawScopedKey).toString(\"base64\");\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/metrics.json\";\n\nexport interface MetricsResponse {\n [key: `system_cpu${number}_active_percentage`]: string;\n system_cpu_active_percentage: string;\n system_disk_total_bytes: string;\n system_disk_used_bytes: string;\n system_memory_total_bytes: string;\n system_memory_total_swap_bytes?: string;\n system_memory_used_bytes: string;\n system_memory_used_swap_bytes?: string;\n system_network_received_bytes: string;\n system_network_sent_bytes: string;\n typesense_memory_active_bytes: string;\n typesense_memory_allocated_bytes: string;\n typesense_memory_fragmentation_ratio: string;\n typesense_memory_mapped_bytes: string;\n typesense_memory_metadata_bytes: string;\n typesense_memory_resident_bytes: string;\n typesense_memory_retained_bytes: string;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport RequestWithCache from \"./RequestWithCache\";\nimport {\n DocumentSchema,\n SearchParams,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\n\nconst RESOURCEPATH = \"/multi_search\";\n\nexport interface MultiSearchRequestSchema extends SearchParams {\n collection?: string;\n \"x-typesense-api-key\"?: string;\n}\n\nexport interface MultiSearchRequestWithPresetSchema\n extends SearchParamsWithPreset {\n collection?: string;\n \"x-typesense-api-key\"?: string;\n}\n\nexport interface MultiSearchRequestsSchema {\n searches: (MultiSearchRequestSchema | MultiSearchRequestWithPresetSchema)[];\n}\n\nexport interface MultiSearchResponse {\n results: { [Index in keyof T]: SearchResponse } & {\n length: T[\"length\"];\n };\n}\n\nexport default class MultiSearch {\n private requestWithCache: RequestWithCache;\n\n constructor(\n private apiCall: ApiCall,\n private configuration: Configuration,\n private useTextContentType: boolean = false\n ) {\n this.requestWithCache = new RequestWithCache();\n }\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async perform(\n searchRequests: MultiSearchRequestsSchema,\n commonParams: Partial = {},\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n }: { cacheSearchResultsForSeconds?: number } = {}\n ): Promise> {\n const additionalHeaders = {};\n if (this.useTextContentType) {\n additionalHeaders[\"content-type\"] = \"text/plain\";\n }\n\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n const queryParams = Object.assign({}, commonParams, additionalQueryParams);\n\n return this.requestWithCache.perform(\n this.apiCall,\n this.apiCall.post,\n [RESOURCEPATH, searchRequests, queryParams, additionalHeaders],\n { cacheResponseForSeconds: cacheSearchResultsForSeconds }\n ) as Promise>;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/operations\";\n\nexport default class Operations {\n constructor(private apiCall: ApiCall) {}\n\n async perform(\n operationName: \"vote\" | \"snapshot\" | \"cache/clear\" | string,\n queryParameters: Record = {}\n ): Promise {\n return this.apiCall.post(\n `${RESOURCEPATH}/${operationName}`,\n {},\n queryParameters\n );\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Overrides, { OverrideCreateSchema } from \"./Overrides\";\n\nexport interface OverrideSchema extends OverrideCreateSchema {\n id: string;\n}\n\nexport interface OverrideDeleteSchema {\n id: string;\n}\n\nexport default class Override {\n constructor(\n private collectionName: string,\n private overrideId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Overrides.RESOURCEPATH}/${encodeURIComponent(this.overrideId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { OverrideSchema } from \"./Override\";\n\nconst RESOURCEPATH = \"/overrides\";\n\nexport interface OverrideRuleQuerySchema {\n query?: string;\n match?: \"exact\" | \"contains\";\n}\n\nexport interface OverrideRuleFilterSchema {\n filter_by?: string;\n}\n\nexport interface OverrideRuleTagsSchema {\n tags?: string[];\n}\n\nexport interface OverrideCreateSchema {\n rule: OverrideRuleQuerySchema &\n OverrideRuleFilterSchema &\n OverrideRuleTagsSchema;\n filter_by?: string;\n sort_by?: string;\n remove_matched_tokens?: boolean;\n replace_query?: string;\n includes?: Array<{\n id: string;\n position: number;\n }>;\n excludes?: Array<{ id: string }>;\n filter_curated_hits?: boolean;\n effective_from_ts?: number;\n effective_to_ts?: number;\n stop_processing?: boolean;\n metadata?: object;\n}\n\nexport interface OverridesRetrieveSchema {\n overrides: OverrideSchema[];\n}\n\nexport default class Overrides {\n constructor(\n private collectionName: string,\n private apiCall: ApiCall,\n ) {}\n\n async upsert(\n overrideId: string,\n params: OverrideCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(overrideId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${\n Overrides.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Presets, { PresetCreateSchema } from \"./Presets\";\n\nexport interface PresetSchema extends PresetCreateSchema {\n name: string;\n}\n\nexport interface PresetDeleteSchema {\n name: string;\n}\n\nexport default class Preset {\n constructor(private presetId: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Presets.RESOURCEPATH}/${encodeURIComponent(this.presetId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { PresetSchema } from \"./Preset\";\nimport { SearchParams } from \"./Documents\";\nimport { MultiSearchRequestsSchema } from \"./MultiSearch\";\n\nconst RESOURCEPATH = \"/presets\";\n\nexport interface PresetCreateSchema {\n value: SearchParams | MultiSearchRequestsSchema;\n}\n\nexport interface PresetsRetrieveSchema {\n presets: PresetSchema[];\n}\n\nexport default class Presets {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n presetId: string,\n params: PresetCreateSchema\n ): Promise {\n return this.apiCall.put(this.endpointPath(presetId), params);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Presets.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","const defaultCacheResponseForSeconds = 2 * 60;\nconst defaultMaxSize = 100;\n\nexport default class RequestWithCache {\n private responseCache: Map = new Map();\n private responsePromiseCache: Map = new Map();\n\n clearCache() {\n this.responseCache = new Map();\n this.responsePromiseCache = new Map();\n }\n\n // Todo: should probably be passed a callback instead, or an apiCall instance. Types are messy this way\n async perform(\n requestContext: any,\n requestFunction: (...params: any) => unknown,\n requestFunctionArguments: any[],\n cacheOptions: CacheOptions\n ): Promise {\n const {\n cacheResponseForSeconds = defaultCacheResponseForSeconds,\n maxSize = defaultMaxSize,\n } = cacheOptions;\n const isCacheDisabled = cacheResponseForSeconds <= 0 || maxSize <= 0;\n\n if (isCacheDisabled) {\n return requestFunction.call(requestContext, ...requestFunctionArguments);\n }\n\n const requestFunctionArgumentsJSON = JSON.stringify(\n requestFunctionArguments\n );\n const cacheEntry = this.responseCache.get(requestFunctionArgumentsJSON);\n const now = Date.now();\n\n if (cacheEntry) {\n const isEntryValid =\n now - cacheEntry.requestTimestamp < cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n this.responseCache.set(requestFunctionArgumentsJSON, cacheEntry);\n return Promise.resolve(cacheEntry.response);\n } else {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n\n const cachePromiseEntry = this.responsePromiseCache.get(\n requestFunctionArgumentsJSON\n );\n\n if (cachePromiseEntry) {\n const isEntryValid =\n now - cachePromiseEntry.requestTimestamp <\n cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n this.responsePromiseCache.set(\n requestFunctionArgumentsJSON,\n cachePromiseEntry\n );\n return cachePromiseEntry.responsePromise;\n } else {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n\n const responsePromise = requestFunction.call(\n requestContext,\n ...requestFunctionArguments\n );\n this.responsePromiseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n responsePromise,\n });\n\n const response = await responsePromise;\n this.responseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n response,\n });\n\n const isCacheOverMaxSize = this.responseCache.size > maxSize;\n if (isCacheOverMaxSize) {\n const oldestEntry = this.responseCache.keys().next().value;\n this.responseCache.delete(oldestEntry);\n }\n const isResponsePromiseCacheOverMaxSize =\n this.responsePromiseCache.size > maxSize;\n if (isResponsePromiseCacheOverMaxSize) {\n const oldestEntry = this.responsePromiseCache.keys().next().value;\n this.responsePromiseCache.delete(oldestEntry);\n }\n return response as T;\n }\n}\n\ninterface CacheOptions {\n cacheResponseForSeconds?: number;\n maxSize?: number;\n}\n","import Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport MultiSearch from \"./MultiSearch\";\nimport { DocumentSchema } from \"./Documents\";\nimport { SearchOnlyCollection } from \"./SearchOnlyCollection\";\n\nexport default class SearchClient {\n public readonly multiSearch: MultiSearch;\n private readonly configuration: Configuration;\n private readonly apiCall: ApiCall;\n private readonly individualCollections: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? true;\n if (\n options.sendApiKeyAsQueryParam === true &&\n (options.apiKey || \"\").length > 2000\n ) {\n console.warn(\n \"[typesense] API Key is longer than 2000 characters which is over the allowed limit, so disabling sending it as a query parameter.\"\n );\n options.sendApiKeyAsQueryParam = false;\n }\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration, true);\n this.individualCollections = {};\n }\n\n clearCache() {\n this.multiSearch.clearCache();\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Object.entries(this.individualCollections).forEach(([_, collection]) => {\n collection.documents().clearCache();\n });\n }\n\n collections(\n collectionName: string\n ): SearchOnlyCollection | SearchOnlyCollection {\n if (!collectionName) {\n throw new Error(\n \"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(\n collectionName,\n this.apiCall,\n this.configuration\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n}\n","import { DocumentSchema, SearchableDocuments } from \"./Documents\";\nimport ApiCall from \"./ApiCall\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\nexport class SearchOnlyCollection {\n private readonly _documents: SearchableDocuments;\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any\n ) {\n this._documents = new SearchOnlyDocuments(\n this.name,\n this.apiCall,\n this.configuration\n );\n }\n\n documents(): SearchableDocuments {\n return this._documents;\n }\n}\n","import RequestWithCache from \"./RequestWithCache\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport Collections from \"./Collections\";\nimport type {\n DocumentSchema,\n SearchableDocuments,\n SearchOptions,\n SearchParams,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\n\nconst RESOURCEPATH = \"/documents\";\n\nexport class SearchOnlyDocuments\n implements SearchableDocuments\n{\n protected requestWithCache: RequestWithCache = new RequestWithCache();\n\n constructor(\n protected collectionName: string,\n protected apiCall: ApiCall,\n protected configuration: Configuration\n ) {}\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n abortSignal = null,\n }: SearchOptions = {}\n ): Promise> {\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n for (const key in searchParameters) {\n if (Array.isArray(searchParameters[key])) {\n additionalQueryParams[key] = searchParameters[key].join(\",\");\n }\n }\n const queryParams = Object.assign(\n {},\n searchParameters,\n additionalQueryParams\n );\n\n return this.requestWithCache.perform(\n this.apiCall,\n this.apiCall.get,\n [this.endpointPath(\"search\"), queryParams, { abortSignal }],\n {\n cacheResponseForSeconds: cacheSearchResultsForSeconds,\n }\n ) as Promise>;\n }\n\n protected endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + operation\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/stats.json\";\n\nexport interface EndpointStats {\n [endpoint: string]: number;\n}\n\nexport interface StatsResponse {\n delete_latency_ms?: number;\n delete_requests_per_second?: number;\n import_latency_ms?: number;\n import_requests_per_second?: number;\n latency_ms?: EndpointStats;\n overloaded_requests_per_second?: number;\n pending_write_batches?: number;\n requests_per_second?: EndpointStats;\n search_latency_ms?: number;\n search_requests_per_second?: number;\n total_requests_per_second?: number;\n write_latency_ms?: number;\n write_requests_per_second?: number;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Stopwords, { StopwordCreateSchema } from \"./Stopwords\";\n\nexport interface StopwordSchema extends StopwordCreateSchema {\n id: string;\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordDeleteSchema {\n id: string;\n}\n\nexport default class Stopword {\n constructor(\n private stopwordId: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Stopwords.RESOURCEPATH}/${encodeURIComponent(this.stopwordId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { StopwordSchema } from \"./Stopword\";\n\nconst RESOURCEPATH = \"/stopwords\";\n\nexport interface StopwordCreateSchema {\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordsRetrieveSchema {\n stopwords: StopwordSchema[];\n}\n\nexport default class Stopwords {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n stopwordId: string,\n params: StopwordCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(stopwordId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Stopwords.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Synonyms, { SynonymCreateSchema } from \"./Synonyms\";\n\nexport interface SynonymSchema extends SynonymCreateSchema {\n id: string;\n}\n\nexport interface SynonymDeleteSchema {\n id: string;\n}\n\nexport default class Synonym {\n constructor(\n private collectionName: string,\n private synonymId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Synonyms.RESOURCEPATH}/${encodeURIComponent(this.synonymId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { SynonymSchema } from \"./Synonym\";\n\nconst RESOURCEPATH = \"/synonyms\";\n\nexport interface SynonymCreateSchema {\n synonyms: string[];\n root?: string;\n locale?: string;\n symbols_to_index?: string[];\n}\n\nexport interface SynonymsRetrieveSchema {\n synonyms: SynonymSchema[];\n}\n\nexport default class Synonyms {\n constructor(private collectionName: string, private apiCall: ApiCall) {}\n\n async upsert(\n synonymId: string,\n params: SynonymCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(synonymId),\n params\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${\n Synonyms.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\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 var _loggersByName = {};\n var defaultLogger = null;\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() {\n /*jshint validthis:true */\n var level = this.getLevel();\n\n // Replace the actual methods.\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, this.name);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n\n // Return any important warnings.\n if (typeof console === undefinedType && level < this.levels.SILENT) {\n return \"No console available for logging\";\n }\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) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this);\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, factory) {\n // Private instance variables.\n var self = this;\n /**\n * The level inherited from a parent logger (or a global default). We\n * cache this here rather than delegating to the parent so that it stays\n * in sync with the actual logging methods that we have installed (the\n * parent could change levels but we might not have rebuilt the loggers\n * in this child yet).\n * @type {number}\n */\n var inheritedLevel;\n /**\n * The default level for this logger, if any. If set, this overrides\n * `inheritedLevel`.\n * @type {number|null}\n */\n var defaultLevel;\n /**\n * A user-specific level for this logger. If set, this overrides\n * `defaultLevel`.\n * @type {number|null}\n */\n var userLevel;\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 cookieName = encodeURIComponent(storageKey);\n var location = cookie.indexOf(cookieName + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(\n cookie.slice(location + cookieName.length + 1)\n )[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 } 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 function normalizeLevel(input) {\n var level = input;\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 return level;\n } else {\n throw new TypeError(\"log.setLevel() called with invalid level: \" + input);\n }\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 if (userLevel != null) {\n return userLevel;\n } else if (defaultLevel != null) {\n return defaultLevel;\n } else {\n return inheritedLevel;\n }\n };\n\n self.setLevel = function (level, persist) {\n userLevel = normalizeLevel(level);\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(userLevel);\n }\n\n // NOTE: in v2, this should call rebuild(), which updates children.\n return replaceLoggingMethods.call(self);\n };\n\n self.setDefaultLevel = function (level) {\n defaultLevel = normalizeLevel(level);\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.resetLevel = function () {\n userLevel = null;\n clearPersistedLevel();\n replaceLoggingMethods.call(self);\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 self.rebuild = function () {\n if (defaultLogger !== self) {\n inheritedLevel = normalizeLevel(defaultLogger.getLevel());\n }\n replaceLoggingMethods.call(self);\n\n if (defaultLogger === self) {\n for (var childName in _loggersByName) {\n _loggersByName[childName].rebuild();\n }\n }\n };\n\n // Initialize all the internal levels.\n inheritedLevel = normalizeLevel(\n defaultLogger ? defaultLogger.getLevel() : \"WARN\"\n );\n var initialLevel = getPersistedLevel();\n if (initialLevel != null) {\n userLevel = normalizeLevel(initialLevel);\n }\n replaceLoggingMethods.call(self);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n defaultLogger = new Logger();\n\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,\n defaultLogger.methodFactory\n );\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","/* (ignored) */","/* (ignored) */","/* (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 e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw new Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\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}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\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 setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\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 _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _isNativeFunction(fn) {\n try {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n } catch (e) {\n return typeof fn === \"function\";\n }\n}","export default function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\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(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\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 _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\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(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\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 getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst supportsRequestStream = isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n});\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n return (await new Request(body).arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ?\n composeSignals([signal, cancelToken], timeout) : [];\n\n let finished, request;\n\n const onFinish = () => {\n !finished && setTimeout(() => {\n composedSignal && composedSignal.unsubscribe();\n });\n\n finished = true;\n }\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush, encodeText);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = \"credentials\" in Request.prototype; \n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n isStreamResponse && onFinish();\n }, encodeText),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && onFinish();\n\n stopTimeout && stopTimeout();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n onFinish();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, 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 const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n 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(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, 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(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\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 (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : 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 const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\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\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(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, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n 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\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const 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 */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(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 {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _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 const {transitional, paramsSerializer, headers} = config;\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 if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let 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 const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\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,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport utils from '../utils.js';\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 {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n 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: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\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 */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n 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 *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\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 *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\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 *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\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 *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(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 config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\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 config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\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 *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, 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(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const 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 withXSRFToken: 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 beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\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 *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\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\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\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 env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\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 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","export const VERSION = \"1.7.5\";","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\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 * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\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 *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst composeSignals = (signals, timeout) => {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (cancel) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = cancel instanceof Error ? cancel : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal &&\n (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort));\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = unsubscribe;\n\n return [signal, () => {\n timer && clearTimeout(timer);\n timer = null;\n }];\n}\n\nexport default composeSignals;\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default 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\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\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 const msie = platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let 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 const 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","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\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} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\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\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\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 *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn.apply(null, args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize, encode) {\n for await (const chunk of iterable) {\n yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize);\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => {\n const iterator = readBytes(stream, chunkSize, encode);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\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 *\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 (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\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 *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\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 *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\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 && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let 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 {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\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 *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\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 (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 const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\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 *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && 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 *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\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 *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap\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))","// 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};","import Client from \"./Typesense/Client\";\nimport SearchClient from \"./Typesense/SearchClient\";\nimport * as Errors from \"./Typesense/Errors\";\n\nexport { Client, SearchClient, Errors };\nexport default { Client, SearchClient, Errors };\n"],"names":["Aliases","Alias","name","apiCall","_classCallCheck","_createClass","key","value","_retrieve","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","abrupt","get","endpointPath","stop","retrieve","apply","arguments","_delete2","_callee2","_callee2$","_context2","delete","_delete","concat","RESOURCEPATH","encodeURIComponent","default","_upsert","mapping","put","upsert","_x","_x2","aliasName","AnalyticsRules","AnalyticsRule","AnalyticsEvents","Analytics","_defineProperty","_analyticsRules","_analyticsEvents","rules","id","undefined","individualAnalyticsRules","events","_create","params","post","create","operation","axios","HTTPError","ObjectAlreadyExists","ObjectNotFound","ObjectUnprocessable","RequestMalformed","RequestUnauthorized","ServerError","TypesenseError","Agent","HTTPAgent","HTTPSAgent","APIKEYHEADERNAME","HEALTHY","UNHEALTHY","isNodeJSEnvironment","process","versions","node","ApiCall","configuration","apiKey","nodes","JSON","parse","stringify","nearestNode","connectionTimeoutSeconds","healthcheckIntervalSeconds","numRetriesPerRequest","numRetries","retryIntervalSeconds","sendApiKeyAsQueryParam","additionalUserHeaders","additionalHeaders","logger","initializeMetadataForNodes","currentNodeIndex","_get","endpoint","queryParameters","_ref","_ref$abortSignal","abortSignal","_ref$responseType","responseType","_args","length","performRequest","_args2","_post","_callee3","bodyParameters","_args3","_callee3$","_context3","_x3","_put","_callee4","_args4","_callee4$","_context4","_x4","_patch","_callee5","_args5","_callee5$","_context5","patch","_x5","_performRequest","_callee6","requestType","_ref2","_this","_ref2$queryParameters","_ref2$bodyParameters","_ref2$additionalHeade","_ref2$abortSignal","_ref2$responseType","_ref2$skipConnectionT","skipConnectionTimeout","_ref2$enableKeepAlive","enableKeepAlive","requestNumber","lastException","_loop","_ret","numTries","_callee6$","_context7","validate","Date","now","debug","toUpperCase","abortListener","requestOptions","cancelToken","source","response","_response$data","_response$data2","_error$response","_loop$","_context6","getNextNode","index","aborted","v","Promise","reject","Error","method","url","uriFor","headers","Object","assign","defaultHeaders","maxContentLength","Infinity","maxBodyLength","validateStatus","status","transformResponse","data","transformedData","startsWith","timeout","keys","httpAgent","warn","keepAlive","httpsAgent","paramsSerializer","_typeof","CancelToken","cancel","addEventListener","token","sent","setNodeHealthcheck","resolve","customErrorForResponse","message","t0","code","timer","removeEventListener","finish","delegateYield","_x6","_x7","_x8","isHealthy","nodeDueForHealthcheck","map","join","candidateNode","i","isDueForHealthcheck","lastAccessTimestamp","_this2","forEach","protocol","host","port","path","_timer","_callee7","seconds","_callee7$","_context8","setTimeout","_x9","messageFromServer","errorMessage","trim","error","httpStatus","Configuration","Collections","Collection","Keys","Key","Debug","Metrics","Stats","Health","Operations","MultiSearch","Presets","Preset","Stopwords","Stopword","Conversations","Conversation","Client","options","_options$sendApiKeyAs","metrics","stats","health","operations","multiSearch","_collections","individualCollections","_aliases","individualAliases","_keys","individualKeys","_presets","individualPresets","_stopwords","individualStopwords","analytics","_conversations","individualConversations","collections","collectionName","aliases","presets","stopwords","conversations","Documents","Overrides","Override","Synonyms","Synonym","Document","_documents","_overrides","_synonyms","_update","schema","update","_exists","exists","documents","documentId","individualDocuments","overrides","overrideId","individualOverrides","synonyms","synonymId","individualSynonyms","MissingConfigurationError","setDefaultPathInNode","setDefaultPortInNode","_objectSpread","randomizeNodes","shuffleArray","timeoutSeconds","cacheSearchResultsForSeconds","useServerSideSearchCache","logLevel","setLevel","showDeprecationWarnings","validateNodes","isNodeMissingAnyParameters","some","every","hasOwnProperty","masterNode","readReplicaNodes","array","j","Math","floor","random","ConversationModels","ConversationModel","_conversationsModels","models","individualConversationModels","partialDocument","ImportError","SearchOnlyDocuments","_inherits","_callSuper","document","action","query","_createMany","import","createMany","_import2","documentsInJSONLFormat","resultsInJSONLFormat","resultsInJSONFormat","failedItems","_args6","Array","isArray","RangeError","includes","split","r","filter","success","_import","_importStream","readableStream","_args7","importStream","_export2","_callee8","_args8","_callee8$","_export","_exportStream","_callee9","_args9","_callee9$","_context9","exportStream","_TypesenseError","importResults","_Error","constructor","setPrototypeOf","_assertThisInitialized","prototype","_wrapNativeSuper","createHmac","generateScopedSearchKey","searchKey","parameters","paramsJSON","digest","Buffer","from","keyPrefix","substr","rawScopedKey","toString","RequestWithCache","useTextContentType","requestWithCache","clearCache","_perform","searchRequests","commonParams","_ref$cacheSearchResul","additionalQueryParams","queryParams","perform","cacheResponseForSeconds","operationName","presetId","defaultCacheResponseForSeconds","defaultMaxSize","Map","responseCache","responsePromiseCache","requestContext","requestFunction","requestFunctionArguments","cacheOptions","_cacheOptions$cacheRe","_cacheOptions$maxSize","maxSize","isCacheDisabled","requestFunctionArgumentsJSON","cacheEntry","isEntryValid","cachePromiseEntry","_isEntryValid","responsePromise","isCacheOverMaxSize","oldestEntry","isResponsePromiseCacheOverMaxSize","_oldestEntry","call","_toConsumableArray","requestTimestamp","set","size","SearchOnlyCollection","SearchClient","console","entries","_slicedToArray","_","collection","_search","searchParameters","search","stopwordId","Errors"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/typesense.min.js b/dist/typesense.min.js deleted file mode 100644 index 6ef6dd3c..00000000 --- a/dist/typesense.min.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! For license information please see typesense.min.js.LICENSE.txt */ -var Typesense;(()=>{var e={65:function(e,t,n){var r,o;!function(i,a){"use strict";r=function(){var e=function(){},t="undefined",n=typeof window!==t&&typeof window.navigator!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),r=["trace","debug","info","warn","error"],o={},i=null;function a(e,t){var n=e[t];if("function"==typeof n.bind)return n.bind(e);try{return Function.prototype.bind.call(n,e)}catch(t){return function(){return Function.prototype.apply.apply(n,[e,arguments])}}}function s(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function c(){for(var n=this.getLevel(),o=0;o=0&&t<=h.levels.SILENT)return t;throw new TypeError("log.setLevel() called with invalid level: "+e)}"string"==typeof e?p+=":"+e:"symbol"==typeof e&&(p=void 0),h.name=e,h.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},h.methodFactory=n||l,h.getLevel=function(){return null!=u?u:null!=s?s:a},h.setLevel=function(e,n){return u=d(e),!1!==n&&function(e){var n=(r[e]||"silent").toUpperCase();if(typeof window!==t&&p){try{return void(window.localStorage[p]=n)}catch(e){}try{window.document.cookie=encodeURIComponent(p)+"="+n+";"}catch(e){}}}(u),c.call(h)},h.setDefaultLevel=function(e){s=d(e),f()||h.setLevel(e,!1)},h.resetLevel=function(){u=null,function(){if(typeof window!==t&&p){try{window.localStorage.removeItem(p)}catch(e){}try{window.document.cookie=encodeURIComponent(p)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch(e){}}}(),c.call(h)},h.enableAll=function(e){h.setLevel(h.levels.TRACE,e)},h.disableAll=function(e){h.setLevel(h.levels.SILENT,e)},h.rebuild=function(){if(i!==h&&(a=d(i.getLevel())),c.call(h),i===h)for(var e in o)o[e].rebuild()},a=d(i?i.getLevel():"WARN");var y=f();null!=y&&(u=d(y)),c.call(h)}(i=new h).getLogger=function(e){if("symbol"!=typeof e&&"string"!=typeof e||""===e)throw new TypeError("You must supply a name when creating a logger.");var t=o[e];return t||(t=o[e]=new h(e,i.methodFactory)),t};var p=typeof window!==t?window.log:void 0;return i.noConflict=function(){return typeof window!==t&&window.log===i&&(window.log=p),i},i.getLoggers=function(){return o},i.default=i,i},void 0===(o=r.call(t,n,t,e))||(e.exports=o)}()},612:()=>{},939:()=>{},82:()=>{},633:(e,t,n)=>{var r=n(738).default;function o(){"use strict";e.exports=o=function(){return n},e.exports.__esModule=!0,e.exports.default=e.exports;var t,n={},i=Object.prototype,a=i.hasOwnProperty,s=Object.defineProperty||function(e,t,n){e[t]=n.value},c="function"==typeof Symbol?Symbol:{},u=c.iterator||"@@iterator",l=c.asyncIterator||"@@asyncIterator",h=c.toStringTag||"@@toStringTag";function p(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{p({},"")}catch(t){p=function(e,t,n){return e[t]=n}}function f(e,t,n,r){var o=t&&t.prototype instanceof b?t:b,i=Object.create(o.prototype),a=new U(r||[]);return s(i,"_invoke",{value:A(e,n,a)}),i}function d(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}n.wrap=f;var y="suspendedStart",v="suspendedYield",m="executing",g="completed",w={};function b(){}function C(){}function R(){}var k={};p(k,u,(function(){return this}));var E=Object.getPrototypeOf,S=E&&E(E(_([])));S&&S!==i&&a.call(S,u)&&(k=S);var O=R.prototype=b.prototype=Object.create(k);function P(e){["next","throw","return"].forEach((function(t){p(e,t,(function(e){return this._invoke(t,e)}))}))}function x(e,t){function n(o,i,s,c){var u=d(e[o],e,i);if("throw"!==u.type){var l=u.arg,h=l.value;return h&&"object"==r(h)&&a.call(h,"__await")?t.resolve(h.__await).then((function(e){n("next",e,s,c)}),(function(e){n("throw",e,s,c)})):t.resolve(h).then((function(e){l.value=e,s(l)}),(function(e){return n("throw",e,s,c)}))}c(u.arg)}var o;s(this,"_invoke",{value:function(e,r){function i(){return new t((function(t,o){n(e,r,t,o)}))}return o=o?o.then(i,i):i()}})}function A(e,n,r){var o=y;return function(i,a){if(o===m)throw new Error("Generator is already running");if(o===g){if("throw"===i)throw a;return{value:t,done:!0}}for(r.method=i,r.arg=a;;){var s=r.delegate;if(s){var c=T(s,r);if(c){if(c===w)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(o===y)throw o=g,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);o=m;var u=d(e,n,r);if("normal"===u.type){if(o=r.done?g:v,u.arg===w)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(o=g,r.method="throw",r.arg=u.arg)}}}function T(e,n){var r=n.method,o=e.iterator[r];if(o===t)return n.delegate=null,"throw"===r&&e.iterator.return&&(n.method="return",n.arg=t,T(e,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),w;var i=d(o,e.iterator,n.arg);if("throw"===i.type)return n.method="throw",n.arg=i.arg,n.delegate=null,w;var a=i.arg;return a?a.done?(n[e.resultName]=a.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,w):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,w)}function N(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function j(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function U(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(N,this),this.reset(!0)}function _(e){if(e||""===e){var n=e[u];if(n)return n.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function n(){for(;++o=0;--o){var i=this.tryEntries[o],s=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var c=a.call(i,"catchLoc"),u=a.call(i,"finallyLoc");if(c&&u){if(this.prev=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&a.call(r,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),j(n),w}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;j(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:_(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),w}},n}e.exports=o,e.exports.__esModule=!0,e.exports.default=e.exports},738:e=>{function t(n){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(n)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},756:(e,t,n)=>{var r=n(633)();e.exports=r;try{regeneratorRuntime=r}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=r:Function("r","regeneratorRuntime = r")(r)}}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r].call(i.exports,i,i.exports,n),i.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};(()=>{"use strict";n.r(r),n.d(r,{Client:()=>pr,Errors:()=>t,SearchClient:()=>dr,default:()=>yr});var e={};n.r(e),n.d(e,{hasBrowserEnv:()=>Be,hasStandardBrowserEnv:()=>De,hasStandardBrowserWebWorkerEnv:()=>Me,navigator:()=>He,origin:()=>Ke});var t={};function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function a(e){var t=function(e,t){if("object"!=i(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=i(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==i(t)?t:String(t)}function s(e,t){for(var n=0;nfn,ImportError:()=>kn,MissingConfigurationError:()=>k,ObjectAlreadyExists:()=>rn,ObjectNotFound:()=>en,ObjectUnprocessable:()=>sn,RequestMalformed:()=>Vt,RequestUnauthorized:()=>Xt,ServerError:()=>ln,TypesenseError:()=>b});var l=n(65);function h(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function p(e,t){if(t&&("object"===i(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return h(e)}function f(e){return f=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},f(e)}function d(e,t){return d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},d(e,t)}function y(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&d(e,t)}function v(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(v=function(){return!!e})()}function m(e){var t="function"==typeof Map?new Map:void 0;return m=function(e){if(null===e||!function(e){try{return-1!==Function.toString.call(e).indexOf("[native code]")}catch(t){return"function"==typeof e}}(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return function(e,t,n){if(v())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,t);var o=new(e.bind.apply(e,r));return n&&d(o,n.prototype),o}(e,arguments,f(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),d(n,e)},m(e)}function g(e,t,n){return t=f(t),p(e,w()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function w(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(w=function(){return!!e})()}var b=function(e){function t(e){var n;return o(this,t),(n=g(this,t,[e])).name=(this instanceof t?this.constructor:void 0).name,Object.setPrototypeOf(h(n),(this instanceof t?this.constructor:void 0).prototype),n}return y(t,e),c(t)}(m(Error));function C(e,t,n){return t=f(t),p(e,R()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function R(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(R=function(){return!!e})()}var k=function(e){function t(){return o(this,t),C(this,t,arguments)}return y(t,e),c(t)}(b);function E(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var S=function(){function e(t){var n=this;o(this,e),this.nodes=t.nodes||[],this.nodes=this.nodes.map((function(e){return n.setDefaultPathInNode(e)})).map((function(e){return n.setDefaultPortInNode(e)})).map((function(e){return function(e){for(var t=1;t0;t--){var n=Math.floor(Math.random()*(t+1)),r=[e[n],e[t]];e[t]=r[0],e[n]=r[1]}}}]),e}();function O(e,t,n,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,o)}function P(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){O(i,r,o,a,s,"next",e)}function s(e){O(i,r,o,a,s,"throw",e)}a(void 0)}))}}var x=n(756),A=n.n(x);function T(e,t){return function(){return e.apply(t,arguments)}}const{toString:N}=Object.prototype,{getPrototypeOf:j}=Object,U=(_=Object.create(null),e=>{const t=N.call(e);return _[t]||(_[t]=t.slice(8,-1).toLowerCase())});var _;const L=e=>(e=e.toLowerCase(),t=>U(t)===e),I=e=>t=>typeof t===e,{isArray:F}=Array,q=I("undefined"),B=L("ArrayBuffer"),H=I("string"),D=I("function"),M=I("number"),K=e=>null!==e&&"object"==typeof e,z=e=>{if("object"!==U(e))return!1;const t=j(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||Symbol.toStringTag in e||Symbol.iterator in e)},J=L("Date"),W=L("File"),G=L("Blob"),V=L("FileList"),Q=L("URLSearchParams"),[$,X,Y,Z]=["ReadableStream","Request","Response","Headers"].map(L);function ee(e,t,{allOwnKeys:n=!1}={}){if(null==e)return;let r,o;if("object"!=typeof e&&(e=[e]),F(e))for(r=0,o=e.length;r0;)if(r=n[o],t===r.toLowerCase())return r;return null}const ne="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,re=e=>!q(e)&&e!==ne,oe=(ie="undefined"!=typeof Uint8Array&&j(Uint8Array),e=>ie&&e instanceof ie);var ie;const ae=L("HTMLFormElement"),se=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),ce=L("RegExp"),ue=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};ee(n,((n,o)=>{let i;!1!==(i=t(n,o,e))&&(r[o]=i||n)})),Object.defineProperties(e,r)},le="abcdefghijklmnopqrstuvwxyz",he="0123456789",pe={DIGIT:he,ALPHA:le,ALPHA_DIGIT:le+le.toUpperCase()+he},fe=L("AsyncFunction"),de=(ye="function"==typeof setImmediate,ve=D(ne.postMessage),ye?setImmediate:ve?(me=`axios@${Math.random()}`,ge=[],ne.addEventListener("message",(({source:e,data:t})=>{e===ne&&t===me&&ge.length&&ge.shift()()}),!1),e=>{ge.push(e),ne.postMessage(me,"*")}):e=>setTimeout(e));var ye,ve,me,ge;const we="undefined"!=typeof queueMicrotask?queueMicrotask.bind(ne):"undefined"!=typeof process&&process.nextTick||de,be={isArray:F,isArrayBuffer:B,isBuffer:function(e){return null!==e&&!q(e)&&null!==e.constructor&&!q(e.constructor)&&D(e.constructor.isBuffer)&&e.constructor.isBuffer(e)},isFormData:e=>{let t;return e&&("function"==typeof FormData&&e instanceof FormData||D(e.append)&&("formdata"===(t=U(e))||"object"===t&&D(e.toString)&&"[object FormData]"===e.toString()))},isArrayBufferView:function(e){let t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&B(e.buffer),t},isString:H,isNumber:M,isBoolean:e=>!0===e||!1===e,isObject:K,isPlainObject:z,isReadableStream:$,isRequest:X,isResponse:Y,isHeaders:Z,isUndefined:q,isDate:J,isFile:W,isBlob:G,isRegExp:ce,isFunction:D,isStream:e=>K(e)&&D(e.pipe),isURLSearchParams:Q,isTypedArray:oe,isFileList:V,forEach:ee,merge:function e(){const{caseless:t}=re(this)&&this||{},n={},r=(r,o)=>{const i=t&&te(n,o)||o;z(n[i])&&z(r)?n[i]=e(n[i],r):z(r)?n[i]=e({},r):F(r)?n[i]=r.slice():n[i]=r};for(let e=0,t=arguments.length;e(ee(t,((t,r)=>{n&&D(t)?e[r]=T(t,n):e[r]=t}),{allOwnKeys:r}),e),trim:e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),inherits:(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},toFlatObject:(e,t,n,r)=>{let o,i,a;const s={};if(t=t||{},null==e)return t;do{for(o=Object.getOwnPropertyNames(e),i=o.length;i-- >0;)a=o[i],r&&!r(a,e,t)||s[a]||(t[a]=e[a],s[a]=!0);e=!1!==n&&j(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},kindOf:U,kindOfTest:L,endsWith:(e,t,n)=>{e=String(e),(void 0===n||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return-1!==r&&r===n},toArray:e=>{if(!e)return null;if(F(e))return e;let t=e.length;if(!M(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},forEachEntry:(e,t)=>{const n=(e&&e[Symbol.iterator]).call(e);let r;for(;(r=n.next())&&!r.done;){const n=r.value;t.call(e,n[0],n[1])}},matchAll:(e,t)=>{let n;const r=[];for(;null!==(n=e.exec(t));)r.push(n);return r},isHTMLForm:ae,hasOwnProperty:se,hasOwnProp:se,reduceDescriptors:ue,freezeMethods:e=>{ue(e,((t,n)=>{if(D(e)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;const r=e[n];D(r)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}))}))},toObjectSet:(e,t)=>{const n={},r=e=>{e.forEach((e=>{n[e]=!0}))};return F(e)?r(e):r(String(e).split(t)),n},toCamelCase:e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(e,t,n){return t.toUpperCase()+n})),noop:()=>{},toFiniteNumber:(e,t)=>null!=e&&Number.isFinite(e=+e)?e:t,findKey:te,global:ne,isContextDefined:re,ALPHABET:pe,generateString:(e=16,t=pe.ALPHA_DIGIT)=>{let n="";const{length:r}=t;for(;e--;)n+=t[Math.random()*r|0];return n},isSpecCompliantForm:function(e){return!!(e&&D(e.append)&&"FormData"===e[Symbol.toStringTag]&&e[Symbol.iterator])},toJSONObject:e=>{const t=new Array(10),n=(e,r)=>{if(K(e)){if(t.indexOf(e)>=0)return;if(!("toJSON"in e)){t[r]=e;const o=F(e)?[]:{};return ee(e,((e,t)=>{const i=n(e,r+1);!q(i)&&(o[t]=i)})),t[r]=void 0,o}}return e};return n(e,0)},isAsyncFn:fe,isThenable:e=>e&&(K(e)||D(e))&&D(e.then)&&D(e.catch),setImmediate:de,asap:we};function Ce(e,t,n,r,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),o&&(this.response=o,this.status=o.status?o.status:null)}be.inherits(Ce,Error,{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:be.toJSONObject(this.config),code:this.code,status:this.status}}});const Re=Ce.prototype,ke={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((e=>{ke[e]={value:e}})),Object.defineProperties(Ce,ke),Object.defineProperty(Re,"isAxiosError",{value:!0}),Ce.from=(e,t,n,r,o,i)=>{const a=Object.create(Re);return be.toFlatObject(e,a,(function(e){return e!==Error.prototype}),(e=>"isAxiosError"!==e)),Ce.call(a,e.message,t,n,r,o),a.cause=e,a.name=e.name,i&&Object.assign(a,i),a};const Ee=Ce;function Se(e){return be.isPlainObject(e)||be.isArray(e)}function Oe(e){return be.endsWith(e,"[]")?e.slice(0,-2):e}function Pe(e,t,n){return e?e.concat(t).map((function(e,t){return e=Oe(e),!n&&t?"["+e+"]":e})).join(n?".":""):t}const xe=be.toFlatObject(be,{},null,(function(e){return/^is[A-Z]/.test(e)})),Ae=function(e,t,n){if(!be.isObject(e))throw new TypeError("target must be an object");t=t||new FormData;const r=(n=be.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!be.isUndefined(t[e])}))).metaTokens,o=n.visitor||u,i=n.dots,a=n.indexes,s=(n.Blob||"undefined"!=typeof Blob&&Blob)&&be.isSpecCompliantForm(t);if(!be.isFunction(o))throw new TypeError("visitor must be a function");function c(e){if(null===e)return"";if(be.isDate(e))return e.toISOString();if(!s&&be.isBlob(e))throw new Ee("Blob is not supported. Use a Buffer instead.");return be.isArrayBuffer(e)||be.isTypedArray(e)?s&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function u(e,n,o){let s=e;if(e&&!o&&"object"==typeof e)if(be.endsWith(n,"{}"))n=r?n:n.slice(0,-2),e=JSON.stringify(e);else if(be.isArray(e)&&function(e){return be.isArray(e)&&!e.some(Se)}(e)||(be.isFileList(e)||be.endsWith(n,"[]"))&&(s=be.toArray(e)))return n=Oe(n),s.forEach((function(e,r){!be.isUndefined(e)&&null!==e&&t.append(!0===a?Pe([n],r,i):null===a?n:n+"[]",c(e))})),!1;return!!Se(e)||(t.append(Pe(o,n,i),c(e)),!1)}const l=[],h=Object.assign(xe,{defaultVisitor:u,convertValue:c,isVisitable:Se});if(!be.isObject(e))throw new TypeError("data must be an object");return function e(n,r){if(!be.isUndefined(n)){if(-1!==l.indexOf(n))throw Error("Circular reference detected in "+r.join("."));l.push(n),be.forEach(n,(function(n,i){!0===(!(be.isUndefined(n)||null===n)&&o.call(t,n,be.isString(i)?i.trim():i,r,h))&&e(n,r?r.concat(i):[i])})),l.pop()}}(e),t};function Te(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function Ne(e,t){this._pairs=[],e&&Ae(e,this,t)}const je=Ne.prototype;je.append=function(e,t){this._pairs.push([e,t])},je.toString=function(e){const t=e?function(t){return e.call(this,t,Te)}:Te;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};const Ue=Ne;function _e(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Le(e,t,n){if(!t)return e;const r=n&&n.encode||_e,o=n&&n.serialize;let i;if(i=o?o(t,n):be.isURLSearchParams(t)?t.toString():new Ue(t,n).toString(r),i){const t=e.indexOf("#");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf("?")?"?":"&")+i}return e}const Ie=class{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){be.forEach(this.handlers,(function(t){null!==t&&e(t)}))}},Fe={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},qe={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:Ue,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]},Be="undefined"!=typeof window&&"undefined"!=typeof document,He="object"==typeof navigator&&navigator||void 0,De=Be&&(!He||["ReactNative","NativeScript","NS"].indexOf(He.product)<0),Me="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,Ke=Be&&window.location.href||"http://localhost",ze={...e,...qe},Je=function(e){function t(e,n,r,o){let i=e[o++];if("__proto__"===i)return!0;const a=Number.isFinite(+i),s=o>=e.length;return i=!i&&be.isArray(r)?r.length:i,s?(be.hasOwnProp(r,i)?r[i]=[r[i],n]:r[i]=n,!a):(r[i]&&be.isObject(r[i])||(r[i]=[]),t(e,n,r[i],o)&&be.isArray(r[i])&&(r[i]=function(e){const t={},n=Object.keys(e);let r;const o=n.length;let i;for(r=0;r{t(function(e){return be.matchAll(/\w+|\[(\w*)]/g,e).map((e=>"[]"===e[0]?"":e[1]||e[0]))}(e),r,n,0)})),n}return null},We={transitional:Fe,adapter:["xhr","http","fetch"],transformRequest:[function(e,t){const n=t.getContentType()||"",r=n.indexOf("application/json")>-1,o=be.isObject(e);if(o&&be.isHTMLForm(e)&&(e=new FormData(e)),be.isFormData(e))return r?JSON.stringify(Je(e)):e;if(be.isArrayBuffer(e)||be.isBuffer(e)||be.isStream(e)||be.isFile(e)||be.isBlob(e)||be.isReadableStream(e))return e;if(be.isArrayBufferView(e))return e.buffer;if(be.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let i;if(o){if(n.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return Ae(e,new ze.classes.URLSearchParams,Object.assign({visitor:function(e,t,n,r){return ze.isNode&&be.isBuffer(e)?(this.append(t,e.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((i=be.isFileList(e))||n.indexOf("multipart/form-data")>-1){const t=this.env&&this.env.FormData;return Ae(i?{"files[]":e}:e,t&&new t,this.formSerializer)}}return o||r?(t.setContentType("application/json",!1),function(e,t,n){if(be.isString(e))try{return(0,JSON.parse)(e),be.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(0,JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){const t=this.transitional||We.transitional,n=t&&t.forcedJSONParsing,r="json"===this.responseType;if(be.isResponse(e)||be.isReadableStream(e))return e;if(e&&be.isString(e)&&(n&&!this.responseType||r)){const n=!(t&&t.silentJSONParsing)&&r;try{return JSON.parse(e)}catch(e){if(n){if("SyntaxError"===e.name)throw Ee.from(e,Ee.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:ze.classes.FormData,Blob:ze.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};be.forEach(["delete","get","head","post","put","patch"],(e=>{We.headers[e]={}}));const Ge=We,Ve=be.toObjectSet(["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"]),Qe=Symbol("internals");function $e(e){return e&&String(e).trim().toLowerCase()}function Xe(e){return!1===e||null==e?e:be.isArray(e)?e.map(Xe):String(e)}function Ye(e,t,n,r,o){return be.isFunction(r)?r.call(this,t,n):(o&&(t=n),be.isString(t)?be.isString(r)?-1!==t.indexOf(r):be.isRegExp(r)?r.test(t):void 0:void 0)}class Ze{constructor(e){e&&this.set(e)}set(e,t,n){const r=this;function o(e,t,n){const o=$e(t);if(!o)throw new Error("header name must be a non-empty string");const i=be.findKey(r,o);(!i||void 0===r[i]||!0===n||void 0===n&&!1!==r[i])&&(r[i||t]=Xe(e))}const i=(e,t)=>be.forEach(e,((e,n)=>o(e,n,t)));if(be.isPlainObject(e)||e instanceof this.constructor)i(e,t);else if(be.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim()))i((e=>{const t={};let n,r,o;return e&&e.split("\n").forEach((function(e){o=e.indexOf(":"),n=e.substring(0,o).trim().toLowerCase(),r=e.substring(o+1).trim(),!n||t[n]&&Ve[n]||("set-cookie"===n?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)})),t})(e),t);else if(be.isHeaders(e))for(const[t,r]of e.entries())o(r,t,n);else null!=e&&o(t,e,n);return this}get(e,t){if(e=$e(e)){const n=be.findKey(this,e);if(n){const e=this[n];if(!t)return e;if(!0===t)return function(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}(e);if(be.isFunction(t))return t.call(this,e,n);if(be.isRegExp(t))return t.exec(e);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=$e(e)){const n=be.findKey(this,e);return!(!n||void 0===this[n]||t&&!Ye(0,this[n],n,t))}return!1}delete(e,t){const n=this;let r=!1;function o(e){if(e=$e(e)){const o=be.findKey(n,e);!o||t&&!Ye(0,n[o],o,t)||(delete n[o],r=!0)}}return be.isArray(e)?e.forEach(o):o(e),r}clear(e){const t=Object.keys(this);let n=t.length,r=!1;for(;n--;){const o=t[n];e&&!Ye(0,this[o],o,e,!0)||(delete this[o],r=!0)}return r}normalize(e){const t=this,n={};return be.forEach(this,((r,o)=>{const i=be.findKey(n,o);if(i)return t[i]=Xe(r),void delete t[o];const a=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((e,t,n)=>t.toUpperCase()+n))}(o):String(o).trim();a!==o&&delete t[o],t[a]=Xe(r),n[a]=!0})),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return be.forEach(this,((n,r)=>{null!=n&&!1!==n&&(t[r]=e&&be.isArray(n)?n.join(", "):n)})),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([e,t])=>e+": "+t)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const n=new this(e);return t.forEach((e=>n.set(e))),n}static accessor(e){const t=(this[Qe]=this[Qe]={accessors:{}}).accessors,n=this.prototype;function r(e){const r=$e(e);t[r]||(function(e,t){const n=be.toCamelCase(" "+t);["get","set","has"].forEach((r=>{Object.defineProperty(e,r+n,{value:function(e,n,o){return this[r].call(this,t,e,n,o)},configurable:!0})}))}(n,e),t[r]=!0)}return be.isArray(e)?e.forEach(r):r(e),this}}Ze.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),be.reduceDescriptors(Ze.prototype,(({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[n]=e}}})),be.freezeMethods(Ze);const et=Ze;function tt(e,t){const n=this||Ge,r=t||n,o=et.from(r.headers);let i=r.data;return be.forEach(e,(function(e){i=e.call(n,i,o.normalize(),t?t.status:void 0)})),o.normalize(),i}function nt(e){return!(!e||!e.__CANCEL__)}function rt(e,t,n){Ee.call(this,null==e?"canceled":e,Ee.ERR_CANCELED,t,n),this.name="CanceledError"}be.inherits(rt,Ee,{__CANCEL__:!0});const ot=rt;function it(e,t,n){const r=n.config.validateStatus;n.status&&r&&!r(n.status)?t(new Ee("Request failed with status code "+n.status,[Ee.ERR_BAD_REQUEST,Ee.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):e(n)}const at=(e,t,n=3)=>{let r=0;const o=function(e,t){e=e||10;const n=new Array(e),r=new Array(e);let o,i=0,a=0;return t=void 0!==t?t:1e3,function(s){const c=Date.now(),u=r[a];o||(o=c),n[i]=s,r[i]=c;let l=a,h=0;for(;l!==i;)h+=n[l++],l%=e;if(i=(i+1)%e,i===a&&(a=(a+1)%e),c-o{o=i,n=null,r&&(clearTimeout(r),r=null),e.apply(null,t)};return[(...e)=>{const t=Date.now(),s=t-o;s>=i?a(e,t):(n=e,r||(r=setTimeout((()=>{r=null,a(n)}),i-s)))},()=>n&&a(n)]}((n=>{const i=n.loaded,a=n.lengthComputable?n.total:void 0,s=i-r,c=o(s);r=i,e({loaded:i,total:a,progress:a?i/a:void 0,bytes:s,rate:c||void 0,estimated:c&&a&&i<=a?(a-i)/c:void 0,event:n,lengthComputable:null!=a,[t?"download":"upload"]:!0})}),n)},st=(e,t)=>{const n=null!=e;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},ct=e=>(...t)=>be.asap((()=>e(...t))),ut=ze.hasStandardBrowserEnv?function(){const e=ze.navigator&&/(msie|trident)/i.test(ze.navigator.userAgent),t=document.createElement("a");let n;function r(n){let r=n;return e&&(t.setAttribute("href",r),r=t.href),t.setAttribute("href",r),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:"/"===t.pathname.charAt(0)?t.pathname:"/"+t.pathname}}return n=r(window.location.href),function(e){const t=be.isString(e)?r(e):e;return t.protocol===n.protocol&&t.host===n.host}}():function(){return!0},lt=ze.hasStandardBrowserEnv?{write(e,t,n,r,o,i){const a=[e+"="+encodeURIComponent(t)];be.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),be.isString(r)&&a.push("path="+r),be.isString(o)&&a.push("domain="+o),!0===i&&a.push("secure"),document.cookie=a.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read:()=>null,remove(){}};function ht(e,t){return e&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)?function(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}(e,t):t}const pt=e=>e instanceof et?{...e}:e;function ft(e,t){t=t||{};const n={};function r(e,t,n){return be.isPlainObject(e)&&be.isPlainObject(t)?be.merge.call({caseless:n},e,t):be.isPlainObject(t)?be.merge({},t):be.isArray(t)?t.slice():t}function o(e,t,n){return be.isUndefined(t)?be.isUndefined(e)?void 0:r(void 0,e,n):r(e,t,n)}function i(e,t){if(!be.isUndefined(t))return r(void 0,t)}function a(e,t){return be.isUndefined(t)?be.isUndefined(e)?void 0:r(void 0,e):r(void 0,t)}function s(n,o,i){return i in t?r(n,o):i in e?r(void 0,n):void 0}const c={url:i,method:i,data:i,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:s,headers:(e,t)=>o(pt(e),pt(t),!0)};return be.forEach(Object.keys(Object.assign({},e,t)),(function(r){const i=c[r]||o,a=i(e[r],t[r],r);be.isUndefined(a)&&i!==s||(n[r]=a)})),n}const dt=e=>{const t=ft({},e);let n,{data:r,withXSRFToken:o,xsrfHeaderName:i,xsrfCookieName:a,headers:s,auth:c}=t;if(t.headers=s=et.from(s),t.url=Le(ht(t.baseURL,t.url),e.params,e.paramsSerializer),c&&s.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?unescape(encodeURIComponent(c.password)):""))),be.isFormData(r))if(ze.hasStandardBrowserEnv||ze.hasStandardBrowserWebWorkerEnv)s.setContentType(void 0);else if(!1!==(n=s.getContentType())){const[e,...t]=n?n.split(";").map((e=>e.trim())).filter(Boolean):[];s.setContentType([e||"multipart/form-data",...t].join("; "))}if(ze.hasStandardBrowserEnv&&(o&&be.isFunction(o)&&(o=o(t)),o||!1!==o&&ut(t.url))){const e=i&&a&<.read(a);e&&s.set(i,e)}return t},yt="undefined"!=typeof XMLHttpRequest&&function(e){return new Promise((function(t,n){const r=dt(e);let o=r.data;const i=et.from(r.headers).normalize();let a,s,c,u,l,{responseType:h,onUploadProgress:p,onDownloadProgress:f}=r;function d(){u&&u(),l&&l(),r.cancelToken&&r.cancelToken.unsubscribe(a),r.signal&&r.signal.removeEventListener("abort",a)}let y=new XMLHttpRequest;function v(){if(!y)return;const r=et.from("getAllResponseHeaders"in y&&y.getAllResponseHeaders());it((function(e){t(e),d()}),(function(e){n(e),d()}),{data:h&&"text"!==h&&"json"!==h?y.response:y.responseText,status:y.status,statusText:y.statusText,headers:r,config:e,request:y}),y=null}y.open(r.method.toUpperCase(),r.url,!0),y.timeout=r.timeout,"onloadend"in y?y.onloadend=v:y.onreadystatechange=function(){y&&4===y.readyState&&(0!==y.status||y.responseURL&&0===y.responseURL.indexOf("file:"))&&setTimeout(v)},y.onabort=function(){y&&(n(new Ee("Request aborted",Ee.ECONNABORTED,e,y)),y=null)},y.onerror=function(){n(new Ee("Network Error",Ee.ERR_NETWORK,e,y)),y=null},y.ontimeout=function(){let t=r.timeout?"timeout of "+r.timeout+"ms exceeded":"timeout exceeded";const o=r.transitional||Fe;r.timeoutErrorMessage&&(t=r.timeoutErrorMessage),n(new Ee(t,o.clarifyTimeoutError?Ee.ETIMEDOUT:Ee.ECONNABORTED,e,y)),y=null},void 0===o&&i.setContentType(null),"setRequestHeader"in y&&be.forEach(i.toJSON(),(function(e,t){y.setRequestHeader(t,e)})),be.isUndefined(r.withCredentials)||(y.withCredentials=!!r.withCredentials),h&&"json"!==h&&(y.responseType=r.responseType),f&&([c,l]=at(f,!0),y.addEventListener("progress",c)),p&&y.upload&&([s,u]=at(p),y.upload.addEventListener("progress",s),y.upload.addEventListener("loadend",u)),(r.cancelToken||r.signal)&&(a=t=>{y&&(n(!t||t.type?new ot(null,e,y):t),y.abort(),y=null)},r.cancelToken&&r.cancelToken.subscribe(a),r.signal&&(r.signal.aborted?a():r.signal.addEventListener("abort",a)));const m=function(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}(r.url);m&&-1===ze.protocols.indexOf(m)?n(new Ee("Unsupported protocol "+m+":",Ee.ERR_BAD_REQUEST,e)):y.send(o||null)}))},vt=(e,t)=>{let n,r=new AbortController;const o=function(e){if(!n){n=!0,a();const t=e instanceof Error?e:this.reason;r.abort(t instanceof Ee?t:new ot(t instanceof Error?t.message:t))}};let i=t&&setTimeout((()=>{o(new Ee(`timeout ${t} of ms exceeded`,Ee.ETIMEDOUT))}),t);const a=()=>{e&&(i&&clearTimeout(i),i=null,e.forEach((e=>{e&&(e.removeEventListener?e.removeEventListener("abort",o):e.unsubscribe(o))})),e=null)};e.forEach((e=>e&&e.addEventListener&&e.addEventListener("abort",o)));const{signal:s}=r;return s.unsubscribe=a,[s,()=>{i&&clearTimeout(i),i=null}]},mt=function*(e,t){let n=e.byteLength;if(!t||n{const i=async function*(e,t,n){for await(const r of e)yield*mt(ArrayBuffer.isView(r)?r:await n(String(r)),t)}(e,t,o);let a,s=0,c=e=>{a||(a=!0,r&&r(e))};return new ReadableStream({async pull(e){try{const{done:t,value:r}=await i.next();if(t)return c(),void e.close();let o=r.byteLength;if(n){let e=s+=o;n(e)}e.enqueue(new Uint8Array(r))}catch(e){throw c(e),e}},cancel:e=>(c(e),i.return())},{highWaterMark:2})},wt="function"==typeof fetch&&"function"==typeof Request&&"function"==typeof Response,bt=wt&&"function"==typeof ReadableStream,Ct=wt&&("function"==typeof TextEncoder?(Rt=new TextEncoder,e=>Rt.encode(e)):async e=>new Uint8Array(await new Response(e).arrayBuffer()));var Rt;const kt=(e,...t)=>{try{return!!e(...t)}catch(e){return!1}},Et=bt&&kt((()=>{let e=!1;const t=new Request(ze.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t})),St=bt&&kt((()=>be.isReadableStream(new Response("").body))),Ot={stream:St&&(e=>e.body)};var Pt;wt&&(Pt=new Response,["text","arrayBuffer","blob","formData","stream"].forEach((e=>{!Ot[e]&&(Ot[e]=be.isFunction(Pt[e])?t=>t[e]():(t,n)=>{throw new Ee(`Response type '${e}' is not supported`,Ee.ERR_NOT_SUPPORT,n)})})));const xt={http:null,xhr:yt,fetch:wt&&(async e=>{let{url:t,method:n,data:r,signal:o,cancelToken:i,timeout:a,onDownloadProgress:s,onUploadProgress:c,responseType:u,headers:l,withCredentials:h="same-origin",fetchOptions:p}=dt(e);u=u?(u+"").toLowerCase():"text";let f,d,[y,v]=o||i||a?vt([o,i],a):[];const m=()=>{!f&&setTimeout((()=>{y&&y.unsubscribe()})),f=!0};let g;try{if(c&&Et&&"get"!==n&&"head"!==n&&0!==(g=await(async(e,t)=>{const n=be.toFiniteNumber(e.getContentLength());return null==n?(async e=>null==e?0:be.isBlob(e)?e.size:be.isSpecCompliantForm(e)?(await new Request(e).arrayBuffer()).byteLength:be.isArrayBufferView(e)||be.isArrayBuffer(e)?e.byteLength:(be.isURLSearchParams(e)&&(e+=""),be.isString(e)?(await Ct(e)).byteLength:void 0))(t):n})(l,r))){let e,n=new Request(t,{method:"POST",body:r,duplex:"half"});if(be.isFormData(r)&&(e=n.headers.get("content-type"))&&l.setContentType(e),n.body){const[e,t]=st(g,at(ct(c)));r=gt(n.body,65536,e,t,Ct)}}be.isString(h)||(h=h?"include":"omit");const o="credentials"in Request.prototype;d=new Request(t,{...p,signal:y,method:n.toUpperCase(),headers:l.normalize().toJSON(),body:r,duplex:"half",credentials:o?h:void 0});let i=await fetch(d);const a=St&&("stream"===u||"response"===u);if(St&&(s||a)){const e={};["status","statusText","headers"].forEach((t=>{e[t]=i[t]}));const t=be.toFiniteNumber(i.headers.get("content-length")),[n,r]=s&&st(t,at(ct(s),!0))||[];i=new Response(gt(i.body,65536,n,(()=>{r&&r(),a&&m()}),Ct),e)}u=u||"text";let f=await Ot[be.findKey(Ot,u)||"text"](i,e);return!a&&m(),v&&v(),await new Promise(((t,n)=>{it(t,n,{data:f,headers:et.from(i.headers),status:i.status,statusText:i.statusText,config:e,request:d})}))}catch(t){if(m(),t&&"TypeError"===t.name&&/fetch/i.test(t.message))throw Object.assign(new Ee("Network Error",Ee.ERR_NETWORK,e,d),{cause:t.cause||t});throw Ee.from(t,t&&t.code,e,d)}})};be.forEach(xt,((e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch(e){}Object.defineProperty(e,"adapterName",{value:t})}}));const At=e=>`- ${e}`,Tt=e=>be.isFunction(e)||null===e||!1===e,Nt=e=>{e=be.isArray(e)?e:[e];const{length:t}=e;let n,r;const o={};for(let i=0;i`adapter ${e} `+(!1===t?"is not supported by the environment":"is not available in the build")));let n=t?e.length>1?"since :\n"+e.map(At).join("\n"):" "+At(e[0]):"as no adapter specified";throw new Ee("There is no suitable adapter to dispatch the request "+n,"ERR_NOT_SUPPORT")}return r};function jt(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new ot(null,e)}function Ut(e){return jt(e),e.headers=et.from(e.headers),e.data=tt.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Nt(e.adapter||Ge.adapter)(e).then((function(t){return jt(e),t.data=tt.call(e,e.transformResponse,t),t.headers=et.from(t.headers),t}),(function(t){return nt(t)||(jt(e),t&&t.response&&(t.response.data=tt.call(e,e.transformResponse,t.response),t.response.headers=et.from(t.response.headers))),Promise.reject(t)}))}const _t={};["object","boolean","number","function","string","symbol"].forEach(((e,t)=>{_t[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}}));const Lt={};_t.transitional=function(e,t,n){function r(e,t){return"[Axios v1.7.5] Transitional option '"+e+"'"+t+(n?". "+n:"")}return(n,o,i)=>{if(!1===e)throw new Ee(r(o," has been removed"+(t?" in "+t:"")),Ee.ERR_DEPRECATED);return t&&!Lt[o]&&(Lt[o]=!0,console.warn(r(o," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(n,o,i)}};const It={assertOptions:function(e,t,n){if("object"!=typeof e)throw new Ee("options must be an object",Ee.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let o=r.length;for(;o-- >0;){const i=r[o],a=t[i];if(a){const t=e[i],n=void 0===t||a(t,i,e);if(!0!==n)throw new Ee("option "+i+" must be "+n,Ee.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new Ee("Unknown option "+i,Ee.ERR_BAD_OPTION)}},validators:_t},Ft=It.validators;class qt{constructor(e){this.defaults=e,this.interceptors={request:new Ie,response:new Ie}}async request(e,t){try{return await this._request(e,t)}catch(e){if(e instanceof Error){let t;Error.captureStackTrace?Error.captureStackTrace(t={}):t=new Error;const n=t.stack?t.stack.replace(/^.+\n/,""):"";try{e.stack?n&&!String(e.stack).endsWith(n.replace(/^.+\n.+\n/,""))&&(e.stack+="\n"+n):e.stack=n}catch(e){}}throw e}}_request(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{},t=ft(this.defaults,t);const{transitional:n,paramsSerializer:r,headers:o}=t;void 0!==n&&It.assertOptions(n,{silentJSONParsing:Ft.transitional(Ft.boolean),forcedJSONParsing:Ft.transitional(Ft.boolean),clarifyTimeoutError:Ft.transitional(Ft.boolean)},!1),null!=r&&(be.isFunction(r)?t.paramsSerializer={serialize:r}:It.assertOptions(r,{encode:Ft.function,serialize:Ft.function},!0)),t.method=(t.method||this.defaults.method||"get").toLowerCase();let i=o&&be.merge(o.common,o[t.method]);o&&be.forEach(["delete","get","head","post","put","patch","common"],(e=>{delete o[e]})),t.headers=et.concat(i,o);const a=[];let s=!0;this.interceptors.request.forEach((function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(s=s&&e.synchronous,a.unshift(e.fulfilled,e.rejected))}));const c=[];let u;this.interceptors.response.forEach((function(e){c.push(e.fulfilled,e.rejected)}));let l,h=0;if(!s){const e=[Ut.bind(this),void 0];for(e.unshift.apply(e,a),e.push.apply(e,c),l=e.length,u=Promise.resolve(t);h{if(!n._listeners)return;let t=n._listeners.length;for(;t-- >0;)n._listeners[t](e);n._listeners=null})),this.promise.then=e=>{let t;const r=new Promise((e=>{n.subscribe(e),t=e})).then(e);return r.cancel=function(){n.unsubscribe(t)},r},e((function(e,r,o){n.reason||(n.reason=new ot(e,r,o),t(n.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}static source(){let e;return{token:new Ht((function(t){e=t})),cancel:e}}}const Dt=Ht,Mt={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Mt).forEach((([e,t])=>{Mt[t]=e}));const Kt=Mt,zt=function e(t){const n=new Bt(t),r=T(Bt.prototype.request,n);return be.extend(r,Bt.prototype,n,{allOwnKeys:!0}),be.extend(r,n,null,{allOwnKeys:!0}),r.create=function(n){return e(ft(t,n))},r}(Ge);zt.Axios=Bt,zt.CanceledError=ot,zt.CancelToken=Dt,zt.isCancel=nt,zt.VERSION="1.7.5",zt.toFormData=Ae,zt.AxiosError=Ee,zt.Cancel=zt.CanceledError,zt.all=function(e){return Promise.all(e)},zt.spread=function(e){return function(t){return e.apply(null,t)}},zt.isAxiosError=function(e){return be.isObject(e)&&!0===e.isAxiosError},zt.mergeConfig=ft,zt.AxiosHeaders=et,zt.formToJSON=e=>Je(be.isHTMLForm(e)?new FormData(e):e),zt.getAdapter=Nt,zt.HttpStatusCode=Kt,zt.default=zt;const Jt=zt;function Wt(e,t,n){return t=f(t),p(e,Gt()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function Gt(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Gt=function(){return!!e})()}var Vt=function(e){function t(){return o(this,t),Wt(this,t,arguments)}return y(t,e),c(t)}(b);function Qt(e,t,n){return t=f(t),p(e,$t()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function $t(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return($t=function(){return!!e})()}var Xt=function(e){function t(){return o(this,t),Qt(this,t,arguments)}return y(t,e),c(t)}(b);function Yt(e,t,n){return t=f(t),p(e,Zt()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function Zt(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Zt=function(){return!!e})()}var en=function(e){function t(){return o(this,t),Yt(this,t,arguments)}return y(t,e),c(t)}(b);function tn(e,t,n){return t=f(t),p(e,nn()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function nn(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(nn=function(){return!!e})()}var rn=function(e){function t(){return o(this,t),tn(this,t,arguments)}return y(t,e),c(t)}(b);function on(e,t,n){return t=f(t),p(e,an()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function an(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(an=function(){return!!e})()}var sn=function(e){function t(){return o(this,t),on(this,t,arguments)}return y(t,e),c(t)}(b);function cn(e,t,n){return t=f(t),p(e,un()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function un(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(un=function(){return!!e})()}var ln=function(e){function t(){return o(this,t),cn(this,t,arguments)}return y(t,e),c(t)}(b);function hn(e,t,n){return t=f(t),p(e,pn()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function pn(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(pn=function(){return!!e})()}var fn=function(e){function t(){return o(this,t),hn(this,t,arguments)}return y(t,e),c(t)}(b),dn=n(939),yn=n(82),vn=!0,mn="undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node,gn=function(){function e(t){o(this,e),this.configuration=t,this.apiKey=this.configuration.apiKey,this.nodes=null==this.configuration.nodes?this.configuration.nodes:JSON.parse(JSON.stringify(this.configuration.nodes)),this.nearestNode=null==this.configuration.nearestNode?this.configuration.nearestNode:JSON.parse(JSON.stringify(this.configuration.nearestNode)),this.connectionTimeoutSeconds=this.configuration.connectionTimeoutSeconds,this.healthcheckIntervalSeconds=this.configuration.healthcheckIntervalSeconds,this.numRetriesPerRequest=this.configuration.numRetries,this.retryIntervalSeconds=this.configuration.retryIntervalSeconds,this.sendApiKeyAsQueryParam=this.configuration.sendApiKeyAsQueryParam,this.additionalUserHeaders=this.configuration.additionalHeaders,this.logger=this.configuration.logger,this.initializeMetadataForNodes(),this.currentNodeIndex=-1}var t,n,r,a,s,u,l;return c(e,[{key:"get",value:(l=P(A().mark((function e(t){var n,r,o,i,a,s,c=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=c.length>1&&void 0!==c[1]?c[1]:{},o=(r=c.length>2&&void 0!==c[2]?c[2]:{}).abortSignal,i=void 0===o?null:o,a=r.responseType,s=void 0===a?void 0:a,e.abrupt("return",this.performRequest("get",t,{queryParameters:n,abortSignal:i,responseType:s}));case 3:case"end":return e.stop()}}),e,this)}))),function(e){return l.apply(this,arguments)})},{key:"delete",value:(u=P(A().mark((function e(t){var n,r=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},e.abrupt("return",this.performRequest("delete",t,{queryParameters:n}));case 2:case"end":return e.stop()}}),e,this)}))),function(e){return u.apply(this,arguments)})},{key:"post",value:(s=P(A().mark((function e(t){var n,r,o,i=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=i.length>1&&void 0!==i[1]?i[1]:{},r=i.length>2&&void 0!==i[2]?i[2]:{},o=i.length>3&&void 0!==i[3]?i[3]:{},e.abrupt("return",this.performRequest("post",t,{queryParameters:r,bodyParameters:n,additionalHeaders:o}));case 4:case"end":return e.stop()}}),e,this)}))),function(e){return s.apply(this,arguments)})},{key:"put",value:(a=P(A().mark((function e(t){var n,r,o=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=o.length>1&&void 0!==o[1]?o[1]:{},r=o.length>2&&void 0!==o[2]?o[2]:{},e.abrupt("return",this.performRequest("put",t,{queryParameters:r,bodyParameters:n}));case 3:case"end":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})},{key:"patch",value:(r=P(A().mark((function e(t){var n,r,o=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=o.length>1&&void 0!==o[1]?o[1]:{},r=o.length>2&&void 0!==o[2]?o[2]:{},e.abrupt("return",this.performRequest("patch",t,{queryParameters:r,bodyParameters:n}));case 3:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"performRequest",value:(n=P(A().mark((function e(t,n,r){var o,a,s,c,u,l,h,p,f,d,y,v,m,g,w,b,C,R,k,E=this;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:o=r.queryParameters,a=void 0===o?null:o,s=r.bodyParameters,c=void 0===s?null:s,u=r.additionalHeaders,l=void 0===u?{}:u,h=r.abortSignal,p=void 0===h?null:h,f=r.responseType,d=void 0===f?void 0:f,y=r.skipConnectionTimeout,v=void 0!==y&&y,m=r.enableKeepAlive,g=void 0===m?void 0:m,this.configuration.validate(),w=Date.now(),this.logger.debug("Request #".concat(w,": Performing ").concat(t.toUpperCase()," request: ").concat(n)),C=A().mark((function e(){var r,o,s,u,h,f,y,m,C;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=E.getNextNode(w),E.logger.debug("Request #".concat(w,": Attempting ").concat(t.toUpperCase()," request Try #").concat(k," to Node ").concat(r.index)),!p||!p.aborted){e.next=4;break}return e.abrupt("return",{v:Promise.reject(new Error("Request aborted by caller."))});case 4:return e.prev=4,s={method:t,url:E.uriFor(n,r),headers:Object.assign({},E.defaultHeaders(),l,E.additionalUserHeaders),maxContentLength:1/0,maxBodyLength:1/0,responseType:d,validateStatus:function(e){return e>0},transformResponse:[function(e,t){var n=e;return void 0!==t&&"string"==typeof e&&t["content-type"]&&t["content-type"].startsWith("application/json")&&(n=JSON.parse(e)),n}]},!0!==v&&(s.timeout=1e3*E.connectionTimeoutSeconds),a&&0!==Object.keys(a).length&&(s.params=a),E.sendApiKeyAsQueryParam&&(s.params=s.params||{},s.params["x-typesense-api-key"]=E.apiKey),E.configuration.httpAgent?(E.logger.debug("Request #".concat(w,": Using custom httpAgent")),s.httpAgent=E.configuration.httpAgent):!0===g&&(mn?(E.logger.debug("Request #".concat(w,": Enabling KeepAlive")),s.httpAgent=new dn.Agent({keepAlive:!0})):E.logger.warn("Request #".concat(w,": Cannot use custom httpAgent in a browser environment to enable keepAlive"))),E.configuration.httpsAgent?(E.logger.debug("Request #".concat(w,": Using custom httpsAgent")),s.httpsAgent=E.configuration.httpsAgent):!0===g&&(mn?(E.logger.debug("Request #".concat(w,": Enabling keepAlive")),s.httpsAgent=new yn.Agent({keepAlive:!0})):E.logger.warn("Request #".concat(w,": Cannot use custom httpAgent in a browser environment to enable keepAlive"))),E.configuration.paramsSerializer&&(E.logger.debug("Request #".concat(w,": Using custom paramsSerializer")),s.paramsSerializer=E.configuration.paramsSerializer),c&&("string"==typeof c&&0!==c.length||"object"===i(c)&&0!==Object.keys(c).length)&&(s.data=c),p&&(u=Jt.CancelToken,h=u.source(),o=function(){return h.cancel()},p.addEventListener("abort",o),s.cancelToken=h.token),e.next=16,Jt(s);case 16:if((f=e.sent).status>=1&&f.status<=499&&E.setNodeHealthcheck(r,vn),E.logger.debug("Request #".concat(w,": Request to Node ").concat(r.index," was made. Response Code was ").concat(f.status,".")),!(f.status>=200&&f.status<300)){e.next=23;break}return e.abrupt("return",{v:Promise.resolve(f.data)});case 23:if(!(f.status<500)){e.next=27;break}return e.abrupt("return",{v:Promise.reject(E.customErrorForResponse(f,null===(y=f.data)||void 0===y?void 0:y.message))});case 27:throw E.customErrorForResponse(f,null===(m=f.data)||void 0===m?void 0:m.message);case 28:e.next=38;break;case 30:return e.prev=30,e.t0=e.catch(4),E.setNodeHealthcheck(r,!1),b=e.t0,E.logger.warn("Request #".concat(w,": Request to Node ").concat(r.index,' failed due to "').concat(e.t0.code," ").concat(e.t0.message).concat(null==e.t0.response?"":" - "+JSON.stringify(null===(C=e.t0.response)||void 0===C?void 0:C.data),'"')),E.logger.warn("Request #".concat(w,": Sleeping for ").concat(E.retryIntervalSeconds,"s and then retrying request...")),e.next=38,E.timer(E.retryIntervalSeconds);case 38:return e.prev=38,p&&o&&p.removeEventListener("abort",o),e.finish(38);case 41:case"end":return e.stop()}}),e,null,[[4,30,38,41]])})),k=1;case 6:if(!(k<=this.numRetriesPerRequest+1)){e.next=14;break}return e.delegateYield(C(),"t0",8);case 8:if(!(R=e.t0)){e.next=11;break}return e.abrupt("return",R.v);case 11:k++,e.next=6;break;case 14:return this.logger.debug("Request #".concat(w,": No retries left. Raising last error")),e.abrupt("return",Promise.reject(b));case 16:case"end":return e.stop()}}),e,this)}))),function(e,t,r){return n.apply(this,arguments)})},{key:"getNextNode",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(null!=this.nearestNode){if(this.logger.debug("Request #".concat(e,": Nodes Health: Node ").concat(this.nearestNode.index," is ").concat(!0===this.nearestNode.isHealthy?"Healthy":"Unhealthy")),!0===this.nearestNode.isHealthy||this.nodeDueForHealthcheck(this.nearestNode,e))return this.logger.debug("Request #".concat(e,": Updated current node to Node ").concat(this.nearestNode.index)),this.nearestNode;this.logger.debug("Request #".concat(e,": Falling back to individual nodes"))}this.logger.debug("Request #".concat(e,": Nodes Health: ").concat(this.nodes.map((function(e){return"Node ".concat(e.index," is ").concat(!0===e.isHealthy?"Healthy":"Unhealthy")})).join(" || ")));for(var t=this.nodes[0],n=0;n<=this.nodes.length;n++)if(this.currentNodeIndex=(this.currentNodeIndex+1)%this.nodes.length,!0===(t=this.nodes[this.currentNodeIndex]).isHealthy||this.nodeDueForHealthcheck(t,e))return this.logger.debug("Request #".concat(e,": Updated current node to Node ").concat(t.index)),t;return this.logger.debug("Request #".concat(e,": No healthy nodes were found. Returning the next node, Node ").concat(t.index)),t}},{key:"nodeDueForHealthcheck",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=Date.now()-e.lastAccessTimestamp>1e3*this.healthcheckIntervalSeconds;return n&&this.logger.debug("Request #".concat(t,": Node ").concat(e.index," has exceeded healtcheckIntervalSeconds of ").concat(this.healthcheckIntervalSeconds,". Adding it back into rotation.")),n}},{key:"initializeMetadataForNodes",value:function(){var e=this;null!=this.nearestNode&&(this.nearestNode.index="nearestNode",this.setNodeHealthcheck(this.nearestNode,vn)),this.nodes.forEach((function(t,n){t.index=n,e.setNodeHealthcheck(t,vn)}))}},{key:"setNodeHealthcheck",value:function(e,t){e.isHealthy=t,e.lastAccessTimestamp=Date.now()}},{key:"uriFor",value:function(e,t){return null!=t.url?"".concat(t.url).concat(e):"".concat(t.protocol,"://").concat(t.host,":").concat(t.port).concat(t.path).concat(e)}},{key:"defaultHeaders",value:function(){var e={};return this.sendApiKeyAsQueryParam||(e["X-TYPESENSE-API-KEY"]=this.apiKey),e["Content-Type"]="application/json",e}},{key:"timer",value:(t=P(A().mark((function e(t){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e){return setTimeout(e,1e3*t)})));case 1:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})},{key:"customErrorForResponse",value:function(e,t){var n="Request failed with HTTP code ".concat(e.status);"string"==typeof t&&""!==t.trim()&&(n+=" | Server said: ".concat(t));var r=new b(n);return(r=400===e.status?new Vt(n):401===e.status?new Xt(n):404===e.status?new en(n):409===e.status?new rn(n):422===e.status?new sn(n):e.status>=500&&e.status<=599?new ln(n):new fn(n)).httpStatus=e.status,r}}]),e}(),wn="/collections",bn=function(){function e(t){o(this,e),this.apiCall=t}var t,n;return c(e,[{key:"create",value:(n=P(A().mark((function e(t){var n,r=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},e.abrupt("return",this.apiCall.post(wn,t,n));case 2:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){var t,n=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.length>0&&void 0!==n[0]?n[0]:{},e.abrupt("return",this.apiCall.get(wn,t));case 2:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}],[{key:"RESOURCEPATH",get:function(){return wn}}]),e}();function Cn(e,t,n){return t=f(t),p(e,Rn()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function Rn(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Rn=function(){return!!e})()}var kn=function(e){function t(e,n){var r;return o(this,t),(r=Cn(this,t,[e])).importResults=n,r}return y(t,e),c(t)}(b);function En(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);nc&&(y=this.responseCache.keys().next().value,this.responseCache.delete(y)),this.responsePromiseCache.size>c&&(v=this.responsePromiseCache.keys().next().value,this.responsePromiseCache.delete(v)),e.abrupt("return",d);case 37:case"end":return e.stop()}}),e,this)}))),function(e,n,r,o){return t.apply(this,arguments)})}]),e}(),xn="/documents",An=function(){function e(t,n,r){o(this,e),u(this,"requestWithCache",new Pn),this.collectionName=t,this.apiCall=n,this.configuration=r}var t;return c(e,[{key:"clearCache",value:function(){this.requestWithCache.clearCache()}},{key:"search",value:(t=P(A().mark((function e(t){var n,r,o,i,a,s,c,u,l=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(c in r=(n=l.length>1&&void 0!==l[1]?l[1]:{}).cacheSearchResultsForSeconds,o=void 0===r?this.configuration.cacheSearchResultsForSeconds:r,i=n.abortSignal,a=void 0===i?null:i,s={},!0===this.configuration.useServerSideSearchCache&&(s.use_cache=!0),t)Array.isArray(t[c])&&(s[c]=t[c].join(","));return u=Object.assign({},t,s),e.abrupt("return",this.requestWithCache.perform(this.apiCall,this.apiCall.get,[this.endpointPath("search"),u,{abortSignal:a}],{cacheResponseForSeconds:o}));case 6:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"endpointPath",value:function(e){return"".concat(bn.RESOURCEPATH,"/").concat(this.collectionName).concat(xn).concat(void 0===e?"":"/"+e)}}],[{key:"RESOURCEPATH",get:function(){return xn}}]),e}();function Tn(e,t,n){return t=f(t),p(e,Nn()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function Nn(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Nn=function(){return!!e})()}var jn="undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node,Un=function(e){function t(e,n,r){return o(this,t),Tn(this,t,[e,n,r])}var n,r,i,a,s,u,l,h,p;return y(t,e),c(t,[{key:"create",value:(p=P(A().mark((function e(t){var n,r=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=r.length>1&&void 0!==r[1]?r[1]:{},t){e.next=3;break}throw new Error("No document provided");case 3:return e.abrupt("return",this.apiCall.post(this.endpointPath(),t,n));case 4:case"end":return e.stop()}}),e,this)}))),function(e){return p.apply(this,arguments)})},{key:"upsert",value:(h=P(A().mark((function e(t){var n,r=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=r.length>1&&void 0!==r[1]?r[1]:{},t){e.next=3;break}throw new Error("No document provided");case 3:return e.abrupt("return",this.apiCall.post(this.endpointPath(),t,Object.assign({},n,{action:"upsert"})));case 4:case"end":return e.stop()}}),e,this)}))),function(e){return h.apply(this,arguments)})},{key:"update",value:(l=P(A().mark((function e(t){var n,r=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=r.length>1&&void 0!==r[1]?r[1]:{},t){e.next=3;break}throw new Error("No document provided");case 3:if(null==n.filter_by){e.next=7;break}return e.abrupt("return",this.apiCall.patch(this.endpointPath(),t,Object.assign({},n)));case 7:return e.abrupt("return",this.apiCall.post(this.endpointPath(),t,Object.assign({},n,{action:"update"})));case 8:case"end":return e.stop()}}),e,this)}))),function(e){return l.apply(this,arguments)})},{key:"delete",value:(u=P(A().mark((function e(){var t,n=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.length>0&&void 0!==n[0]?n[0]:{},e.abrupt("return",this.apiCall.delete(this.endpointPath(),t));case 2:case"end":return e.stop()}}),e,this)}))),function(){return u.apply(this,arguments)})},{key:"createMany",value:(s=P(A().mark((function e(t){var n,r=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},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"),e.abrupt("return",this.import(t,n));case 3:case"end":return e.stop()}}),e,this)}))),function(e){return s.apply(this,arguments)})},{key:"import",value:(a=P(A().mark((function e(t){var n,r,o,i,a,s=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=s.length>1&&void 0!==s[1]?s[1]:{},!Array.isArray(t)){e.next=13;break}e.prev=2,r=t.map((function(e){return JSON.stringify(e)})).join("\n"),e.next=11;break;case 6:if(e.prev=6,e.t0=e.catch(2),!(e.t0 instanceof RangeError&&e.t0.message.includes("Too many properties to enumerate"))){e.next=10;break}throw new Error("".concat(e.t0,"\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 "));case 10:throw new Error(e.t0);case 11:e.next=14;break;case 13:r=t;case 14:return e.next=16,this.apiCall.performRequest("post",this.endpointPath("import"),{queryParameters:n,bodyParameters:r,additionalHeaders:{"Content-Type":"text/plain"},skipConnectionTimeout:!0,enableKeepAlive:!!jn});case 16:if(o=e.sent,!Array.isArray(t)){e.next=27;break}if(i=o.split("\n").map((function(e){return JSON.parse(e)})),!((a=i.filter((function(e){return!1===e.success}))).length>0)){e.next=24;break}throw new kn("".concat(i.length-a.length," documents imported successfully, ").concat(a.length," documents failed during import. Use `error.importResults` from the raised exception to get a detailed error reason for each document."),i);case 24:return e.abrupt("return",i);case 25:e.next=28;break;case 27:return e.abrupt("return",o);case 28:case"end":return e.stop()}}),e,this,[[2,6]])}))),function(e){return a.apply(this,arguments)})},{key:"importStream",value:(i=P(A().mark((function e(t){var n,r,o,i,a=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=a.length>1&&void 0!==a[1]?a[1]:{},e.next=3,this.apiCall.performRequest("post",this.endpointPath("import"),{queryParameters:n,bodyParameters:t,additionalHeaders:{"Content-Type":"text/plain"},skipConnectionTimeout:!0,enableKeepAlive:!!jn});case 3:if(r=e.sent,o=r.split("\n").map((function(e){return JSON.parse(e)})),!((i=o.filter((function(e){return!1===e.success}))).length>0)){e.next=10;break}throw new kn("".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);case 10:return e.abrupt("return",o);case 11:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})},{key:"export",value:(r=P(A().mark((function e(){var t,n=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.length>0&&void 0!==n[0]?n[0]:{},e.abrupt("return",this.apiCall.get(this.endpointPath("export"),t));case 2:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"exportStream",value:(n=P(A().mark((function e(){var t,n=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.length>0&&void 0!==n[0]?n[0]:{},e.abrupt("return",this.apiCall.get(this.endpointPath("export"),t,{responseType:"stream"}));case 2:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})}]),t}(An),_n=function(){function e(t,n){o(this,e),this.collectionName=t,this.apiCall=n}var t,n;return c(e,[{key:"upsert",value:(n=P(A().mark((function e(t,n){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.put(this.endpointPath(t),n));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(t){return"".concat(bn.RESOURCEPATH,"/").concat(this.collectionName).concat(e.RESOURCEPATH).concat(void 0===t?"":"/"+encodeURIComponent(t))}}],[{key:"RESOURCEPATH",get:function(){return"/overrides"}}]),e}(),Ln=function(){function e(t,n,r){o(this,e),this.collectionName=t,this.overrideId=n,this.apiCall=r}var t,n;return c(e,[{key:"retrieve",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(bn.RESOURCEPATH,"/").concat(encodeURIComponent(this.collectionName)).concat(_n.RESOURCEPATH,"/").concat(encodeURIComponent(this.overrideId))}}]),e}(),In=function(){function e(t,n){o(this,e),this.collectionName=t,this.apiCall=n}var t,n;return c(e,[{key:"upsert",value:(n=P(A().mark((function e(t,n){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.put(this.endpointPath(t),n));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(t){return"".concat(bn.RESOURCEPATH,"/").concat(encodeURIComponent(this.collectionName)).concat(e.RESOURCEPATH).concat(void 0===t?"":"/"+encodeURIComponent(t))}}],[{key:"RESOURCEPATH",get:function(){return"/synonyms"}}]),e}(),Fn=function(){function e(t,n,r){o(this,e),this.collectionName=t,this.synonymId=n,this.apiCall=r}var t,n;return c(e,[{key:"retrieve",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(bn.RESOURCEPATH,"/").concat(encodeURIComponent(this.collectionName)).concat(In.RESOURCEPATH,"/").concat(encodeURIComponent(this.synonymId))}}]),e}(),qn=function(){function e(t,n,r){o(this,e),this.collectionName=t,this.documentId=n,this.apiCall=r}var t,n,r;return c(e,[{key:"retrieve",value:(r=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"delete",value:(n=P(A().mark((function e(t){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath(),t));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"update",value:(t=P(A().mark((function e(t){var n,r=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},e.abrupt("return",this.apiCall.patch(this.endpointPath(),t,n));case 2:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(bn.RESOURCEPATH,"/").concat(encodeURIComponent(this.collectionName)).concat(Un.RESOURCEPATH,"/").concat(encodeURIComponent(this.documentId))}}]),e}(),Bn=function(){function e(t,n,r){o(this,e),u(this,"individualDocuments",{}),u(this,"individualOverrides",{}),u(this,"individualSynonyms",{}),this.name=t,this.apiCall=n,this.configuration=r,this.name=t,this.apiCall=n,this.configuration=r,this._documents=new Un(this.name,this.apiCall,this.configuration),this._overrides=new _n(this.name,this.apiCall),this._synonyms=new In(this.name,this.apiCall)}var t,n,r,i;return c(e,[{key:"retrieve",value:(i=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return i.apply(this,arguments)})},{key:"update",value:(r=P(A().mark((function e(t){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.patch(this.endpointPath(),t));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"delete",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"exists",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.retrieve();case 3:return e.abrupt("return",!0);case 6:if(e.prev=6,e.t0=e.catch(0),!(e.t0 instanceof en)){e.next=10;break}return e.abrupt("return",!1);case 10:throw e.t0;case 11:case"end":return e.stop()}}),e,this,[[0,6]])}))),function(){return t.apply(this,arguments)})},{key:"documents",value:function(e){return e?(void 0===this.individualDocuments[e]&&(this.individualDocuments[e]=new qn(this.name,e,this.apiCall)),this.individualDocuments[e]):this._documents}},{key:"overrides",value:function(e){return void 0===e?this._overrides:(void 0===this.individualOverrides[e]&&(this.individualOverrides[e]=new Ln(this.name,e,this.apiCall)),this.individualOverrides[e])}},{key:"synonyms",value:function(e){return void 0===e?this._synonyms:(void 0===this.individualSynonyms[e]&&(this.individualSynonyms[e]=new Fn(this.name,e,this.apiCall)),this.individualSynonyms[e])}},{key:"endpointPath",value:function(){return"".concat(bn.RESOURCEPATH,"/").concat(encodeURIComponent(this.name))}}]),e}(),Hn="/aliases",Dn=function(){function e(t){o(this,e),this.apiCall=t}var t,n;return c(e,[{key:"upsert",value:(n=P(A().mark((function e(t,n){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.put(this.endpointPath(t),n));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(Hn));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(t){return"".concat(e.RESOURCEPATH,"/").concat(encodeURIComponent(t))}}],[{key:"RESOURCEPATH",get:function(){return Hn}}]),e}(),Mn=function(){function e(t,n){o(this,e),this.name=t,this.apiCall=n}var t,n;return c(e,[{key:"retrieve",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(Dn.RESOURCEPATH,"/").concat(encodeURIComponent(this.name))}}]),e}(),Kn=n(612),zn="/keys",Jn=function(){function e(t){o(this,e),this.apiCall=t,this.apiCall=t}var t,n;return c(e,[{key:"create",value:(n=P(A().mark((function t(n){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.post(e.RESOURCEPATH,n));case 1:case"end":return t.stop()}}),t,this)}))),function(e){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(zn));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"generateScopedSearchKey",value:function(e,t){var n=JSON.stringify(t),r=Buffer.from((0,Kn.createHmac)("sha256",e).update(n).digest("base64")),o=e.substr(0,4),i="".concat(r).concat(o).concat(n);return Buffer.from(i).toString("base64")}}],[{key:"RESOURCEPATH",get:function(){return zn}}]),e}(),Wn=function(){function e(t,n){o(this,e),this.id=t,this.apiCall=n}var t,n;return c(e,[{key:"retrieve",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(Jn.RESOURCEPATH,"/").concat(encodeURIComponent(this.id))}}]),e}(),Gn=function(){function e(t){o(this,e),this.apiCall=t}var t;return c(e,[{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get("/debug"));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}]),e}(),Vn=function(){function e(t){o(this,e),this.apiCall=t}var t;return c(e,[{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get("/metrics.json"));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}]),e}(),Qn=function(){function e(t){o(this,e),this.apiCall=t}var t;return c(e,[{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get("/stats.json"));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}]),e}(),$n=function(){function e(t){o(this,e),this.apiCall=t}var t;return c(e,[{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get("/health"));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}]),e}(),Xn=function(){function e(t){o(this,e),this.apiCall=t}var t;return c(e,[{key:"perform",value:(t=P(A().mark((function e(t){var n,r=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},e.abrupt("return",this.apiCall.post("".concat("/operations","/").concat(t),{},n));case 2:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})}]),e}(),Yn=function(){function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];o(this,e),this.apiCall=t,this.configuration=n,this.useTextContentType=r,this.requestWithCache=new Pn}var t;return c(e,[{key:"clearCache",value:function(){this.requestWithCache.clearCache()}},{key:"perform",value:(t=P(A().mark((function e(t){var n,r,o,i,a,s,c=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=c.length>1&&void 0!==c[1]?c[1]:{},r=(c.length>2&&void 0!==c[2]?c[2]:{}).cacheSearchResultsForSeconds,o=void 0===r?this.configuration.cacheSearchResultsForSeconds:r,i={},this.useTextContentType&&(i["content-type"]="text/plain"),a={},!0===this.configuration.useServerSideSearchCache&&(a.use_cache=!0),s=Object.assign({},n,a),e.abrupt("return",this.requestWithCache.perform(this.apiCall,this.apiCall.post,["/multi_search",t,s,i],{cacheResponseForSeconds:o}));case 8:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})}]),e}(),Zn=function(){function e(t){o(this,e),this.apiCall=t}var t,n;return c(e,[{key:"upsert",value:(n=P(A().mark((function e(t,n){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.put(this.endpointPath(t),n));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(t){return"".concat(e.RESOURCEPATH).concat(void 0===t?"":"/"+encodeURIComponent(t))}}],[{key:"RESOURCEPATH",get:function(){return"/presets"}}]),e}(),er=function(){function e(t,n){o(this,e),this.presetId=t,this.apiCall=n}var t,n;return c(e,[{key:"retrieve",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(Zn.RESOURCEPATH,"/").concat(encodeURIComponent(this.presetId))}}]),e}(),tr=function(){function e(t){o(this,e),this.apiCall=t,this.apiCall=t}var t,n;return c(e,[{key:"upsert",value:(n=P(A().mark((function e(t,n){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.put(this.endpointPath(t),n));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(t){return"".concat(e.RESOURCEPATH).concat(void 0===t?"":"/"+encodeURIComponent(t))}}],[{key:"RESOURCEPATH",get:function(){return"/analytics/rules"}}]),e}(),nr=function(){function e(t,n){o(this,e),this.name=t,this.apiCall=n}var t,n;return c(e,[{key:"retrieve",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(tr.RESOURCEPATH,"/").concat(encodeURIComponent(this.name))}}]),e}(),rr=function(){function e(t){o(this,e),this.apiCall=t,this.apiCall=t}var t;return c(e,[{key:"create",value:(t=P(A().mark((function e(t){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.post(this.endpointPath(),t));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"endpointPath",value:function(t){return"".concat(e.RESOURCEPATH).concat(void 0===t?"":"/"+encodeURIComponent(t))}}],[{key:"RESOURCEPATH",get:function(){return"/analytics/events"}}]),e}(),or=function(){function e(t){o(this,e),u(this,"individualAnalyticsRules",{}),this.apiCall=t,this.apiCall=t,this._analyticsRules=new tr(this.apiCall),this._analyticsEvents=new rr(this.apiCall)}return c(e,[{key:"rules",value:function(e){return void 0===e?this._analyticsRules:(void 0===this.individualAnalyticsRules[e]&&(this.individualAnalyticsRules[e]=new nr(e,this.apiCall)),this.individualAnalyticsRules[e])}},{key:"events",value:function(){return this._analyticsEvents}}],[{key:"RESOURCEPATH",get:function(){return"/analytics"}}]),e}(),ir=function(){function e(t){o(this,e),this.apiCall=t}var t,n;return c(e,[{key:"upsert",value:(n=P(A().mark((function e(t,n){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.put(this.endpointPath(t),n));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(t){return"".concat(e.RESOURCEPATH).concat(void 0===t?"":"/"+encodeURIComponent(t))}}],[{key:"RESOURCEPATH",get:function(){return"/stopwords"}}]),e}(),ar=function(){function e(t,n){o(this,e),this.stopwordId=t,this.apiCall=n}var t,n;return c(e,[{key:"retrieve",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(ir.RESOURCEPATH,"/").concat(encodeURIComponent(this.stopwordId))}}]),e}(),sr=function(){function e(t){o(this,e),this.apiCall=t,this.apiCall=t}var t,n;return c(e,[{key:"create",value:(n=P(A().mark((function e(t){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.post(this.endpointPath(),t));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(t){return"".concat(e.RESOURCEPATH).concat(void 0===t?"":"/"+encodeURIComponent(t))}}],[{key:"RESOURCEPATH",get:function(){return"/conversations/models"}}]),e}(),cr=function(){function e(t,n){o(this,e),this.id=t,this.apiCall=n}var t,n,r;return c(e,[{key:"update",value:(r=P(A().mark((function e(t){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.put(this.endpointPath(),t));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"retrieve",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(sr.RESOURCEPATH,"/").concat(encodeURIComponent(this.id))}}]),e}(),ur="/conversations",lr=function(){function e(t){o(this,e),u(this,"individualConversationModels",{}),this.apiCall=t,this.apiCall=t,this._conversationsModels=new sr(this.apiCall)}var t;return c(e,[{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(ur));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"models",value:function(e){return void 0===e?this._conversationsModels:(void 0===this.individualConversationModels[e]&&(this.individualConversationModels[e]=new cr(e,this.apiCall)),this.individualConversationModels[e])}}],[{key:"RESOURCEPATH",get:function(){return ur}}]),e}(),hr=function(){function e(t,n){o(this,e),this.id=t,this.apiCall=n}var t,n,r;return c(e,[{key:"retrieve",value:(r=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"update",value:(n=P(A().mark((function e(t){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.put(this.endpointPath(),t));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(lr.RESOURCEPATH,"/").concat(encodeURIComponent(this.id))}}]),e}(),pr=function(){function e(t){var n;o(this,e),t.sendApiKeyAsQueryParam=null!==(n=t.sendApiKeyAsQueryParam)&&void 0!==n&&n,this.configuration=new S(t),this.apiCall=new gn(this.configuration),this.debug=new Gn(this.apiCall),this.metrics=new Vn(this.apiCall),this.stats=new Qn(this.apiCall),this.health=new $n(this.apiCall),this.operations=new Xn(this.apiCall),this.multiSearch=new Yn(this.apiCall,this.configuration),this._collections=new bn(this.apiCall),this.individualCollections={},this._aliases=new Dn(this.apiCall),this.individualAliases={},this._keys=new Jn(this.apiCall),this.individualKeys={},this._presets=new Zn(this.apiCall),this.individualPresets={},this._stopwords=new ir(this.apiCall),this.individualStopwords={},this.analytics=new or(this.apiCall),this._conversations=new lr(this.apiCall),this.individualConversations={}}return c(e,[{key:"collections",value:function(e){return void 0===e?this._collections:(void 0===this.individualCollections[e]&&(this.individualCollections[e]=new Bn(e,this.apiCall,this.configuration)),this.individualCollections[e])}},{key:"aliases",value:function(e){return void 0===e?this._aliases:(void 0===this.individualAliases[e]&&(this.individualAliases[e]=new Mn(e,this.apiCall)),this.individualAliases[e])}},{key:"keys",value:function(e){return void 0===e?this._keys:(void 0===this.individualKeys[e]&&(this.individualKeys[e]=new Wn(e,this.apiCall)),this.individualKeys[e])}},{key:"presets",value:function(e){return void 0===e?this._presets:(void 0===this.individualPresets[e]&&(this.individualPresets[e]=new er(e,this.apiCall)),this.individualPresets[e])}},{key:"stopwords",value:function(e){return void 0===e?this._stopwords:(void 0===this.individualStopwords[e]&&(this.individualStopwords[e]=new ar(e,this.apiCall)),this.individualStopwords[e])}},{key:"conversations",value:function(e){return void 0===e?this._conversations:(void 0===this.individualConversations[e]&&(this.individualConversations[e]=new hr(e,this.apiCall)),this.individualConversations[e])}}]),e}();var fr=function(){function e(t,n,r){o(this,e),this.name=t,this.apiCall=n,this.configuration=r,this._documents=new An(this.name,this.apiCall,this.configuration)}return c(e,[{key:"documents",value:function(){return this._documents}}]),e}(),dr=function(){function e(t){var n;o(this,e),t.sendApiKeyAsQueryParam=null===(n=t.sendApiKeyAsQueryParam)||void 0===n||n,!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 S(t),this.apiCall=new gn(this.configuration),this.multiSearch=new Yn(this.apiCall,this.configuration,!0),this.individualCollections={}}return c(e,[{key:"clearCache",value:function(){this.multiSearch.clearCache(),Object.entries(this.individualCollections).forEach((function(e){var t,n,r=(n=2,function(e){if(Array.isArray(e))return e}(t=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],c=!0,u=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}(t,n)||Sn(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}());r[0],r[1].documents().clearCache()}))}},{key:"collections",value:function(e){if(e)return void 0===this.individualCollections[e]&&(this.individualCollections[e]=new fr(e,this.apiCall,this.configuration)),this.individualCollections[e];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.")}}]),e}();const yr={Client:pr,SearchClient:dr,Errors:t}})(),Typesense=r})(); -//# sourceMappingURL=typesense.min.js.map \ No newline at end of file diff --git a/dist/typesense.min.js.map b/dist/typesense.min.js.map deleted file mode 100644 index 9e150cf6..00000000 --- a/dist/typesense.min.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"typesense.min.js","mappings":"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","sources":["webpack://Typesense/./node_modules/loglevel/lib/loglevel.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/regenerator/index.js","webpack://Typesense/webpack/bootstrap","webpack://Typesense/webpack/runtime/compat get default export","webpack://Typesense/webpack/runtime/define property getters","webpack://Typesense/webpack/runtime/hasOwnProperty shorthand","webpack://Typesense/webpack/runtime/make namespace object","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://Typesense/./src/Typesense/Errors/TypesenseError.ts","webpack://Typesense/./src/Typesense/Errors/MissingConfigurationError.ts","webpack://Typesense/./src/Typesense/Configuration.ts","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://Typesense/./node_modules/axios/lib/helpers/bind.js","webpack://Typesense/./node_modules/axios/lib/utils.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosError.js","webpack://Typesense/./node_modules/axios/lib/helpers/toFormData.js","webpack://Typesense/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/helpers/buildURL.js","webpack://Typesense/./node_modules/axios/lib/core/InterceptorManager.js","webpack://Typesense/./node_modules/axios/lib/defaults/transitional.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/index.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://Typesense/./node_modules/axios/lib/platform/common/utils.js","webpack://Typesense/./node_modules/axios/lib/platform/index.js","webpack://Typesense/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://Typesense/./node_modules/axios/lib/defaults/index.js","webpack://Typesense/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://Typesense/./node_modules/axios/lib/core/transformData.js","webpack://Typesense/./node_modules/axios/lib/cancel/isCancel.js","webpack://Typesense/./node_modules/axios/lib/cancel/CanceledError.js","webpack://Typesense/./node_modules/axios/lib/core/settle.js","webpack://Typesense/./node_modules/axios/lib/helpers/speedometer.js","webpack://Typesense/./node_modules/axios/lib/helpers/progressEventReducer.js","webpack://Typesense/./node_modules/axios/lib/helpers/throttle.js","webpack://Typesense/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://Typesense/./node_modules/axios/lib/helpers/cookies.js","webpack://Typesense/./node_modules/axios/lib/core/buildFullPath.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://Typesense/./node_modules/axios/lib/helpers/combineURLs.js","webpack://Typesense/./node_modules/axios/lib/core/mergeConfig.js","webpack://Typesense/./node_modules/axios/lib/helpers/resolveConfig.js","webpack://Typesense/./node_modules/axios/lib/adapters/xhr.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://Typesense/./node_modules/axios/lib/helpers/composeSignals.js","webpack://Typesense/./node_modules/axios/lib/helpers/trackStream.js","webpack://Typesense/./node_modules/axios/lib/adapters/fetch.js","webpack://Typesense/./node_modules/axios/lib/adapters/adapters.js","webpack://Typesense/./node_modules/axios/lib/helpers/null.js","webpack://Typesense/./node_modules/axios/lib/core/dispatchRequest.js","webpack://Typesense/./node_modules/axios/lib/env/data.js","webpack://Typesense/./node_modules/axios/lib/helpers/validator.js","webpack://Typesense/./node_modules/axios/lib/core/Axios.js","webpack://Typesense/./node_modules/axios/lib/cancel/CancelToken.js","webpack://Typesense/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://Typesense/./node_modules/axios/lib/axios.js","webpack://Typesense/./node_modules/axios/lib/helpers/spread.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://Typesense/./src/Typesense/Errors/RequestMalformed.ts","webpack://Typesense/./src/Typesense/Errors/RequestUnauthorized.ts","webpack://Typesense/./src/Typesense/Errors/ObjectNotFound.ts","webpack://Typesense/./src/Typesense/Errors/ObjectAlreadyExists.ts","webpack://Typesense/./src/Typesense/Errors/ObjectUnprocessable.ts","webpack://Typesense/./src/Typesense/Errors/ServerError.ts","webpack://Typesense/./src/Typesense/Errors/HTTPError.ts","webpack://Typesense/./src/Typesense/ApiCall.ts","webpack://Typesense/./src/Typesense/Collections.ts","webpack://Typesense/./src/Typesense/Errors/ImportError.ts","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://Typesense/./src/Typesense/RequestWithCache.ts","webpack://Typesense/./src/Typesense/SearchOnlyDocuments.ts","webpack://Typesense/./src/Typesense/Documents.ts","webpack://Typesense/./src/Typesense/Overrides.ts","webpack://Typesense/./src/Typesense/Override.ts","webpack://Typesense/./src/Typesense/Synonyms.ts","webpack://Typesense/./src/Typesense/Synonym.ts","webpack://Typesense/./src/Typesense/Document.ts","webpack://Typesense/./src/Typesense/Collection.ts","webpack://Typesense/./src/Typesense/Aliases.ts","webpack://Typesense/./src/Typesense/Alias.ts","webpack://Typesense/./src/Typesense/Keys.ts","webpack://Typesense/./src/Typesense/Key.ts","webpack://Typesense/./src/Typesense/Debug.ts","webpack://Typesense/./src/Typesense/Metrics.ts","webpack://Typesense/./src/Typesense/Stats.ts","webpack://Typesense/./src/Typesense/Health.ts","webpack://Typesense/./src/Typesense/Operations.ts","webpack://Typesense/./src/Typesense/MultiSearch.ts","webpack://Typesense/./src/Typesense/Presets.ts","webpack://Typesense/./src/Typesense/Preset.ts","webpack://Typesense/./src/Typesense/AnalyticsRules.ts","webpack://Typesense/./src/Typesense/AnalyticsRule.ts","webpack://Typesense/./src/Typesense/AnalyticsEvents.ts","webpack://Typesense/./src/Typesense/Analytics.ts","webpack://Typesense/./src/Typesense/Stopwords.ts","webpack://Typesense/./src/Typesense/Stopword.ts","webpack://Typesense/./src/Typesense/ConversationModels.ts","webpack://Typesense/./src/Typesense/ConversationModel.ts","webpack://Typesense/./src/Typesense/Conversations.ts","webpack://Typesense/./src/Typesense/Conversation.ts","webpack://Typesense/./src/Typesense/Client.ts","webpack://Typesense/./src/Typesense/SearchOnlyCollection.ts","webpack://Typesense/./src/Typesense/SearchClient.ts","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://Typesense/./src/Typesense.ts"],"sourcesContent":["/*\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 var _loggersByName = {};\n var defaultLogger = null;\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() {\n /*jshint validthis:true */\n var level = this.getLevel();\n\n // Replace the actual methods.\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, this.name);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n\n // Return any important warnings.\n if (typeof console === undefinedType && level < this.levels.SILENT) {\n return \"No console available for logging\";\n }\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) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this);\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, factory) {\n // Private instance variables.\n var self = this;\n /**\n * The level inherited from a parent logger (or a global default). We\n * cache this here rather than delegating to the parent so that it stays\n * in sync with the actual logging methods that we have installed (the\n * parent could change levels but we might not have rebuilt the loggers\n * in this child yet).\n * @type {number}\n */\n var inheritedLevel;\n /**\n * The default level for this logger, if any. If set, this overrides\n * `inheritedLevel`.\n * @type {number|null}\n */\n var defaultLevel;\n /**\n * A user-specific level for this logger. If set, this overrides\n * `defaultLevel`.\n * @type {number|null}\n */\n var userLevel;\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 cookieName = encodeURIComponent(storageKey);\n var location = cookie.indexOf(cookieName + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(\n cookie.slice(location + cookieName.length + 1)\n )[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 } 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 function normalizeLevel(input) {\n var level = input;\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 return level;\n } else {\n throw new TypeError(\"log.setLevel() called with invalid level: \" + input);\n }\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 if (userLevel != null) {\n return userLevel;\n } else if (defaultLevel != null) {\n return defaultLevel;\n } else {\n return inheritedLevel;\n }\n };\n\n self.setLevel = function (level, persist) {\n userLevel = normalizeLevel(level);\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(userLevel);\n }\n\n // NOTE: in v2, this should call rebuild(), which updates children.\n return replaceLoggingMethods.call(self);\n };\n\n self.setDefaultLevel = function (level) {\n defaultLevel = normalizeLevel(level);\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.resetLevel = function () {\n userLevel = null;\n clearPersistedLevel();\n replaceLoggingMethods.call(self);\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 self.rebuild = function () {\n if (defaultLogger !== self) {\n inheritedLevel = normalizeLevel(defaultLogger.getLevel());\n }\n replaceLoggingMethods.call(self);\n\n if (defaultLogger === self) {\n for (var childName in _loggersByName) {\n _loggersByName[childName].rebuild();\n }\n }\n };\n\n // Initialize all the internal levels.\n inheritedLevel = normalizeLevel(\n defaultLogger ? defaultLogger.getLevel() : \"WARN\"\n );\n var initialLevel = getPersistedLevel();\n if (initialLevel != null) {\n userLevel = normalizeLevel(initialLevel);\n }\n replaceLoggingMethods.call(self);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n defaultLogger = new Logger();\n\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,\n defaultLogger.methodFactory\n );\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","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 e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw new Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\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))","// 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};","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(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\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 _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n try {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n } catch (e) {\n return typeof fn === \"function\";\n }\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\n}","export default class TypesenseError extends Error {\n httpStatus?: number;\n\n // Source: https://stackoverflow.com/a/58417721/123545\n constructor(message?: string) {\n super(message);\n this.name = new.target.name;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class MissingConfigurationError extends TypesenseError {}\n","import * as logger from \"loglevel\";\nimport { Logger, LogLevelDesc } from \"loglevel\";\nimport { MissingConfigurationError } from \"./Errors\";\nimport type { Agent as HTTPAgent } from \"http\";\nimport type { Agent as HTTPSAgent } from \"https\";\n\nexport interface NodeConfiguration {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n url?: string;\n}\n\nexport interface NodeConfigurationWithHostname {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n}\n\nexport interface NodeConfigurationWithUrl {\n url: string;\n}\n\nexport interface ConfigurationOptions {\n apiKey: string;\n nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n randomizeNodes?: boolean;\n /**\n * @deprecated\n * masterNode is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n masterNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n /**\n * @deprecated\n * readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n readReplicaNodes?:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n connectionTimeoutSeconds?: number;\n timeoutSeconds?: number;\n healthcheckIntervalSeconds?: number;\n numRetries?: number;\n retryIntervalSeconds?: number;\n sendApiKeyAsQueryParam?: boolean | undefined;\n useServerSideSearchCache?: boolean;\n cacheSearchResultsForSeconds?: number;\n additionalHeaders?: Record;\n\n logLevel?: LogLevelDesc;\n logger?: Logger;\n\n /**\n * Set a custom HTTP Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPAgent } = require(\"http\");\n * ...\n * httpAgent: new HTTPAgent({ keepAlive: true }),\n * @type {HTTPAgent}\n */\n httpAgent?: HTTPAgent;\n\n /**\n * Set a custom HTTPS Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPSAgent } = require(\"https\");\n * ...\n * httpsAgent: new HTTPSAgent({ keepAlive: true }),\n * @type {HTTPSAgent}\n */\n httpsAgent?: HTTPSAgent;\n\n /**\n * Set a custom paramsSerializer\n *\n * See axios documentation for more information on how to use this parameter: https://axios-http.com/docs/req_config\n * This is helpful for handling React Native issues like this: https://github.com/axios/axios/issues/6102#issuecomment-2085301397\n * @type {any}\n */\n paramsSerializer?: any;\n}\n\nexport default class Configuration {\n readonly nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n readonly nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n readonly connectionTimeoutSeconds: number;\n readonly healthcheckIntervalSeconds: number;\n readonly numRetries: number;\n readonly retryIntervalSeconds: number;\n readonly apiKey: string;\n readonly sendApiKeyAsQueryParam?: boolean;\n readonly cacheSearchResultsForSeconds: number;\n readonly useServerSideSearchCache: boolean;\n readonly logger: Logger;\n readonly logLevel: LogLevelDesc;\n readonly additionalHeaders?: Record;\n readonly httpAgent?: HTTPAgent;\n readonly httpsAgent?: HTTPSAgent;\n readonly paramsSerializer?: any;\n\n constructor(options: ConfigurationOptions) {\n this.nodes = options.nodes || [];\n this.nodes = this.nodes\n .map((node) => this.setDefaultPathInNode(node))\n .map((node) => this.setDefaultPortInNode(node))\n .map((node) => ({ ...node })) as NodeConfiguration[]; // Make a deep copy\n\n if (options.randomizeNodes == null) {\n options.randomizeNodes = true;\n }\n\n if (options.randomizeNodes === true) {\n this.shuffleArray(this.nodes);\n }\n\n this.nearestNode = options.nearestNode;\n this.nearestNode = this.setDefaultPathInNode(this.nearestNode);\n this.nearestNode = this.setDefaultPortInNode(this.nearestNode);\n\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\n this.apiKey = options.apiKey;\n this.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam; // We will set a default for this in Client and SearchClient\n\n this.cacheSearchResultsForSeconds =\n options.cacheSearchResultsForSeconds || 0; // Disable client-side cache by default\n this.useServerSideSearchCache = options.useServerSideSearchCache || false;\n\n this.logger = options.logger || logger;\n this.logLevel = options.logLevel || \"warn\";\n this.logger.setLevel(this.logLevel);\n\n this.additionalHeaders = options.additionalHeaders;\n\n this.httpAgent = options.httpAgent;\n this.httpsAgent = options.httpsAgent;\n\n this.paramsSerializer = options.paramsSerializer;\n\n this.showDeprecationWarnings(options);\n this.validate();\n }\n\n validate(): boolean {\n if (this.nodes == null || this.nodes.length === 0 || this.validateNodes()) {\n throw new MissingConfigurationError(\n \"Ensure that nodes[].protocol, nodes[].host and nodes[].port are set\",\n );\n }\n\n if (\n this.nearestNode != null &&\n this.isNodeMissingAnyParameters(this.nearestNode)\n ) {\n throw new MissingConfigurationError(\n \"Ensure that nearestNodes.protocol, nearestNodes.host and nearestNodes.port are set\",\n );\n }\n\n if (this.apiKey == null) {\n throw new MissingConfigurationError(\"Ensure that apiKey is set\");\n }\n\n return true;\n }\n\n private validateNodes(): boolean {\n return this.nodes.some((node) => {\n return this.isNodeMissingAnyParameters(node);\n });\n }\n\n private isNodeMissingAnyParameters(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl,\n ): boolean {\n return (\n ![\"protocol\", \"host\", \"port\", \"path\"].every((key) => {\n return node.hasOwnProperty(key);\n }) && node[\"url\"] == null\n );\n }\n\n private setDefaultPathInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (node != null && !node.hasOwnProperty(\"path\")) {\n node[\"path\"] = \"\";\n }\n return node;\n }\n\n private setDefaultPortInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (\n node != null &&\n !node.hasOwnProperty(\"port\") &&\n node.hasOwnProperty(\"protocol\")\n ) {\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\n private showDeprecationWarnings(options: ConfigurationOptions): void {\n if (options.timeoutSeconds) {\n this.logger.warn(\n \"Deprecation warning: timeoutSeconds is now renamed to connectionTimeoutSeconds\",\n );\n }\n if (options.masterNode) {\n this.logger.warn(\n \"Deprecation warning: masterNode is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n if (options.readReplicaNodes) {\n this.logger.warn(\n \"Deprecation warning: readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n }\n\n private shuffleArray(array) {\n for (let i = array.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [array[i], array[j]] = [array[j], array[i]];\n }\n }\n}\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}","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\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 && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let 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 {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\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 *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\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 (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 const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\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 *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && 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 *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\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 *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap\n};\n","'use strict';\n\nimport utils from '../utils.js';\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 {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n 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: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\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 * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\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 */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n 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 *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\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 *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\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 *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\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\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\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 env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\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 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\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} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\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 *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn.apply(null, args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\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 const msie = platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let 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 const 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","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\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 *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default 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\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 *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\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 *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, 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(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const 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 withXSRFToken: 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 beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\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\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, 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 const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n 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(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, 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(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\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 (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : 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 const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst composeSignals = (signals, timeout) => {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (cancel) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = cancel instanceof Error ? cancel : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal &&\n (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort));\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = unsubscribe;\n\n return [signal, () => {\n timer && clearTimeout(timer);\n timer = null;\n }];\n}\n\nexport default composeSignals;\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize, encode) {\n for await (const chunk of iterable) {\n yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize);\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => {\n const iterator = readBytes(stream, chunkSize, encode);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst supportsRequestStream = isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n});\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n return (await new Request(body).arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ?\n composeSignals([signal, cancelToken], timeout) : [];\n\n let finished, request;\n\n const onFinish = () => {\n !finished && setTimeout(() => {\n composedSignal && composedSignal.unsubscribe();\n });\n\n finished = true;\n }\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush, encodeText);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = \"credentials\" in Request.prototype; \n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n isStreamResponse && onFinish();\n }, encodeText),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && onFinish();\n\n stopTimeout && stopTimeout();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n onFinish();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\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 *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(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 config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\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 config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.7.5\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\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 *\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 (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\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 *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(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 {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _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 const {transitional, paramsSerializer, headers} = config;\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 if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let 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 const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\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,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(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, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n 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\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const 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 */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\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\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\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 *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestMalformed extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestUnauthorized extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectNotFound extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectAlreadyExists extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectUnprocessable extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ServerError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class HTTPError extends TypesenseError {}\n","import axios, { AxiosRequestConfig, AxiosResponse, Method } from \"axios\";\nimport { Logger } from \"loglevel\";\nimport {\n HTTPError,\n ObjectAlreadyExists,\n ObjectNotFound,\n ObjectUnprocessable,\n RequestMalformed,\n RequestUnauthorized,\n ServerError,\n} from \"./Errors\";\nimport TypesenseError from \"./Errors/TypesenseError\";\nimport Configuration, { NodeConfiguration } from \"./Configuration\";\nimport { Agent as HTTPAgent } from \"http\";\nimport { Agent as HTTPSAgent } from \"https\";\n\nconst APIKEYHEADERNAME = \"X-TYPESENSE-API-KEY\";\nconst HEALTHY = true;\nconst UNHEALTHY = false;\n\ninterface Node extends NodeConfiguration {\n isHealthy: boolean;\n index: string | number;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class ApiCall {\n private readonly apiKey: string;\n private readonly nodes: Node[];\n private readonly nearestNode: Node;\n private readonly connectionTimeoutSeconds: number;\n private readonly healthcheckIntervalSeconds: number;\n private readonly retryIntervalSeconds: number;\n private readonly sendApiKeyAsQueryParam?: boolean;\n private readonly numRetriesPerRequest: number;\n private readonly additionalUserHeaders?: Record;\n\n private readonly logger: Logger;\n private currentNodeIndex: number;\n\n constructor(private 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\n this.logger = this.configuration.logger;\n\n this.initializeMetadataForNodes();\n this.currentNodeIndex = -1;\n }\n\n async get(\n endpoint: string,\n queryParameters: any = {},\n {\n abortSignal = null,\n responseType = undefined,\n }: {\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n } = {},\n ): Promise {\n return this.performRequest(\"get\", endpoint, {\n queryParameters,\n abortSignal,\n responseType,\n });\n }\n\n async delete(endpoint: string, queryParameters: any = {}): Promise {\n return this.performRequest(\"delete\", endpoint, { queryParameters });\n }\n\n async post(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n additionalHeaders: any = {},\n ): Promise {\n return this.performRequest(\"post\", endpoint, {\n queryParameters,\n bodyParameters,\n additionalHeaders,\n });\n }\n\n async put(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"put\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async patch(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"patch\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async performRequest(\n requestType: Method,\n endpoint: string,\n {\n queryParameters = null,\n bodyParameters = null,\n additionalHeaders = {},\n abortSignal = null,\n responseType = undefined,\n skipConnectionTimeout = false,\n enableKeepAlive = undefined,\n }: {\n queryParameters?: any;\n bodyParameters?: any;\n additionalHeaders?: any;\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n skipConnectionTimeout?: boolean;\n enableKeepAlive?: boolean | undefined;\n },\n ): Promise {\n this.configuration.validate();\n\n const requestNumber = Date.now();\n let lastException;\n this.logger.debug(\n `Request #${requestNumber}: Performing ${requestType.toUpperCase()} request: ${endpoint}`,\n );\n for (\n let numTries = 1;\n numTries <= this.numRetriesPerRequest + 1;\n numTries++\n ) {\n const node = this.getNextNode(requestNumber);\n this.logger.debug(\n `Request #${requestNumber}: Attempting ${requestType.toUpperCase()} request Try #${numTries} to Node ${\n node.index\n }`,\n );\n\n if (abortSignal && abortSignal.aborted) {\n return Promise.reject(new Error(\"Request aborted by caller.\"));\n }\n\n let abortListener;\n\n try {\n const requestOptions: AxiosRequestConfig = {\n method: requestType,\n url: this.uriFor(endpoint, node),\n headers: Object.assign(\n {},\n this.defaultHeaders(),\n additionalHeaders,\n this.additionalUserHeaders,\n ),\n maxContentLength: Infinity,\n maxBodyLength: Infinity,\n responseType,\n validateStatus: (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 (data, headers) => {\n let transformedData = data;\n if (\n headers !== undefined &&\n typeof data === \"string\" &&\n headers[\"content-type\"] &&\n headers[\"content-type\"].startsWith(\"application/json\")\n ) {\n transformedData = JSON.parse(data);\n }\n return transformedData;\n },\n ],\n };\n\n if (skipConnectionTimeout !== true) {\n requestOptions.timeout = this.connectionTimeoutSeconds * 1000;\n }\n\n if (queryParameters && Object.keys(queryParameters).length !== 0) {\n requestOptions.params = queryParameters;\n }\n\n if (this.sendApiKeyAsQueryParam) {\n requestOptions.params = requestOptions.params || {};\n requestOptions.params[\"x-typesense-api-key\"] = this.apiKey;\n }\n\n if (this.configuration.httpAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpAgent`,\n );\n requestOptions.httpAgent = this.configuration.httpAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling KeepAlive`);\n requestOptions.httpAgent = new HTTPAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.httpsAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpsAgent`,\n );\n requestOptions.httpsAgent = this.configuration.httpsAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling keepAlive`);\n requestOptions.httpsAgent = new HTTPSAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.paramsSerializer) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom paramsSerializer`,\n );\n requestOptions.paramsSerializer = this.configuration.paramsSerializer;\n }\n\n if (\n bodyParameters &&\n ((typeof bodyParameters === \"string\" &&\n bodyParameters.length !== 0) ||\n (typeof bodyParameters === \"object\" &&\n Object.keys(bodyParameters).length !== 0))\n ) {\n requestOptions.data = bodyParameters;\n }\n\n // Translate from user-provided AbortController to the Axios request cancel mechanism.\n if (abortSignal) {\n const cancelToken = axios.CancelToken;\n const source = cancelToken.source();\n abortListener = () => source.cancel();\n abortSignal.addEventListener(\"abort\", abortListener);\n requestOptions.cancelToken = source.token;\n }\n\n const response = await axios(requestOptions);\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.setNodeHealthcheck(node, HEALTHY);\n }\n this.logger.debug(\n `Request #${requestNumber}: Request to Node ${node.index} was made. Response Code was ${response.status}.`,\n );\n\n if (response.status >= 200 && response.status < 300) {\n // If response is 2xx return a resolved promise\n return Promise.resolve(response.data);\n } else if (response.status < 500) {\n // Next, if response is anything but 5xx, don't retry, return a custom error\n return Promise.reject(\n this.customErrorForResponse(response, response.data?.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.customErrorForResponse(response, response.data?.message);\n }\n } catch (error: any) {\n // This block handles retries for HTTPStatus > 500 and network layer issues like connection timeouts\n this.setNodeHealthcheck(node, UNHEALTHY);\n lastException = error;\n this.logger.warn(\n `Request #${requestNumber}: Request to Node ${\n node.index\n } failed due to \"${error.code} ${error.message}${\n error.response == null\n ? \"\"\n : \" - \" + JSON.stringify(error.response?.data)\n }\"`,\n );\n // this.logger.debug(error.stack)\n this.logger.warn(\n `Request #${requestNumber}: Sleeping for ${this.retryIntervalSeconds}s and then retrying request...`,\n );\n await this.timer(this.retryIntervalSeconds);\n } finally {\n if (abortSignal && abortListener) {\n abortSignal.removeEventListener(\"abort\", abortListener);\n }\n }\n }\n this.logger.debug(\n `Request #${requestNumber}: No retries left. Raising last error`,\n );\n return Promise.reject(lastException);\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 getNextNode(requestNumber = 0): Node {\n // Check if nearestNode is set and is healthy, if so return it\n if (this.nearestNode != null) {\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: Node ${\n this.nearestNode.index\n } is ${this.nearestNode.isHealthy === true ? \"Healthy\" : \"Unhealthy\"}`,\n );\n if (\n this.nearestNode.isHealthy === true ||\n this.nodeDueForHealthcheck(this.nearestNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${this.nearestNode.index}`,\n );\n return this.nearestNode;\n }\n this.logger.debug(\n `Request #${requestNumber}: Falling back to individual nodes`,\n );\n }\n\n // Fallback to nodes as usual\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: ${this.nodes\n .map(\n (node) =>\n `Node ${node.index} is ${\n node.isHealthy === true ? \"Healthy\" : \"Unhealthy\"\n }`,\n )\n .join(\" || \")}`,\n );\n let candidateNode: Node = this.nodes[0];\n for (let i = 0; i <= this.nodes.length; i++) {\n this.currentNodeIndex = (this.currentNodeIndex + 1) % this.nodes.length;\n candidateNode = this.nodes[this.currentNodeIndex];\n if (\n candidateNode.isHealthy === true ||\n this.nodeDueForHealthcheck(candidateNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\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(\n `Request #${requestNumber}: No healthy nodes were found. Returning the next node, Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\n\n nodeDueForHealthcheck(node, requestNumber = 0): boolean {\n const isDueForHealthcheck =\n Date.now() - node.lastAccessTimestamp >\n this.healthcheckIntervalSeconds * 1000;\n if (isDueForHealthcheck) {\n this.logger.debug(\n `Request #${requestNumber}: Node ${node.index} has exceeded healtcheckIntervalSeconds of ${this.healthcheckIntervalSeconds}. Adding it back into rotation.`,\n );\n }\n return isDueForHealthcheck;\n }\n\n initializeMetadataForNodes(): void {\n if (this.nearestNode != null) {\n this.nearestNode.index = \"nearestNode\";\n this.setNodeHealthcheck(this.nearestNode, HEALTHY);\n }\n\n this.nodes.forEach((node, i) => {\n node.index = i;\n this.setNodeHealthcheck(node, HEALTHY);\n });\n }\n\n setNodeHealthcheck(node, isHealthy): void {\n node.isHealthy = isHealthy;\n node.lastAccessTimestamp = Date.now();\n }\n\n uriFor(endpoint: string, node): string {\n if (node.url != null) {\n return `${node.url}${endpoint}`;\n }\n return `${node.protocol}://${node.host}:${node.port}${node.path}${endpoint}`;\n }\n\n defaultHeaders(): any {\n const defaultHeaders = {};\n if (!this.sendApiKeyAsQueryParam) {\n defaultHeaders[APIKEYHEADERNAME] = this.apiKey;\n }\n defaultHeaders[\"Content-Type\"] = \"application/json\";\n return defaultHeaders;\n }\n\n async timer(seconds): Promise {\n return new Promise((resolve) => setTimeout(resolve, seconds * 1000));\n }\n\n customErrorForResponse(\n response: AxiosResponse,\n messageFromServer: string,\n ): TypesenseError {\n let errorMessage = `Request failed with HTTP code ${response.status}`;\n if (\n typeof messageFromServer === \"string\" &&\n messageFromServer.trim() !== \"\"\n ) {\n errorMessage += ` | Server said: ${messageFromServer}`;\n }\n\n let error = new TypesenseError(errorMessage);\n\n if (response.status === 400) {\n error = new RequestMalformed(errorMessage);\n } else if (response.status === 401) {\n error = new RequestUnauthorized(errorMessage);\n } else if (response.status === 404) {\n error = new ObjectNotFound(errorMessage);\n } else if (response.status === 409) {\n error = new ObjectAlreadyExists(errorMessage);\n } else if (response.status === 422) {\n error = new ObjectUnprocessable(errorMessage);\n } else if (response.status >= 500 && response.status <= 599) {\n error = new ServerError(errorMessage);\n } else {\n error = new HTTPError(errorMessage);\n }\n\n error.httpStatus = response.status;\n\n return error;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { CollectionFieldSchema, CollectionSchema } from \"./Collection\";\n\nexport interface CollectionCreateSchema {\n name: string;\n default_sorting_field?: string;\n fields?: CollectionFieldSchema[];\n symbols_to_index?: string[];\n token_separators?: string[];\n enable_nested_fields?: boolean;\n metadata?: object;\n voice_query_model?: {\n model_name?: string;\n };\n}\n\nexport interface CollectionCreateOptions {\n src_name?: string;\n}\n\nexport interface CollectionsRetrieveOptions {\n exclude_fields?: string;\n}\n\nconst RESOURCEPATH = \"/collections\";\n\nexport default class Collections {\n constructor(private apiCall: ApiCall) {}\n\n async create(\n schema: CollectionCreateSchema,\n options: CollectionCreateOptions = {},\n ): Promise {\n return this.apiCall.post(RESOURCEPATH, schema, options);\n }\n\n async retrieve(\n options: CollectionsRetrieveOptions = {},\n ): Promise {\n return this.apiCall.get(RESOURCEPATH, options);\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import TypesenseError from \"./TypesenseError\";\nimport { ImportResponse } from \"../Documents\";\n\nexport default class ImportError extends TypesenseError {\n importResults: ImportResponse[];\n constructor(message: string, importResults: ImportResponse[]) {\n super(message);\n this.importResults = importResults;\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 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}","const defaultCacheResponseForSeconds = 2 * 60;\nconst defaultMaxSize = 100;\n\nexport default class RequestWithCache {\n private responseCache: Map = new Map();\n private responsePromiseCache: Map = new Map();\n\n clearCache() {\n this.responseCache = new Map();\n this.responsePromiseCache = new Map();\n }\n\n // Todo: should probably be passed a callback instead, or an apiCall instance. Types are messy this way\n async perform(\n requestContext: any,\n requestFunction: (...params: any) => unknown,\n requestFunctionArguments: any[],\n cacheOptions: CacheOptions\n ): Promise {\n const {\n cacheResponseForSeconds = defaultCacheResponseForSeconds,\n maxSize = defaultMaxSize,\n } = cacheOptions;\n const isCacheDisabled = cacheResponseForSeconds <= 0 || maxSize <= 0;\n\n if (isCacheDisabled) {\n return requestFunction.call(requestContext, ...requestFunctionArguments);\n }\n\n const requestFunctionArgumentsJSON = JSON.stringify(\n requestFunctionArguments\n );\n const cacheEntry = this.responseCache.get(requestFunctionArgumentsJSON);\n const now = Date.now();\n\n if (cacheEntry) {\n const isEntryValid =\n now - cacheEntry.requestTimestamp < cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n this.responseCache.set(requestFunctionArgumentsJSON, cacheEntry);\n return Promise.resolve(cacheEntry.response);\n } else {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n\n const cachePromiseEntry = this.responsePromiseCache.get(\n requestFunctionArgumentsJSON\n );\n\n if (cachePromiseEntry) {\n const isEntryValid =\n now - cachePromiseEntry.requestTimestamp <\n cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n this.responsePromiseCache.set(\n requestFunctionArgumentsJSON,\n cachePromiseEntry\n );\n return cachePromiseEntry.responsePromise;\n } else {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n\n const responsePromise = requestFunction.call(\n requestContext,\n ...requestFunctionArguments\n );\n this.responsePromiseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n responsePromise,\n });\n\n const response = await responsePromise;\n this.responseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n response,\n });\n\n const isCacheOverMaxSize = this.responseCache.size > maxSize;\n if (isCacheOverMaxSize) {\n const oldestEntry = this.responseCache.keys().next().value;\n this.responseCache.delete(oldestEntry);\n }\n const isResponsePromiseCacheOverMaxSize =\n this.responsePromiseCache.size > maxSize;\n if (isResponsePromiseCacheOverMaxSize) {\n const oldestEntry = this.responsePromiseCache.keys().next().value;\n this.responsePromiseCache.delete(oldestEntry);\n }\n return response as T;\n }\n}\n\ninterface CacheOptions {\n cacheResponseForSeconds?: number;\n maxSize?: number;\n}\n","import RequestWithCache from \"./RequestWithCache\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport Collections from \"./Collections\";\nimport type {\n DocumentSchema,\n SearchableDocuments,\n SearchOptions,\n SearchParams,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\n\nconst RESOURCEPATH = \"/documents\";\n\nexport class SearchOnlyDocuments\n implements SearchableDocuments\n{\n protected requestWithCache: RequestWithCache = new RequestWithCache();\n\n constructor(\n protected collectionName: string,\n protected apiCall: ApiCall,\n protected configuration: Configuration\n ) {}\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n abortSignal = null,\n }: SearchOptions = {}\n ): Promise> {\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n for (const key in searchParameters) {\n if (Array.isArray(searchParameters[key])) {\n additionalQueryParams[key] = searchParameters[key].join(\",\");\n }\n }\n const queryParams = Object.assign(\n {},\n searchParameters,\n additionalQueryParams\n );\n\n return this.requestWithCache.perform(\n this.apiCall,\n this.apiCall.get,\n [this.endpointPath(\"search\"), queryParams, { abortSignal }],\n {\n cacheResponseForSeconds: cacheSearchResultsForSeconds,\n }\n ) as Promise>;\n }\n\n protected endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + operation\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import type { ReadStream } from \"fs\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport { ImportError } from \"./Errors\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\n// Todo: use generic to extract filter_by values\nexport interface DeleteQuery {\n filter_by?: string;\n batch_size?: number;\n ignore_not_found?: boolean;\n}\n\nexport interface DeleteResponse {\n num_deleted: number;\n}\n\ninterface ImportResponseSuccess {\n success: true;\n}\n\nexport interface ImportResponseFail {\n success: false;\n error: string;\n document: DocumentSchema;\n code: number;\n}\n\nexport type ImportResponse = ImportResponseSuccess | ImportResponseFail;\n\nexport type DocumentSchema = Record;\n\nexport interface SearchParamsWithPreset extends Partial {\n preset: string;\n}\n\ntype DropTokensMode =\n | \"right_to_left\"\n | \"left_to_right\"\n | \"both_sides:3\";\n\ntype OperationMode = \"off\" | \"always\" | \"fallback\";\nexport interface SearchParams {\n // From https://typesense.org/docs/latest/api/documents.html#arguments\n q?: string;\n query_by?: string | string[];\n query_by_weights?: string | number[];\n prefix?: string | boolean | boolean[]; // default: true\n filter_by?: string;\n enable_lazy_filter?: boolean; // default: false\n sort_by?: string | string[]; // default: text match desc\n facet_by?: string | string[];\n max_facet_values?: number;\n facet_sample_threshold?: number;\n facet_sample_percent?: number;\n facet_query?: string;\n facet_query_num_typos?: number;\n facet_return_parent?: string;\n page?: number; // default: 1\n per_page?: number; // default: 10, max 250\n group_by?: string | string[];\n group_limit?: number; // default:\n group_missing_values?: boolean;\n include_fields?: string | string[];\n exclude_fields?: string | string[];\n highlight_fields?: string | string[]; // default: all queried fields\n highlight_full_fields?: string | string[]; // default: all fields\n highlight_affix_num_tokens?: number; // default: 4\n highlight_start_tag?: string; // default: \n highlight_end_tag?: string; // default: \n enable_highlight_v1?: boolean;\n snippet_threshold?: number; // default: 30\n num_typos?: string | number | number[]; // default: 2\n min_len_1typo?: number;\n min_len_2typo?: number;\n split_join_tokens?: OperationMode;\n exhaustive_search?: boolean;\n drop_tokens_threshold?: number; // default: 10\n drop_tokens_mode?: DropTokensMode;\n typo_tokens_threshold?: number; // default: 100\n pinned_hits?: string | string[];\n hidden_hits?: string | string[];\n limit_hits?: number; // default: no limit\n pre_segmented_query?: boolean;\n enable_overrides?: boolean;\n override_tags?: string | string[];\n prioritize_exact_match?: boolean; // default: true\n prioritize_token_position?: boolean;\n prioritize_num_matching_fields?: boolean;\n search_cutoff_ms?: number;\n use_cache?: boolean;\n max_candidates?: number;\n infix?: OperationMode | OperationMode[];\n preset?: string;\n text_match_type?: \"max_score\" | \"max_weight\";\n vector_query?: string;\n \"x-typesense-api-key\"?: string;\n \"x-typesense-user-id\"?: string;\n offset?: number;\n limit?: number;\n stopwords?: string;\n conversation?: boolean;\n conversation_model_id?: string;\n conversation_id?: string;\n voice_query?: string;\n}\n\ntype SearchResponseHighlightObject = {\n matched_tokens?: string[];\n snippet?: string;\n value?: string;\n};\n\nexport type SearchResponseHighlight = T extends string | number\n ? SearchResponseHighlightObject\n : {\n [TAttribute in keyof T]?: SearchResponseHighlight;\n };\n\nexport interface SearchResponseHit {\n curated?: true;\n highlights?: [\n {\n field: keyof T;\n snippet?: string;\n value?: string;\n snippets?: string[];\n indices?: number[];\n matched_tokens: string[][] | string[];\n },\n ];\n highlight: SearchResponseHighlight;\n document: T;\n text_match: number;\n text_match_info?: {\n best_field_score: string; // To prevent scores from being truncated by JSON spec\n best_field_weight: number;\n fields_matched: number;\n score: string; // To prevent scores from being truncated by JSON spec\n tokens_matched: number;\n };\n}\n\nexport interface SearchResponseFacetCountSchema {\n counts: {\n count: number;\n highlighted: string;\n value: string;\n }[];\n field_name: keyof T;\n stats: {\n avg?: number;\n max?: number;\n min?: number;\n sum?: number;\n };\n}\n\nexport interface SearchResponseRequestParams {\n collection_name?: string;\n q?: string;\n page?: number;\n per_page?: number;\n first_q?: string;\n voice_query?: {\n transcribed_query?: string;\n };\n}\n\n// Todo: we could infer whether this is a grouped response by adding the search params as a generic\nexport interface SearchResponse {\n facet_counts?: SearchResponseFacetCountSchema[];\n found: number;\n found_docs?: number;\n out_of: number;\n page: number;\n request_params: SearchResponseRequestParams;\n search_time_ms: number;\n search_cutoff?: boolean;\n hits?: SearchResponseHit[];\n grouped_hits?: {\n group_key: string[];\n hits: SearchResponseHit[];\n found?: number;\n }[];\n conversation?: {\n answer: string;\n conversation_history: {\n conversation: object[];\n id: string;\n last_updated: number;\n ttl: number;\n };\n conversation_id: string;\n query: string;\n };\n error?: string;\n code?: number;\n}\n\nexport interface DocumentWriteParameters {\n dirty_values?: \"coerce_or_reject\" | \"coerce_or_drop\" | \"drop\" | \"reject\";\n action?: \"create\" | \"update\" | \"upsert\" | \"emplace\";\n}\n\nexport interface UpdateByFilterParameters {\n filter_by?: string;\n}\n\nexport interface UpdateByFilterResponse {\n num_updated: number;\n}\n\nexport interface DocumentImportParameters extends DocumentWriteParameters {\n batch_size?: number;\n return_doc?: boolean;\n return_id?: boolean;\n}\n\nexport interface DocumentsExportParameters {\n filter_by?: string;\n include_fields?: string;\n exclude_fields?: string;\n}\n\nexport interface SearchableDocuments {\n search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n options: SearchOptions,\n ): Promise>;\n clearCache(): void;\n}\n\nexport interface WriteableDocuments {\n create(document: T, options: DocumentWriteParameters): Promise;\n upsert(document: T, options: DocumentWriteParameters): Promise;\n update(document: T, options: DocumentWriteParameters): Promise;\n delete(query: DeleteQuery): Promise;\n import(\n documents: T[] | string,\n options: DocumentWriteParameters,\n ): Promise;\n export(options: DocumentsExportParameters): Promise;\n}\n\nexport interface SearchOptions {\n cacheSearchResultsForSeconds?: number;\n abortSignal?: AbortSignal | null;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class Documents\n extends SearchOnlyDocuments\n implements WriteableDocuments\n{\n constructor(\n collectionName: string,\n apiCall: ApiCall,\n configuration: Configuration,\n ) {\n super(collectionName, apiCall, configuration);\n }\n\n async create(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(this.endpointPath(), document, options);\n }\n\n async upsert(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"upsert\" }),\n );\n }\n\n async update(\n document: T,\n options: UpdateByFilterParameters,\n ): Promise;\n async update(document: T, options: DocumentWriteParameters): Promise;\n async update(\n document: T,\n options: DocumentWriteParameters | UpdateByFilterParameters = {},\n ): Promise {\n if (!document) throw new Error(\"No document provided\");\n\n if (options[\"filter_by\"] != null) {\n return this.apiCall.patch(\n this.endpointPath(),\n document,\n Object.assign({}, options),\n );\n } else {\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"update\" }),\n );\n }\n }\n\n async delete(\n query: DeleteQuery = {} as DeleteQuery,\n ): Promise {\n return this.apiCall.delete(this.endpointPath(), query);\n }\n\n async createMany(documents: T[], options: DocumentImportParameters = {}) {\n this.configuration.logger.warn(\n \"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 );\n return this.import(documents, options);\n }\n\n /**\n * Import a set of documents in a batch.\n * @param {string|Array} documents - Can be a JSONL string of documents or an array of document objects.\n * @param options\n * @return {string|Array} Returns a JSONL string if the input was a JSONL string, otherwise it returns an array of results.\n */\n async import(\n documents: string,\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[],\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[] | string,\n options: DocumentImportParameters = {},\n ): Promise {\n let documentsInJSONLFormat;\n if (Array.isArray(documents)) {\n try {\n documentsInJSONLFormat = documents\n .map((document) => JSON.stringify(document))\n .join(\"\\n\");\n } catch (error: any) {\n // if rangeerror, throw custom error message\n if (\n error instanceof RangeError &&\n error.message.includes(\"Too many properties to enumerate\")\n ) {\n throw new Error(`${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\n // else, throw the non-range error anyways\n throw new Error(error);\n }\n } else {\n documentsInJSONLFormat = documents;\n }\n\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n if (Array.isArray(documents)) {\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter(\n (r) => r.success === false,\n );\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n } else {\n return resultsInJSONLFormat as string;\n }\n }\n /**\n * Imports documents from a NodeJS readable stream of JSONL.\n */\n async importStream(\n readableStream: ReadStream,\n options: DocumentImportParameters = {},\n ): Promise {\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\n queryParameters: options,\n bodyParameters: readableStream,\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter((r) => r.success === false);\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n }\n\n /**\n * Returns a JSONL string for all the documents in this collection\n */\n async export(options: DocumentsExportParameters = {}): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options);\n }\n\n /**\n * Returns a NodeJS readable stream of JSONL for all the documents in this collection.\n */\n async exportStream(\n options: DocumentsExportParameters = {},\n ): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options, {\n responseType: \"stream\",\n });\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { OverrideSchema } from \"./Override\";\n\nconst RESOURCEPATH = \"/overrides\";\n\nexport interface OverrideRuleQuerySchema {\n query?: string;\n match?: \"exact\" | \"contains\";\n}\n\nexport interface OverrideRuleFilterSchema {\n filter_by?: string;\n}\n\nexport interface OverrideRuleTagsSchema {\n tags?: string[];\n}\n\nexport interface OverrideCreateSchema {\n rule: OverrideRuleQuerySchema &\n OverrideRuleFilterSchema &\n OverrideRuleTagsSchema;\n filter_by?: string;\n sort_by?: string;\n remove_matched_tokens?: boolean;\n replace_query?: string;\n includes?: Array<{\n id: string;\n position: number;\n }>;\n excludes?: Array<{ id: string }>;\n filter_curated_hits?: boolean;\n effective_from_ts?: number;\n effective_to_ts?: number;\n stop_processing?: boolean;\n metadata?: object;\n}\n\nexport interface OverridesRetrieveSchema {\n overrides: OverrideSchema[];\n}\n\nexport default class Overrides {\n constructor(\n private collectionName: string,\n private apiCall: ApiCall,\n ) {}\n\n async upsert(\n overrideId: string,\n params: OverrideCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(overrideId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${\n Overrides.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Overrides, { OverrideCreateSchema } from \"./Overrides\";\n\nexport interface OverrideSchema extends OverrideCreateSchema {\n id: string;\n}\n\nexport interface OverrideDeleteSchema {\n id: string;\n}\n\nexport default class Override {\n constructor(\n private collectionName: string,\n private overrideId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Overrides.RESOURCEPATH}/${encodeURIComponent(this.overrideId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { SynonymSchema } from \"./Synonym\";\n\nconst RESOURCEPATH = \"/synonyms\";\n\nexport interface SynonymCreateSchema {\n synonyms: string[];\n root?: string;\n locale?: string;\n symbols_to_index?: string[];\n}\n\nexport interface SynonymsRetrieveSchema {\n synonyms: SynonymSchema[];\n}\n\nexport default class Synonyms {\n constructor(private collectionName: string, private apiCall: ApiCall) {}\n\n async upsert(\n synonymId: string,\n params: SynonymCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(synonymId),\n params\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${\n Synonyms.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Synonyms, { SynonymCreateSchema } from \"./Synonyms\";\n\nexport interface SynonymSchema extends SynonymCreateSchema {\n id: string;\n}\n\nexport interface SynonymDeleteSchema {\n id: string;\n}\n\nexport default class Synonym {\n constructor(\n private collectionName: string,\n private synonymId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Synonyms.RESOURCEPATH}/${encodeURIComponent(this.synonymId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Documents, {\n DeleteQuery,\n DocumentSchema,\n DocumentWriteParameters,\n} from \"./Documents\";\n\nexport class Document {\n constructor(\n private collectionName: string,\n private documentId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(options?: DeleteQuery): Promise {\n return this.apiCall.delete(this.endpointPath(), options);\n }\n\n async update(\n partialDocument: Partial,\n options: DocumentWriteParameters = {}\n ): Promise {\n return this.apiCall.patch(this.endpointPath(), partialDocument, options);\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Documents.RESOURCEPATH}/${encodeURIComponent(this.documentId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections, { CollectionCreateSchema } from \"./Collections\";\nimport Documents, { DocumentSchema } from \"./Documents\";\nimport { ObjectNotFound } from \"./Errors\";\nimport Overrides from \"./Overrides\";\nimport Override from \"./Override\";\nimport Synonyms from \"./Synonyms\";\nimport Synonym from \"./Synonym\";\nimport { Document } from \"./Document\";\n\nexport type FieldType =\n | \"string\"\n | \"int32\"\n | \"int64\"\n | \"float\"\n | \"bool\"\n | \"geopoint\"\n | \"geopoint[]\"\n | \"string[]\"\n | \"int32[]\"\n | \"int64[]\"\n | \"float[]\"\n | \"bool[]\"\n | \"object\"\n | \"object[]\"\n | \"auto\"\n | \"string*\"\n | \"image\";\n\nexport interface CollectionFieldSchema {\n name: string;\n type: FieldType;\n optional?: boolean;\n facet?: boolean;\n index?: boolean;\n sort?: boolean;\n locale?: string;\n infix?: boolean;\n stem?: boolean;\n num_dim?: number;\n store?: boolean;\n [t: string]: unknown;\n}\n\nexport interface CollectionSchema extends CollectionCreateSchema {\n created_at: number;\n num_documents: number;\n num_memory_shards: number;\n}\n\nexport interface CollectionDropFieldSchema {\n name: string;\n drop: true;\n}\n\nexport interface CollectionUpdateSchema\n extends Partial> {\n fields?: (CollectionFieldSchema | CollectionDropFieldSchema)[];\n}\n\nexport default class Collection {\n private readonly _documents: Documents;\n private individualDocuments: Record> = {};\n private readonly _overrides: Overrides;\n private individualOverrides: Record = {};\n private readonly _synonyms: Synonyms;\n private individualSynonyms: Record = {};\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any,\n ) {\n this.name = name;\n this.apiCall = apiCall;\n this.configuration = configuration;\n\n this._documents = new Documents(\n this.name,\n this.apiCall,\n this.configuration,\n );\n this._overrides = new Overrides(this.name, this.apiCall);\n this._synonyms = new Synonyms(this.name, this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(schema: CollectionUpdateSchema): Promise {\n return this.apiCall.patch(this.endpointPath(), schema);\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n async exists(): Promise {\n try {\n await this.retrieve();\n return true;\n } catch (e) {\n if (e instanceof ObjectNotFound) return false;\n throw e;\n }\n }\n\n documents(): Documents;\n documents(documentId: string): Document;\n documents(documentId?: string): Document | Documents {\n if (!documentId) {\n return this._documents;\n } else {\n if (this.individualDocuments[documentId] === undefined) {\n this.individualDocuments[documentId] = new Document(\n this.name,\n documentId,\n this.apiCall,\n );\n }\n return this.individualDocuments[documentId];\n }\n }\n\n overrides(): Overrides;\n overrides(overrideId: string): Override;\n overrides(overrideId?: string): Overrides | Override {\n if (overrideId === undefined) {\n return this._overrides;\n } else {\n if (this.individualOverrides[overrideId] === undefined) {\n this.individualOverrides[overrideId] = new Override(\n this.name,\n overrideId,\n this.apiCall,\n );\n }\n return this.individualOverrides[overrideId];\n }\n }\n\n synonyms(): Synonyms;\n synonyms(synonymId: string): Synonym;\n synonyms(synonymId?: string): Synonyms | Synonym {\n if (synonymId === undefined) {\n return this._synonyms;\n } else {\n if (this.individualSynonyms[synonymId] === undefined) {\n this.individualSynonyms[synonymId] = new Synonym(\n this.name,\n synonymId,\n this.apiCall,\n );\n }\n return this.individualSynonyms[synonymId];\n }\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/aliases\";\n\nexport interface CollectionAliasCreateSchema {\n collection_name: string;\n}\n\nexport interface CollectionAliasSchema extends CollectionAliasCreateSchema {\n name: string;\n}\n\nexport interface CollectionAliasesResponseSchema {\n aliases: CollectionAliasSchema[];\n}\n\nexport default class Aliases {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n name: string,\n mapping: CollectionAliasCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(name),\n mapping\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n private endpointPath(aliasName): string {\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(aliasName)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import Aliases, { CollectionAliasSchema } from \"./Aliases\";\nimport ApiCall from \"./ApiCall\";\n\nexport default class Alias {\n constructor(private name: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import { createHmac } from \"crypto\";\nimport ApiCall from \"./ApiCall\";\nimport { KeyCreateSchema, KeySchema } from \"./Key\";\nimport { SearchParams } from \"./Documents\";\n\nconst RESOURCEPATH = \"/keys\";\n\nexport interface KeysRetrieveSchema {\n keys: KeySchema[];\n}\n\nexport interface GenerateScopedSearchKeyParams extends Partial {\n expires_at?: number;\n cache_ttl?: number;\n limit_multi_searches?: number;\n}\n\nexport default class Keys {\n constructor(private apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(params: KeyCreateSchema): Promise {\n return this.apiCall.post(Keys.RESOURCEPATH, params);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n generateScopedSearchKey(\n searchKey: string,\n parameters: GenerateScopedSearchKeyParams\n ): string {\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 const paramsJSON = JSON.stringify(parameters);\n const digest = Buffer.from(\n createHmac(\"sha256\", searchKey).update(paramsJSON).digest(\"base64\")\n );\n const keyPrefix = searchKey.substr(0, 4);\n const rawScopedKey = `${digest}${keyPrefix}${paramsJSON}`;\n\n return Buffer.from(rawScopedKey).toString(\"base64\");\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Keys from \"./Keys\";\n\nexport interface KeyCreateSchema {\n actions: string[];\n collections: string[];\n description?: string;\n value?: string;\n value_prefix?: string;\n expires_at?: number;\n}\n\nexport interface KeyDeleteSchema {\n id: number;\n}\n\nexport interface KeySchema extends KeyCreateSchema {\n id: number;\n}\n\nexport default class Key {\n constructor(private id: number, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Keys.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/debug\";\n\nexport interface DebugResponseSchema {\n state: number;\n version: string;\n}\n\nexport default class Debug {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/metrics.json\";\n\nexport interface MetricsResponse {\n [key: `system_cpu${number}_active_percentage`]: string;\n system_cpu_active_percentage: string;\n system_disk_total_bytes: string;\n system_disk_used_bytes: string;\n system_memory_total_bytes: string;\n system_memory_total_swap_bytes?: string;\n system_memory_used_bytes: string;\n system_memory_used_swap_bytes?: string;\n system_network_received_bytes: string;\n system_network_sent_bytes: string;\n typesense_memory_active_bytes: string;\n typesense_memory_allocated_bytes: string;\n typesense_memory_fragmentation_ratio: string;\n typesense_memory_mapped_bytes: string;\n typesense_memory_metadata_bytes: string;\n typesense_memory_resident_bytes: string;\n typesense_memory_retained_bytes: string;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/stats.json\";\n\nexport interface EndpointStats {\n [endpoint: string]: number;\n}\n\nexport interface StatsResponse {\n delete_latency_ms?: number;\n delete_requests_per_second?: number;\n import_latency_ms?: number;\n import_requests_per_second?: number;\n latency_ms?: EndpointStats;\n overloaded_requests_per_second?: number;\n pending_write_batches?: number;\n requests_per_second?: EndpointStats;\n search_latency_ms?: number;\n search_requests_per_second?: number;\n total_requests_per_second?: number;\n write_latency_ms?: number;\n write_requests_per_second?: number;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/health\";\n\nexport interface HealthResponse {\n ok: boolean;\n}\n\nexport default class Health {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/operations\";\n\nexport default class Operations {\n constructor(private apiCall: ApiCall) {}\n\n async perform(\n operationName: \"vote\" | \"snapshot\" | \"cache/clear\" | string,\n queryParameters: Record = {}\n ): Promise {\n return this.apiCall.post(\n `${RESOURCEPATH}/${operationName}`,\n {},\n queryParameters\n );\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport RequestWithCache from \"./RequestWithCache\";\nimport {\n DocumentSchema,\n SearchParams,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\n\nconst RESOURCEPATH = \"/multi_search\";\n\nexport interface MultiSearchRequestSchema extends SearchParams {\n collection?: string;\n \"x-typesense-api-key\"?: string;\n}\n\nexport interface MultiSearchRequestWithPresetSchema\n extends SearchParamsWithPreset {\n collection?: string;\n \"x-typesense-api-key\"?: string;\n}\n\nexport interface MultiSearchRequestsSchema {\n searches: (MultiSearchRequestSchema | MultiSearchRequestWithPresetSchema)[];\n}\n\nexport interface MultiSearchResponse {\n results: { [Index in keyof T]: SearchResponse } & {\n length: T[\"length\"];\n };\n}\n\nexport default class MultiSearch {\n private requestWithCache: RequestWithCache;\n\n constructor(\n private apiCall: ApiCall,\n private configuration: Configuration,\n private useTextContentType: boolean = false\n ) {\n this.requestWithCache = new RequestWithCache();\n }\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async perform(\n searchRequests: MultiSearchRequestsSchema,\n commonParams: Partial = {},\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n }: { cacheSearchResultsForSeconds?: number } = {}\n ): Promise> {\n const additionalHeaders = {};\n if (this.useTextContentType) {\n additionalHeaders[\"content-type\"] = \"text/plain\";\n }\n\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n const queryParams = Object.assign({}, commonParams, additionalQueryParams);\n\n return this.requestWithCache.perform(\n this.apiCall,\n this.apiCall.post,\n [RESOURCEPATH, searchRequests, queryParams, additionalHeaders],\n { cacheResponseForSeconds: cacheSearchResultsForSeconds }\n ) as Promise>;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { PresetSchema } from \"./Preset\";\nimport { SearchParams } from \"./Documents\";\nimport { MultiSearchRequestsSchema } from \"./MultiSearch\";\n\nconst RESOURCEPATH = \"/presets\";\n\nexport interface PresetCreateSchema {\n value: SearchParams | MultiSearchRequestsSchema;\n}\n\nexport interface PresetsRetrieveSchema {\n presets: PresetSchema[];\n}\n\nexport default class Presets {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n presetId: string,\n params: PresetCreateSchema\n ): Promise {\n return this.apiCall.put(this.endpointPath(presetId), params);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Presets.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Presets, { PresetCreateSchema } from \"./Presets\";\n\nexport interface PresetSchema extends PresetCreateSchema {\n name: string;\n}\n\nexport interface PresetDeleteSchema {\n name: string;\n}\n\nexport default class Preset {\n constructor(private presetId: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Presets.RESOURCEPATH}/${encodeURIComponent(this.presetId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n AnalyticsRuleCreateSchema,\n AnalyticsRuleSchema,\n} from \"./AnalyticsRule\";\n\nexport interface AnalyticsRulesRetrieveSchema {\n rules: AnalyticsRuleSchema[];\n}\n\nconst RESOURCEPATH = \"/analytics/rules\";\n\nexport default class AnalyticsRules {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async upsert(\n name: string,\n params: AnalyticsRuleCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(name),\n params\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsRules.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\n\nexport interface AnalyticsRuleCreateSchema {\n type: \"popular_queries\" | \"nohits_queries\" | \"counter\";\n params: {\n source: {\n collections: string[];\n events?: Array<{\n type: string;\n weight: number;\n name: string;\n }>;\n };\n expand_query?: boolean;\n destination: {\n collection: string;\n counter_field?: string;\n };\n limit?: number;\n };\n}\n\nexport interface AnalyticsRuleDeleteSchema {\n name: string;\n}\n\nexport interface AnalyticsRuleSchema extends AnalyticsRuleCreateSchema {\n name: string;\n}\n\nexport default class AnalyticsRule {\n constructor(\n private name: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${AnalyticsRules.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { AnalyticsEventCreateSchema } from \"./AnalyticsEvent\";\n\nconst RESOURCEPATH = \"/analytics/events\";\n\nexport default class AnalyticsEvents {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: AnalyticsEventCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsEvents.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\nimport AnalyticsRule from \"./AnalyticsRule\";\nimport AnalyticsEvents from \"./AnalyticsEvents\";\n\nconst RESOURCEPATH = \"/analytics\";\n\nexport default class Analytics {\n private readonly _analyticsRules: AnalyticsRules;\n private readonly individualAnalyticsRules: Record = {};\n private readonly _analyticsEvents: AnalyticsEvents;\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._analyticsRules = new AnalyticsRules(this.apiCall);\n this._analyticsEvents = new AnalyticsEvents(this.apiCall);\n }\n\n rules(id?: string): AnalyticsRules | AnalyticsRule {\n if (id === undefined) {\n return this._analyticsRules;\n } else {\n if (this.individualAnalyticsRules[id] === undefined) {\n this.individualAnalyticsRules[id] = new AnalyticsRule(id, this.apiCall);\n }\n return this.individualAnalyticsRules[id];\n }\n }\n\n events(): AnalyticsEvents {\n return this._analyticsEvents;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { StopwordSchema } from \"./Stopword\";\n\nconst RESOURCEPATH = \"/stopwords\";\n\nexport interface StopwordCreateSchema {\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordsRetrieveSchema {\n stopwords: StopwordSchema[];\n}\n\nexport default class Stopwords {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n stopwordId: string,\n params: StopwordCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(stopwordId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Stopwords.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Stopwords, { StopwordCreateSchema } from \"./Stopwords\";\n\nexport interface StopwordSchema extends StopwordCreateSchema {\n id: string;\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordDeleteSchema {\n id: string;\n}\n\nexport default class Stopword {\n constructor(\n private stopwordId: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Stopwords.RESOURCEPATH}/${encodeURIComponent(this.stopwordId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n ConversationModelCreateSchema,\n ConversationModelSchema,\n} from \"./ConversationModel\";\n\nconst RESOURCEPATH = \"/conversations/models\";\n\nexport default class ConversationModels {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(\n this.endpointPath(),\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${ConversationModels.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\n\nexport interface ConversationModelCreateSchema {\n id?: string;\n model_name: string;\n api_key?: string;\n system_prompt?: string;\n max_bytes: number;\n history_collection?: string;\n}\n\nexport interface ConversationModelDeleteSchema {\n id: string;\n}\n\nexport interface ConversationModelSchema extends ConversationModelCreateSchema {\n id: string;\n}\n\nexport default class ConversationModel {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async update(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(\n this.endpointPath(),\n );\n }\n\n private endpointPath(): string {\n return `${ConversationModels.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\nimport ConversationModel from \"./ConversationModel\";\nimport { ConversationSchema } from \"./Conversation\";\n\nconst RESOURCEPATH = \"/conversations\";\n\nexport interface ConversationsRetrieveSchema {\n conversations: ConversationSchema[];\n}\n\nexport default class Conversations {\n private readonly _conversationsModels: ConversationModels;\n private readonly individualConversationModels: Record<\n string,\n ConversationModel\n > = {};\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._conversationsModels = new ConversationModels(this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n models(): ConversationModels;\n models(id: string): ConversationModel;\n models(id?: string): ConversationModels | ConversationModel {\n if (id === undefined) {\n return this._conversationsModels;\n } else {\n if (this.individualConversationModels[id] === undefined) {\n this.individualConversationModels[id] = new ConversationModel(\n id,\n this.apiCall,\n );\n }\n return this.individualConversationModels[id];\n }\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Conversations from \"./Conversations\";\n\nexport interface ConversationDeleteSchema {\n id: number;\n}\n\nexport interface ConversationUpdateSchema {\n ttl: number;\n}\n\nexport interface ConversationSchema {\n id: number;\n conversation: object[];\n last_updated: number;\n ttl: number;\n}\n\nexport default class Conversation {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(\n params: ConversationUpdateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Conversations.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","/* eslint-disable no-dupe-class-members */\n\nimport Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Collection from \"./Collection\";\nimport Aliases from \"./Aliases\";\nimport Alias from \"./Alias\";\nimport Keys from \"./Keys\";\nimport Key from \"./Key\";\nimport Debug from \"./Debug\";\nimport Metrics from \"./Metrics\";\nimport Stats from \"./Stats\";\nimport Health from \"./Health\";\nimport Operations from \"./Operations\";\nimport MultiSearch from \"./MultiSearch\";\nimport Presets from \"./Presets\";\nimport Preset from \"./Preset\";\nimport Analytics from \"./Analytics\";\nimport Stopwords from \"./Stopwords\";\nimport Stopword from \"./Stopword\";\nimport Conversations from \"./Conversations\";\nimport Conversation from \"./Conversation\";\n\nexport default class Client {\n configuration: Configuration;\n apiCall: ApiCall;\n debug: Debug;\n metrics: Metrics;\n stats: Stats;\n health: Health;\n operations: Operations;\n multiSearch: MultiSearch;\n analytics: Analytics;\n private readonly _collections: Collections;\n private readonly individualCollections: Record;\n private readonly _aliases: Aliases;\n private readonly individualAliases: Record;\n private readonly _keys: Keys;\n private readonly individualKeys: Record;\n private readonly _presets: Presets;\n private readonly individualPresets: Record;\n private readonly _stopwords: Stopwords;\n private readonly individualStopwords: Record;\n private readonly _conversations: Conversations;\n private readonly individualConversations: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? false;\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.debug = new Debug(this.apiCall);\n this.metrics = new Metrics(this.apiCall);\n this.stats = new Stats(this.apiCall);\n this.health = new Health(this.apiCall);\n this.operations = new Operations(this.apiCall);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration);\n this._collections = new Collections(this.apiCall);\n this.individualCollections = {};\n this._aliases = new Aliases(this.apiCall);\n this.individualAliases = {};\n this._keys = new Keys(this.apiCall);\n this.individualKeys = {};\n this._presets = new Presets(this.apiCall);\n this.individualPresets = {};\n this._stopwords = new Stopwords(this.apiCall);\n this.individualStopwords = {};\n this.analytics = new Analytics(this.apiCall);\n this._conversations = new Conversations(this.apiCall);\n this.individualConversations = {};\n }\n\n collections(): Collections;\n collections = object>(\n collectionName: string,\n ): Collection;\n collections(collectionName?: string): Collections | Collection {\n if (collectionName === undefined) {\n return this._collections;\n } else {\n if (this.individualCollections[collectionName] === undefined) {\n this.individualCollections[collectionName] = new Collection(\n collectionName,\n this.apiCall,\n this.configuration,\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n\n aliases(): Aliases;\n aliases(aliasName: string): Alias;\n aliases(aliasName?: string): Aliases | Alias {\n if (aliasName === undefined) {\n return this._aliases;\n } else {\n if (this.individualAliases[aliasName] === undefined) {\n this.individualAliases[aliasName] = new Alias(aliasName, this.apiCall);\n }\n return this.individualAliases[aliasName];\n }\n }\n\n keys(): Keys;\n keys(id: number): Key;\n keys(id?: number): Keys | Key {\n if (id === undefined) {\n return this._keys;\n } else {\n if (this.individualKeys[id] === undefined) {\n this.individualKeys[id] = new Key(id, this.apiCall);\n }\n return this.individualKeys[id];\n }\n }\n\n presets(): Presets;\n presets(id: string): Preset;\n presets(id?: string): Presets | Preset {\n if (id === undefined) {\n return this._presets;\n } else {\n if (this.individualPresets[id] === undefined) {\n this.individualPresets[id] = new Preset(id, this.apiCall);\n }\n return this.individualPresets[id];\n }\n }\n\n stopwords(): Stopwords;\n stopwords(id: string): Stopword;\n stopwords(id?: string): Stopwords | Stopword {\n if (id === undefined) {\n return this._stopwords;\n } else {\n if (this.individualStopwords[id] === undefined) {\n this.individualStopwords[id] = new Stopword(id, this.apiCall);\n }\n return this.individualStopwords[id];\n }\n }\n\n conversations(): Conversations;\n conversations(id: string): Conversation;\n conversations(id?: string): Conversations | Conversation {\n if (id === undefined) {\n return this._conversations;\n } else {\n if (this.individualConversations[id] === undefined) {\n this.individualConversations[id] = new Conversation(id, this.apiCall);\n }\n return this.individualConversations[id];\n }\n }\n}\n","import { DocumentSchema, SearchableDocuments } from \"./Documents\";\nimport ApiCall from \"./ApiCall\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\nexport class SearchOnlyCollection {\n private readonly _documents: SearchableDocuments;\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any\n ) {\n this._documents = new SearchOnlyDocuments(\n this.name,\n this.apiCall,\n this.configuration\n );\n }\n\n documents(): SearchableDocuments {\n return this._documents;\n }\n}\n","import Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport MultiSearch from \"./MultiSearch\";\nimport { DocumentSchema } from \"./Documents\";\nimport { SearchOnlyCollection } from \"./SearchOnlyCollection\";\n\nexport default class SearchClient {\n public readonly multiSearch: MultiSearch;\n private readonly configuration: Configuration;\n private readonly apiCall: ApiCall;\n private readonly individualCollections: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? true;\n if (\n options.sendApiKeyAsQueryParam === true &&\n (options.apiKey || \"\").length > 2000\n ) {\n console.warn(\n \"[typesense] API Key is longer than 2000 characters which is over the allowed limit, so disabling sending it as a query parameter.\"\n );\n options.sendApiKeyAsQueryParam = false;\n }\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration, true);\n this.individualCollections = {};\n }\n\n clearCache() {\n this.multiSearch.clearCache();\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Object.entries(this.individualCollections).forEach(([_, collection]) => {\n collection.documents().clearCache();\n });\n }\n\n collections(\n collectionName: string\n ): SearchOnlyCollection | SearchOnlyCollection {\n if (!collectionName) {\n throw new Error(\n \"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(\n collectionName,\n this.apiCall,\n this.configuration\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n}\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(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\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}","import Client from \"./Typesense/Client\";\nimport SearchClient from \"./Typesense/SearchClient\";\nimport * as Errors from \"./Typesense/Errors\";\n\nexport { Client, SearchClient, Errors };\nexport default { Client, SearchClient, Errors };\n"],"names":["root","definition","noop","undefinedType","isIE","window","navigator","test","userAgent","logMethods","_loggersByName","defaultLogger","bindMethod","obj","methodName","method","bind","Function","prototype","call","e","apply","arguments","traceForIE","console","log","trace","replaceLoggingMethods","level","this","getLevel","i","length","methodFactory","name","debug","levels","SILENT","enableLoggingWhenConsoleArrives","defaultMethodFactory","_level","_loggerName","undefined","realMethod","Logger","factory","inheritedLevel","defaultLevel","userLevel","self","storageKey","getPersistedLevel","storedLevel","localStorage","ignore","cookie","document","cookieName","encodeURIComponent","location","indexOf","exec","slice","normalizeLevel","input","toUpperCase","TypeError","setLevel","persist","levelNum","levelName","persistLevelIfPossible","setDefaultLevel","resetLevel","removeItem","clearPersistedLevel","enableAll","TRACE","disableAll","rebuild","childName","initialLevel","getLogger","logger","_log","noConflict","getLoggers","_typeof","_regeneratorRuntime","module","exports","__esModule","t","r","Object","n","hasOwnProperty","o","defineProperty","value","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","constructor","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","stop","rval","handle","complete","finish","delegateYield","runtime","regeneratorRuntime","accidentalStrictMode","globalThis","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","key","get","prop","_classCallCheck","instance","Constructor","toPropertyKey","toPrimitive","String","_defineProperties","target","props","descriptor","_createClass","protoProps","staticProps","_defineProperty","_assertThisInitialized","ReferenceError","_possibleConstructorReturn","_getPrototypeOf","_setPrototypeOf","_inherits","subClass","superClass","_isNativeReflectConstruct","Boolean","valueOf","Reflect","construct","_wrapNativeSuper","Class","_cache","Map","fn","toString","has","set","Wrapper","TypesenseError","_Error","message","_this","_callSuper","MissingConfigurationError","_TypesenseError","Configuration","options","nodes","map","node","setDefaultPathInNode","setDefaultPortInNode","_objectSpread","randomizeNodes","shuffleArray","nearestNode","connectionTimeoutSeconds","timeoutSeconds","healthcheckIntervalSeconds","numRetries","retryIntervalSeconds","apiKey","sendApiKeyAsQueryParam","cacheSearchResultsForSeconds","useServerSideSearchCache","logLevel","additionalHeaders","httpAgent","httpsAgent","paramsSerializer","showDeprecationWarnings","validate","validateNodes","isNodeMissingAnyParameters","_this2","some","every","warn","masterNode","readReplicaNodes","array","j","Math","floor","random","_ref","asyncGeneratorStep","gen","reject","_next","_throw","info","error","_asyncToGenerator","args","err","thisArg","kindOf","cache","thing","str","toLowerCase","kindOfTest","typeOfTest","isArray","Array","isUndefined","isArrayBuffer","isString","isFunction","isNumber","isObject","isPlainObject","val","isDate","isFile","isBlob","isFileList","isURLSearchParams","isReadableStream","isRequest","isResponse","isHeaders","allOwnKeys","getOwnPropertyNames","len","findKey","_key","_global","global","isContextDefined","context","isTypedArray","TypedArray","Uint8Array","isHTMLForm","isRegExp","reduceDescriptors","reducer","descriptors","getOwnPropertyDescriptors","reducedDescriptors","ret","defineProperties","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","isAsyncFn","_setImmediate","setImmediateSupported","setImmediate","postMessageSupported","postMessage","token","callbacks","addEventListener","source","data","shift","cb","setTimeout","asap","queueMicrotask","process","nextTick","isBuffer","isFormData","kind","FormData","append","isArrayBufferView","result","ArrayBuffer","isView","buffer","isBoolean","isStream","pipe","merge","caseless","assignValue","targetKey","extend","b","trim","replace","stripBOM","content","charCodeAt","inherits","superConstructor","assign","toFlatObject","sourceObj","destObj","filter","propFilter","merged","endsWith","searchString","position","lastIndex","toArray","arr","forEachEntry","pair","matchAll","regExp","matches","hasOwnProp","freezeMethods","toObjectSet","arrayOrString","delimiter","split","toCamelCase","m","p1","p2","toFiniteNumber","defaultValue","Number","isFinite","generateString","size","alphabet","isSpecCompliantForm","toJSONObject","stack","visit","reducedValue","isThenable","catch","AxiosError","code","config","request","response","captureStackTrace","status","utils","toJSON","description","number","fileName","lineNumber","columnNumber","from","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","path","dots","concat","join","predicates","formData","metaTokens","indexes","option","visitor","defaultVisitor","useBlob","Blob","convertValue","toISOString","Buffer","JSON","stringify","isFlatArray","el","index","exposedHelpers","build","encode","charMap","match","AxiosURLSearchParams","params","_pairs","encoder","_encode","buildURL","url","serializeFn","serialize","serializedParams","hashmarkIndex","handlers","use","fulfilled","rejected","synchronous","runWhen","eject","id","clear","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","isBrowser","classes","URLSearchParams","protocols","hasBrowserEnv","_navigator","hasStandardBrowserEnv","product","hasStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","origin","href","buildPath","isNumericKey","isLast","arrayToObject","entries","parsePropPath","defaults","transitional","adapter","transformRequest","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","setContentType","platform","helpers","isNode","toURLEncodedForm","formSerializer","_FormData","env","rawValue","parser","parse","stringifySafely","transformResponse","JSONRequested","responseType","strictJSONParsing","ERR_BAD_RESPONSE","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","ignoreDuplicateOf","$internals","normalizeHeader","header","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","rawHeaders","parsed","line","substring","parseHeaders","tokens","tokensRE","parseTokens","matcher","deleted","deleteHeader","normalize","format","normalized","w","char","formatHeader","targets","asStrings","first","computed","accessor","accessors","defineAccessor","accessorName","arg1","arg2","arg3","buildAccessors","mapped","headerValue","transformData","fns","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","settle","ERR_BAD_REQUEST","progressEventReducer","listener","isDownloadStream","freq","bytesNotified","_speedometer","samplesCount","min","bytes","timestamps","firstSampleTS","head","tail","chunkLength","now","Date","startedAt","bytesCount","passed","round","lastArgs","timer","timestamp","threshold","clearTimeout","loaded","total","lengthComputable","progressBytes","rate","progress","estimated","event","progressEventDecorator","throttled","asyncDecorator","msie","urlParsingNode","createElement","originURL","resolveURL","setAttribute","protocol","host","search","hash","hostname","port","pathname","requestURL","write","expires","domain","secure","toGMTString","read","RegExp","decodeURIComponent","remove","buildFullPath","baseURL","requestedURL","relativeURL","combineURLs","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","withCredentials","withXSRFToken","onUploadProgress","onDownloadProgress","decompress","beforeRedirect","transport","cancelToken","socketPath","responseEncoding","configValue","newConfig","auth","btoa","username","password","unescape","isURLSameOrigin","xsrfValue","cookies","XMLHttpRequest","_config","resolveConfig","requestData","requestHeaders","onCanceled","uploadThrottled","downloadThrottled","flushUpload","flushDownload","unsubscribe","signal","removeEventListener","onloadend","responseHeaders","getAllResponseHeaders","responseText","statusText","open","onreadystatechange","readyState","responseURL","onabort","ECONNABORTED","onerror","ERR_NETWORK","ontimeout","timeoutErrorMessage","ETIMEDOUT","setRequestHeader","upload","cancel","abort","subscribe","aborted","parseProtocol","send","signals","controller","AbortController","reason","streamChunk","chunk","chunkSize","byteLength","end","pos","trackStream","stream","onProgress","onFinish","iterable","readBytes","_onFinish","ReadableStream","pull","close","loadedBytes","enqueue","return","highWaterMark","isFetchSupported","fetch","Request","Response","isReadableStreamSupported","encodeText","TextEncoder","arrayBuffer","supportsRequestStream","duplexAccessed","hasContentType","body","duplex","supportsResponseStream","resolvers","res","_","ERR_NOT_SUPPORT","knownAdapters","http","xhr","fetchOptions","finished","composedSignal","stopTimeout","requestContentLength","getContentLength","getBodyLength","resolveBodyLength","contentTypeHeader","_request","flush","isCredentialsSupported","credentials","isStreamResponse","responseContentLength","responseData","renderReason","isResolvedHandle","adapters","nameOrAdapter","rejectedReasons","reasons","state","throwIfCancellationRequested","throwIfRequested","dispatchRequest","validators","deprecatedWarnings","validator","version","formatMessage","opt","desc","opts","ERR_DEPRECATED","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","Axios","instanceConfig","interceptors","configOrUrl","dummy","boolean","function","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","unshift","responseInterceptorChain","promise","chain","onFulfilled","onRejected","getUri","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","splice","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","axios","createInstance","defaultConfig","VERSION","toFormData","Cancel","all","promises","spread","callback","isAxiosError","payload","formToJSON","getAdapter","default","RequestMalformed","RequestUnauthorized","ObjectNotFound","ObjectAlreadyExists","ObjectUnprocessable","ServerError","HTTPError","HEALTHY","isNodeJSEnvironment","versions","ApiCall","configuration","numRetriesPerRequest","additionalUserHeaders","initializeMetadataForNodes","currentNodeIndex","_timer","_performRequest","_patch","_put","_post","_delete2","_get","_callee","endpoint","queryParameters","_ref$abortSignal","abortSignal","_ref$responseType","_args","_context","performRequest","_x","_callee2","_args2","_context2","_x2","_callee3","bodyParameters","_args3","_context3","_x3","_callee4","_args4","_context4","_x4","_callee5","_args5","_context5","_x5","_callee6","requestType","_ref2","_ref2$queryParameters","_ref2$bodyParameters","_ref2$additionalHeade","_ref2$abortSignal","_ref2$responseType","_ref2$skipConnectionT","skipConnectionTimeout","_ref2$enableKeepAlive","enableKeepAlive","requestNumber","lastException","_loop","_ret","numTries","_context7","abortListener","requestOptions","_response$data","_response$data2","_error$response","_context6","getNextNode","uriFor","defaultHeaders","Infinity","transformedData","startsWith","HTTPAgent","keepAlive","HTTPSAgent","setNodeHealthcheck","customErrorForResponse","t0","_x6","_x7","_x8","isHealthy","nodeDueForHealthcheck","candidateNode","isDueForHealthcheck","lastAccessTimestamp","_callee7","seconds","_context8","_x9","messageFromServer","errorMessage","httpStatus","RESOURCEPATH","Collections","apiCall","_retrieve","_create","post","ImportError","importResults","_arrayLikeToArray","arr2","_unsupportedIterableToArray","minLen","_toConsumableArray","iter","RequestWithCache","_perform","responseCache","responsePromiseCache","requestContext","requestFunction","requestFunctionArguments","cacheOptions","_cacheOptions$cacheRe","cacheResponseForSeconds","_cacheOptions$maxSize","maxSize","requestFunctionArgumentsJSON","cacheEntry","cachePromiseEntry","responsePromise","oldestEntry","_oldestEntry","requestTimestamp","delete","SearchOnlyDocuments","collectionName","_search","requestWithCache","clearCache","searchParameters","_ref$cacheSearchResul","additionalQueryParams","queryParams","perform","endpointPath","operation","Documents","_exportStream","_export2","_importStream","_import2","_createMany","_update","_upsert","action","patch","query","documents","import","documentsInJSONLFormat","resultsInJSONLFormat","resultsInJSONFormat","failedItems","_args6","RangeError","includes","success","readableStream","_args7","_callee8","_args8","_callee9","_args9","_context9","Overrides","overrideId","put","Override","Synonyms","synonymId","Synonym","Document","documentId","partialDocument","Collection","_documents","_overrides","_synonyms","_exists","retrieve","individualDocuments","individualOverrides","individualSynonyms","Aliases","mapping","aliasName","Alias","Keys","searchKey","parameters","paramsJSON","digest","createHmac","update","keyPrefix","substr","rawScopedKey","Key","Debug","Metrics","Health","Operations","operationName","MultiSearch","useTextContentType","searchRequests","commonParams","Presets","presetId","Preset","AnalyticsRules","AnalyticsRule","AnalyticsEvents","Analytics","_analyticsRules","_analyticsEvents","individualAnalyticsRules","Stopwords","stopwordId","Stopword","ConversationModels","ConversationModel","Conversations","_conversationsModels","individualConversationModels","Conversation","Client","_options$sendApiKeyAs","metrics","stats","Stats","health","operations","multiSearch","_collections","individualCollections","_aliases","individualAliases","_keys","individualKeys","_presets","individualPresets","_stopwords","individualStopwords","analytics","_conversations","individualConversations","SearchOnlyCollection","SearchClient","Errors"],"sourceRoot":""} \ No newline at end of file diff --git a/lib/Typesense.d.mts b/lib/Typesense.d.mts new file mode 100644 index 00000000..2f05ea9f --- /dev/null +++ b/lib/Typesense.d.mts @@ -0,0 +1,1177 @@ +import { Agent } from 'http'; +import { Agent as Agent$1 } from 'https'; +import { AxiosRequestConfig, Method, AxiosResponse } from 'axios'; +import { ReadStream } from 'fs'; + +/** + * Represents the log levels that can be used in the logger with their corresponding number values. + */ +type LogLevelMap = { + Trace: "trace" | 0; + Debug: "debug" | 1; + Info: "info" | 2; + Warn: "warn" | 3; + Error: "error" | 4; + Silent: "silent" | 5; +}; +/** + * Represents the log levels that can be used in the logger. + */ +type LogLevel = LogLevelMap[keyof LogLevelMap]; +/** + * A simple logging class using a singleton pattern. + * Only prints to stdout. + */ +declare class SimpleLogger { + private static instance; + /** + * Numeric representation of the log level set. + * Defaults to LogLevelNumber.Warn. + * @private + * @type {LogLevelNumberValues} + */ + private logLevel; + /** + * Private constructor to prevent instantiation. + * @private + */ + private constructor(); + /** + * Get the singleton instance of the SimpleLogger. + * @returns {SimpleLogger} The singleton instance of the SimpleLogger. + */ + static getInstance(): SimpleLogger; + /** + * Formats the message to be logged. + * @private + * @param level The log level to be used. + * @param message The message to be logged. + * @returns The formatted message. + */ + private formatMessage; + /** + * Logs the message with the appropriate console function + * @param level The log level to be used. + * @param message The message to be logged. + */ + private logWith; + /** + * Maps the log level to the appropriate console function. + * @param level The log level to be used. + * @returns The console function to be used for the log level. + */ + private mapLogLevelToConsoleFunction; + /** + * Uses the `console.debug` method to log the message if the log level is set to debug or lower. + * @param message The message to be logged. + */ + debug(message: string): void; + /** + * Uses the `console.warn` method to log the message if the log level is set to warn or lower. + * @param message The message to be logged. + */ + warn(message: string): void; + /** + * Uses the `console.error` method to log the message if the log level is set to error or lower. + * @param message The message to be logged. + */ + error(message: string): void; + /** + * Uses the `console.trace` method to log the message if the log level is set to trace or lower. + * @param message The message to be logged. + */ + trace(message: string): void; + /** + * Uses the `console.info` method to log the message if the log level is set to info or lower. + * @param message The message to be logged. + */ + info(message: string): void; + /** + * Sets the log level to the specified level as a numeric representation of it, if given a string. + * @param level The log level to be set. + */ + setLogLevel(level: LogLevel): void; +} +declare const logger: SimpleLogger; + +interface NodeConfiguration { + host: string; + port: number; + protocol: string; + path?: string; + url?: string; +} +interface NodeConfigurationWithHostname { + host: string; + port: number; + protocol: string; + path?: string; +} +interface NodeConfigurationWithUrl { + url: string; +} +interface ConfigurationOptions { + apiKey: string; + nodes: NodeConfiguration[] | NodeConfigurationWithHostname[] | NodeConfigurationWithUrl[]; + randomizeNodes?: boolean; + /** + * @deprecated + * masterNode is now consolidated to nodes, starting with Typesense Server v0.12' + */ + masterNode?: NodeConfiguration | NodeConfigurationWithHostname | NodeConfigurationWithUrl; + /** + * @deprecated + * readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12' + */ + readReplicaNodes?: NodeConfiguration[] | NodeConfigurationWithHostname[] | NodeConfigurationWithUrl[]; + nearestNode?: NodeConfiguration | NodeConfigurationWithHostname | NodeConfigurationWithUrl; + connectionTimeoutSeconds?: number; + timeoutSeconds?: number; + healthcheckIntervalSeconds?: number; + numRetries?: number; + retryIntervalSeconds?: number; + sendApiKeyAsQueryParam?: boolean | undefined; + useServerSideSearchCache?: boolean; + cacheSearchResultsForSeconds?: number; + additionalHeaders?: Record; + logger?: typeof logger; + logLevel?: LogLevel; + /** + * Set a custom HTTP Agent + * + * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors + * Usage: + * const { Agent: HTTPAgent } = require("http"); + * ... + * httpAgent: new HTTPAgent({ keepAlive: true }), + * @type {HTTPAgent} + */ + httpAgent?: Agent; + /** + * Set a custom HTTPS Agent + * + * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors + * Usage: + * const { Agent: HTTPSAgent } = require("https"); + * ... + * httpsAgent: new HTTPSAgent({ keepAlive: true }), + * @type {HTTPSAgent} + */ + httpsAgent?: Agent$1; + /** + * Set a custom paramsSerializer + * + * See axios documentation for more information on how to use this parameter: https://axios-http.com/docs/req_config + * This is helpful for handling React Native issues like this: https://github.com/axios/axios/issues/6102#issuecomment-2085301397 + * @type {any} + */ + paramsSerializer?: any; +} +declare class Configuration { + readonly nodes: NodeConfiguration[] | NodeConfigurationWithHostname[] | NodeConfigurationWithUrl[]; + readonly nearestNode?: NodeConfiguration | NodeConfigurationWithHostname | NodeConfigurationWithUrl; + readonly connectionTimeoutSeconds: number; + readonly healthcheckIntervalSeconds: number; + readonly numRetries: number; + readonly retryIntervalSeconds: number; + readonly apiKey: string; + readonly sendApiKeyAsQueryParam?: boolean; + readonly cacheSearchResultsForSeconds: number; + readonly useServerSideSearchCache: boolean; + readonly logger: typeof logger; + readonly logLevel: LogLevel; + readonly additionalHeaders?: Record; + readonly httpAgent?: Agent; + readonly httpsAgent?: Agent$1; + readonly paramsSerializer?: any; + constructor(options: ConfigurationOptions); + validate(): boolean; + private validateNodes; + private isNodeMissingAnyParameters; + private setDefaultPathInNode; + private setDefaultPortInNode; + private showDeprecationWarnings; + private shuffleArray; +} + +declare class TypesenseError extends Error { + httpStatus?: number; + constructor(message?: string); +} + +interface Node extends NodeConfiguration { + isHealthy: boolean; + index: string | number; +} +declare class ApiCall { + private configuration; + private readonly apiKey; + private readonly nodes; + private readonly nearestNode; + private readonly connectionTimeoutSeconds; + private readonly healthcheckIntervalSeconds; + private readonly retryIntervalSeconds; + private readonly sendApiKeyAsQueryParam?; + private readonly numRetriesPerRequest; + private readonly additionalUserHeaders?; + private readonly logger; + private currentNodeIndex; + constructor(configuration: Configuration); + get(endpoint: string, queryParameters?: any, { abortSignal, responseType, }?: { + abortSignal?: any; + responseType?: AxiosRequestConfig["responseType"] | undefined; + }): Promise; + delete(endpoint: string, queryParameters?: any): Promise; + post(endpoint: string, bodyParameters?: any, queryParameters?: any, additionalHeaders?: any): Promise; + put(endpoint: string, bodyParameters?: any, queryParameters?: any): Promise; + patch(endpoint: string, bodyParameters?: any, queryParameters?: any): Promise; + performRequest(requestType: Method, endpoint: string, { queryParameters, bodyParameters, additionalHeaders, abortSignal, responseType, skipConnectionTimeout, enableKeepAlive, }: { + queryParameters?: any; + bodyParameters?: any; + additionalHeaders?: any; + abortSignal?: any; + responseType?: AxiosRequestConfig["responseType"] | undefined; + skipConnectionTimeout?: boolean; + enableKeepAlive?: boolean | undefined; + }): Promise; + getNextNode(requestNumber?: number): Node; + nodeDueForHealthcheck(node: any, requestNumber?: number): boolean; + initializeMetadataForNodes(): void; + setNodeHealthcheck(node: any, isHealthy: any): void; + uriFor(endpoint: string, node: any): string; + defaultHeaders(): any; + timer(seconds: any): Promise; + customErrorForResponse(response: AxiosResponse, messageFromServer: string): TypesenseError; +} + +declare class RequestWithCache { + private responseCache; + private responsePromiseCache; + clearCache(): void; + perform(requestContext: any, requestFunction: (...params: any) => unknown, requestFunctionArguments: any[], cacheOptions: CacheOptions): Promise; +} +interface CacheOptions { + cacheResponseForSeconds?: number; + maxSize?: number; +} + +declare class SearchOnlyDocuments implements SearchableDocuments { + protected collectionName: string; + protected apiCall: ApiCall; + protected configuration: Configuration; + protected requestWithCache: RequestWithCache; + constructor(collectionName: string, apiCall: ApiCall, configuration: Configuration); + clearCache(): void; + search(searchParameters: SearchParams | SearchParamsWithPreset, { cacheSearchResultsForSeconds, abortSignal, }?: SearchOptions): Promise>; + protected endpointPath(operation?: string): string; + static get RESOURCEPATH(): string; +} + +interface DeleteQuery { + filter_by?: string; + batch_size?: number; + ignore_not_found?: boolean; +} +interface DeleteResponse { + num_deleted: number; +} +interface ImportResponseSuccess { + success: true; +} +interface ImportResponseFail { + success: false; + error: string; + document: DocumentSchema; + code: number; +} +type ImportResponse = ImportResponseSuccess | ImportResponseFail; +type DocumentSchema = Record; +interface SearchParamsWithPreset extends Partial { + preset: string; +} +type DropTokensMode = "right_to_left" | "left_to_right" | "both_sides:3"; +type OperationMode = "off" | "always" | "fallback"; +interface SearchParams { + q?: string; + query_by?: string | string[]; + query_by_weights?: string | number[]; + prefix?: string | boolean | boolean[]; + filter_by?: string; + enable_lazy_filter?: boolean; + sort_by?: string | string[]; + facet_by?: string | string[]; + max_facet_values?: number; + facet_sample_threshold?: number; + facet_sample_percent?: number; + facet_query?: string; + facet_query_num_typos?: number; + facet_return_parent?: string; + page?: number; + per_page?: number; + group_by?: string | string[]; + group_limit?: number; + group_missing_values?: boolean; + include_fields?: string | string[]; + exclude_fields?: string | string[]; + highlight_fields?: string | string[]; + highlight_full_fields?: string | string[]; + highlight_affix_num_tokens?: number; + highlight_start_tag?: string; + highlight_end_tag?: string; + enable_highlight_v1?: boolean; + snippet_threshold?: number; + num_typos?: string | number | number[]; + min_len_1typo?: number; + min_len_2typo?: number; + split_join_tokens?: OperationMode; + exhaustive_search?: boolean; + drop_tokens_threshold?: number; + drop_tokens_mode?: DropTokensMode; + typo_tokens_threshold?: number; + pinned_hits?: string | string[]; + hidden_hits?: string | string[]; + limit_hits?: number; + pre_segmented_query?: boolean; + enable_overrides?: boolean; + override_tags?: string | string[]; + prioritize_exact_match?: boolean; + prioritize_token_position?: boolean; + prioritize_num_matching_fields?: boolean; + search_cutoff_ms?: number; + use_cache?: boolean; + max_candidates?: number; + infix?: OperationMode | OperationMode[]; + preset?: string; + text_match_type?: "max_score" | "max_weight"; + vector_query?: string; + "x-typesense-api-key"?: string; + "x-typesense-user-id"?: string; + offset?: number; + limit?: number; + stopwords?: string; + conversation?: boolean; + conversation_model_id?: string; + conversation_id?: string; + voice_query?: string; +} +type SearchResponseHighlightObject = { + matched_tokens?: string[]; + snippet?: string; + value?: string; +}; +type SearchResponseHighlight = T extends string | number ? SearchResponseHighlightObject : { + [TAttribute in keyof T]?: SearchResponseHighlight; +}; +interface SearchResponseHit { + curated?: true; + highlights?: [ + { + field: keyof T; + snippet?: string; + value?: string; + snippets?: string[]; + indices?: number[]; + matched_tokens: string[][] | string[]; + } + ]; + highlight: SearchResponseHighlight; + document: T; + text_match: number; + text_match_info?: { + best_field_score: string; + best_field_weight: number; + fields_matched: number; + score: string; + tokens_matched: number; + }; +} +interface SearchResponseFacetCountSchema { + counts: { + count: number; + highlighted: string; + value: string; + }[]; + field_name: keyof T; + stats: { + avg?: number; + max?: number; + min?: number; + sum?: number; + }; +} +interface SearchResponseRequestParams { + collection_name?: string; + q?: string; + page?: number; + per_page?: number; + first_q?: string; + voice_query?: { + transcribed_query?: string; + }; +} +interface SearchResponse { + facet_counts?: SearchResponseFacetCountSchema[]; + found: number; + found_docs?: number; + out_of: number; + page: number; + request_params: SearchResponseRequestParams; + search_time_ms: number; + search_cutoff?: boolean; + hits?: SearchResponseHit[]; + grouped_hits?: { + group_key: string[]; + hits: SearchResponseHit[]; + found?: number; + }[]; + conversation?: { + answer: string; + conversation_history: { + conversation: object[]; + id: string; + last_updated: number; + ttl: number; + }; + conversation_id: string; + query: string; + }; + error?: string; + code?: number; +} +interface DocumentWriteParameters { + dirty_values?: "coerce_or_reject" | "coerce_or_drop" | "drop" | "reject"; + action?: "create" | "update" | "upsert" | "emplace"; +} +interface UpdateByFilterParameters { + filter_by?: string; +} +interface UpdateByFilterResponse { + num_updated: number; +} +interface DocumentImportParameters extends DocumentWriteParameters { + batch_size?: number; + return_doc?: boolean; + return_id?: boolean; +} +interface DocumentsExportParameters { + filter_by?: string; + include_fields?: string; + exclude_fields?: string; +} +interface SearchableDocuments { + search(searchParameters: SearchParams | SearchParamsWithPreset, options: SearchOptions): Promise>; + clearCache(): void; +} +interface WriteableDocuments { + create(document: T, options: DocumentWriteParameters): Promise; + upsert(document: T, options: DocumentWriteParameters): Promise; + update(document: T, options: DocumentWriteParameters): Promise; + delete(query: DeleteQuery): Promise; + import(documents: T[] | string, options: DocumentWriteParameters): Promise; + export(options: DocumentsExportParameters): Promise; +} +interface SearchOptions { + cacheSearchResultsForSeconds?: number; + abortSignal?: AbortSignal | null; +} +declare class Documents extends SearchOnlyDocuments implements WriteableDocuments { + constructor(collectionName: string, apiCall: ApiCall, configuration: Configuration); + create(document: T, options?: DocumentWriteParameters): Promise; + upsert(document: T, options?: DocumentWriteParameters): Promise; + update(document: T, options: UpdateByFilterParameters): Promise; + update(document: T, options: DocumentWriteParameters): Promise; + delete(query?: DeleteQuery): Promise; + createMany(documents: T[], options?: DocumentImportParameters): Promise; + /** + * Import a set of documents in a batch. + * @param {string|Array} documents - Can be a JSONL string of documents or an array of document objects. + * @param options + * @return {string|Array} Returns a JSONL string if the input was a JSONL string, otherwise it returns an array of results. + */ + import(documents: string, options?: DocumentImportParameters): Promise; + import(documents: T[], options?: DocumentImportParameters): Promise; + /** + * Imports documents from a NodeJS readable stream of JSONL. + */ + importStream(readableStream: ReadStream, options?: DocumentImportParameters): Promise; + /** + * Returns a JSONL string for all the documents in this collection + */ + export(options?: DocumentsExportParameters): Promise; + /** + * Returns a NodeJS readable stream of JSONL for all the documents in this collection. + */ + exportStream(options?: DocumentsExportParameters): Promise; +} + +interface OverrideSchema extends OverrideCreateSchema { + id: string; +} +interface OverrideDeleteSchema { + id: string; +} +declare class Override { + private collectionName; + private overrideId; + private apiCall; + constructor(collectionName: string, overrideId: string, apiCall: ApiCall); + retrieve(): Promise; + delete(): Promise; + private endpointPath; +} + +interface OverrideRuleQuerySchema { + query?: string; + match?: "exact" | "contains"; +} +interface OverrideRuleFilterSchema { + filter_by?: string; +} +interface OverrideRuleTagsSchema { + tags?: string[]; +} +interface OverrideCreateSchema { + rule: OverrideRuleQuerySchema & OverrideRuleFilterSchema & OverrideRuleTagsSchema; + filter_by?: string; + sort_by?: string; + remove_matched_tokens?: boolean; + replace_query?: string; + includes?: Array<{ + id: string; + position: number; + }>; + excludes?: Array<{ + id: string; + }>; + filter_curated_hits?: boolean; + effective_from_ts?: number; + effective_to_ts?: number; + stop_processing?: boolean; + metadata?: object; +} +interface OverridesRetrieveSchema { + overrides: OverrideSchema[]; +} +declare class Overrides { + private collectionName; + private apiCall; + constructor(collectionName: string, apiCall: ApiCall); + upsert(overrideId: string, params: OverrideCreateSchema): Promise; + retrieve(): Promise; + private endpointPath; + static get RESOURCEPATH(): string; +} + +interface SynonymSchema extends SynonymCreateSchema { + id: string; +} +interface SynonymDeleteSchema { + id: string; +} +declare class Synonym { + private collectionName; + private synonymId; + private apiCall; + constructor(collectionName: string, synonymId: string, apiCall: ApiCall); + retrieve(): Promise; + delete(): Promise; + private endpointPath; +} + +interface SynonymCreateSchema { + synonyms: string[]; + root?: string; + locale?: string; + symbols_to_index?: string[]; +} +interface SynonymsRetrieveSchema { + synonyms: SynonymSchema[]; +} +declare class Synonyms { + private collectionName; + private apiCall; + constructor(collectionName: string, apiCall: ApiCall); + upsert(synonymId: string, params: SynonymCreateSchema): Promise; + retrieve(): Promise; + private endpointPath; + static get RESOURCEPATH(): string; +} + +declare class Document { + private collectionName; + private documentId; + private apiCall; + constructor(collectionName: string, documentId: string, apiCall: ApiCall); + retrieve(): Promise; + delete(options?: DeleteQuery): Promise; + update(partialDocument: Partial, options?: DocumentWriteParameters): Promise; + private endpointPath; +} + +type FieldType = "string" | "int32" | "int64" | "float" | "bool" | "geopoint" | "geopoint[]" | "string[]" | "int32[]" | "int64[]" | "float[]" | "bool[]" | "object" | "object[]" | "auto" | "string*" | "image"; +interface CollectionFieldSchema { + name: string; + type: FieldType; + optional?: boolean; + facet?: boolean; + index?: boolean; + sort?: boolean; + locale?: string; + infix?: boolean; + stem?: boolean; + num_dim?: number; + store?: boolean; + [t: string]: unknown; +} +interface CollectionSchema extends CollectionCreateSchema { + created_at: number; + num_documents: number; + num_memory_shards: number; +} +interface CollectionDropFieldSchema { + name: string; + drop: true; +} +interface CollectionUpdateSchema extends Partial> { + fields?: (CollectionFieldSchema | CollectionDropFieldSchema)[]; +} +declare class Collection { + private readonly name; + private readonly apiCall; + private readonly configuration; + private readonly _documents; + private individualDocuments; + private readonly _overrides; + private individualOverrides; + private readonly _synonyms; + private individualSynonyms; + constructor(name: string, apiCall: ApiCall, configuration: any); + retrieve(): Promise; + update(schema: CollectionUpdateSchema): Promise; + delete(): Promise; + exists(): Promise; + documents(): Documents; + documents(documentId: string): Document; + overrides(): Overrides; + overrides(overrideId: string): Override; + synonyms(): Synonyms; + synonyms(synonymId: string): Synonym; + private endpointPath; +} + +interface CollectionCreateSchema { + name: string; + default_sorting_field?: string; + fields?: CollectionFieldSchema[]; + symbols_to_index?: string[]; + token_separators?: string[]; + enable_nested_fields?: boolean; + metadata?: object; + voice_query_model?: { + model_name?: string; + }; +} +interface CollectionCreateOptions { + src_name?: string; +} +interface CollectionsRetrieveOptions { + exclude_fields?: string; +} +declare class Collections { + private apiCall; + constructor(apiCall: ApiCall); + create(schema: CollectionCreateSchema, options?: CollectionCreateOptions): Promise; + retrieve(options?: CollectionsRetrieveOptions): Promise; + static get RESOURCEPATH(): string; +} + +interface CollectionAliasCreateSchema { + collection_name: string; +} +interface CollectionAliasSchema extends CollectionAliasCreateSchema { + name: string; +} +interface CollectionAliasesResponseSchema { + aliases: CollectionAliasSchema[]; +} +declare class Aliases { + private apiCall; + constructor(apiCall: ApiCall); + upsert(name: string, mapping: CollectionAliasCreateSchema): Promise; + retrieve(): Promise; + private endpointPath; + static get RESOURCEPATH(): string; +} + +declare class Alias { + private name; + private apiCall; + constructor(name: string, apiCall: ApiCall); + retrieve(): Promise; + delete(): Promise; + private endpointPath; +} + +interface KeyCreateSchema { + actions: string[]; + collections: string[]; + description?: string; + value?: string; + value_prefix?: string; + expires_at?: number; +} +interface KeyDeleteSchema { + id: number; +} +interface KeySchema extends KeyCreateSchema { + id: number; +} +declare class Key { + private id; + private apiCall; + constructor(id: number, apiCall: ApiCall); + retrieve(): Promise; + delete(): Promise; + private endpointPath; +} + +interface KeysRetrieveSchema { + keys: KeySchema[]; +} +interface GenerateScopedSearchKeyParams extends Partial { + expires_at?: number; + cache_ttl?: number; + limit_multi_searches?: number; +} +declare class Keys { + private apiCall; + constructor(apiCall: ApiCall); + create(params: KeyCreateSchema): Promise; + retrieve(): Promise; + generateScopedSearchKey(searchKey: string, parameters: GenerateScopedSearchKeyParams): string; + static get RESOURCEPATH(): string; +} + +interface DebugResponseSchema { + state: number; + version: string; +} +declare class Debug { + private apiCall; + constructor(apiCall: ApiCall); + retrieve(): Promise; +} + +interface MetricsResponse { + [key: `system_cpu${number}_active_percentage`]: string; + system_cpu_active_percentage: string; + system_disk_total_bytes: string; + system_disk_used_bytes: string; + system_memory_total_bytes: string; + system_memory_total_swap_bytes?: string; + system_memory_used_bytes: string; + system_memory_used_swap_bytes?: string; + system_network_received_bytes: string; + system_network_sent_bytes: string; + typesense_memory_active_bytes: string; + typesense_memory_allocated_bytes: string; + typesense_memory_fragmentation_ratio: string; + typesense_memory_mapped_bytes: string; + typesense_memory_metadata_bytes: string; + typesense_memory_resident_bytes: string; + typesense_memory_retained_bytes: string; +} +declare class Metrics$1 { + private apiCall; + constructor(apiCall: ApiCall); + retrieve(): Promise; +} + +interface EndpointStats { + [endpoint: string]: number; +} +interface StatsResponse { + delete_latency_ms?: number; + delete_requests_per_second?: number; + import_latency_ms?: number; + import_requests_per_second?: number; + latency_ms?: EndpointStats; + overloaded_requests_per_second?: number; + pending_write_batches?: number; + requests_per_second?: EndpointStats; + search_latency_ms?: number; + search_requests_per_second?: number; + total_requests_per_second?: number; + write_latency_ms?: number; + write_requests_per_second?: number; +} +declare class Metrics { + private apiCall; + constructor(apiCall: ApiCall); + retrieve(): Promise; +} + +interface HealthResponse { + ok: boolean; +} +declare class Health { + private apiCall; + constructor(apiCall: ApiCall); + retrieve(): Promise; +} + +declare class Operations { + private apiCall; + constructor(apiCall: ApiCall); + perform(operationName: "vote" | "snapshot" | "cache/clear" | string, queryParameters?: Record): Promise; +} + +interface MultiSearchRequestSchema extends SearchParams { + collection?: string; + "x-typesense-api-key"?: string; +} +interface MultiSearchRequestWithPresetSchema extends SearchParamsWithPreset { + collection?: string; + "x-typesense-api-key"?: string; +} +interface MultiSearchRequestsSchema { + searches: (MultiSearchRequestSchema | MultiSearchRequestWithPresetSchema)[]; +} +interface MultiSearchResponse { + results: { + [Index in keyof T]: SearchResponse; + } & { + length: T["length"]; + }; +} +declare class MultiSearch { + private apiCall; + private configuration; + private useTextContentType; + private requestWithCache; + constructor(apiCall: ApiCall, configuration: Configuration, useTextContentType?: boolean); + clearCache(): void; + perform(searchRequests: MultiSearchRequestsSchema, commonParams?: Partial, { cacheSearchResultsForSeconds, }?: { + cacheSearchResultsForSeconds?: number; + }): Promise>; +} + +interface PresetSchema extends PresetCreateSchema { + name: string; +} +interface PresetDeleteSchema { + name: string; +} +declare class Preset { + private presetId; + private apiCall; + constructor(presetId: string, apiCall: ApiCall); + retrieve(): Promise; + delete(): Promise; + private endpointPath; +} + +interface PresetCreateSchema { + value: SearchParams | MultiSearchRequestsSchema; +} +interface PresetsRetrieveSchema { + presets: PresetSchema[]; +} +declare class Presets { + private apiCall; + constructor(apiCall: ApiCall); + upsert(presetId: string, params: PresetCreateSchema): Promise; + retrieve(): Promise; + private endpointPath; + static get RESOURCEPATH(): string; +} + +interface AnalyticsRuleCreateSchema { + type: "popular_queries" | "nohits_queries" | "counter"; + params: { + source: { + collections: string[]; + events?: Array<{ + type: string; + weight: number; + name: string; + }>; + }; + expand_query?: boolean; + destination: { + collection: string; + counter_field?: string; + }; + limit?: number; + }; +} +interface AnalyticsRuleDeleteSchema { + name: string; +} +interface AnalyticsRuleSchema extends AnalyticsRuleCreateSchema { + name: string; +} +declare class AnalyticsRule { + private name; + private apiCall; + constructor(name: string, apiCall: ApiCall); + retrieve(): Promise; + delete(): Promise; + private endpointPath; +} + +interface AnalyticsRulesRetrieveSchema { + rules: AnalyticsRuleSchema[]; +} +declare class AnalyticsRules { + private readonly apiCall; + constructor(apiCall: ApiCall); + upsert(name: string, params: AnalyticsRuleCreateSchema): Promise; + retrieve(): Promise; + private endpointPath; + static get RESOURCEPATH(): string; +} + +interface AnalyticsEventCreateSchema { + type: string; + name: string; + data?: object; +} + +declare class AnalyticsEvents { + private readonly apiCall; + constructor(apiCall: ApiCall); + create(params: AnalyticsEventCreateSchema): Promise; + private endpointPath; + static get RESOURCEPATH(): string; +} + +declare class Analytics { + private readonly apiCall; + private readonly _analyticsRules; + private readonly individualAnalyticsRules; + private readonly _analyticsEvents; + constructor(apiCall: ApiCall); + rules(id?: string): AnalyticsRules | AnalyticsRule; + events(): AnalyticsEvents; + static get RESOURCEPATH(): string; +} + +interface StopwordSchema extends StopwordCreateSchema { + id: string; + stopwords: string[]; + locale?: string; +} +interface StopwordDeleteSchema { + id: string; +} +declare class Stopword { + private stopwordId; + private apiCall; + constructor(stopwordId: string, apiCall: ApiCall); + retrieve(): Promise; + delete(): Promise; + private endpointPath; +} + +interface StopwordCreateSchema { + stopwords: string[]; + locale?: string; +} +interface StopwordsRetrieveSchema { + stopwords: StopwordSchema[]; +} +declare class Stopwords { + private apiCall; + constructor(apiCall: ApiCall); + upsert(stopwordId: string, params: StopwordCreateSchema): Promise; + retrieve(): Promise; + private endpointPath; + static get RESOURCEPATH(): string; +} + +interface ConversationModelCreateSchema { + id?: string; + model_name: string; + api_key?: string; + system_prompt?: string; + max_bytes: number; + history_collection?: string; +} +interface ConversationModelDeleteSchema { + id: string; +} +interface ConversationModelSchema extends ConversationModelCreateSchema { + id: string; +} +declare class ConversationModel { + private id; + private apiCall; + constructor(id: string, apiCall: ApiCall); + update(params: ConversationModelCreateSchema): Promise; + retrieve(): Promise; + delete(): Promise; + private endpointPath; +} + +declare class ConversationModels { + private readonly apiCall; + constructor(apiCall: ApiCall); + create(params: ConversationModelCreateSchema): Promise; + retrieve(): Promise; + private endpointPath; + static get RESOURCEPATH(): string; +} + +interface ConversationDeleteSchema { + id: number; +} +interface ConversationUpdateSchema { + ttl: number; +} +interface ConversationSchema { + id: number; + conversation: object[]; + last_updated: number; + ttl: number; +} +declare class Conversation { + private id; + private apiCall; + constructor(id: string, apiCall: ApiCall); + retrieve(): Promise; + update(params: ConversationUpdateSchema): Promise; + delete(): Promise; + private endpointPath; +} + +interface ConversationsRetrieveSchema { + conversations: ConversationSchema[]; +} +declare class Conversations { + private readonly apiCall; + private readonly _conversationsModels; + private readonly individualConversationModels; + constructor(apiCall: ApiCall); + retrieve(): Promise; + models(): ConversationModels; + models(id: string): ConversationModel; + static get RESOURCEPATH(): string; +} + +declare class Client { + configuration: Configuration; + apiCall: ApiCall; + debug: Debug; + metrics: Metrics$1; + stats: Metrics; + health: Health; + operations: Operations; + multiSearch: MultiSearch; + analytics: Analytics; + private readonly _collections; + private readonly individualCollections; + private readonly _aliases; + private readonly individualAliases; + private readonly _keys; + private readonly individualKeys; + private readonly _presets; + private readonly individualPresets; + private readonly _stopwords; + private readonly individualStopwords; + private readonly _conversations; + private readonly individualConversations; + constructor(options: ConfigurationOptions); + collections(): Collections; + collections = object>(collectionName: string): Collection; + aliases(): Aliases; + aliases(aliasName: string): Alias; + keys(): Keys; + keys(id: number): Key; + presets(): Presets; + presets(id: string): Preset; + stopwords(): Stopwords; + stopwords(id: string): Stopword; + conversations(): Conversations; + conversations(id: string): Conversation; +} + +declare class SearchOnlyCollection { + private readonly name; + private readonly apiCall; + private readonly configuration; + private readonly _documents; + constructor(name: string, apiCall: ApiCall, configuration: any); + documents(): SearchableDocuments; +} + +declare class SearchClient { + readonly multiSearch: MultiSearch; + private readonly configuration; + private readonly apiCall; + private readonly individualCollections; + constructor(options: ConfigurationOptions); + clearCache(): void; + collections(collectionName: string): SearchOnlyCollection | SearchOnlyCollection; +} + +declare class HTTPError extends TypesenseError { +} + +declare class MissingConfigurationError extends TypesenseError { +} + +declare class ObjectAlreadyExists extends TypesenseError { +} + +declare class ObjectNotFound extends TypesenseError { +} + +declare class ObjectUnprocessable extends TypesenseError { +} + +declare class RequestMalformed extends TypesenseError { +} + +declare class RequestUnauthorized extends TypesenseError { +} + +declare class ServerError extends TypesenseError { +} + +declare class ImportError extends TypesenseError { + importResults: ImportResponse[]; + constructor(message: string, importResults: ImportResponse[]); +} + +type Errors_HTTPError = HTTPError; +declare const Errors_HTTPError: typeof HTTPError; +type Errors_ImportError = ImportError; +declare const Errors_ImportError: typeof ImportError; +type Errors_MissingConfigurationError = MissingConfigurationError; +declare const Errors_MissingConfigurationError: typeof MissingConfigurationError; +type Errors_ObjectAlreadyExists = ObjectAlreadyExists; +declare const Errors_ObjectAlreadyExists: typeof ObjectAlreadyExists; +type Errors_ObjectNotFound = ObjectNotFound; +declare const Errors_ObjectNotFound: typeof ObjectNotFound; +type Errors_ObjectUnprocessable = ObjectUnprocessable; +declare const Errors_ObjectUnprocessable: typeof ObjectUnprocessable; +type Errors_RequestMalformed = RequestMalformed; +declare const Errors_RequestMalformed: typeof RequestMalformed; +type Errors_RequestUnauthorized = RequestUnauthorized; +declare const Errors_RequestUnauthorized: typeof RequestUnauthorized; +type Errors_ServerError = ServerError; +declare const Errors_ServerError: typeof ServerError; +type Errors_TypesenseError = TypesenseError; +declare const Errors_TypesenseError: typeof TypesenseError; +declare namespace Errors { + export { Errors_HTTPError as HTTPError, Errors_ImportError as ImportError, Errors_MissingConfigurationError as MissingConfigurationError, Errors_ObjectAlreadyExists as ObjectAlreadyExists, Errors_ObjectNotFound as ObjectNotFound, Errors_ObjectUnprocessable as ObjectUnprocessable, Errors_RequestMalformed as RequestMalformed, Errors_RequestUnauthorized as RequestUnauthorized, Errors_ServerError as ServerError, Errors_TypesenseError as TypesenseError }; +} + +declare const _default: { + Client: typeof Client; + SearchClient: typeof SearchClient; + Errors: typeof Errors; +}; + +export { Client, Errors, SearchClient, _default as default }; diff --git a/lib/Typesense.d.ts b/lib/Typesense.d.ts new file mode 100644 index 00000000..2f05ea9f --- /dev/null +++ b/lib/Typesense.d.ts @@ -0,0 +1,1177 @@ +import { Agent } from 'http'; +import { Agent as Agent$1 } from 'https'; +import { AxiosRequestConfig, Method, AxiosResponse } from 'axios'; +import { ReadStream } from 'fs'; + +/** + * Represents the log levels that can be used in the logger with their corresponding number values. + */ +type LogLevelMap = { + Trace: "trace" | 0; + Debug: "debug" | 1; + Info: "info" | 2; + Warn: "warn" | 3; + Error: "error" | 4; + Silent: "silent" | 5; +}; +/** + * Represents the log levels that can be used in the logger. + */ +type LogLevel = LogLevelMap[keyof LogLevelMap]; +/** + * A simple logging class using a singleton pattern. + * Only prints to stdout. + */ +declare class SimpleLogger { + private static instance; + /** + * Numeric representation of the log level set. + * Defaults to LogLevelNumber.Warn. + * @private + * @type {LogLevelNumberValues} + */ + private logLevel; + /** + * Private constructor to prevent instantiation. + * @private + */ + private constructor(); + /** + * Get the singleton instance of the SimpleLogger. + * @returns {SimpleLogger} The singleton instance of the SimpleLogger. + */ + static getInstance(): SimpleLogger; + /** + * Formats the message to be logged. + * @private + * @param level The log level to be used. + * @param message The message to be logged. + * @returns The formatted message. + */ + private formatMessage; + /** + * Logs the message with the appropriate console function + * @param level The log level to be used. + * @param message The message to be logged. + */ + private logWith; + /** + * Maps the log level to the appropriate console function. + * @param level The log level to be used. + * @returns The console function to be used for the log level. + */ + private mapLogLevelToConsoleFunction; + /** + * Uses the `console.debug` method to log the message if the log level is set to debug or lower. + * @param message The message to be logged. + */ + debug(message: string): void; + /** + * Uses the `console.warn` method to log the message if the log level is set to warn or lower. + * @param message The message to be logged. + */ + warn(message: string): void; + /** + * Uses the `console.error` method to log the message if the log level is set to error or lower. + * @param message The message to be logged. + */ + error(message: string): void; + /** + * Uses the `console.trace` method to log the message if the log level is set to trace or lower. + * @param message The message to be logged. + */ + trace(message: string): void; + /** + * Uses the `console.info` method to log the message if the log level is set to info or lower. + * @param message The message to be logged. + */ + info(message: string): void; + /** + * Sets the log level to the specified level as a numeric representation of it, if given a string. + * @param level The log level to be set. + */ + setLogLevel(level: LogLevel): void; +} +declare const logger: SimpleLogger; + +interface NodeConfiguration { + host: string; + port: number; + protocol: string; + path?: string; + url?: string; +} +interface NodeConfigurationWithHostname { + host: string; + port: number; + protocol: string; + path?: string; +} +interface NodeConfigurationWithUrl { + url: string; +} +interface ConfigurationOptions { + apiKey: string; + nodes: NodeConfiguration[] | NodeConfigurationWithHostname[] | NodeConfigurationWithUrl[]; + randomizeNodes?: boolean; + /** + * @deprecated + * masterNode is now consolidated to nodes, starting with Typesense Server v0.12' + */ + masterNode?: NodeConfiguration | NodeConfigurationWithHostname | NodeConfigurationWithUrl; + /** + * @deprecated + * readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12' + */ + readReplicaNodes?: NodeConfiguration[] | NodeConfigurationWithHostname[] | NodeConfigurationWithUrl[]; + nearestNode?: NodeConfiguration | NodeConfigurationWithHostname | NodeConfigurationWithUrl; + connectionTimeoutSeconds?: number; + timeoutSeconds?: number; + healthcheckIntervalSeconds?: number; + numRetries?: number; + retryIntervalSeconds?: number; + sendApiKeyAsQueryParam?: boolean | undefined; + useServerSideSearchCache?: boolean; + cacheSearchResultsForSeconds?: number; + additionalHeaders?: Record; + logger?: typeof logger; + logLevel?: LogLevel; + /** + * Set a custom HTTP Agent + * + * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors + * Usage: + * const { Agent: HTTPAgent } = require("http"); + * ... + * httpAgent: new HTTPAgent({ keepAlive: true }), + * @type {HTTPAgent} + */ + httpAgent?: Agent; + /** + * Set a custom HTTPS Agent + * + * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors + * Usage: + * const { Agent: HTTPSAgent } = require("https"); + * ... + * httpsAgent: new HTTPSAgent({ keepAlive: true }), + * @type {HTTPSAgent} + */ + httpsAgent?: Agent$1; + /** + * Set a custom paramsSerializer + * + * See axios documentation for more information on how to use this parameter: https://axios-http.com/docs/req_config + * This is helpful for handling React Native issues like this: https://github.com/axios/axios/issues/6102#issuecomment-2085301397 + * @type {any} + */ + paramsSerializer?: any; +} +declare class Configuration { + readonly nodes: NodeConfiguration[] | NodeConfigurationWithHostname[] | NodeConfigurationWithUrl[]; + readonly nearestNode?: NodeConfiguration | NodeConfigurationWithHostname | NodeConfigurationWithUrl; + readonly connectionTimeoutSeconds: number; + readonly healthcheckIntervalSeconds: number; + readonly numRetries: number; + readonly retryIntervalSeconds: number; + readonly apiKey: string; + readonly sendApiKeyAsQueryParam?: boolean; + readonly cacheSearchResultsForSeconds: number; + readonly useServerSideSearchCache: boolean; + readonly logger: typeof logger; + readonly logLevel: LogLevel; + readonly additionalHeaders?: Record; + readonly httpAgent?: Agent; + readonly httpsAgent?: Agent$1; + readonly paramsSerializer?: any; + constructor(options: ConfigurationOptions); + validate(): boolean; + private validateNodes; + private isNodeMissingAnyParameters; + private setDefaultPathInNode; + private setDefaultPortInNode; + private showDeprecationWarnings; + private shuffleArray; +} + +declare class TypesenseError extends Error { + httpStatus?: number; + constructor(message?: string); +} + +interface Node extends NodeConfiguration { + isHealthy: boolean; + index: string | number; +} +declare class ApiCall { + private configuration; + private readonly apiKey; + private readonly nodes; + private readonly nearestNode; + private readonly connectionTimeoutSeconds; + private readonly healthcheckIntervalSeconds; + private readonly retryIntervalSeconds; + private readonly sendApiKeyAsQueryParam?; + private readonly numRetriesPerRequest; + private readonly additionalUserHeaders?; + private readonly logger; + private currentNodeIndex; + constructor(configuration: Configuration); + get(endpoint: string, queryParameters?: any, { abortSignal, responseType, }?: { + abortSignal?: any; + responseType?: AxiosRequestConfig["responseType"] | undefined; + }): Promise; + delete(endpoint: string, queryParameters?: any): Promise; + post(endpoint: string, bodyParameters?: any, queryParameters?: any, additionalHeaders?: any): Promise; + put(endpoint: string, bodyParameters?: any, queryParameters?: any): Promise; + patch(endpoint: string, bodyParameters?: any, queryParameters?: any): Promise; + performRequest(requestType: Method, endpoint: string, { queryParameters, bodyParameters, additionalHeaders, abortSignal, responseType, skipConnectionTimeout, enableKeepAlive, }: { + queryParameters?: any; + bodyParameters?: any; + additionalHeaders?: any; + abortSignal?: any; + responseType?: AxiosRequestConfig["responseType"] | undefined; + skipConnectionTimeout?: boolean; + enableKeepAlive?: boolean | undefined; + }): Promise; + getNextNode(requestNumber?: number): Node; + nodeDueForHealthcheck(node: any, requestNumber?: number): boolean; + initializeMetadataForNodes(): void; + setNodeHealthcheck(node: any, isHealthy: any): void; + uriFor(endpoint: string, node: any): string; + defaultHeaders(): any; + timer(seconds: any): Promise; + customErrorForResponse(response: AxiosResponse, messageFromServer: string): TypesenseError; +} + +declare class RequestWithCache { + private responseCache; + private responsePromiseCache; + clearCache(): void; + perform(requestContext: any, requestFunction: (...params: any) => unknown, requestFunctionArguments: any[], cacheOptions: CacheOptions): Promise; +} +interface CacheOptions { + cacheResponseForSeconds?: number; + maxSize?: number; +} + +declare class SearchOnlyDocuments implements SearchableDocuments { + protected collectionName: string; + protected apiCall: ApiCall; + protected configuration: Configuration; + protected requestWithCache: RequestWithCache; + constructor(collectionName: string, apiCall: ApiCall, configuration: Configuration); + clearCache(): void; + search(searchParameters: SearchParams | SearchParamsWithPreset, { cacheSearchResultsForSeconds, abortSignal, }?: SearchOptions): Promise>; + protected endpointPath(operation?: string): string; + static get RESOURCEPATH(): string; +} + +interface DeleteQuery { + filter_by?: string; + batch_size?: number; + ignore_not_found?: boolean; +} +interface DeleteResponse { + num_deleted: number; +} +interface ImportResponseSuccess { + success: true; +} +interface ImportResponseFail { + success: false; + error: string; + document: DocumentSchema; + code: number; +} +type ImportResponse = ImportResponseSuccess | ImportResponseFail; +type DocumentSchema = Record; +interface SearchParamsWithPreset extends Partial { + preset: string; +} +type DropTokensMode = "right_to_left" | "left_to_right" | "both_sides:3"; +type OperationMode = "off" | "always" | "fallback"; +interface SearchParams { + q?: string; + query_by?: string | string[]; + query_by_weights?: string | number[]; + prefix?: string | boolean | boolean[]; + filter_by?: string; + enable_lazy_filter?: boolean; + sort_by?: string | string[]; + facet_by?: string | string[]; + max_facet_values?: number; + facet_sample_threshold?: number; + facet_sample_percent?: number; + facet_query?: string; + facet_query_num_typos?: number; + facet_return_parent?: string; + page?: number; + per_page?: number; + group_by?: string | string[]; + group_limit?: number; + group_missing_values?: boolean; + include_fields?: string | string[]; + exclude_fields?: string | string[]; + highlight_fields?: string | string[]; + highlight_full_fields?: string | string[]; + highlight_affix_num_tokens?: number; + highlight_start_tag?: string; + highlight_end_tag?: string; + enable_highlight_v1?: boolean; + snippet_threshold?: number; + num_typos?: string | number | number[]; + min_len_1typo?: number; + min_len_2typo?: number; + split_join_tokens?: OperationMode; + exhaustive_search?: boolean; + drop_tokens_threshold?: number; + drop_tokens_mode?: DropTokensMode; + typo_tokens_threshold?: number; + pinned_hits?: string | string[]; + hidden_hits?: string | string[]; + limit_hits?: number; + pre_segmented_query?: boolean; + enable_overrides?: boolean; + override_tags?: string | string[]; + prioritize_exact_match?: boolean; + prioritize_token_position?: boolean; + prioritize_num_matching_fields?: boolean; + search_cutoff_ms?: number; + use_cache?: boolean; + max_candidates?: number; + infix?: OperationMode | OperationMode[]; + preset?: string; + text_match_type?: "max_score" | "max_weight"; + vector_query?: string; + "x-typesense-api-key"?: string; + "x-typesense-user-id"?: string; + offset?: number; + limit?: number; + stopwords?: string; + conversation?: boolean; + conversation_model_id?: string; + conversation_id?: string; + voice_query?: string; +} +type SearchResponseHighlightObject = { + matched_tokens?: string[]; + snippet?: string; + value?: string; +}; +type SearchResponseHighlight = T extends string | number ? SearchResponseHighlightObject : { + [TAttribute in keyof T]?: SearchResponseHighlight; +}; +interface SearchResponseHit { + curated?: true; + highlights?: [ + { + field: keyof T; + snippet?: string; + value?: string; + snippets?: string[]; + indices?: number[]; + matched_tokens: string[][] | string[]; + } + ]; + highlight: SearchResponseHighlight; + document: T; + text_match: number; + text_match_info?: { + best_field_score: string; + best_field_weight: number; + fields_matched: number; + score: string; + tokens_matched: number; + }; +} +interface SearchResponseFacetCountSchema { + counts: { + count: number; + highlighted: string; + value: string; + }[]; + field_name: keyof T; + stats: { + avg?: number; + max?: number; + min?: number; + sum?: number; + }; +} +interface SearchResponseRequestParams { + collection_name?: string; + q?: string; + page?: number; + per_page?: number; + first_q?: string; + voice_query?: { + transcribed_query?: string; + }; +} +interface SearchResponse { + facet_counts?: SearchResponseFacetCountSchema[]; + found: number; + found_docs?: number; + out_of: number; + page: number; + request_params: SearchResponseRequestParams; + search_time_ms: number; + search_cutoff?: boolean; + hits?: SearchResponseHit[]; + grouped_hits?: { + group_key: string[]; + hits: SearchResponseHit[]; + found?: number; + }[]; + conversation?: { + answer: string; + conversation_history: { + conversation: object[]; + id: string; + last_updated: number; + ttl: number; + }; + conversation_id: string; + query: string; + }; + error?: string; + code?: number; +} +interface DocumentWriteParameters { + dirty_values?: "coerce_or_reject" | "coerce_or_drop" | "drop" | "reject"; + action?: "create" | "update" | "upsert" | "emplace"; +} +interface UpdateByFilterParameters { + filter_by?: string; +} +interface UpdateByFilterResponse { + num_updated: number; +} +interface DocumentImportParameters extends DocumentWriteParameters { + batch_size?: number; + return_doc?: boolean; + return_id?: boolean; +} +interface DocumentsExportParameters { + filter_by?: string; + include_fields?: string; + exclude_fields?: string; +} +interface SearchableDocuments { + search(searchParameters: SearchParams | SearchParamsWithPreset, options: SearchOptions): Promise>; + clearCache(): void; +} +interface WriteableDocuments { + create(document: T, options: DocumentWriteParameters): Promise; + upsert(document: T, options: DocumentWriteParameters): Promise; + update(document: T, options: DocumentWriteParameters): Promise; + delete(query: DeleteQuery): Promise; + import(documents: T[] | string, options: DocumentWriteParameters): Promise; + export(options: DocumentsExportParameters): Promise; +} +interface SearchOptions { + cacheSearchResultsForSeconds?: number; + abortSignal?: AbortSignal | null; +} +declare class Documents extends SearchOnlyDocuments implements WriteableDocuments { + constructor(collectionName: string, apiCall: ApiCall, configuration: Configuration); + create(document: T, options?: DocumentWriteParameters): Promise; + upsert(document: T, options?: DocumentWriteParameters): Promise; + update(document: T, options: UpdateByFilterParameters): Promise; + update(document: T, options: DocumentWriteParameters): Promise; + delete(query?: DeleteQuery): Promise; + createMany(documents: T[], options?: DocumentImportParameters): Promise; + /** + * Import a set of documents in a batch. + * @param {string|Array} documents - Can be a JSONL string of documents or an array of document objects. + * @param options + * @return {string|Array} Returns a JSONL string if the input was a JSONL string, otherwise it returns an array of results. + */ + import(documents: string, options?: DocumentImportParameters): Promise; + import(documents: T[], options?: DocumentImportParameters): Promise; + /** + * Imports documents from a NodeJS readable stream of JSONL. + */ + importStream(readableStream: ReadStream, options?: DocumentImportParameters): Promise; + /** + * Returns a JSONL string for all the documents in this collection + */ + export(options?: DocumentsExportParameters): Promise; + /** + * Returns a NodeJS readable stream of JSONL for all the documents in this collection. + */ + exportStream(options?: DocumentsExportParameters): Promise; +} + +interface OverrideSchema extends OverrideCreateSchema { + id: string; +} +interface OverrideDeleteSchema { + id: string; +} +declare class Override { + private collectionName; + private overrideId; + private apiCall; + constructor(collectionName: string, overrideId: string, apiCall: ApiCall); + retrieve(): Promise; + delete(): Promise; + private endpointPath; +} + +interface OverrideRuleQuerySchema { + query?: string; + match?: "exact" | "contains"; +} +interface OverrideRuleFilterSchema { + filter_by?: string; +} +interface OverrideRuleTagsSchema { + tags?: string[]; +} +interface OverrideCreateSchema { + rule: OverrideRuleQuerySchema & OverrideRuleFilterSchema & OverrideRuleTagsSchema; + filter_by?: string; + sort_by?: string; + remove_matched_tokens?: boolean; + replace_query?: string; + includes?: Array<{ + id: string; + position: number; + }>; + excludes?: Array<{ + id: string; + }>; + filter_curated_hits?: boolean; + effective_from_ts?: number; + effective_to_ts?: number; + stop_processing?: boolean; + metadata?: object; +} +interface OverridesRetrieveSchema { + overrides: OverrideSchema[]; +} +declare class Overrides { + private collectionName; + private apiCall; + constructor(collectionName: string, apiCall: ApiCall); + upsert(overrideId: string, params: OverrideCreateSchema): Promise; + retrieve(): Promise; + private endpointPath; + static get RESOURCEPATH(): string; +} + +interface SynonymSchema extends SynonymCreateSchema { + id: string; +} +interface SynonymDeleteSchema { + id: string; +} +declare class Synonym { + private collectionName; + private synonymId; + private apiCall; + constructor(collectionName: string, synonymId: string, apiCall: ApiCall); + retrieve(): Promise; + delete(): Promise; + private endpointPath; +} + +interface SynonymCreateSchema { + synonyms: string[]; + root?: string; + locale?: string; + symbols_to_index?: string[]; +} +interface SynonymsRetrieveSchema { + synonyms: SynonymSchema[]; +} +declare class Synonyms { + private collectionName; + private apiCall; + constructor(collectionName: string, apiCall: ApiCall); + upsert(synonymId: string, params: SynonymCreateSchema): Promise; + retrieve(): Promise; + private endpointPath; + static get RESOURCEPATH(): string; +} + +declare class Document { + private collectionName; + private documentId; + private apiCall; + constructor(collectionName: string, documentId: string, apiCall: ApiCall); + retrieve(): Promise; + delete(options?: DeleteQuery): Promise; + update(partialDocument: Partial, options?: DocumentWriteParameters): Promise; + private endpointPath; +} + +type FieldType = "string" | "int32" | "int64" | "float" | "bool" | "geopoint" | "geopoint[]" | "string[]" | "int32[]" | "int64[]" | "float[]" | "bool[]" | "object" | "object[]" | "auto" | "string*" | "image"; +interface CollectionFieldSchema { + name: string; + type: FieldType; + optional?: boolean; + facet?: boolean; + index?: boolean; + sort?: boolean; + locale?: string; + infix?: boolean; + stem?: boolean; + num_dim?: number; + store?: boolean; + [t: string]: unknown; +} +interface CollectionSchema extends CollectionCreateSchema { + created_at: number; + num_documents: number; + num_memory_shards: number; +} +interface CollectionDropFieldSchema { + name: string; + drop: true; +} +interface CollectionUpdateSchema extends Partial> { + fields?: (CollectionFieldSchema | CollectionDropFieldSchema)[]; +} +declare class Collection { + private readonly name; + private readonly apiCall; + private readonly configuration; + private readonly _documents; + private individualDocuments; + private readonly _overrides; + private individualOverrides; + private readonly _synonyms; + private individualSynonyms; + constructor(name: string, apiCall: ApiCall, configuration: any); + retrieve(): Promise; + update(schema: CollectionUpdateSchema): Promise; + delete(): Promise; + exists(): Promise; + documents(): Documents; + documents(documentId: string): Document; + overrides(): Overrides; + overrides(overrideId: string): Override; + synonyms(): Synonyms; + synonyms(synonymId: string): Synonym; + private endpointPath; +} + +interface CollectionCreateSchema { + name: string; + default_sorting_field?: string; + fields?: CollectionFieldSchema[]; + symbols_to_index?: string[]; + token_separators?: string[]; + enable_nested_fields?: boolean; + metadata?: object; + voice_query_model?: { + model_name?: string; + }; +} +interface CollectionCreateOptions { + src_name?: string; +} +interface CollectionsRetrieveOptions { + exclude_fields?: string; +} +declare class Collections { + private apiCall; + constructor(apiCall: ApiCall); + create(schema: CollectionCreateSchema, options?: CollectionCreateOptions): Promise; + retrieve(options?: CollectionsRetrieveOptions): Promise; + static get RESOURCEPATH(): string; +} + +interface CollectionAliasCreateSchema { + collection_name: string; +} +interface CollectionAliasSchema extends CollectionAliasCreateSchema { + name: string; +} +interface CollectionAliasesResponseSchema { + aliases: CollectionAliasSchema[]; +} +declare class Aliases { + private apiCall; + constructor(apiCall: ApiCall); + upsert(name: string, mapping: CollectionAliasCreateSchema): Promise; + retrieve(): Promise; + private endpointPath; + static get RESOURCEPATH(): string; +} + +declare class Alias { + private name; + private apiCall; + constructor(name: string, apiCall: ApiCall); + retrieve(): Promise; + delete(): Promise; + private endpointPath; +} + +interface KeyCreateSchema { + actions: string[]; + collections: string[]; + description?: string; + value?: string; + value_prefix?: string; + expires_at?: number; +} +interface KeyDeleteSchema { + id: number; +} +interface KeySchema extends KeyCreateSchema { + id: number; +} +declare class Key { + private id; + private apiCall; + constructor(id: number, apiCall: ApiCall); + retrieve(): Promise; + delete(): Promise; + private endpointPath; +} + +interface KeysRetrieveSchema { + keys: KeySchema[]; +} +interface GenerateScopedSearchKeyParams extends Partial { + expires_at?: number; + cache_ttl?: number; + limit_multi_searches?: number; +} +declare class Keys { + private apiCall; + constructor(apiCall: ApiCall); + create(params: KeyCreateSchema): Promise; + retrieve(): Promise; + generateScopedSearchKey(searchKey: string, parameters: GenerateScopedSearchKeyParams): string; + static get RESOURCEPATH(): string; +} + +interface DebugResponseSchema { + state: number; + version: string; +} +declare class Debug { + private apiCall; + constructor(apiCall: ApiCall); + retrieve(): Promise; +} + +interface MetricsResponse { + [key: `system_cpu${number}_active_percentage`]: string; + system_cpu_active_percentage: string; + system_disk_total_bytes: string; + system_disk_used_bytes: string; + system_memory_total_bytes: string; + system_memory_total_swap_bytes?: string; + system_memory_used_bytes: string; + system_memory_used_swap_bytes?: string; + system_network_received_bytes: string; + system_network_sent_bytes: string; + typesense_memory_active_bytes: string; + typesense_memory_allocated_bytes: string; + typesense_memory_fragmentation_ratio: string; + typesense_memory_mapped_bytes: string; + typesense_memory_metadata_bytes: string; + typesense_memory_resident_bytes: string; + typesense_memory_retained_bytes: string; +} +declare class Metrics$1 { + private apiCall; + constructor(apiCall: ApiCall); + retrieve(): Promise; +} + +interface EndpointStats { + [endpoint: string]: number; +} +interface StatsResponse { + delete_latency_ms?: number; + delete_requests_per_second?: number; + import_latency_ms?: number; + import_requests_per_second?: number; + latency_ms?: EndpointStats; + overloaded_requests_per_second?: number; + pending_write_batches?: number; + requests_per_second?: EndpointStats; + search_latency_ms?: number; + search_requests_per_second?: number; + total_requests_per_second?: number; + write_latency_ms?: number; + write_requests_per_second?: number; +} +declare class Metrics { + private apiCall; + constructor(apiCall: ApiCall); + retrieve(): Promise; +} + +interface HealthResponse { + ok: boolean; +} +declare class Health { + private apiCall; + constructor(apiCall: ApiCall); + retrieve(): Promise; +} + +declare class Operations { + private apiCall; + constructor(apiCall: ApiCall); + perform(operationName: "vote" | "snapshot" | "cache/clear" | string, queryParameters?: Record): Promise; +} + +interface MultiSearchRequestSchema extends SearchParams { + collection?: string; + "x-typesense-api-key"?: string; +} +interface MultiSearchRequestWithPresetSchema extends SearchParamsWithPreset { + collection?: string; + "x-typesense-api-key"?: string; +} +interface MultiSearchRequestsSchema { + searches: (MultiSearchRequestSchema | MultiSearchRequestWithPresetSchema)[]; +} +interface MultiSearchResponse { + results: { + [Index in keyof T]: SearchResponse; + } & { + length: T["length"]; + }; +} +declare class MultiSearch { + private apiCall; + private configuration; + private useTextContentType; + private requestWithCache; + constructor(apiCall: ApiCall, configuration: Configuration, useTextContentType?: boolean); + clearCache(): void; + perform(searchRequests: MultiSearchRequestsSchema, commonParams?: Partial, { cacheSearchResultsForSeconds, }?: { + cacheSearchResultsForSeconds?: number; + }): Promise>; +} + +interface PresetSchema extends PresetCreateSchema { + name: string; +} +interface PresetDeleteSchema { + name: string; +} +declare class Preset { + private presetId; + private apiCall; + constructor(presetId: string, apiCall: ApiCall); + retrieve(): Promise; + delete(): Promise; + private endpointPath; +} + +interface PresetCreateSchema { + value: SearchParams | MultiSearchRequestsSchema; +} +interface PresetsRetrieveSchema { + presets: PresetSchema[]; +} +declare class Presets { + private apiCall; + constructor(apiCall: ApiCall); + upsert(presetId: string, params: PresetCreateSchema): Promise; + retrieve(): Promise; + private endpointPath; + static get RESOURCEPATH(): string; +} + +interface AnalyticsRuleCreateSchema { + type: "popular_queries" | "nohits_queries" | "counter"; + params: { + source: { + collections: string[]; + events?: Array<{ + type: string; + weight: number; + name: string; + }>; + }; + expand_query?: boolean; + destination: { + collection: string; + counter_field?: string; + }; + limit?: number; + }; +} +interface AnalyticsRuleDeleteSchema { + name: string; +} +interface AnalyticsRuleSchema extends AnalyticsRuleCreateSchema { + name: string; +} +declare class AnalyticsRule { + private name; + private apiCall; + constructor(name: string, apiCall: ApiCall); + retrieve(): Promise; + delete(): Promise; + private endpointPath; +} + +interface AnalyticsRulesRetrieveSchema { + rules: AnalyticsRuleSchema[]; +} +declare class AnalyticsRules { + private readonly apiCall; + constructor(apiCall: ApiCall); + upsert(name: string, params: AnalyticsRuleCreateSchema): Promise; + retrieve(): Promise; + private endpointPath; + static get RESOURCEPATH(): string; +} + +interface AnalyticsEventCreateSchema { + type: string; + name: string; + data?: object; +} + +declare class AnalyticsEvents { + private readonly apiCall; + constructor(apiCall: ApiCall); + create(params: AnalyticsEventCreateSchema): Promise; + private endpointPath; + static get RESOURCEPATH(): string; +} + +declare class Analytics { + private readonly apiCall; + private readonly _analyticsRules; + private readonly individualAnalyticsRules; + private readonly _analyticsEvents; + constructor(apiCall: ApiCall); + rules(id?: string): AnalyticsRules | AnalyticsRule; + events(): AnalyticsEvents; + static get RESOURCEPATH(): string; +} + +interface StopwordSchema extends StopwordCreateSchema { + id: string; + stopwords: string[]; + locale?: string; +} +interface StopwordDeleteSchema { + id: string; +} +declare class Stopword { + private stopwordId; + private apiCall; + constructor(stopwordId: string, apiCall: ApiCall); + retrieve(): Promise; + delete(): Promise; + private endpointPath; +} + +interface StopwordCreateSchema { + stopwords: string[]; + locale?: string; +} +interface StopwordsRetrieveSchema { + stopwords: StopwordSchema[]; +} +declare class Stopwords { + private apiCall; + constructor(apiCall: ApiCall); + upsert(stopwordId: string, params: StopwordCreateSchema): Promise; + retrieve(): Promise; + private endpointPath; + static get RESOURCEPATH(): string; +} + +interface ConversationModelCreateSchema { + id?: string; + model_name: string; + api_key?: string; + system_prompt?: string; + max_bytes: number; + history_collection?: string; +} +interface ConversationModelDeleteSchema { + id: string; +} +interface ConversationModelSchema extends ConversationModelCreateSchema { + id: string; +} +declare class ConversationModel { + private id; + private apiCall; + constructor(id: string, apiCall: ApiCall); + update(params: ConversationModelCreateSchema): Promise; + retrieve(): Promise; + delete(): Promise; + private endpointPath; +} + +declare class ConversationModels { + private readonly apiCall; + constructor(apiCall: ApiCall); + create(params: ConversationModelCreateSchema): Promise; + retrieve(): Promise; + private endpointPath; + static get RESOURCEPATH(): string; +} + +interface ConversationDeleteSchema { + id: number; +} +interface ConversationUpdateSchema { + ttl: number; +} +interface ConversationSchema { + id: number; + conversation: object[]; + last_updated: number; + ttl: number; +} +declare class Conversation { + private id; + private apiCall; + constructor(id: string, apiCall: ApiCall); + retrieve(): Promise; + update(params: ConversationUpdateSchema): Promise; + delete(): Promise; + private endpointPath; +} + +interface ConversationsRetrieveSchema { + conversations: ConversationSchema[]; +} +declare class Conversations { + private readonly apiCall; + private readonly _conversationsModels; + private readonly individualConversationModels; + constructor(apiCall: ApiCall); + retrieve(): Promise; + models(): ConversationModels; + models(id: string): ConversationModel; + static get RESOURCEPATH(): string; +} + +declare class Client { + configuration: Configuration; + apiCall: ApiCall; + debug: Debug; + metrics: Metrics$1; + stats: Metrics; + health: Health; + operations: Operations; + multiSearch: MultiSearch; + analytics: Analytics; + private readonly _collections; + private readonly individualCollections; + private readonly _aliases; + private readonly individualAliases; + private readonly _keys; + private readonly individualKeys; + private readonly _presets; + private readonly individualPresets; + private readonly _stopwords; + private readonly individualStopwords; + private readonly _conversations; + private readonly individualConversations; + constructor(options: ConfigurationOptions); + collections(): Collections; + collections = object>(collectionName: string): Collection; + aliases(): Aliases; + aliases(aliasName: string): Alias; + keys(): Keys; + keys(id: number): Key; + presets(): Presets; + presets(id: string): Preset; + stopwords(): Stopwords; + stopwords(id: string): Stopword; + conversations(): Conversations; + conversations(id: string): Conversation; +} + +declare class SearchOnlyCollection { + private readonly name; + private readonly apiCall; + private readonly configuration; + private readonly _documents; + constructor(name: string, apiCall: ApiCall, configuration: any); + documents(): SearchableDocuments; +} + +declare class SearchClient { + readonly multiSearch: MultiSearch; + private readonly configuration; + private readonly apiCall; + private readonly individualCollections; + constructor(options: ConfigurationOptions); + clearCache(): void; + collections(collectionName: string): SearchOnlyCollection | SearchOnlyCollection; +} + +declare class HTTPError extends TypesenseError { +} + +declare class MissingConfigurationError extends TypesenseError { +} + +declare class ObjectAlreadyExists extends TypesenseError { +} + +declare class ObjectNotFound extends TypesenseError { +} + +declare class ObjectUnprocessable extends TypesenseError { +} + +declare class RequestMalformed extends TypesenseError { +} + +declare class RequestUnauthorized extends TypesenseError { +} + +declare class ServerError extends TypesenseError { +} + +declare class ImportError extends TypesenseError { + importResults: ImportResponse[]; + constructor(message: string, importResults: ImportResponse[]); +} + +type Errors_HTTPError = HTTPError; +declare const Errors_HTTPError: typeof HTTPError; +type Errors_ImportError = ImportError; +declare const Errors_ImportError: typeof ImportError; +type Errors_MissingConfigurationError = MissingConfigurationError; +declare const Errors_MissingConfigurationError: typeof MissingConfigurationError; +type Errors_ObjectAlreadyExists = ObjectAlreadyExists; +declare const Errors_ObjectAlreadyExists: typeof ObjectAlreadyExists; +type Errors_ObjectNotFound = ObjectNotFound; +declare const Errors_ObjectNotFound: typeof ObjectNotFound; +type Errors_ObjectUnprocessable = ObjectUnprocessable; +declare const Errors_ObjectUnprocessable: typeof ObjectUnprocessable; +type Errors_RequestMalformed = RequestMalformed; +declare const Errors_RequestMalformed: typeof RequestMalformed; +type Errors_RequestUnauthorized = RequestUnauthorized; +declare const Errors_RequestUnauthorized: typeof RequestUnauthorized; +type Errors_ServerError = ServerError; +declare const Errors_ServerError: typeof ServerError; +type Errors_TypesenseError = TypesenseError; +declare const Errors_TypesenseError: typeof TypesenseError; +declare namespace Errors { + export { Errors_HTTPError as HTTPError, Errors_ImportError as ImportError, Errors_MissingConfigurationError as MissingConfigurationError, Errors_ObjectAlreadyExists as ObjectAlreadyExists, Errors_ObjectNotFound as ObjectNotFound, Errors_ObjectUnprocessable as ObjectUnprocessable, Errors_RequestMalformed as RequestMalformed, Errors_RequestUnauthorized as RequestUnauthorized, Errors_ServerError as ServerError, Errors_TypesenseError as TypesenseError }; +} + +declare const _default: { + Client: typeof Client; + SearchClient: typeof SearchClient; + Errors: typeof Errors; +}; + +export { Client, Errors, SearchClient, _default as default }; diff --git a/lib/Typesense.min.js b/lib/Typesense.min.js new file mode 100644 index 00000000..4dc5fdc3 --- /dev/null +++ b/lib/Typesense.min.js @@ -0,0 +1,9 @@ +"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var xe=Object.defineProperty;var Te=(r,e)=>{for(var t in e)xe(r,t,{get:e[t],enumerable:!0})};var Ee={trace:0,debug:1,info:2,warn:3,error:4,silent:5},F={Trace:0,Debug:1,Info:2,Warn:3,Error:4,Silent:5};var we={Trace:(...r)=>console.trace(...r),Debug:(...r)=>console.debug(...r),Info:(...r)=>console.info(...r),Warn:(...r)=>console.warn(...r),Error:(...r)=>console.error(...r),Silent:()=>{}},de=class r{constructor(){this.logLevel=F.Warn}static getInstance(){return r.instance||(r.instance=new r),r.instance}formatMessage(e,t){return`[${e}] ${t}`}logWith(e,t){this.mapLogLevelToConsoleFunction(e)(this.formatMessage(e,t))}mapLogLevelToConsoleFunction(e){return we[e]}debug(e){this.logLevel<=F.Debug&&this.logWith("Debug",e)}warn(e){this.logLevel<=F.Warn&&this.logWith("Warn",e)}error(e){this.logLevel<=F.Error&&this.logWith("Error",e)}trace(e){this.logLevel<=F.Trace&&this.logWith("Trace",e)}info(e){this.logLevel<=F.Info&&this.logWith("Info",e)}setLogLevel(e){typeof e=="number"?this.logLevel=e:this.logLevel=Ee[e]}},Ce=de.getInstance();var ue={};Te(ue,{HTTPError:()=>S,ImportError:()=>f,MissingConfigurationError:()=>u,ObjectAlreadyExists:()=>v,ObjectNotFound:()=>g,ObjectUnprocessable:()=>R,RequestMalformed:()=>P,RequestUnauthorized:()=>b,ServerError:()=>_,TypesenseError:()=>a});var a=class extends Error{constructor(e){super(e),this.name=new.target.name,Object.setPrototypeOf(this,new.target.prototype)}};var S=class extends a{};var u=class extends a{};var v=class extends a{};var g=class extends a{};var R=class extends a{};var P=class extends a{};var b=class extends a{};var _=class extends a{};var f=class extends a{constructor(e,t){super(e),this.importResults=t}};var A=class{constructor(e){this.nodes=e.nodes||[],this.nodes=this.nodes.map(t=>this.setDefaultPathInNode(t)).map(t=>this.setDefaultPortInNode(t)).map(t=>({...t})),e.randomizeNodes==null&&(e.randomizeNodes=!0),e.randomizeNodes===!0&&this.shuffleArray(this.nodes),this.nearestNode=e.nearestNode,this.nearestNode=this.setDefaultPathInNode(this.nearestNode),this.nearestNode=this.setDefaultPortInNode(this.nearestNode),this.connectionTimeoutSeconds=e.connectionTimeoutSeconds||e.timeoutSeconds||5,this.healthcheckIntervalSeconds=e.healthcheckIntervalSeconds||60,this.numRetries=e.numRetries||this.nodes.length+(this.nearestNode==null?0:1)||3,this.retryIntervalSeconds=e.retryIntervalSeconds||.1,this.apiKey=e.apiKey,this.sendApiKeyAsQueryParam=e.sendApiKeyAsQueryParam,this.cacheSearchResultsForSeconds=e.cacheSearchResultsForSeconds||0,this.useServerSideSearchCache=e.useServerSideSearchCache||!1,this.logger=e.logger||Ce,this.logLevel=e.logLevel||"warn",this.logger.setLogLevel(this.logLevel),this.additionalHeaders=e.additionalHeaders,this.httpAgent=e.httpAgent,this.httpsAgent=e.httpsAgent,this.paramsSerializer=e.paramsSerializer,this.showDeprecationWarnings(e),this.validate()}validate(){if(this.nodes==null||this.nodes.length===0||this.validateNodes())throw new u("Ensure that nodes[].protocol, nodes[].host and nodes[].port are set");if(this.nearestNode!=null&&this.isNodeMissingAnyParameters(this.nearestNode))throw new u("Ensure that nearestNodes.protocol, nearestNodes.host and nearestNodes.port are set");if(this.apiKey==null)throw new u("Ensure that apiKey is set");return!0}validateNodes(){return this.nodes.some(e=>this.isNodeMissingAnyParameters(e))}isNodeMissingAnyParameters(e){return!["protocol","host","port","path"].every(t=>e.hasOwnProperty(t))&&e.url==null}setDefaultPathInNode(e){return e!=null&&!e.hasOwnProperty("path")&&(e.path=""),e}setDefaultPortInNode(e){if(e!=null&&!e.hasOwnProperty("port")&&e.hasOwnProperty("protocol"))switch(e.protocol){case"https":e.port=443;break;case"http":e.port=80;break}return e}showDeprecationWarnings(e){e.timeoutSeconds&&this.logger.warn("Deprecation warning: timeoutSeconds is now renamed to connectionTimeoutSeconds"),e.masterNode&&this.logger.warn("Deprecation warning: masterNode is now consolidated to nodes, starting with Typesense Server v0.12"),e.readReplicaNodes&&this.logger.warn("Deprecation warning: readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12")}shuffleArray(e){for(let t=e.length-1;t>0;t--){let i=Math.floor(Math.random()*(t+1));[e[t],e[i]]=[e[i],e[t]]}}};var _axios = require('axios'); var _axios2 = _interopRequireDefault(_axios);var _http = require('http');var _https = require('https');var De="X-TYPESENSE-API-KEY",ge=!0,He=!1,ve=typeof process<"u"&&process.versions!=null&&process.versions.node!=null,x=class{constructor(e){this.configuration=e;this.apiKey=this.configuration.apiKey,this.nodes=this.configuration.nodes==null?this.configuration.nodes:JSON.parse(JSON.stringify(this.configuration.nodes)),this.nearestNode=this.configuration.nearestNode==null?this.configuration.nearestNode:JSON.parse(JSON.stringify(this.configuration.nearestNode)),this.connectionTimeoutSeconds=this.configuration.connectionTimeoutSeconds,this.healthcheckIntervalSeconds=this.configuration.healthcheckIntervalSeconds,this.numRetriesPerRequest=this.configuration.numRetries,this.retryIntervalSeconds=this.configuration.retryIntervalSeconds,this.sendApiKeyAsQueryParam=this.configuration.sendApiKeyAsQueryParam,this.additionalUserHeaders=this.configuration.additionalHeaders,this.logger=this.configuration.logger,this.initializeMetadataForNodes(),this.currentNodeIndex=-1}async get(e,t={},{abortSignal:i=null,responseType:n=void 0}={}){return this.performRequest("get",e,{queryParameters:t,abortSignal:i,responseType:n})}async delete(e,t={}){return this.performRequest("delete",e,{queryParameters:t})}async post(e,t={},i={},n={}){return this.performRequest("post",e,{queryParameters:i,bodyParameters:t,additionalHeaders:n})}async put(e,t={},i={}){return this.performRequest("put",e,{queryParameters:i,bodyParameters:t})}async patch(e,t={},i={}){return this.performRequest("patch",e,{queryParameters:i,bodyParameters:t})}async performRequest(e,t,{queryParameters:i=null,bodyParameters:n=null,additionalHeaders:s={},abortSignal:o=null,responseType:I=void 0,skipConnectionTimeout:h=!1,enableKeepAlive:y=void 0}){this.configuration.validate();let c=Date.now(),C;this.logger.debug(`Request #${c}: Performing ${e.toUpperCase()} request: ${t}`);for(let q=1;q<=this.numRetriesPerRequest+1;q++){let d=this.getNextNode(c);if(this.logger.debug(`Request #${c}: Attempting ${e.toUpperCase()} request Try #${q} to Node ${d.index}`),o&&o.aborted)return Promise.reject(new Error("Request aborted by caller."));let z;try{let l={method:e,url:this.uriFor(t,d),headers:Object.assign({},this.defaultHeaders(),s,this.additionalUserHeaders),maxContentLength:1/0,maxBodyLength:1/0,responseType:I,validateStatus:K=>K>0,transformResponse:[(K,W)=>{let ye=K;return W!==void 0&&typeof K=="string"&&W["content-type"]&&W["content-type"].startsWith("application/json")&&(ye=JSON.parse(K)),ye}]};if(h!==!0&&(l.timeout=this.connectionTimeoutSeconds*1e3),i&&Object.keys(i).length!==0&&(l.params=i),this.sendApiKeyAsQueryParam&&(l.params=l.params||{},l.params["x-typesense-api-key"]=this.apiKey),this.configuration.httpAgent?(this.logger.debug(`Request #${c}: Using custom httpAgent`),l.httpAgent=this.configuration.httpAgent):y===!0&&(ve?(this.logger.debug(`Request #${c}: Enabling KeepAlive`),l.httpAgent=new (0, _http.Agent)({keepAlive:!0})):this.logger.warn(`Request #${c}: Cannot use custom httpAgent in a browser environment to enable keepAlive`)),this.configuration.httpsAgent?(this.logger.debug(`Request #${c}: Using custom httpsAgent`),l.httpsAgent=this.configuration.httpsAgent):y===!0&&(ve?(this.logger.debug(`Request #${c}: Enabling keepAlive`),l.httpsAgent=new (0, _https.Agent)({keepAlive:!0})):this.logger.warn(`Request #${c}: Cannot use custom httpAgent in a browser environment to enable keepAlive`)),this.configuration.paramsSerializer&&(this.logger.debug(`Request #${c}: Using custom paramsSerializer`),l.paramsSerializer=this.configuration.paramsSerializer),n&&(typeof n=="string"&&n.length!==0||typeof n=="object"&&Object.keys(n).length!==0)&&(l.data=n),o){let W=_axios2.default.CancelToken.source();z=()=>W.cancel(),o.addEventListener("abort",z),l.cancelToken=W.token}let m=await _axios2.default.call(void 0, l);if(m.status>=1&&m.status<=499&&this.setNodeHealthcheck(d,ge),this.logger.debug(`Request #${c}: Request to Node ${d.index} was made. Response Code was ${m.status}.`),m.status>=200&&m.status<300)return Promise.resolve(m.data);if(m.status<500)return Promise.reject(this.customErrorForResponse(m,_optionalChain([m, 'access', _2 => _2.data, 'optionalAccess', _3 => _3.message])));throw this.customErrorForResponse(m,_optionalChain([m, 'access', _4 => _4.data, 'optionalAccess', _5 => _5.message]))}catch(l){this.setNodeHealthcheck(d,He),C=l,this.logger.warn(`Request #${c}: Request to Node ${d.index} failed due to "${l.code} ${l.message}${l.response==null?"":" - "+JSON.stringify(_optionalChain([l, 'access', _6 => _6.response, 'optionalAccess', _7 => _7.data]))}"`),this.logger.warn(`Request #${c}: Sleeping for ${this.retryIntervalSeconds}s and then retrying request...`),await this.timer(this.retryIntervalSeconds)}finally{o&&z&&o.removeEventListener("abort",z)}}return this.logger.debug(`Request #${c}: No retries left. Raising last error`),Promise.reject(C)}getNextNode(e=0){if(this.nearestNode!=null){if(this.logger.debug(`Request #${e}: Nodes Health: Node ${this.nearestNode.index} is ${this.nearestNode.isHealthy===!0?"Healthy":"Unhealthy"}`),this.nearestNode.isHealthy===!0||this.nodeDueForHealthcheck(this.nearestNode,e))return this.logger.debug(`Request #${e}: Updated current node to Node ${this.nearestNode.index}`),this.nearestNode;this.logger.debug(`Request #${e}: Falling back to individual nodes`)}this.logger.debug(`Request #${e}: Nodes Health: ${this.nodes.map(i=>`Node ${i.index} is ${i.isHealthy===!0?"Healthy":"Unhealthy"}`).join(" || ")}`);let t=this.nodes[0];for(let i=0;i<=this.nodes.length;i++)if(this.currentNodeIndex=(this.currentNodeIndex+1)%this.nodes.length,t=this.nodes[this.currentNodeIndex],t.isHealthy===!0||this.nodeDueForHealthcheck(t,e))return this.logger.debug(`Request #${e}: Updated current node to Node ${t.index}`),t;return this.logger.debug(`Request #${e}: No healthy nodes were found. Returning the next node, Node ${t.index}`),t}nodeDueForHealthcheck(e,t=0){let i=Date.now()-e.lastAccessTimestamp>this.healthcheckIntervalSeconds*1e3;return i&&this.logger.debug(`Request #${t}: Node ${e.index} has exceeded healtcheckIntervalSeconds of ${this.healthcheckIntervalSeconds}. Adding it back into rotation.`),i}initializeMetadataForNodes(){this.nearestNode!=null&&(this.nearestNode.index="nearestNode",this.setNodeHealthcheck(this.nearestNode,ge)),this.nodes.forEach((e,t)=>{e.index=t,this.setNodeHealthcheck(e,ge)})}setNodeHealthcheck(e,t){e.isHealthy=t,e.lastAccessTimestamp=Date.now()}uriFor(e,t){return t.url!=null?`${t.url}${e}`:`${t.protocol}://${t.host}:${t.port}${t.path}${e}`}defaultHeaders(){let e={};return this.sendApiKeyAsQueryParam||(e[De]=this.apiKey),e["Content-Type"]="application/json",e}async timer(e){return new Promise(t=>setTimeout(t,e*1e3))}customErrorForResponse(e,t){let i=`Request failed with HTTP code ${e.status}`;typeof t=="string"&&t.trim()!==""&&(i+=` | Server said: ${t}`);let n=new a(i);return e.status===400?n=new P(i):e.status===401?n=new b(i):e.status===404?n=new g(i):e.status===409?n=new v(i):e.status===422?n=new R(i):e.status>=500&&e.status<=599?n=new _(i):n=new S(i),n.httpStatus=e.status,n}};var fe="/collections",p=class{constructor(e){this.apiCall=e}async create(e,t={}){return this.apiCall.post(fe,e,t)}async retrieve(e={}){return this.apiCall.get(fe,e)}static get RESOURCEPATH(){return fe}};var T=class{constructor(){this.responseCache=new Map;this.responsePromiseCache=new Map}clearCache(){this.responseCache=new Map,this.responsePromiseCache=new Map}async perform(e,t,i,n){let{cacheResponseForSeconds:s=120,maxSize:o=100}=n;if(s<=0||o<=0)return t.call(e,...i);let h=JSON.stringify(i),y=this.responseCache.get(h),c=Date.now();if(y){if(c-y.requestTimestampo){let m=this.responseCache.keys().next().value;this.responseCache.delete(m)}if(this.responsePromiseCache.size>o){let m=this.responsePromiseCache.keys().next().value;this.responsePromiseCache.delete(m)}return d}};var Re="/documents",j=class{constructor(e,t,i){this.collectionName=e;this.apiCall=t;this.configuration=i;this.requestWithCache=new T}clearCache(){this.requestWithCache.clearCache()}async search(e,{cacheSearchResultsForSeconds:t=this.configuration.cacheSearchResultsForSeconds,abortSignal:i=null}={}){let n={};this.configuration.useServerSideSearchCache===!0&&(n.use_cache=!0);for(let o in e)Array.isArray(e[o])&&(n[o]=e[o].join(","));let s=Object.assign({},e,n);return this.requestWithCache.perform(this.apiCall,this.apiCall.get,[this.endpointPath("search"),s,{abortSignal:i}],{cacheResponseForSeconds:t})}endpointPath(e){return`${p.RESOURCEPATH}/${this.collectionName}${Re}${e===void 0?"":"/"+e}`}static get RESOURCEPATH(){return Re}};var Pe=typeof process<"u"&&process.versions!=null&&process.versions.node!=null,E=class extends j{constructor(e,t,i){super(e,t,i)}async create(e,t={}){if(!e)throw new Error("No document provided");return this.apiCall.post(this.endpointPath(),e,t)}async upsert(e,t={}){if(!e)throw new Error("No document provided");return this.apiCall.post(this.endpointPath(),e,Object.assign({},t,{action:"upsert"}))}async update(e,t={}){if(!e)throw new Error("No document provided");return t.filter_by!=null?this.apiCall.patch(this.endpointPath(),e,Object.assign({},t)):this.apiCall.post(this.endpointPath(),e,Object.assign({},t,{action:"update"}))}async delete(e={}){return this.apiCall.delete(this.endpointPath(),e)}async createMany(e,t={}){return 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"),this.import(e,t)}async import(e,t={}){let i;if(Array.isArray(e))try{i=e.map(s=>JSON.stringify(s)).join(` +`)}catch(s){throw s instanceof RangeError&&s.message.includes("Too many properties to enumerate")?new Error(`${s} + 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 + + Please try reducing the number of keys in your document, or using CURL to import your data. + `):new Error(s)}else i=e;let n=await this.apiCall.performRequest("post",this.endpointPath("import"),{queryParameters:t,bodyParameters:i,additionalHeaders:{"Content-Type":"text/plain"},skipConnectionTimeout:!0,enableKeepAlive:!!Pe});if(Array.isArray(e)){let s=n.split(` +`).map(I=>JSON.parse(I)),o=s.filter(I=>I.success===!1);if(o.length>0)throw new f(`${s.length-o.length} documents imported successfully, ${o.length} documents failed during import. Use \`error.importResults\` from the raised exception to get a detailed error reason for each document.`,s);return s}else return n}async importStream(e,t={}){let n=(await this.apiCall.performRequest("post",this.endpointPath("import"),{queryParameters:t,bodyParameters:e,additionalHeaders:{"Content-Type":"text/plain"},skipConnectionTimeout:!0,enableKeepAlive:!!Pe})).split(` +`).map(o=>JSON.parse(o)),s=n.filter(o=>o.success===!1);if(s.length>0)throw new f(`${n.length-s.length} documents imported successfully, ${s.length} documents failed during import. Use \`error.importResults\` from the raised exception to get a detailed error reason for each document.`,n);return n}async export(e={}){return this.apiCall.get(this.endpointPath("export"),e)}async exportStream(e={}){return this.apiCall.get(this.endpointPath("export"),e,{responseType:"stream"})}};var Ue="/overrides",w=class r{constructor(e,t){this.collectionName=e;this.apiCall=t}async upsert(e,t){return this.apiCall.put(this.endpointPath(e),t)}async retrieve(){return this.apiCall.get(this.endpointPath())}endpointPath(e){return`${p.RESOURCEPATH}/${this.collectionName}${r.RESOURCEPATH}${e===void 0?"":"/"+encodeURIComponent(e)}`}static get RESOURCEPATH(){return Ue}};var Q=class{constructor(e,t,i){this.collectionName=e;this.overrideId=t;this.apiCall=i}async retrieve(){return this.apiCall.get(this.endpointPath())}async delete(){return this.apiCall.delete(this.endpointPath())}endpointPath(){return`${p.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${w.RESOURCEPATH}/${encodeURIComponent(this.overrideId)}`}};var $e="/synonyms",O=class r{constructor(e,t){this.collectionName=e;this.apiCall=t}async upsert(e,t){return this.apiCall.put(this.endpointPath(e),t)}async retrieve(){return this.apiCall.get(this.endpointPath())}endpointPath(e){return`${p.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${r.RESOURCEPATH}${e===void 0?"":"/"+encodeURIComponent(e)}`}static get RESOURCEPATH(){return $e}};var J=class{constructor(e,t,i){this.collectionName=e;this.synonymId=t;this.apiCall=i}async retrieve(){return this.apiCall.get(this.endpointPath())}async delete(){return this.apiCall.delete(this.endpointPath())}endpointPath(){return`${p.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${O.RESOURCEPATH}/${encodeURIComponent(this.synonymId)}`}};var me=class{constructor(e,t,i){this.collectionName=e;this.documentId=t;this.apiCall=i}async retrieve(){return this.apiCall.get(this.endpointPath())}async delete(e){return this.apiCall.delete(this.endpointPath(),e)}async update(e,t={}){return this.apiCall.patch(this.endpointPath(),e,t)}endpointPath(){return`${p.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${E.RESOURCEPATH}/${encodeURIComponent(this.documentId)}`}};var B=class{constructor(e,t,i){this.name=e;this.apiCall=t;this.configuration=i;this.individualDocuments={};this.individualOverrides={};this.individualSynonyms={};this.name=e,this.apiCall=t,this.configuration=i,this._documents=new E(this.name,this.apiCall,this.configuration),this._overrides=new w(this.name,this.apiCall),this._synonyms=new O(this.name,this.apiCall)}async retrieve(){return this.apiCall.get(this.endpointPath())}async update(e){return this.apiCall.patch(this.endpointPath(),e)}async delete(){return this.apiCall.delete(this.endpointPath())}async exists(){try{return await this.retrieve(),!0}catch(e){if(e instanceof g)return!1;throw e}}documents(e){return e?(this.individualDocuments[e]===void 0&&(this.individualDocuments[e]=new me(this.name,e,this.apiCall)),this.individualDocuments[e]):this._documents}overrides(e){return e===void 0?this._overrides:(this.individualOverrides[e]===void 0&&(this.individualOverrides[e]=new Q(this.name,e,this.apiCall)),this.individualOverrides[e])}synonyms(e){return e===void 0?this._synonyms:(this.individualSynonyms[e]===void 0&&(this.individualSynonyms[e]=new J(this.name,e,this.apiCall)),this.individualSynonyms[e])}endpointPath(){return`${p.RESOURCEPATH}/${encodeURIComponent(this.name)}`}};var be="/aliases",N=class r{constructor(e){this.apiCall=e}async upsert(e,t){return this.apiCall.put(this.endpointPath(e),t)}async retrieve(){return this.apiCall.get(be)}endpointPath(e){return`${r.RESOURCEPATH}/${encodeURIComponent(e)}`}static get RESOURCEPATH(){return be}};var V=class{constructor(e,t){this.name=e;this.apiCall=t}async retrieve(){return this.apiCall.get(this.endpointPath())}async delete(){return this.apiCall.delete(this.endpointPath())}endpointPath(){return`${N.RESOURCEPATH}/${encodeURIComponent(this.name)}`}};var _crypto = require('crypto');var _e="/keys",D=class r{constructor(e){this.apiCall=e;this.apiCall=e}async create(e){return this.apiCall.post(r.RESOURCEPATH,e)}async retrieve(){return this.apiCall.get(_e)}generateScopedSearchKey(e,t){let i=JSON.stringify(t),n=Buffer.from(_crypto.createHmac.call(void 0, "sha256",e).update(i).digest("base64")),s=e.substr(0,4),o=`${n}${s}${i}`;return Buffer.from(o).toString("base64")}static get RESOURCEPATH(){return _e}};var Y=class{constructor(e,t){this.id=e;this.apiCall=t}async retrieve(){return this.apiCall.get(this.endpointPath())}async delete(){return this.apiCall.delete(this.endpointPath())}endpointPath(){return`${D.RESOURCEPATH}/${encodeURIComponent(this.id)}`}};var Le="/debug",G=class{constructor(e){this.apiCall=e}async retrieve(){return this.apiCall.get(Le)}};var ke="/metrics.json",X=class{constructor(e){this.apiCall=e}async retrieve(){return this.apiCall.get(ke)}};var Ie="/stats.json",Z=class{constructor(e){this.apiCall=e}async retrieve(){return this.apiCall.get(Ie)}};var qe="/health",ee=class{constructor(e){this.apiCall=e}async retrieve(){return this.apiCall.get(qe)}};var Ke="/operations",te=class{constructor(e){this.apiCall=e}async perform(e,t={}){return this.apiCall.post(`${Ke}/${e}`,{},t)}};var We="/multi_search",H=class{constructor(e,t,i=!1){this.apiCall=e;this.configuration=t;this.useTextContentType=i;this.requestWithCache=new T}clearCache(){this.requestWithCache.clearCache()}async perform(e,t={},{cacheSearchResultsForSeconds:i=this.configuration.cacheSearchResultsForSeconds}={}){let n={};this.useTextContentType&&(n["content-type"]="text/plain");let s={};this.configuration.useServerSideSearchCache===!0&&(s.use_cache=!0);let o=Object.assign({},t,s);return this.requestWithCache.perform(this.apiCall,this.apiCall.post,[We,e,o,n],{cacheResponseForSeconds:i})}};var Fe="/presets",U=class r{constructor(e){this.apiCall=e}async upsert(e,t){return this.apiCall.put(this.endpointPath(e),t)}async retrieve(){return this.apiCall.get(this.endpointPath())}endpointPath(e){return`${r.RESOURCEPATH}${e===void 0?"":"/"+encodeURIComponent(e)}`}static get RESOURCEPATH(){return Fe}};var re=class{constructor(e,t){this.presetId=e;this.apiCall=t}async retrieve(){return this.apiCall.get(this.endpointPath())}async delete(){return this.apiCall.delete(this.endpointPath())}endpointPath(){return`${U.RESOURCEPATH}/${encodeURIComponent(this.presetId)}`}};var je="/analytics/rules",$=class r{constructor(e){this.apiCall=e;this.apiCall=e}async upsert(e,t){return this.apiCall.put(this.endpointPath(e),t)}async retrieve(){return this.apiCall.get(this.endpointPath())}endpointPath(e){return`${r.RESOURCEPATH}${e===void 0?"":"/"+encodeURIComponent(e)}`}static get RESOURCEPATH(){return je}};var ie=class{constructor(e,t){this.name=e;this.apiCall=t}async retrieve(){return this.apiCall.get(this.endpointPath())}async delete(){return this.apiCall.delete(this.endpointPath())}endpointPath(){return`${$.RESOURCEPATH}/${encodeURIComponent(this.name)}`}};var ze="/analytics/events",ne=class r{constructor(e){this.apiCall=e;this.apiCall=e}async create(e){return this.apiCall.post(this.endpointPath(),e)}endpointPath(e){return`${r.RESOURCEPATH}${e===void 0?"":"/"+encodeURIComponent(e)}`}static get RESOURCEPATH(){return ze}};var Qe="/analytics",se=class{constructor(e){this.apiCall=e;this.individualAnalyticsRules={};this.apiCall=e,this._analyticsRules=new $(this.apiCall),this._analyticsEvents=new ne(this.apiCall)}rules(e){return e===void 0?this._analyticsRules:(this.individualAnalyticsRules[e]===void 0&&(this.individualAnalyticsRules[e]=new ie(e,this.apiCall)),this.individualAnalyticsRules[e])}events(){return this._analyticsEvents}static get RESOURCEPATH(){return Qe}};var Je="/stopwords",M=class r{constructor(e){this.apiCall=e}async upsert(e,t){return this.apiCall.put(this.endpointPath(e),t)}async retrieve(){return this.apiCall.get(this.endpointPath())}endpointPath(e){return`${r.RESOURCEPATH}${e===void 0?"":"/"+encodeURIComponent(e)}`}static get RESOURCEPATH(){return Je}};var oe=class{constructor(e,t){this.stopwordId=e;this.apiCall=t}async retrieve(){return this.apiCall.get(this.endpointPath())}async delete(){return this.apiCall.delete(this.endpointPath())}endpointPath(){return`${M.RESOURCEPATH}/${encodeURIComponent(this.stopwordId)}`}};var Be="/conversations/models",L=class r{constructor(e){this.apiCall=e;this.apiCall=e}async create(e){return this.apiCall.post(this.endpointPath(),e)}async retrieve(){return this.apiCall.get(this.endpointPath())}endpointPath(e){return`${r.RESOURCEPATH}${e===void 0?"":"/"+encodeURIComponent(e)}`}static get RESOURCEPATH(){return Be}};var ae=class{constructor(e,t){this.id=e;this.apiCall=t}async update(e){return this.apiCall.put(this.endpointPath(),e)}async retrieve(){return this.apiCall.get(this.endpointPath())}async delete(){return this.apiCall.delete(this.endpointPath())}endpointPath(){return`${L.RESOURCEPATH}/${encodeURIComponent(this.id)}`}};var Ae="/conversations",k=class{constructor(e){this.apiCall=e;this.individualConversationModels={};this.apiCall=e,this._conversationsModels=new L(this.apiCall)}async retrieve(){return this.apiCall.get(Ae)}models(e){return e===void 0?this._conversationsModels:(this.individualConversationModels[e]===void 0&&(this.individualConversationModels[e]=new ae(e,this.apiCall)),this.individualConversationModels[e])}static get RESOURCEPATH(){return Ae}};var le=class{constructor(e,t){this.id=e;this.apiCall=t}async retrieve(){return this.apiCall.get(this.endpointPath())}async update(e){return this.apiCall.put(this.endpointPath(),e)}async delete(){return this.apiCall.delete(this.endpointPath())}endpointPath(){return`${k.RESOURCEPATH}/${encodeURIComponent(this.id)}`}};var ce=class{constructor(e){e.sendApiKeyAsQueryParam=_nullishCoalesce(e.sendApiKeyAsQueryParam, () => (!1)),this.configuration=new A(e),this.apiCall=new x(this.configuration),this.debug=new G(this.apiCall),this.metrics=new X(this.apiCall),this.stats=new Z(this.apiCall),this.health=new ee(this.apiCall),this.operations=new te(this.apiCall),this.multiSearch=new H(this.apiCall,this.configuration),this._collections=new p(this.apiCall),this.individualCollections={},this._aliases=new N(this.apiCall),this.individualAliases={},this._keys=new D(this.apiCall),this.individualKeys={},this._presets=new U(this.apiCall),this.individualPresets={},this._stopwords=new M(this.apiCall),this.individualStopwords={},this.analytics=new se(this.apiCall),this._conversations=new k(this.apiCall),this.individualConversations={}}collections(e){return e===void 0?this._collections:(this.individualCollections[e]===void 0&&(this.individualCollections[e]=new B(e,this.apiCall,this.configuration)),this.individualCollections[e])}aliases(e){return e===void 0?this._aliases:(this.individualAliases[e]===void 0&&(this.individualAliases[e]=new V(e,this.apiCall)),this.individualAliases[e])}keys(e){return e===void 0?this._keys:(this.individualKeys[e]===void 0&&(this.individualKeys[e]=new Y(e,this.apiCall)),this.individualKeys[e])}presets(e){return e===void 0?this._presets:(this.individualPresets[e]===void 0&&(this.individualPresets[e]=new re(e,this.apiCall)),this.individualPresets[e])}stopwords(e){return e===void 0?this._stopwords:(this.individualStopwords[e]===void 0&&(this.individualStopwords[e]=new oe(e,this.apiCall)),this.individualStopwords[e])}conversations(e){return e===void 0?this._conversations:(this.individualConversations[e]===void 0&&(this.individualConversations[e]=new le(e,this.apiCall)),this.individualConversations[e])}};var he=class{constructor(e,t,i){this.name=e;this.apiCall=t;this.configuration=i;this._documents=new j(this.name,this.apiCall,this.configuration)}documents(){return this._documents}};var pe=class{constructor(e){e.sendApiKeyAsQueryParam=_nullishCoalesce(e.sendApiKeyAsQueryParam, () => (!0)),e.sendApiKeyAsQueryParam===!0&&(e.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."),e.sendApiKeyAsQueryParam=!1),this.configuration=new A(e),this.apiCall=new x(this.configuration),this.multiSearch=new H(this.apiCall,this.configuration,!0),this.individualCollections={}}clearCache(){this.multiSearch.clearCache(),Object.entries(this.individualCollections).forEach(([e,t])=>{t.documents().clearCache()})}collections(e){if(e)return this.individualCollections[e]===void 0&&(this.individualCollections[e]=new he(e,this.apiCall,this.configuration)),this.individualCollections[e];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.")}};var Ii={Client:ce,SearchClient:pe,Errors:ue};exports.Client = ce; exports.Errors = ue; exports.SearchClient = pe; exports.default = Ii; +//# sourceMappingURL=Typesense.min.js.map \ No newline at end of file diff --git a/lib/Typesense.min.js.map b/lib/Typesense.min.js.map new file mode 100644 index 00000000..aaad0da5 --- /dev/null +++ b/lib/Typesense.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["/home/fanis/code/typesense/fork/typesense-js/lib/Typesense.min.js","../src/Typesense/Logger.ts","../src/Typesense/Documents.ts","../src/Typesense/Overrides.ts"],"names":["LogLevelReverseMap","LogLevelNumber","logLevelToConsoleFunction","args","SimpleLogger","_SimpleLogger","level","message","isNodeJSEnvironment"],"mappings":"AAAA,qxBAAI,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CCgD5F,IAAMA,EAAAA,CAAqB,CACzB,KAAA,CAAO,CAAA,CACP,KAAA,CAAO,CAAA,CACP,IAAA,CAAM,CAAA,CACN,IAAA,CAAM,CAAA,CACN,KAAA,CAAO,CAAA,CACP,MAAA,CAAQ,CACV,CAAA,CAUMC,CAAAA,CAAiB,CACrB,KAAA,CAAO,CAAA,CACP,KAAA,CAAO,CAAA,CACP,IAAA,CAAM,CAAA,CACN,IAAA,CAAM,CAAA,CACN,KAAA,CAAO,CAAA,CACP,MAAA,CAAQ,CACV,CAAA,CAiBA,IAAMC,EAAAA,CAA4B,CAChC,KAAA,CAAO,CAAA,GAAIC,CAAAA,CAAAA,EAAgB,OAAA,CAAQ,KAAA,CAAM,GAAGA,CAAI,CAAA,CAChD,KAAA,CAAO,CAAA,GAAIA,CAAAA,CAAAA,EAAgB,OAAA,CAAQ,KAAA,CAAM,GAAGA,CAAI,CAAA,CAChD,IAAA,CAAM,CAAA,GAAIA,CAAAA,CAAAA,EAAgB,OAAA,CAAQ,IAAA,CAAK,GAAGA,CAAI,CAAA,CAC9C,IAAA,CAAM,CAAA,GAAIA,CAAAA,CAAAA,EAAgB,OAAA,CAAQ,IAAA,CAAK,GAAGA,CAAI,CAAA,CAC9C,KAAA,CAAO,CAAA,GAAIA,CAAAA,CAAAA,EAAgB,OAAA,CAAQ,KAAA,CAAM,GAAGA,CAAI,CAAA,CAChD,MAAA,CAAQ,CAAA,CAAA,EAAM,CAAC,CACjB,CAAA,CAMMC,EAAAA,CAAN,MAAMC,CAAa,CAcT,WAAA,CAAA,CAAc,CANtB,IAAA,CAAQ,QAAA,CAAiCJ,CAAAA,CAAe,IAMjC,CAMvB,OAAO,WAAA,CAAA,CAA4B,CACjC,OAAKI,CAAAA,CAAa,QAAA,EAAA,CAChBA,CAAAA,CAAa,QAAA,CAAW,IAAIA,CAAAA,CAAAA,CAEvBA,CAAAA,CAAa,QACtB,CASQ,aAAA,CACNC,CAAAA,CACAC,CAAAA,CACQ,CACR,MAAO,CAAA,CAAA,EAAID,CAAK,CAAA,EAAA,EAAKC,CAAO,CAAA,CAAA;ACkNE;AAAA;AAAA;AAAA;AA4BnB,UAAA;AAoCUC;ACjXb","file":"/home/fanis/code/typesense/fork/typesense-js/lib/Typesense.min.js","sourcesContent":[null,"/**\n * Represents the log levels that can be used in the logger with their corresponding number values.\n */\ntype LogLevelMap = {\n Trace: \"trace\" | 0;\n Debug: \"debug\" | 1;\n Info: \"info\" | 2;\n Warn: \"warn\" | 3;\n Error: \"error\" | 4;\n Silent: \"silent\" | 5;\n};\n\n/**\n * Represents mapping of the number values of the log levels.\n */\ntype LogLevelNumberValuesMap = {\n [K in keyof LogLevelMap]: LogLevelMap[K] extends infer R\n ? R extends number\n ? R\n : never\n : never;\n};\n\n/**\n * Numeric representation of the possible log levels.\n */\ntype LogLevelNumberValues =\n LogLevelNumberValuesMap[keyof LogLevelNumberValuesMap];\n\n/**\n * Represents the mapping of the string values to the number values of the log levels.\n */\ntype StringToNumberRepresentationLogLevelMap = {\n [K in keyof LogLevelMap as LogLevelMap[K] extends infer R\n ? R extends string\n ? R\n : never\n : never]: LogLevelMap[K] extends infer R\n ? R extends number\n ? R\n : never\n : never;\n};\n\n/**\n * Object that maps the log levels to their corresponding number values.\n * Used for always mapping the log level to number for comparison's sake.\n */\nconst LogLevelReverseMap = {\n trace: 0,\n debug: 1,\n info: 2,\n warn: 3,\n error: 4,\n silent: 5,\n} as const satisfies StringToNumberRepresentationLogLevelMap;\n\n/**\n * Represents the log levels that can be used in the logger.\n */\ntype LogLevel = LogLevelMap[keyof LogLevelMap];\n\n/**\n * Object that maps the log levels to their corresponding number values.\n */\nconst LogLevelNumber = {\n Trace: 0,\n Debug: 1,\n Info: 2,\n Warn: 3,\n Error: 4,\n Silent: 5,\n} as const satisfies { [K in keyof LogLevelMap]: LogLevelMap[K] };\n\n/**\n * Object that maps the log levels to their corresponding string values.\n */\nconst LogLevelNames = {\n Trace: \"trace\",\n Debug: \"debug\",\n Info: \"info\",\n Warn: \"warn\",\n Error: \"error\",\n Silent: \"silent\",\n} as const satisfies { [K in keyof LogLevelMap]: LogLevelMap[K] };\n\n/**\n * Object that maps the the console methods to the log levels.\n */\nconst logLevelToConsoleFunction = {\n Trace: (...args: any[]) => console.trace(...args),\n Debug: (...args: any[]) => console.debug(...args),\n Info: (...args: any[]) => console.info(...args),\n Warn: (...args: any[]) => console.warn(...args),\n Error: (...args: any[]) => console.error(...args),\n Silent: () => {},\n} as const satisfies { [K in keyof LogLevelMap]: (message: string) => void };\n\n/**\n * A simple logging class using a singleton pattern.\n * Only prints to stdout.\n */\nclass SimpleLogger {\n private static instance: SimpleLogger;\n /**\n * Numeric representation of the log level set.\n * Defaults to LogLevelNumber.Warn.\n * @private\n * @type {LogLevelNumberValues}\n */\n private logLevel: LogLevelNumberValues = LogLevelNumber.Warn;\n\n /**\n * Private constructor to prevent instantiation.\n * @private\n */\n private constructor() {}\n\n /**\n * Get the singleton instance of the SimpleLogger.\n * @returns {SimpleLogger} The singleton instance of the SimpleLogger.\n */\n static getInstance(): SimpleLogger {\n if (!SimpleLogger.instance) {\n SimpleLogger.instance = new SimpleLogger();\n }\n return SimpleLogger.instance;\n }\n\n /**\n * Formats the message to be logged.\n * @private\n * @param level The log level to be used.\n * @param message The message to be logged.\n * @returns The formatted message.\n */\n private formatMessage(\n level: keyof typeof LogLevelNames,\n message: string,\n ): string {\n return `[${level}] ${message}`;\n }\n\n /**\n * Logs the message with the appropriate console function\n * @param level The log level to be used.\n * @param message The message to be logged.\n */\n private logWith(level: keyof typeof LogLevelNames, message: string): void {\n const consoleFunction = this.mapLogLevelToConsoleFunction(level);\n consoleFunction(this.formatMessage(level, message));\n }\n\n /**\n * Maps the log level to the appropriate console function.\n * @param level The log level to be used.\n * @returns The console function to be used for the log level.\n */\n private mapLogLevelToConsoleFunction(\n level: keyof typeof LogLevelNames,\n ): (message: string, ...args: any[]) => void {\n return logLevelToConsoleFunction[level];\n }\n\n /**\n * Uses the `console.debug` method to log the message if the log level is set to debug or lower.\n * @param message The message to be logged.\n */\n debug(message: string): void {\n if (this.logLevel <= LogLevelNumber.Debug) {\n this.logWith(\"Debug\", message);\n }\n }\n\n /**\n * Uses the `console.warn` method to log the message if the log level is set to warn or lower.\n * @param message The message to be logged.\n */\n warn(message: string): void {\n if (this.logLevel <= LogLevelNumber.Warn) {\n this.logWith(\"Warn\", message);\n }\n }\n\n /**\n * Uses the `console.error` method to log the message if the log level is set to error or lower.\n * @param message The message to be logged.\n */\n error(message: string): void {\n if (this.logLevel <= LogLevelNumber.Error) {\n this.logWith(\"Error\", message);\n }\n }\n\n /**\n * Uses the `console.trace` method to log the message if the log level is set to trace or lower.\n * @param message The message to be logged.\n */\n trace(message: string): void {\n if (this.logLevel <= LogLevelNumber.Trace) {\n this.logWith(\"Trace\", message);\n }\n }\n\n /**\n * Uses the `console.info` method to log the message if the log level is set to info or lower.\n * @param message The message to be logged.\n */\n info(message: string): void {\n if (this.logLevel <= LogLevelNumber.Info) {\n this.logWith(\"Info\", message);\n }\n }\n\n /**\n * Sets the log level to the specified level as a numeric representation of it, if given a string.\n * @param level The log level to be set.\n */\n setLogLevel(level: LogLevel): void {\n if (typeof level === \"number\") {\n this.logLevel = level;\n } else {\n this.logLevel = LogLevelReverseMap[level];\n }\n }\n}\n\nexport const logger = SimpleLogger.getInstance();\nexport type { LogLevel };\n","import type { ReadStream } from \"fs\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport { ImportError } from \"./Errors\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\n// Todo: use generic to extract filter_by values\nexport interface DeleteQuery {\n filter_by?: string;\n batch_size?: number;\n ignore_not_found?: boolean;\n}\n\nexport interface DeleteResponse {\n num_deleted: number;\n}\n\ninterface ImportResponseSuccess {\n success: true;\n}\n\nexport interface ImportResponseFail {\n success: false;\n error: string;\n document: DocumentSchema;\n code: number;\n}\n\nexport type ImportResponse = ImportResponseSuccess | ImportResponseFail;\n\nexport type DocumentSchema = Record;\n\nexport interface SearchParamsWithPreset extends Partial {\n preset: string;\n}\n\ntype DropTokensMode =\n | \"right_to_left\"\n | \"left_to_right\"\n | \"both_sides:3\";\n\ntype OperationMode = \"off\" | \"always\" | \"fallback\";\nexport interface SearchParams {\n // From https://typesense.org/docs/latest/api/documents.html#arguments\n q?: string;\n query_by?: string | string[];\n query_by_weights?: string | number[];\n prefix?: string | boolean | boolean[]; // default: true\n filter_by?: string;\n enable_lazy_filter?: boolean; // default: false\n sort_by?: string | string[]; // default: text match desc\n facet_by?: string | string[];\n max_facet_values?: number;\n facet_sample_threshold?: number;\n facet_sample_percent?: number;\n facet_query?: string;\n facet_query_num_typos?: number;\n facet_return_parent?: string;\n page?: number; // default: 1\n per_page?: number; // default: 10, max 250\n group_by?: string | string[];\n group_limit?: number; // default:\n group_missing_values?: boolean;\n include_fields?: string | string[];\n exclude_fields?: string | string[];\n highlight_fields?: string | string[]; // default: all queried fields\n highlight_full_fields?: string | string[]; // default: all fields\n highlight_affix_num_tokens?: number; // default: 4\n highlight_start_tag?: string; // default: \n highlight_end_tag?: string; // default: \n enable_highlight_v1?: boolean;\n snippet_threshold?: number; // default: 30\n num_typos?: string | number | number[]; // default: 2\n min_len_1typo?: number;\n min_len_2typo?: number;\n split_join_tokens?: OperationMode;\n exhaustive_search?: boolean;\n drop_tokens_threshold?: number; // default: 10\n drop_tokens_mode?: DropTokensMode;\n typo_tokens_threshold?: number; // default: 100\n pinned_hits?: string | string[];\n hidden_hits?: string | string[];\n limit_hits?: number; // default: no limit\n pre_segmented_query?: boolean;\n enable_overrides?: boolean;\n override_tags?: string | string[];\n prioritize_exact_match?: boolean; // default: true\n prioritize_token_position?: boolean;\n prioritize_num_matching_fields?: boolean;\n search_cutoff_ms?: number;\n use_cache?: boolean;\n max_candidates?: number;\n infix?: OperationMode | OperationMode[];\n preset?: string;\n text_match_type?: \"max_score\" | \"max_weight\";\n vector_query?: string;\n \"x-typesense-api-key\"?: string;\n \"x-typesense-user-id\"?: string;\n offset?: number;\n limit?: number;\n stopwords?: string;\n conversation?: boolean;\n conversation_model_id?: string;\n conversation_id?: string;\n voice_query?: string;\n}\n\ntype SearchResponseHighlightObject = {\n matched_tokens?: string[];\n snippet?: string;\n value?: string;\n};\n\nexport type SearchResponseHighlight = T extends string | number\n ? SearchResponseHighlightObject\n : {\n [TAttribute in keyof T]?: SearchResponseHighlight;\n };\n\nexport interface SearchResponseHit {\n curated?: true;\n highlights?: [\n {\n field: keyof T;\n snippet?: string;\n value?: string;\n snippets?: string[];\n indices?: number[];\n matched_tokens: string[][] | string[];\n },\n ];\n highlight: SearchResponseHighlight;\n document: T;\n text_match: number;\n text_match_info?: {\n best_field_score: string; // To prevent scores from being truncated by JSON spec\n best_field_weight: number;\n fields_matched: number;\n score: string; // To prevent scores from being truncated by JSON spec\n tokens_matched: number;\n };\n}\n\nexport interface SearchResponseFacetCountSchema {\n counts: {\n count: number;\n highlighted: string;\n value: string;\n }[];\n field_name: keyof T;\n stats: {\n avg?: number;\n max?: number;\n min?: number;\n sum?: number;\n };\n}\n\nexport interface SearchResponseRequestParams {\n collection_name?: string;\n q?: string;\n page?: number;\n per_page?: number;\n first_q?: string;\n voice_query?: {\n transcribed_query?: string;\n };\n}\n\n// Todo: we could infer whether this is a grouped response by adding the search params as a generic\nexport interface SearchResponse {\n facet_counts?: SearchResponseFacetCountSchema[];\n found: number;\n found_docs?: number;\n out_of: number;\n page: number;\n request_params: SearchResponseRequestParams;\n search_time_ms: number;\n search_cutoff?: boolean;\n hits?: SearchResponseHit[];\n grouped_hits?: {\n group_key: string[];\n hits: SearchResponseHit[];\n found?: number;\n }[];\n conversation?: {\n answer: string;\n conversation_history: {\n conversation: object[];\n id: string;\n last_updated: number;\n ttl: number;\n };\n conversation_id: string;\n query: string;\n };\n error?: string;\n code?: number;\n}\n\nexport interface DocumentWriteParameters {\n dirty_values?: \"coerce_or_reject\" | \"coerce_or_drop\" | \"drop\" | \"reject\";\n action?: \"create\" | \"update\" | \"upsert\" | \"emplace\";\n}\n\nexport interface UpdateByFilterParameters {\n filter_by?: string;\n}\n\nexport interface UpdateByFilterResponse {\n num_updated: number;\n}\n\nexport interface DocumentImportParameters extends DocumentWriteParameters {\n batch_size?: number;\n return_doc?: boolean;\n return_id?: boolean;\n}\n\nexport interface DocumentsExportParameters {\n filter_by?: string;\n include_fields?: string;\n exclude_fields?: string;\n}\n\nexport interface SearchableDocuments {\n search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n options: SearchOptions,\n ): Promise>;\n clearCache(): void;\n}\n\nexport interface WriteableDocuments {\n create(document: T, options: DocumentWriteParameters): Promise;\n upsert(document: T, options: DocumentWriteParameters): Promise;\n update(document: T, options: DocumentWriteParameters): Promise;\n delete(query: DeleteQuery): Promise;\n import(\n documents: T[] | string,\n options: DocumentWriteParameters,\n ): Promise;\n export(options: DocumentsExportParameters): Promise;\n}\n\nexport interface SearchOptions {\n cacheSearchResultsForSeconds?: number;\n abortSignal?: AbortSignal | null;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class Documents\n extends SearchOnlyDocuments\n implements WriteableDocuments\n{\n constructor(\n collectionName: string,\n apiCall: ApiCall,\n configuration: Configuration,\n ) {\n super(collectionName, apiCall, configuration);\n }\n\n async create(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(this.endpointPath(), document, options);\n }\n\n async upsert(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"upsert\" }),\n );\n }\n\n async update(\n document: T,\n options: UpdateByFilterParameters,\n ): Promise;\n async update(document: T, options: DocumentWriteParameters): Promise;\n async update(\n document: T,\n options: DocumentWriteParameters | UpdateByFilterParameters = {},\n ): Promise {\n if (!document) throw new Error(\"No document provided\");\n\n if (options[\"filter_by\"] != null) {\n return this.apiCall.patch(\n this.endpointPath(),\n document,\n Object.assign({}, options),\n );\n } else {\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"update\" }),\n );\n }\n }\n\n async delete(\n query: DeleteQuery = {} as DeleteQuery,\n ): Promise {\n return this.apiCall.delete(this.endpointPath(), query);\n }\n\n async createMany(documents: T[], options: DocumentImportParameters = {}) {\n this.configuration.logger.warn(\n \"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 );\n return this.import(documents, options);\n }\n\n /**\n * Import a set of documents in a batch.\n * @param {string|Array} documents - Can be a JSONL string of documents or an array of document objects.\n * @param options\n * @return {string|Array} Returns a JSONL string if the input was a JSONL string, otherwise it returns an array of results.\n */\n async import(\n documents: string,\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[],\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[] | string,\n options: DocumentImportParameters = {},\n ): Promise {\n let documentsInJSONLFormat;\n if (Array.isArray(documents)) {\n try {\n documentsInJSONLFormat = documents\n .map((document) => JSON.stringify(document))\n .join(\"\\n\");\n } catch (error: any) {\n // if rangeerror, throw custom error message\n if (\n error instanceof RangeError &&\n error.message.includes(\"Too many properties to enumerate\")\n ) {\n throw new Error(`${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\n // else, throw the non-range error anyways\n throw new Error(error);\n }\n } else {\n documentsInJSONLFormat = documents;\n }\n\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n if (Array.isArray(documents)) {\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter(\n (r) => r.success === false,\n );\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n } else {\n return resultsInJSONLFormat as string;\n }\n }\n /**\n * Imports documents from a NodeJS readable stream of JSONL.\n */\n async importStream(\n readableStream: ReadStream,\n options: DocumentImportParameters = {},\n ): Promise {\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\n queryParameters: options,\n bodyParameters: readableStream,\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter((r) => r.success === false);\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n }\n\n /**\n * Returns a JSONL string for all the documents in this collection\n */\n async export(options: DocumentsExportParameters = {}): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options);\n }\n\n /**\n * Returns a NodeJS readable stream of JSONL for all the documents in this collection.\n */\n async exportStream(\n options: DocumentsExportParameters = {},\n ): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options, {\n responseType: \"stream\",\n });\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { OverrideSchema } from \"./Override\";\n\nconst RESOURCEPATH = \"/overrides\";\n\nexport interface OverrideRuleQuerySchema {\n query?: string;\n match?: \"exact\" | \"contains\";\n}\n\nexport interface OverrideRuleFilterSchema {\n filter_by?: string;\n}\n\nexport interface OverrideRuleTagsSchema {\n tags?: string[];\n}\n\nexport interface OverrideCreateSchema {\n rule: OverrideRuleQuerySchema &\n OverrideRuleFilterSchema &\n OverrideRuleTagsSchema;\n filter_by?: string;\n sort_by?: string;\n remove_matched_tokens?: boolean;\n replace_query?: string;\n includes?: Array<{\n id: string;\n position: number;\n }>;\n excludes?: Array<{ id: string }>;\n filter_curated_hits?: boolean;\n effective_from_ts?: number;\n effective_to_ts?: number;\n stop_processing?: boolean;\n metadata?: object;\n}\n\nexport interface OverridesRetrieveSchema {\n overrides: OverrideSchema[];\n}\n\nexport default class Overrides {\n constructor(\n private collectionName: string,\n private apiCall: ApiCall,\n ) {}\n\n async upsert(\n overrideId: string,\n params: OverrideCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(overrideId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${\n Overrides.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n"]} \ No newline at end of file diff --git a/lib/Typesense.min.mjs b/lib/Typesense.min.mjs new file mode 100644 index 00000000..5656e7fd --- /dev/null +++ b/lib/Typesense.min.mjs @@ -0,0 +1,9 @@ +var xe=Object.defineProperty;var Te=(r,e)=>{for(var t in e)xe(r,t,{get:e[t],enumerable:!0})};var Ee={trace:0,debug:1,info:2,warn:3,error:4,silent:5},F={Trace:0,Debug:1,Info:2,Warn:3,Error:4,Silent:5};var we={Trace:(...r)=>console.trace(...r),Debug:(...r)=>console.debug(...r),Info:(...r)=>console.info(...r),Warn:(...r)=>console.warn(...r),Error:(...r)=>console.error(...r),Silent:()=>{}},de=class r{constructor(){this.logLevel=F.Warn}static getInstance(){return r.instance||(r.instance=new r),r.instance}formatMessage(e,t){return`[${e}] ${t}`}logWith(e,t){this.mapLogLevelToConsoleFunction(e)(this.formatMessage(e,t))}mapLogLevelToConsoleFunction(e){return we[e]}debug(e){this.logLevel<=F.Debug&&this.logWith("Debug",e)}warn(e){this.logLevel<=F.Warn&&this.logWith("Warn",e)}error(e){this.logLevel<=F.Error&&this.logWith("Error",e)}trace(e){this.logLevel<=F.Trace&&this.logWith("Trace",e)}info(e){this.logLevel<=F.Info&&this.logWith("Info",e)}setLogLevel(e){typeof e=="number"?this.logLevel=e:this.logLevel=Ee[e]}},Ce=de.getInstance();var ue={};Te(ue,{HTTPError:()=>S,ImportError:()=>f,MissingConfigurationError:()=>u,ObjectAlreadyExists:()=>v,ObjectNotFound:()=>g,ObjectUnprocessable:()=>R,RequestMalformed:()=>P,RequestUnauthorized:()=>b,ServerError:()=>_,TypesenseError:()=>a});var a=class extends Error{constructor(e){super(e),this.name=new.target.name,Object.setPrototypeOf(this,new.target.prototype)}};var S=class extends a{};var u=class extends a{};var v=class extends a{};var g=class extends a{};var R=class extends a{};var P=class extends a{};var b=class extends a{};var _=class extends a{};var f=class extends a{constructor(e,t){super(e),this.importResults=t}};var A=class{constructor(e){this.nodes=e.nodes||[],this.nodes=this.nodes.map(t=>this.setDefaultPathInNode(t)).map(t=>this.setDefaultPortInNode(t)).map(t=>({...t})),e.randomizeNodes==null&&(e.randomizeNodes=!0),e.randomizeNodes===!0&&this.shuffleArray(this.nodes),this.nearestNode=e.nearestNode,this.nearestNode=this.setDefaultPathInNode(this.nearestNode),this.nearestNode=this.setDefaultPortInNode(this.nearestNode),this.connectionTimeoutSeconds=e.connectionTimeoutSeconds||e.timeoutSeconds||5,this.healthcheckIntervalSeconds=e.healthcheckIntervalSeconds||60,this.numRetries=e.numRetries||this.nodes.length+(this.nearestNode==null?0:1)||3,this.retryIntervalSeconds=e.retryIntervalSeconds||.1,this.apiKey=e.apiKey,this.sendApiKeyAsQueryParam=e.sendApiKeyAsQueryParam,this.cacheSearchResultsForSeconds=e.cacheSearchResultsForSeconds||0,this.useServerSideSearchCache=e.useServerSideSearchCache||!1,this.logger=e.logger||Ce,this.logLevel=e.logLevel||"warn",this.logger.setLogLevel(this.logLevel),this.additionalHeaders=e.additionalHeaders,this.httpAgent=e.httpAgent,this.httpsAgent=e.httpsAgent,this.paramsSerializer=e.paramsSerializer,this.showDeprecationWarnings(e),this.validate()}validate(){if(this.nodes==null||this.nodes.length===0||this.validateNodes())throw new u("Ensure that nodes[].protocol, nodes[].host and nodes[].port are set");if(this.nearestNode!=null&&this.isNodeMissingAnyParameters(this.nearestNode))throw new u("Ensure that nearestNodes.protocol, nearestNodes.host and nearestNodes.port are set");if(this.apiKey==null)throw new u("Ensure that apiKey is set");return!0}validateNodes(){return this.nodes.some(e=>this.isNodeMissingAnyParameters(e))}isNodeMissingAnyParameters(e){return!["protocol","host","port","path"].every(t=>e.hasOwnProperty(t))&&e.url==null}setDefaultPathInNode(e){return e!=null&&!e.hasOwnProperty("path")&&(e.path=""),e}setDefaultPortInNode(e){if(e!=null&&!e.hasOwnProperty("port")&&e.hasOwnProperty("protocol"))switch(e.protocol){case"https":e.port=443;break;case"http":e.port=80;break}return e}showDeprecationWarnings(e){e.timeoutSeconds&&this.logger.warn("Deprecation warning: timeoutSeconds is now renamed to connectionTimeoutSeconds"),e.masterNode&&this.logger.warn("Deprecation warning: masterNode is now consolidated to nodes, starting with Typesense Server v0.12"),e.readReplicaNodes&&this.logger.warn("Deprecation warning: readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12")}shuffleArray(e){for(let t=e.length-1;t>0;t--){let i=Math.floor(Math.random()*(t+1));[e[t],e[i]]=[e[i],e[t]]}}};import Se from"axios";import{Agent as Oe}from"http";import{Agent as Ne}from"https";var De="X-TYPESENSE-API-KEY",ge=!0,He=!1,ve=typeof process<"u"&&process.versions!=null&&process.versions.node!=null,x=class{constructor(e){this.configuration=e;this.apiKey=this.configuration.apiKey,this.nodes=this.configuration.nodes==null?this.configuration.nodes:JSON.parse(JSON.stringify(this.configuration.nodes)),this.nearestNode=this.configuration.nearestNode==null?this.configuration.nearestNode:JSON.parse(JSON.stringify(this.configuration.nearestNode)),this.connectionTimeoutSeconds=this.configuration.connectionTimeoutSeconds,this.healthcheckIntervalSeconds=this.configuration.healthcheckIntervalSeconds,this.numRetriesPerRequest=this.configuration.numRetries,this.retryIntervalSeconds=this.configuration.retryIntervalSeconds,this.sendApiKeyAsQueryParam=this.configuration.sendApiKeyAsQueryParam,this.additionalUserHeaders=this.configuration.additionalHeaders,this.logger=this.configuration.logger,this.initializeMetadataForNodes(),this.currentNodeIndex=-1}async get(e,t={},{abortSignal:i=null,responseType:n=void 0}={}){return this.performRequest("get",e,{queryParameters:t,abortSignal:i,responseType:n})}async delete(e,t={}){return this.performRequest("delete",e,{queryParameters:t})}async post(e,t={},i={},n={}){return this.performRequest("post",e,{queryParameters:i,bodyParameters:t,additionalHeaders:n})}async put(e,t={},i={}){return this.performRequest("put",e,{queryParameters:i,bodyParameters:t})}async patch(e,t={},i={}){return this.performRequest("patch",e,{queryParameters:i,bodyParameters:t})}async performRequest(e,t,{queryParameters:i=null,bodyParameters:n=null,additionalHeaders:s={},abortSignal:o=null,responseType:I=void 0,skipConnectionTimeout:h=!1,enableKeepAlive:y=void 0}){this.configuration.validate();let c=Date.now(),C;this.logger.debug(`Request #${c}: Performing ${e.toUpperCase()} request: ${t}`);for(let q=1;q<=this.numRetriesPerRequest+1;q++){let d=this.getNextNode(c);if(this.logger.debug(`Request #${c}: Attempting ${e.toUpperCase()} request Try #${q} to Node ${d.index}`),o&&o.aborted)return Promise.reject(new Error("Request aborted by caller."));let z;try{let l={method:e,url:this.uriFor(t,d),headers:Object.assign({},this.defaultHeaders(),s,this.additionalUserHeaders),maxContentLength:1/0,maxBodyLength:1/0,responseType:I,validateStatus:K=>K>0,transformResponse:[(K,W)=>{let ye=K;return W!==void 0&&typeof K=="string"&&W["content-type"]&&W["content-type"].startsWith("application/json")&&(ye=JSON.parse(K)),ye}]};if(h!==!0&&(l.timeout=this.connectionTimeoutSeconds*1e3),i&&Object.keys(i).length!==0&&(l.params=i),this.sendApiKeyAsQueryParam&&(l.params=l.params||{},l.params["x-typesense-api-key"]=this.apiKey),this.configuration.httpAgent?(this.logger.debug(`Request #${c}: Using custom httpAgent`),l.httpAgent=this.configuration.httpAgent):y===!0&&(ve?(this.logger.debug(`Request #${c}: Enabling KeepAlive`),l.httpAgent=new Oe({keepAlive:!0})):this.logger.warn(`Request #${c}: Cannot use custom httpAgent in a browser environment to enable keepAlive`)),this.configuration.httpsAgent?(this.logger.debug(`Request #${c}: Using custom httpsAgent`),l.httpsAgent=this.configuration.httpsAgent):y===!0&&(ve?(this.logger.debug(`Request #${c}: Enabling keepAlive`),l.httpsAgent=new Ne({keepAlive:!0})):this.logger.warn(`Request #${c}: Cannot use custom httpAgent in a browser environment to enable keepAlive`)),this.configuration.paramsSerializer&&(this.logger.debug(`Request #${c}: Using custom paramsSerializer`),l.paramsSerializer=this.configuration.paramsSerializer),n&&(typeof n=="string"&&n.length!==0||typeof n=="object"&&Object.keys(n).length!==0)&&(l.data=n),o){let W=Se.CancelToken.source();z=()=>W.cancel(),o.addEventListener("abort",z),l.cancelToken=W.token}let m=await Se(l);if(m.status>=1&&m.status<=499&&this.setNodeHealthcheck(d,ge),this.logger.debug(`Request #${c}: Request to Node ${d.index} was made. Response Code was ${m.status}.`),m.status>=200&&m.status<300)return Promise.resolve(m.data);if(m.status<500)return Promise.reject(this.customErrorForResponse(m,m.data?.message));throw this.customErrorForResponse(m,m.data?.message)}catch(l){this.setNodeHealthcheck(d,He),C=l,this.logger.warn(`Request #${c}: Request to Node ${d.index} failed due to "${l.code} ${l.message}${l.response==null?"":" - "+JSON.stringify(l.response?.data)}"`),this.logger.warn(`Request #${c}: Sleeping for ${this.retryIntervalSeconds}s and then retrying request...`),await this.timer(this.retryIntervalSeconds)}finally{o&&z&&o.removeEventListener("abort",z)}}return this.logger.debug(`Request #${c}: No retries left. Raising last error`),Promise.reject(C)}getNextNode(e=0){if(this.nearestNode!=null){if(this.logger.debug(`Request #${e}: Nodes Health: Node ${this.nearestNode.index} is ${this.nearestNode.isHealthy===!0?"Healthy":"Unhealthy"}`),this.nearestNode.isHealthy===!0||this.nodeDueForHealthcheck(this.nearestNode,e))return this.logger.debug(`Request #${e}: Updated current node to Node ${this.nearestNode.index}`),this.nearestNode;this.logger.debug(`Request #${e}: Falling back to individual nodes`)}this.logger.debug(`Request #${e}: Nodes Health: ${this.nodes.map(i=>`Node ${i.index} is ${i.isHealthy===!0?"Healthy":"Unhealthy"}`).join(" || ")}`);let t=this.nodes[0];for(let i=0;i<=this.nodes.length;i++)if(this.currentNodeIndex=(this.currentNodeIndex+1)%this.nodes.length,t=this.nodes[this.currentNodeIndex],t.isHealthy===!0||this.nodeDueForHealthcheck(t,e))return this.logger.debug(`Request #${e}: Updated current node to Node ${t.index}`),t;return this.logger.debug(`Request #${e}: No healthy nodes were found. Returning the next node, Node ${t.index}`),t}nodeDueForHealthcheck(e,t=0){let i=Date.now()-e.lastAccessTimestamp>this.healthcheckIntervalSeconds*1e3;return i&&this.logger.debug(`Request #${t}: Node ${e.index} has exceeded healtcheckIntervalSeconds of ${this.healthcheckIntervalSeconds}. Adding it back into rotation.`),i}initializeMetadataForNodes(){this.nearestNode!=null&&(this.nearestNode.index="nearestNode",this.setNodeHealthcheck(this.nearestNode,ge)),this.nodes.forEach((e,t)=>{e.index=t,this.setNodeHealthcheck(e,ge)})}setNodeHealthcheck(e,t){e.isHealthy=t,e.lastAccessTimestamp=Date.now()}uriFor(e,t){return t.url!=null?`${t.url}${e}`:`${t.protocol}://${t.host}:${t.port}${t.path}${e}`}defaultHeaders(){let e={};return this.sendApiKeyAsQueryParam||(e[De]=this.apiKey),e["Content-Type"]="application/json",e}async timer(e){return new Promise(t=>setTimeout(t,e*1e3))}customErrorForResponse(e,t){let i=`Request failed with HTTP code ${e.status}`;typeof t=="string"&&t.trim()!==""&&(i+=` | Server said: ${t}`);let n=new a(i);return e.status===400?n=new P(i):e.status===401?n=new b(i):e.status===404?n=new g(i):e.status===409?n=new v(i):e.status===422?n=new R(i):e.status>=500&&e.status<=599?n=new _(i):n=new S(i),n.httpStatus=e.status,n}};var fe="/collections",p=class{constructor(e){this.apiCall=e}async create(e,t={}){return this.apiCall.post(fe,e,t)}async retrieve(e={}){return this.apiCall.get(fe,e)}static get RESOURCEPATH(){return fe}};var T=class{constructor(){this.responseCache=new Map;this.responsePromiseCache=new Map}clearCache(){this.responseCache=new Map,this.responsePromiseCache=new Map}async perform(e,t,i,n){let{cacheResponseForSeconds:s=120,maxSize:o=100}=n;if(s<=0||o<=0)return t.call(e,...i);let h=JSON.stringify(i),y=this.responseCache.get(h),c=Date.now();if(y){if(c-y.requestTimestampo){let m=this.responseCache.keys().next().value;this.responseCache.delete(m)}if(this.responsePromiseCache.size>o){let m=this.responsePromiseCache.keys().next().value;this.responsePromiseCache.delete(m)}return d}};var Re="/documents",j=class{constructor(e,t,i){this.collectionName=e;this.apiCall=t;this.configuration=i;this.requestWithCache=new T}clearCache(){this.requestWithCache.clearCache()}async search(e,{cacheSearchResultsForSeconds:t=this.configuration.cacheSearchResultsForSeconds,abortSignal:i=null}={}){let n={};this.configuration.useServerSideSearchCache===!0&&(n.use_cache=!0);for(let o in e)Array.isArray(e[o])&&(n[o]=e[o].join(","));let s=Object.assign({},e,n);return this.requestWithCache.perform(this.apiCall,this.apiCall.get,[this.endpointPath("search"),s,{abortSignal:i}],{cacheResponseForSeconds:t})}endpointPath(e){return`${p.RESOURCEPATH}/${this.collectionName}${Re}${e===void 0?"":"/"+e}`}static get RESOURCEPATH(){return Re}};var Pe=typeof process<"u"&&process.versions!=null&&process.versions.node!=null,E=class extends j{constructor(e,t,i){super(e,t,i)}async create(e,t={}){if(!e)throw new Error("No document provided");return this.apiCall.post(this.endpointPath(),e,t)}async upsert(e,t={}){if(!e)throw new Error("No document provided");return this.apiCall.post(this.endpointPath(),e,Object.assign({},t,{action:"upsert"}))}async update(e,t={}){if(!e)throw new Error("No document provided");return t.filter_by!=null?this.apiCall.patch(this.endpointPath(),e,Object.assign({},t)):this.apiCall.post(this.endpointPath(),e,Object.assign({},t,{action:"update"}))}async delete(e={}){return this.apiCall.delete(this.endpointPath(),e)}async createMany(e,t={}){return 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"),this.import(e,t)}async import(e,t={}){let i;if(Array.isArray(e))try{i=e.map(s=>JSON.stringify(s)).join(` +`)}catch(s){throw s instanceof RangeError&&s.message.includes("Too many properties to enumerate")?new Error(`${s} + 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 + + Please try reducing the number of keys in your document, or using CURL to import your data. + `):new Error(s)}else i=e;let n=await this.apiCall.performRequest("post",this.endpointPath("import"),{queryParameters:t,bodyParameters:i,additionalHeaders:{"Content-Type":"text/plain"},skipConnectionTimeout:!0,enableKeepAlive:!!Pe});if(Array.isArray(e)){let s=n.split(` +`).map(I=>JSON.parse(I)),o=s.filter(I=>I.success===!1);if(o.length>0)throw new f(`${s.length-o.length} documents imported successfully, ${o.length} documents failed during import. Use \`error.importResults\` from the raised exception to get a detailed error reason for each document.`,s);return s}else return n}async importStream(e,t={}){let n=(await this.apiCall.performRequest("post",this.endpointPath("import"),{queryParameters:t,bodyParameters:e,additionalHeaders:{"Content-Type":"text/plain"},skipConnectionTimeout:!0,enableKeepAlive:!!Pe})).split(` +`).map(o=>JSON.parse(o)),s=n.filter(o=>o.success===!1);if(s.length>0)throw new f(`${n.length-s.length} documents imported successfully, ${s.length} documents failed during import. Use \`error.importResults\` from the raised exception to get a detailed error reason for each document.`,n);return n}async export(e={}){return this.apiCall.get(this.endpointPath("export"),e)}async exportStream(e={}){return this.apiCall.get(this.endpointPath("export"),e,{responseType:"stream"})}};var Ue="/overrides",w=class r{constructor(e,t){this.collectionName=e;this.apiCall=t}async upsert(e,t){return this.apiCall.put(this.endpointPath(e),t)}async retrieve(){return this.apiCall.get(this.endpointPath())}endpointPath(e){return`${p.RESOURCEPATH}/${this.collectionName}${r.RESOURCEPATH}${e===void 0?"":"/"+encodeURIComponent(e)}`}static get RESOURCEPATH(){return Ue}};var Q=class{constructor(e,t,i){this.collectionName=e;this.overrideId=t;this.apiCall=i}async retrieve(){return this.apiCall.get(this.endpointPath())}async delete(){return this.apiCall.delete(this.endpointPath())}endpointPath(){return`${p.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${w.RESOURCEPATH}/${encodeURIComponent(this.overrideId)}`}};var $e="/synonyms",O=class r{constructor(e,t){this.collectionName=e;this.apiCall=t}async upsert(e,t){return this.apiCall.put(this.endpointPath(e),t)}async retrieve(){return this.apiCall.get(this.endpointPath())}endpointPath(e){return`${p.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${r.RESOURCEPATH}${e===void 0?"":"/"+encodeURIComponent(e)}`}static get RESOURCEPATH(){return $e}};var J=class{constructor(e,t,i){this.collectionName=e;this.synonymId=t;this.apiCall=i}async retrieve(){return this.apiCall.get(this.endpointPath())}async delete(){return this.apiCall.delete(this.endpointPath())}endpointPath(){return`${p.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${O.RESOURCEPATH}/${encodeURIComponent(this.synonymId)}`}};var me=class{constructor(e,t,i){this.collectionName=e;this.documentId=t;this.apiCall=i}async retrieve(){return this.apiCall.get(this.endpointPath())}async delete(e){return this.apiCall.delete(this.endpointPath(),e)}async update(e,t={}){return this.apiCall.patch(this.endpointPath(),e,t)}endpointPath(){return`${p.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${E.RESOURCEPATH}/${encodeURIComponent(this.documentId)}`}};var B=class{constructor(e,t,i){this.name=e;this.apiCall=t;this.configuration=i;this.individualDocuments={};this.individualOverrides={};this.individualSynonyms={};this.name=e,this.apiCall=t,this.configuration=i,this._documents=new E(this.name,this.apiCall,this.configuration),this._overrides=new w(this.name,this.apiCall),this._synonyms=new O(this.name,this.apiCall)}async retrieve(){return this.apiCall.get(this.endpointPath())}async update(e){return this.apiCall.patch(this.endpointPath(),e)}async delete(){return this.apiCall.delete(this.endpointPath())}async exists(){try{return await this.retrieve(),!0}catch(e){if(e instanceof g)return!1;throw e}}documents(e){return e?(this.individualDocuments[e]===void 0&&(this.individualDocuments[e]=new me(this.name,e,this.apiCall)),this.individualDocuments[e]):this._documents}overrides(e){return e===void 0?this._overrides:(this.individualOverrides[e]===void 0&&(this.individualOverrides[e]=new Q(this.name,e,this.apiCall)),this.individualOverrides[e])}synonyms(e){return e===void 0?this._synonyms:(this.individualSynonyms[e]===void 0&&(this.individualSynonyms[e]=new J(this.name,e,this.apiCall)),this.individualSynonyms[e])}endpointPath(){return`${p.RESOURCEPATH}/${encodeURIComponent(this.name)}`}};var be="/aliases",N=class r{constructor(e){this.apiCall=e}async upsert(e,t){return this.apiCall.put(this.endpointPath(e),t)}async retrieve(){return this.apiCall.get(be)}endpointPath(e){return`${r.RESOURCEPATH}/${encodeURIComponent(e)}`}static get RESOURCEPATH(){return be}};var V=class{constructor(e,t){this.name=e;this.apiCall=t}async retrieve(){return this.apiCall.get(this.endpointPath())}async delete(){return this.apiCall.delete(this.endpointPath())}endpointPath(){return`${N.RESOURCEPATH}/${encodeURIComponent(this.name)}`}};import{createHmac as Me}from"crypto";var _e="/keys",D=class r{constructor(e){this.apiCall=e;this.apiCall=e}async create(e){return this.apiCall.post(r.RESOURCEPATH,e)}async retrieve(){return this.apiCall.get(_e)}generateScopedSearchKey(e,t){let i=JSON.stringify(t),n=Buffer.from(Me("sha256",e).update(i).digest("base64")),s=e.substr(0,4),o=`${n}${s}${i}`;return Buffer.from(o).toString("base64")}static get RESOURCEPATH(){return _e}};var Y=class{constructor(e,t){this.id=e;this.apiCall=t}async retrieve(){return this.apiCall.get(this.endpointPath())}async delete(){return this.apiCall.delete(this.endpointPath())}endpointPath(){return`${D.RESOURCEPATH}/${encodeURIComponent(this.id)}`}};var Le="/debug",G=class{constructor(e){this.apiCall=e}async retrieve(){return this.apiCall.get(Le)}};var ke="/metrics.json",X=class{constructor(e){this.apiCall=e}async retrieve(){return this.apiCall.get(ke)}};var Ie="/stats.json",Z=class{constructor(e){this.apiCall=e}async retrieve(){return this.apiCall.get(Ie)}};var qe="/health",ee=class{constructor(e){this.apiCall=e}async retrieve(){return this.apiCall.get(qe)}};var Ke="/operations",te=class{constructor(e){this.apiCall=e}async perform(e,t={}){return this.apiCall.post(`${Ke}/${e}`,{},t)}};var We="/multi_search",H=class{constructor(e,t,i=!1){this.apiCall=e;this.configuration=t;this.useTextContentType=i;this.requestWithCache=new T}clearCache(){this.requestWithCache.clearCache()}async perform(e,t={},{cacheSearchResultsForSeconds:i=this.configuration.cacheSearchResultsForSeconds}={}){let n={};this.useTextContentType&&(n["content-type"]="text/plain");let s={};this.configuration.useServerSideSearchCache===!0&&(s.use_cache=!0);let o=Object.assign({},t,s);return this.requestWithCache.perform(this.apiCall,this.apiCall.post,[We,e,o,n],{cacheResponseForSeconds:i})}};var Fe="/presets",U=class r{constructor(e){this.apiCall=e}async upsert(e,t){return this.apiCall.put(this.endpointPath(e),t)}async retrieve(){return this.apiCall.get(this.endpointPath())}endpointPath(e){return`${r.RESOURCEPATH}${e===void 0?"":"/"+encodeURIComponent(e)}`}static get RESOURCEPATH(){return Fe}};var re=class{constructor(e,t){this.presetId=e;this.apiCall=t}async retrieve(){return this.apiCall.get(this.endpointPath())}async delete(){return this.apiCall.delete(this.endpointPath())}endpointPath(){return`${U.RESOURCEPATH}/${encodeURIComponent(this.presetId)}`}};var je="/analytics/rules",$=class r{constructor(e){this.apiCall=e;this.apiCall=e}async upsert(e,t){return this.apiCall.put(this.endpointPath(e),t)}async retrieve(){return this.apiCall.get(this.endpointPath())}endpointPath(e){return`${r.RESOURCEPATH}${e===void 0?"":"/"+encodeURIComponent(e)}`}static get RESOURCEPATH(){return je}};var ie=class{constructor(e,t){this.name=e;this.apiCall=t}async retrieve(){return this.apiCall.get(this.endpointPath())}async delete(){return this.apiCall.delete(this.endpointPath())}endpointPath(){return`${$.RESOURCEPATH}/${encodeURIComponent(this.name)}`}};var ze="/analytics/events",ne=class r{constructor(e){this.apiCall=e;this.apiCall=e}async create(e){return this.apiCall.post(this.endpointPath(),e)}endpointPath(e){return`${r.RESOURCEPATH}${e===void 0?"":"/"+encodeURIComponent(e)}`}static get RESOURCEPATH(){return ze}};var Qe="/analytics",se=class{constructor(e){this.apiCall=e;this.individualAnalyticsRules={};this.apiCall=e,this._analyticsRules=new $(this.apiCall),this._analyticsEvents=new ne(this.apiCall)}rules(e){return e===void 0?this._analyticsRules:(this.individualAnalyticsRules[e]===void 0&&(this.individualAnalyticsRules[e]=new ie(e,this.apiCall)),this.individualAnalyticsRules[e])}events(){return this._analyticsEvents}static get RESOURCEPATH(){return Qe}};var Je="/stopwords",M=class r{constructor(e){this.apiCall=e}async upsert(e,t){return this.apiCall.put(this.endpointPath(e),t)}async retrieve(){return this.apiCall.get(this.endpointPath())}endpointPath(e){return`${r.RESOURCEPATH}${e===void 0?"":"/"+encodeURIComponent(e)}`}static get RESOURCEPATH(){return Je}};var oe=class{constructor(e,t){this.stopwordId=e;this.apiCall=t}async retrieve(){return this.apiCall.get(this.endpointPath())}async delete(){return this.apiCall.delete(this.endpointPath())}endpointPath(){return`${M.RESOURCEPATH}/${encodeURIComponent(this.stopwordId)}`}};var Be="/conversations/models",L=class r{constructor(e){this.apiCall=e;this.apiCall=e}async create(e){return this.apiCall.post(this.endpointPath(),e)}async retrieve(){return this.apiCall.get(this.endpointPath())}endpointPath(e){return`${r.RESOURCEPATH}${e===void 0?"":"/"+encodeURIComponent(e)}`}static get RESOURCEPATH(){return Be}};var ae=class{constructor(e,t){this.id=e;this.apiCall=t}async update(e){return this.apiCall.put(this.endpointPath(),e)}async retrieve(){return this.apiCall.get(this.endpointPath())}async delete(){return this.apiCall.delete(this.endpointPath())}endpointPath(){return`${L.RESOURCEPATH}/${encodeURIComponent(this.id)}`}};var Ae="/conversations",k=class{constructor(e){this.apiCall=e;this.individualConversationModels={};this.apiCall=e,this._conversationsModels=new L(this.apiCall)}async retrieve(){return this.apiCall.get(Ae)}models(e){return e===void 0?this._conversationsModels:(this.individualConversationModels[e]===void 0&&(this.individualConversationModels[e]=new ae(e,this.apiCall)),this.individualConversationModels[e])}static get RESOURCEPATH(){return Ae}};var le=class{constructor(e,t){this.id=e;this.apiCall=t}async retrieve(){return this.apiCall.get(this.endpointPath())}async update(e){return this.apiCall.put(this.endpointPath(),e)}async delete(){return this.apiCall.delete(this.endpointPath())}endpointPath(){return`${k.RESOURCEPATH}/${encodeURIComponent(this.id)}`}};var ce=class{constructor(e){e.sendApiKeyAsQueryParam=e.sendApiKeyAsQueryParam??!1,this.configuration=new A(e),this.apiCall=new x(this.configuration),this.debug=new G(this.apiCall),this.metrics=new X(this.apiCall),this.stats=new Z(this.apiCall),this.health=new ee(this.apiCall),this.operations=new te(this.apiCall),this.multiSearch=new H(this.apiCall,this.configuration),this._collections=new p(this.apiCall),this.individualCollections={},this._aliases=new N(this.apiCall),this.individualAliases={},this._keys=new D(this.apiCall),this.individualKeys={},this._presets=new U(this.apiCall),this.individualPresets={},this._stopwords=new M(this.apiCall),this.individualStopwords={},this.analytics=new se(this.apiCall),this._conversations=new k(this.apiCall),this.individualConversations={}}collections(e){return e===void 0?this._collections:(this.individualCollections[e]===void 0&&(this.individualCollections[e]=new B(e,this.apiCall,this.configuration)),this.individualCollections[e])}aliases(e){return e===void 0?this._aliases:(this.individualAliases[e]===void 0&&(this.individualAliases[e]=new V(e,this.apiCall)),this.individualAliases[e])}keys(e){return e===void 0?this._keys:(this.individualKeys[e]===void 0&&(this.individualKeys[e]=new Y(e,this.apiCall)),this.individualKeys[e])}presets(e){return e===void 0?this._presets:(this.individualPresets[e]===void 0&&(this.individualPresets[e]=new re(e,this.apiCall)),this.individualPresets[e])}stopwords(e){return e===void 0?this._stopwords:(this.individualStopwords[e]===void 0&&(this.individualStopwords[e]=new oe(e,this.apiCall)),this.individualStopwords[e])}conversations(e){return e===void 0?this._conversations:(this.individualConversations[e]===void 0&&(this.individualConversations[e]=new le(e,this.apiCall)),this.individualConversations[e])}};var he=class{constructor(e,t,i){this.name=e;this.apiCall=t;this.configuration=i;this._documents=new j(this.name,this.apiCall,this.configuration)}documents(){return this._documents}};var pe=class{constructor(e){e.sendApiKeyAsQueryParam=e.sendApiKeyAsQueryParam??!0,e.sendApiKeyAsQueryParam===!0&&(e.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."),e.sendApiKeyAsQueryParam=!1),this.configuration=new A(e),this.apiCall=new x(this.configuration),this.multiSearch=new H(this.apiCall,this.configuration,!0),this.individualCollections={}}clearCache(){this.multiSearch.clearCache(),Object.entries(this.individualCollections).forEach(([e,t])=>{t.documents().clearCache()})}collections(e){if(e)return this.individualCollections[e]===void 0&&(this.individualCollections[e]=new he(e,this.apiCall,this.configuration)),this.individualCollections[e];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.")}};var Ii={Client:ce,SearchClient:pe,Errors:ue};export{ce as Client,ue as Errors,pe as SearchClient,Ii as default}; +//# sourceMappingURL=Typesense.min.mjs.map \ No newline at end of file diff --git a/lib/Typesense.min.mjs.map b/lib/Typesense.min.mjs.map new file mode 100644 index 00000000..8cf1470c --- /dev/null +++ b/lib/Typesense.min.mjs.map @@ -0,0 +1 @@ +{"version":3,"sources":["../src/Typesense/Logger.ts","../src/Typesense/Errors/index.ts","../src/Typesense/Errors/TypesenseError.ts","../src/Typesense/Errors/HTTPError.ts","../src/Typesense/Errors/MissingConfigurationError.ts","../src/Typesense/Errors/ObjectAlreadyExists.ts","../src/Typesense/Errors/ObjectNotFound.ts","../src/Typesense/Errors/ObjectUnprocessable.ts","../src/Typesense/Errors/RequestMalformed.ts","../src/Typesense/Errors/RequestUnauthorized.ts","../src/Typesense/Errors/ServerError.ts","../src/Typesense/Errors/ImportError.ts","../src/Typesense/Configuration.ts","../src/Typesense/ApiCall.ts","../src/Typesense/Collections.ts","../src/Typesense/RequestWithCache.ts","../src/Typesense/SearchOnlyDocuments.ts","../src/Typesense/Documents.ts","../src/Typesense/Overrides.ts","../src/Typesense/Override.ts","../src/Typesense/Synonyms.ts","../src/Typesense/Synonym.ts","../src/Typesense/Document.ts","../src/Typesense/Collection.ts","../src/Typesense/Aliases.ts","../src/Typesense/Alias.ts","../src/Typesense/Keys.ts","../src/Typesense/Key.ts","../src/Typesense/Debug.ts","../src/Typesense/Metrics.ts","../src/Typesense/Stats.ts","../src/Typesense/Health.ts","../src/Typesense/Operations.ts","../src/Typesense/MultiSearch.ts","../src/Typesense/Presets.ts","../src/Typesense/Preset.ts","../src/Typesense/AnalyticsRules.ts","../src/Typesense/AnalyticsRule.ts","../src/Typesense/AnalyticsEvents.ts","../src/Typesense/Analytics.ts","../src/Typesense/Stopwords.ts","../src/Typesense/Stopword.ts","../src/Typesense/ConversationModels.ts","../src/Typesense/ConversationModel.ts","../src/Typesense/Conversations.ts","../src/Typesense/Conversation.ts","../src/Typesense/Client.ts","../src/Typesense/SearchOnlyCollection.ts","../src/Typesense/SearchClient.ts","../src/Typesense.ts"],"sourcesContent":["/**\n * Represents the log levels that can be used in the logger with their corresponding number values.\n */\ntype LogLevelMap = {\n Trace: \"trace\" | 0;\n Debug: \"debug\" | 1;\n Info: \"info\" | 2;\n Warn: \"warn\" | 3;\n Error: \"error\" | 4;\n Silent: \"silent\" | 5;\n};\n\n/**\n * Represents mapping of the number values of the log levels.\n */\ntype LogLevelNumberValuesMap = {\n [K in keyof LogLevelMap]: LogLevelMap[K] extends infer R\n ? R extends number\n ? R\n : never\n : never;\n};\n\n/**\n * Numeric representation of the possible log levels.\n */\ntype LogLevelNumberValues =\n LogLevelNumberValuesMap[keyof LogLevelNumberValuesMap];\n\n/**\n * Represents the mapping of the string values to the number values of the log levels.\n */\ntype StringToNumberRepresentationLogLevelMap = {\n [K in keyof LogLevelMap as LogLevelMap[K] extends infer R\n ? R extends string\n ? R\n : never\n : never]: LogLevelMap[K] extends infer R\n ? R extends number\n ? R\n : never\n : never;\n};\n\n/**\n * Object that maps the log levels to their corresponding number values.\n * Used for always mapping the log level to number for comparison's sake.\n */\nconst LogLevelReverseMap = {\n trace: 0,\n debug: 1,\n info: 2,\n warn: 3,\n error: 4,\n silent: 5,\n} as const satisfies StringToNumberRepresentationLogLevelMap;\n\n/**\n * Represents the log levels that can be used in the logger.\n */\ntype LogLevel = LogLevelMap[keyof LogLevelMap];\n\n/**\n * Object that maps the log levels to their corresponding number values.\n */\nconst LogLevelNumber = {\n Trace: 0,\n Debug: 1,\n Info: 2,\n Warn: 3,\n Error: 4,\n Silent: 5,\n} as const satisfies { [K in keyof LogLevelMap]: LogLevelMap[K] };\n\n/**\n * Object that maps the log levels to their corresponding string values.\n */\nconst LogLevelNames = {\n Trace: \"trace\",\n Debug: \"debug\",\n Info: \"info\",\n Warn: \"warn\",\n Error: \"error\",\n Silent: \"silent\",\n} as const satisfies { [K in keyof LogLevelMap]: LogLevelMap[K] };\n\n/**\n * Object that maps the the console methods to the log levels.\n */\nconst logLevelToConsoleFunction = {\n Trace: (...args: any[]) => console.trace(...args),\n Debug: (...args: any[]) => console.debug(...args),\n Info: (...args: any[]) => console.info(...args),\n Warn: (...args: any[]) => console.warn(...args),\n Error: (...args: any[]) => console.error(...args),\n Silent: () => {},\n} as const satisfies { [K in keyof LogLevelMap]: (message: string) => void };\n\n/**\n * A simple logging class using a singleton pattern.\n * Only prints to stdout.\n */\nclass SimpleLogger {\n private static instance: SimpleLogger;\n /**\n * Numeric representation of the log level set.\n * Defaults to LogLevelNumber.Warn.\n * @private\n * @type {LogLevelNumberValues}\n */\n private logLevel: LogLevelNumberValues = LogLevelNumber.Warn;\n\n /**\n * Private constructor to prevent instantiation.\n * @private\n */\n private constructor() {}\n\n /**\n * Get the singleton instance of the SimpleLogger.\n * @returns {SimpleLogger} The singleton instance of the SimpleLogger.\n */\n static getInstance(): SimpleLogger {\n if (!SimpleLogger.instance) {\n SimpleLogger.instance = new SimpleLogger();\n }\n return SimpleLogger.instance;\n }\n\n /**\n * Formats the message to be logged.\n * @private\n * @param level The log level to be used.\n * @param message The message to be logged.\n * @returns The formatted message.\n */\n private formatMessage(\n level: keyof typeof LogLevelNames,\n message: string,\n ): string {\n return `[${level}] ${message}`;\n }\n\n /**\n * Logs the message with the appropriate console function\n * @param level The log level to be used.\n * @param message The message to be logged.\n */\n private logWith(level: keyof typeof LogLevelNames, message: string): void {\n const consoleFunction = this.mapLogLevelToConsoleFunction(level);\n consoleFunction(this.formatMessage(level, message));\n }\n\n /**\n * Maps the log level to the appropriate console function.\n * @param level The log level to be used.\n * @returns The console function to be used for the log level.\n */\n private mapLogLevelToConsoleFunction(\n level: keyof typeof LogLevelNames,\n ): (message: string, ...args: any[]) => void {\n return logLevelToConsoleFunction[level];\n }\n\n /**\n * Uses the `console.debug` method to log the message if the log level is set to debug or lower.\n * @param message The message to be logged.\n */\n debug(message: string): void {\n if (this.logLevel <= LogLevelNumber.Debug) {\n this.logWith(\"Debug\", message);\n }\n }\n\n /**\n * Uses the `console.warn` method to log the message if the log level is set to warn or lower.\n * @param message The message to be logged.\n */\n warn(message: string): void {\n if (this.logLevel <= LogLevelNumber.Warn) {\n this.logWith(\"Warn\", message);\n }\n }\n\n /**\n * Uses the `console.error` method to log the message if the log level is set to error or lower.\n * @param message The message to be logged.\n */\n error(message: string): void {\n if (this.logLevel <= LogLevelNumber.Error) {\n this.logWith(\"Error\", message);\n }\n }\n\n /**\n * Uses the `console.trace` method to log the message if the log level is set to trace or lower.\n * @param message The message to be logged.\n */\n trace(message: string): void {\n if (this.logLevel <= LogLevelNumber.Trace) {\n this.logWith(\"Trace\", message);\n }\n }\n\n /**\n * Uses the `console.info` method to log the message if the log level is set to info or lower.\n * @param message The message to be logged.\n */\n info(message: string): void {\n if (this.logLevel <= LogLevelNumber.Info) {\n this.logWith(\"Info\", message);\n }\n }\n\n /**\n * Sets the log level to the specified level as a numeric representation of it, if given a string.\n * @param level The log level to be set.\n */\n setLogLevel(level: LogLevel): void {\n if (typeof level === \"number\") {\n this.logLevel = level;\n } else {\n this.logLevel = LogLevelReverseMap[level];\n }\n }\n}\n\nexport const logger = SimpleLogger.getInstance();\nexport type { LogLevel };\n","import HTTPError from \"./HTTPError\";\nimport MissingConfigurationError from \"./MissingConfigurationError\";\nimport ObjectAlreadyExists from \"./ObjectAlreadyExists\";\nimport ObjectNotFound from \"./ObjectNotFound\";\nimport ObjectUnprocessable from \"./ObjectUnprocessable\";\nimport RequestMalformed from \"./RequestMalformed\";\nimport RequestUnauthorized from \"./RequestUnauthorized\";\nimport ServerError from \"./ServerError\";\nimport ImportError from \"./ImportError\";\nimport TypesenseError from \"./TypesenseError\";\n\nexport {\n HTTPError,\n MissingConfigurationError,\n ObjectAlreadyExists,\n ObjectNotFound,\n ObjectUnprocessable,\n RequestMalformed,\n RequestUnauthorized,\n ServerError,\n TypesenseError,\n ImportError,\n};\n","export default class TypesenseError extends Error {\n httpStatus?: number;\n\n // Source: https://stackoverflow.com/a/58417721/123545\n constructor(message?: string) {\n super(message);\n this.name = new.target.name;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class HTTPError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class MissingConfigurationError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectAlreadyExists extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectNotFound extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectUnprocessable extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestMalformed extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestUnauthorized extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ServerError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\nimport { ImportResponse } from \"../Documents\";\n\nexport default class ImportError extends TypesenseError {\n importResults: ImportResponse[];\n constructor(message: string, importResults: ImportResponse[]) {\n super(message);\n this.importResults = importResults;\n }\n}\n","import { logger } from \"./Logger\";\nimport type { LogLevel } from \"./Logger\";\nimport { MissingConfigurationError } from \"./Errors\";\nimport type { Agent as HTTPAgent } from \"http\";\nimport type { Agent as HTTPSAgent } from \"https\";\n\nexport interface NodeConfiguration {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n url?: string;\n}\n\nexport interface NodeConfigurationWithHostname {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n}\n\nexport interface NodeConfigurationWithUrl {\n url: string;\n}\n\nexport interface ConfigurationOptions {\n apiKey: string;\n nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n randomizeNodes?: boolean;\n /**\n * @deprecated\n * masterNode is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n masterNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n /**\n * @deprecated\n * readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n readReplicaNodes?:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n connectionTimeoutSeconds?: number;\n timeoutSeconds?: number;\n healthcheckIntervalSeconds?: number;\n numRetries?: number;\n retryIntervalSeconds?: number;\n sendApiKeyAsQueryParam?: boolean | undefined;\n useServerSideSearchCache?: boolean;\n cacheSearchResultsForSeconds?: number;\n additionalHeaders?: Record;\n logger?: typeof logger;\n logLevel?: LogLevel;\n\n /**\n * Set a custom HTTP Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPAgent } = require(\"http\");\n * ...\n * httpAgent: new HTTPAgent({ keepAlive: true }),\n * @type {HTTPAgent}\n */\n httpAgent?: HTTPAgent;\n\n /**\n * Set a custom HTTPS Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPSAgent } = require(\"https\");\n * ...\n * httpsAgent: new HTTPSAgent({ keepAlive: true }),\n * @type {HTTPSAgent}\n */\n httpsAgent?: HTTPSAgent;\n\n /**\n * Set a custom paramsSerializer\n *\n * See axios documentation for more information on how to use this parameter: https://axios-http.com/docs/req_config\n * This is helpful for handling React Native issues like this: https://github.com/axios/axios/issues/6102#issuecomment-2085301397\n * @type {any}\n */\n paramsSerializer?: any;\n}\n\nexport default class Configuration {\n readonly nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n readonly nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n readonly connectionTimeoutSeconds: number;\n readonly healthcheckIntervalSeconds: number;\n readonly numRetries: number;\n readonly retryIntervalSeconds: number;\n readonly apiKey: string;\n readonly sendApiKeyAsQueryParam?: boolean;\n readonly cacheSearchResultsForSeconds: number;\n readonly useServerSideSearchCache: boolean;\n readonly logger: typeof logger;\n readonly logLevel: LogLevel;\n readonly additionalHeaders?: Record;\n readonly httpAgent?: HTTPAgent;\n readonly httpsAgent?: HTTPSAgent;\n readonly paramsSerializer?: any;\n\n constructor(options: ConfigurationOptions) {\n this.nodes = options.nodes || [];\n this.nodes = this.nodes\n .map((node) => this.setDefaultPathInNode(node))\n .map((node) => this.setDefaultPortInNode(node))\n .map((node) => ({ ...node })) as NodeConfiguration[]; // Make a deep copy\n\n if (options.randomizeNodes == null) {\n options.randomizeNodes = true;\n }\n\n if (options.randomizeNodes === true) {\n this.shuffleArray(this.nodes);\n }\n\n this.nearestNode = options.nearestNode;\n this.nearestNode = this.setDefaultPathInNode(this.nearestNode);\n this.nearestNode = this.setDefaultPortInNode(this.nearestNode);\n\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\n this.apiKey = options.apiKey;\n this.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam; // We will set a default for this in Client and SearchClient\n\n this.cacheSearchResultsForSeconds =\n options.cacheSearchResultsForSeconds || 0; // Disable client-side cache by default\n this.useServerSideSearchCache = options.useServerSideSearchCache || false;\n\n this.logger = options.logger || logger;\n this.logLevel = options.logLevel || \"warn\";\n this.logger.setLogLevel(this.logLevel);\n\n this.additionalHeaders = options.additionalHeaders;\n\n this.httpAgent = options.httpAgent;\n this.httpsAgent = options.httpsAgent;\n\n this.paramsSerializer = options.paramsSerializer;\n\n this.showDeprecationWarnings(options);\n this.validate();\n }\n\n validate(): boolean {\n if (this.nodes == null || this.nodes.length === 0 || this.validateNodes()) {\n throw new MissingConfigurationError(\n \"Ensure that nodes[].protocol, nodes[].host and nodes[].port are set\",\n );\n }\n\n if (\n this.nearestNode != null &&\n this.isNodeMissingAnyParameters(this.nearestNode)\n ) {\n throw new MissingConfigurationError(\n \"Ensure that nearestNodes.protocol, nearestNodes.host and nearestNodes.port are set\",\n );\n }\n\n if (this.apiKey == null) {\n throw new MissingConfigurationError(\"Ensure that apiKey is set\");\n }\n\n return true;\n }\n\n private validateNodes(): boolean {\n return this.nodes.some((node) => {\n return this.isNodeMissingAnyParameters(node);\n });\n }\n\n private isNodeMissingAnyParameters(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl,\n ): boolean {\n return (\n ![\"protocol\", \"host\", \"port\", \"path\"].every((key) => {\n return node.hasOwnProperty(key);\n }) && node[\"url\"] == null\n );\n }\n\n private setDefaultPathInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (node != null && !node.hasOwnProperty(\"path\")) {\n node[\"path\"] = \"\";\n }\n return node;\n }\n\n private setDefaultPortInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (\n node != null &&\n !node.hasOwnProperty(\"port\") &&\n node.hasOwnProperty(\"protocol\")\n ) {\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\n private showDeprecationWarnings(options: ConfigurationOptions): void {\n if (options.timeoutSeconds) {\n this.logger.warn(\n \"Deprecation warning: timeoutSeconds is now renamed to connectionTimeoutSeconds\",\n );\n }\n if (options.masterNode) {\n this.logger.warn(\n \"Deprecation warning: masterNode is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n if (options.readReplicaNodes) {\n this.logger.warn(\n \"Deprecation warning: readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n }\n\n private shuffleArray(array) {\n for (let i = array.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [array[i], array[j]] = [array[j], array[i]];\n }\n }\n}\n","import axios, { AxiosRequestConfig, AxiosResponse, Method } from \"axios\";\nimport { logger } from \"./Logger\";\nimport {\n HTTPError,\n ObjectAlreadyExists,\n ObjectNotFound,\n ObjectUnprocessable,\n RequestMalformed,\n RequestUnauthorized,\n ServerError,\n} from \"./Errors\";\nimport TypesenseError from \"./Errors/TypesenseError\";\nimport Configuration, { NodeConfiguration } from \"./Configuration\";\nimport { Agent as HTTPAgent } from \"http\";\nimport { Agent as HTTPSAgent } from \"https\";\n\nconst APIKEYHEADERNAME = \"X-TYPESENSE-API-KEY\";\nconst HEALTHY = true;\nconst UNHEALTHY = false;\n\ninterface Node extends NodeConfiguration {\n isHealthy: boolean;\n index: string | number;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class ApiCall {\n private readonly apiKey: string;\n private readonly nodes: Node[];\n private readonly nearestNode: Node;\n private readonly connectionTimeoutSeconds: number;\n private readonly healthcheckIntervalSeconds: number;\n private readonly retryIntervalSeconds: number;\n private readonly sendApiKeyAsQueryParam?: boolean;\n private readonly numRetriesPerRequest: number;\n private readonly additionalUserHeaders?: Record;\n\n private readonly logger: typeof logger;\n private currentNodeIndex: number;\n\n constructor(private 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\n this.logger = this.configuration.logger;\n\n this.initializeMetadataForNodes();\n this.currentNodeIndex = -1;\n }\n\n async get(\n endpoint: string,\n queryParameters: any = {},\n {\n abortSignal = null,\n responseType = undefined,\n }: {\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n } = {},\n ): Promise {\n return this.performRequest(\"get\", endpoint, {\n queryParameters,\n abortSignal,\n responseType,\n });\n }\n\n async delete(endpoint: string, queryParameters: any = {}): Promise {\n return this.performRequest(\"delete\", endpoint, { queryParameters });\n }\n\n async post(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n additionalHeaders: any = {},\n ): Promise {\n return this.performRequest(\"post\", endpoint, {\n queryParameters,\n bodyParameters,\n additionalHeaders,\n });\n }\n\n async put(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"put\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async patch(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"patch\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async performRequest(\n requestType: Method,\n endpoint: string,\n {\n queryParameters = null,\n bodyParameters = null,\n additionalHeaders = {},\n abortSignal = null,\n responseType = undefined,\n skipConnectionTimeout = false,\n enableKeepAlive = undefined,\n }: {\n queryParameters?: any;\n bodyParameters?: any;\n additionalHeaders?: any;\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n skipConnectionTimeout?: boolean;\n enableKeepAlive?: boolean | undefined;\n },\n ): Promise {\n this.configuration.validate();\n\n const requestNumber = Date.now();\n let lastException;\n this.logger.debug(\n `Request #${requestNumber}: Performing ${requestType.toUpperCase()} request: ${endpoint}`,\n );\n for (\n let numTries = 1;\n numTries <= this.numRetriesPerRequest + 1;\n numTries++\n ) {\n const node = this.getNextNode(requestNumber);\n this.logger.debug(\n `Request #${requestNumber}: Attempting ${requestType.toUpperCase()} request Try #${numTries} to Node ${\n node.index\n }`,\n );\n\n if (abortSignal && abortSignal.aborted) {\n return Promise.reject(new Error(\"Request aborted by caller.\"));\n }\n\n let abortListener;\n\n try {\n const requestOptions: AxiosRequestConfig = {\n method: requestType,\n url: this.uriFor(endpoint, node),\n headers: Object.assign(\n {},\n this.defaultHeaders(),\n additionalHeaders,\n this.additionalUserHeaders,\n ),\n maxContentLength: Infinity,\n maxBodyLength: Infinity,\n responseType,\n validateStatus: (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 (data, headers) => {\n let transformedData = data;\n if (\n headers !== undefined &&\n typeof data === \"string\" &&\n headers[\"content-type\"] &&\n headers[\"content-type\"].startsWith(\"application/json\")\n ) {\n transformedData = JSON.parse(data);\n }\n return transformedData;\n },\n ],\n };\n\n if (skipConnectionTimeout !== true) {\n requestOptions.timeout = this.connectionTimeoutSeconds * 1000;\n }\n\n if (queryParameters && Object.keys(queryParameters).length !== 0) {\n requestOptions.params = queryParameters;\n }\n\n if (this.sendApiKeyAsQueryParam) {\n requestOptions.params = requestOptions.params || {};\n requestOptions.params[\"x-typesense-api-key\"] = this.apiKey;\n }\n\n if (this.configuration.httpAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpAgent`,\n );\n requestOptions.httpAgent = this.configuration.httpAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling KeepAlive`);\n requestOptions.httpAgent = new HTTPAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.httpsAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpsAgent`,\n );\n requestOptions.httpsAgent = this.configuration.httpsAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling keepAlive`);\n requestOptions.httpsAgent = new HTTPSAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.paramsSerializer) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom paramsSerializer`,\n );\n requestOptions.paramsSerializer = this.configuration.paramsSerializer;\n }\n\n if (\n bodyParameters &&\n ((typeof bodyParameters === \"string\" &&\n bodyParameters.length !== 0) ||\n (typeof bodyParameters === \"object\" &&\n Object.keys(bodyParameters).length !== 0))\n ) {\n requestOptions.data = bodyParameters;\n }\n\n // Translate from user-provided AbortController to the Axios request cancel mechanism.\n if (abortSignal) {\n const cancelToken = axios.CancelToken;\n const source = cancelToken.source();\n abortListener = () => source.cancel();\n abortSignal.addEventListener(\"abort\", abortListener);\n requestOptions.cancelToken = source.token;\n }\n\n const response = await axios(requestOptions);\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.setNodeHealthcheck(node, HEALTHY);\n }\n this.logger.debug(\n `Request #${requestNumber}: Request to Node ${node.index} was made. Response Code was ${response.status}.`,\n );\n\n if (response.status >= 200 && response.status < 300) {\n // If response is 2xx return a resolved promise\n return Promise.resolve(response.data);\n } else if (response.status < 500) {\n // Next, if response is anything but 5xx, don't retry, return a custom error\n return Promise.reject(\n this.customErrorForResponse(response, response.data?.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.customErrorForResponse(response, response.data?.message);\n }\n } catch (error: any) {\n // This block handles retries for HTTPStatus > 500 and network layer issues like connection timeouts\n this.setNodeHealthcheck(node, UNHEALTHY);\n lastException = error;\n this.logger.warn(\n `Request #${requestNumber}: Request to Node ${\n node.index\n } failed due to \"${error.code} ${error.message}${\n error.response == null\n ? \"\"\n : \" - \" + JSON.stringify(error.response?.data)\n }\"`,\n );\n // this.logger.debug(error.stack)\n this.logger.warn(\n `Request #${requestNumber}: Sleeping for ${this.retryIntervalSeconds}s and then retrying request...`,\n );\n await this.timer(this.retryIntervalSeconds);\n } finally {\n if (abortSignal && abortListener) {\n abortSignal.removeEventListener(\"abort\", abortListener);\n }\n }\n }\n this.logger.debug(\n `Request #${requestNumber}: No retries left. Raising last error`,\n );\n return Promise.reject(lastException);\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 getNextNode(requestNumber = 0): Node {\n // Check if nearestNode is set and is healthy, if so return it\n if (this.nearestNode != null) {\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: Node ${\n this.nearestNode.index\n } is ${this.nearestNode.isHealthy === true ? \"Healthy\" : \"Unhealthy\"}`,\n );\n if (\n this.nearestNode.isHealthy === true ||\n this.nodeDueForHealthcheck(this.nearestNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${this.nearestNode.index}`,\n );\n return this.nearestNode;\n }\n this.logger.debug(\n `Request #${requestNumber}: Falling back to individual nodes`,\n );\n }\n\n // Fallback to nodes as usual\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: ${this.nodes\n .map(\n (node) =>\n `Node ${node.index} is ${\n node.isHealthy === true ? \"Healthy\" : \"Unhealthy\"\n }`,\n )\n .join(\" || \")}`,\n );\n let candidateNode: Node = this.nodes[0];\n for (let i = 0; i <= this.nodes.length; i++) {\n this.currentNodeIndex = (this.currentNodeIndex + 1) % this.nodes.length;\n candidateNode = this.nodes[this.currentNodeIndex];\n if (\n candidateNode.isHealthy === true ||\n this.nodeDueForHealthcheck(candidateNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\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(\n `Request #${requestNumber}: No healthy nodes were found. Returning the next node, Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\n\n nodeDueForHealthcheck(node, requestNumber = 0): boolean {\n const isDueForHealthcheck =\n Date.now() - node.lastAccessTimestamp >\n this.healthcheckIntervalSeconds * 1000;\n if (isDueForHealthcheck) {\n this.logger.debug(\n `Request #${requestNumber}: Node ${node.index} has exceeded healtcheckIntervalSeconds of ${this.healthcheckIntervalSeconds}. Adding it back into rotation.`,\n );\n }\n return isDueForHealthcheck;\n }\n\n initializeMetadataForNodes(): void {\n if (this.nearestNode != null) {\n this.nearestNode.index = \"nearestNode\";\n this.setNodeHealthcheck(this.nearestNode, HEALTHY);\n }\n\n this.nodes.forEach((node, i) => {\n node.index = i;\n this.setNodeHealthcheck(node, HEALTHY);\n });\n }\n\n setNodeHealthcheck(node, isHealthy): void {\n node.isHealthy = isHealthy;\n node.lastAccessTimestamp = Date.now();\n }\n\n uriFor(endpoint: string, node): string {\n if (node.url != null) {\n return `${node.url}${endpoint}`;\n }\n return `${node.protocol}://${node.host}:${node.port}${node.path}${endpoint}`;\n }\n\n defaultHeaders(): any {\n const defaultHeaders = {};\n if (!this.sendApiKeyAsQueryParam) {\n defaultHeaders[APIKEYHEADERNAME] = this.apiKey;\n }\n defaultHeaders[\"Content-Type\"] = \"application/json\";\n return defaultHeaders;\n }\n\n async timer(seconds): Promise {\n return new Promise((resolve) => setTimeout(resolve, seconds * 1000));\n }\n\n customErrorForResponse(\n response: AxiosResponse,\n messageFromServer: string,\n ): TypesenseError {\n let errorMessage = `Request failed with HTTP code ${response.status}`;\n if (\n typeof messageFromServer === \"string\" &&\n messageFromServer.trim() !== \"\"\n ) {\n errorMessage += ` | Server said: ${messageFromServer}`;\n }\n\n let error = new TypesenseError(errorMessage);\n\n if (response.status === 400) {\n error = new RequestMalformed(errorMessage);\n } else if (response.status === 401) {\n error = new RequestUnauthorized(errorMessage);\n } else if (response.status === 404) {\n error = new ObjectNotFound(errorMessage);\n } else if (response.status === 409) {\n error = new ObjectAlreadyExists(errorMessage);\n } else if (response.status === 422) {\n error = new ObjectUnprocessable(errorMessage);\n } else if (response.status >= 500 && response.status <= 599) {\n error = new ServerError(errorMessage);\n } else {\n error = new HTTPError(errorMessage);\n }\n\n error.httpStatus = response.status;\n\n return error;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { CollectionFieldSchema, CollectionSchema } from \"./Collection\";\n\nexport interface CollectionCreateSchema {\n name: string;\n default_sorting_field?: string;\n fields?: CollectionFieldSchema[];\n symbols_to_index?: string[];\n token_separators?: string[];\n enable_nested_fields?: boolean;\n metadata?: object;\n voice_query_model?: {\n model_name?: string;\n };\n}\n\nexport interface CollectionCreateOptions {\n src_name?: string;\n}\n\nexport interface CollectionsRetrieveOptions {\n exclude_fields?: string;\n}\n\nconst RESOURCEPATH = \"/collections\";\n\nexport default class Collections {\n constructor(private apiCall: ApiCall) {}\n\n async create(\n schema: CollectionCreateSchema,\n options: CollectionCreateOptions = {},\n ): Promise {\n return this.apiCall.post(RESOURCEPATH, schema, options);\n }\n\n async retrieve(\n options: CollectionsRetrieveOptions = {},\n ): Promise {\n return this.apiCall.get(RESOURCEPATH, options);\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","const defaultCacheResponseForSeconds = 2 * 60;\nconst defaultMaxSize = 100;\n\nexport default class RequestWithCache {\n private responseCache: Map = new Map();\n private responsePromiseCache: Map = new Map();\n\n clearCache() {\n this.responseCache = new Map();\n this.responsePromiseCache = new Map();\n }\n\n // Todo: should probably be passed a callback instead, or an apiCall instance. Types are messy this way\n async perform(\n requestContext: any,\n requestFunction: (...params: any) => unknown,\n requestFunctionArguments: any[],\n cacheOptions: CacheOptions\n ): Promise {\n const {\n cacheResponseForSeconds = defaultCacheResponseForSeconds,\n maxSize = defaultMaxSize,\n } = cacheOptions;\n const isCacheDisabled = cacheResponseForSeconds <= 0 || maxSize <= 0;\n\n if (isCacheDisabled) {\n return requestFunction.call(requestContext, ...requestFunctionArguments);\n }\n\n const requestFunctionArgumentsJSON = JSON.stringify(\n requestFunctionArguments\n );\n const cacheEntry = this.responseCache.get(requestFunctionArgumentsJSON);\n const now = Date.now();\n\n if (cacheEntry) {\n const isEntryValid =\n now - cacheEntry.requestTimestamp < cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n this.responseCache.set(requestFunctionArgumentsJSON, cacheEntry);\n return Promise.resolve(cacheEntry.response);\n } else {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n\n const cachePromiseEntry = this.responsePromiseCache.get(\n requestFunctionArgumentsJSON\n );\n\n if (cachePromiseEntry) {\n const isEntryValid =\n now - cachePromiseEntry.requestTimestamp <\n cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n this.responsePromiseCache.set(\n requestFunctionArgumentsJSON,\n cachePromiseEntry\n );\n return cachePromiseEntry.responsePromise;\n } else {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n\n const responsePromise = requestFunction.call(\n requestContext,\n ...requestFunctionArguments\n );\n this.responsePromiseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n responsePromise,\n });\n\n const response = await responsePromise;\n this.responseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n response,\n });\n\n const isCacheOverMaxSize = this.responseCache.size > maxSize;\n if (isCacheOverMaxSize) {\n const oldestEntry = this.responseCache.keys().next().value;\n this.responseCache.delete(oldestEntry);\n }\n const isResponsePromiseCacheOverMaxSize =\n this.responsePromiseCache.size > maxSize;\n if (isResponsePromiseCacheOverMaxSize) {\n const oldestEntry = this.responsePromiseCache.keys().next().value;\n this.responsePromiseCache.delete(oldestEntry);\n }\n return response as T;\n }\n}\n\ninterface CacheOptions {\n cacheResponseForSeconds?: number;\n maxSize?: number;\n}\n","import RequestWithCache from \"./RequestWithCache\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport Collections from \"./Collections\";\nimport type {\n DocumentSchema,\n SearchableDocuments,\n SearchOptions,\n SearchParams,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\n\nconst RESOURCEPATH = \"/documents\";\n\nexport class SearchOnlyDocuments\n implements SearchableDocuments\n{\n protected requestWithCache: RequestWithCache = new RequestWithCache();\n\n constructor(\n protected collectionName: string,\n protected apiCall: ApiCall,\n protected configuration: Configuration\n ) {}\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n abortSignal = null,\n }: SearchOptions = {}\n ): Promise> {\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n for (const key in searchParameters) {\n if (Array.isArray(searchParameters[key])) {\n additionalQueryParams[key] = searchParameters[key].join(\",\");\n }\n }\n const queryParams = Object.assign(\n {},\n searchParameters,\n additionalQueryParams\n );\n\n return this.requestWithCache.perform(\n this.apiCall,\n this.apiCall.get,\n [this.endpointPath(\"search\"), queryParams, { abortSignal }],\n {\n cacheResponseForSeconds: cacheSearchResultsForSeconds,\n }\n ) as Promise>;\n }\n\n protected endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + operation\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import type { ReadStream } from \"fs\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport { ImportError } from \"./Errors\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\n// Todo: use generic to extract filter_by values\nexport interface DeleteQuery {\n filter_by?: string;\n batch_size?: number;\n ignore_not_found?: boolean;\n}\n\nexport interface DeleteResponse {\n num_deleted: number;\n}\n\ninterface ImportResponseSuccess {\n success: true;\n}\n\nexport interface ImportResponseFail {\n success: false;\n error: string;\n document: DocumentSchema;\n code: number;\n}\n\nexport type ImportResponse = ImportResponseSuccess | ImportResponseFail;\n\nexport type DocumentSchema = Record;\n\nexport interface SearchParamsWithPreset extends Partial {\n preset: string;\n}\n\ntype DropTokensMode =\n | \"right_to_left\"\n | \"left_to_right\"\n | \"both_sides:3\";\n\ntype OperationMode = \"off\" | \"always\" | \"fallback\";\nexport interface SearchParams {\n // From https://typesense.org/docs/latest/api/documents.html#arguments\n q?: string;\n query_by?: string | string[];\n query_by_weights?: string | number[];\n prefix?: string | boolean | boolean[]; // default: true\n filter_by?: string;\n enable_lazy_filter?: boolean; // default: false\n sort_by?: string | string[]; // default: text match desc\n facet_by?: string | string[];\n max_facet_values?: number;\n facet_sample_threshold?: number;\n facet_sample_percent?: number;\n facet_query?: string;\n facet_query_num_typos?: number;\n facet_return_parent?: string;\n page?: number; // default: 1\n per_page?: number; // default: 10, max 250\n group_by?: string | string[];\n group_limit?: number; // default:\n group_missing_values?: boolean;\n include_fields?: string | string[];\n exclude_fields?: string | string[];\n highlight_fields?: string | string[]; // default: all queried fields\n highlight_full_fields?: string | string[]; // default: all fields\n highlight_affix_num_tokens?: number; // default: 4\n highlight_start_tag?: string; // default: \n highlight_end_tag?: string; // default: \n enable_highlight_v1?: boolean;\n snippet_threshold?: number; // default: 30\n num_typos?: string | number | number[]; // default: 2\n min_len_1typo?: number;\n min_len_2typo?: number;\n split_join_tokens?: OperationMode;\n exhaustive_search?: boolean;\n drop_tokens_threshold?: number; // default: 10\n drop_tokens_mode?: DropTokensMode;\n typo_tokens_threshold?: number; // default: 100\n pinned_hits?: string | string[];\n hidden_hits?: string | string[];\n limit_hits?: number; // default: no limit\n pre_segmented_query?: boolean;\n enable_overrides?: boolean;\n override_tags?: string | string[];\n prioritize_exact_match?: boolean; // default: true\n prioritize_token_position?: boolean;\n prioritize_num_matching_fields?: boolean;\n search_cutoff_ms?: number;\n use_cache?: boolean;\n max_candidates?: number;\n infix?: OperationMode | OperationMode[];\n preset?: string;\n text_match_type?: \"max_score\" | \"max_weight\";\n vector_query?: string;\n \"x-typesense-api-key\"?: string;\n \"x-typesense-user-id\"?: string;\n offset?: number;\n limit?: number;\n stopwords?: string;\n conversation?: boolean;\n conversation_model_id?: string;\n conversation_id?: string;\n voice_query?: string;\n}\n\ntype SearchResponseHighlightObject = {\n matched_tokens?: string[];\n snippet?: string;\n value?: string;\n};\n\nexport type SearchResponseHighlight = T extends string | number\n ? SearchResponseHighlightObject\n : {\n [TAttribute in keyof T]?: SearchResponseHighlight;\n };\n\nexport interface SearchResponseHit {\n curated?: true;\n highlights?: [\n {\n field: keyof T;\n snippet?: string;\n value?: string;\n snippets?: string[];\n indices?: number[];\n matched_tokens: string[][] | string[];\n },\n ];\n highlight: SearchResponseHighlight;\n document: T;\n text_match: number;\n text_match_info?: {\n best_field_score: string; // To prevent scores from being truncated by JSON spec\n best_field_weight: number;\n fields_matched: number;\n score: string; // To prevent scores from being truncated by JSON spec\n tokens_matched: number;\n };\n}\n\nexport interface SearchResponseFacetCountSchema {\n counts: {\n count: number;\n highlighted: string;\n value: string;\n }[];\n field_name: keyof T;\n stats: {\n avg?: number;\n max?: number;\n min?: number;\n sum?: number;\n };\n}\n\nexport interface SearchResponseRequestParams {\n collection_name?: string;\n q?: string;\n page?: number;\n per_page?: number;\n first_q?: string;\n voice_query?: {\n transcribed_query?: string;\n };\n}\n\n// Todo: we could infer whether this is a grouped response by adding the search params as a generic\nexport interface SearchResponse {\n facet_counts?: SearchResponseFacetCountSchema[];\n found: number;\n found_docs?: number;\n out_of: number;\n page: number;\n request_params: SearchResponseRequestParams;\n search_time_ms: number;\n search_cutoff?: boolean;\n hits?: SearchResponseHit[];\n grouped_hits?: {\n group_key: string[];\n hits: SearchResponseHit[];\n found?: number;\n }[];\n conversation?: {\n answer: string;\n conversation_history: {\n conversation: object[];\n id: string;\n last_updated: number;\n ttl: number;\n };\n conversation_id: string;\n query: string;\n };\n error?: string;\n code?: number;\n}\n\nexport interface DocumentWriteParameters {\n dirty_values?: \"coerce_or_reject\" | \"coerce_or_drop\" | \"drop\" | \"reject\";\n action?: \"create\" | \"update\" | \"upsert\" | \"emplace\";\n}\n\nexport interface UpdateByFilterParameters {\n filter_by?: string;\n}\n\nexport interface UpdateByFilterResponse {\n num_updated: number;\n}\n\nexport interface DocumentImportParameters extends DocumentWriteParameters {\n batch_size?: number;\n return_doc?: boolean;\n return_id?: boolean;\n}\n\nexport interface DocumentsExportParameters {\n filter_by?: string;\n include_fields?: string;\n exclude_fields?: string;\n}\n\nexport interface SearchableDocuments {\n search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n options: SearchOptions,\n ): Promise>;\n clearCache(): void;\n}\n\nexport interface WriteableDocuments {\n create(document: T, options: DocumentWriteParameters): Promise;\n upsert(document: T, options: DocumentWriteParameters): Promise;\n update(document: T, options: DocumentWriteParameters): Promise;\n delete(query: DeleteQuery): Promise;\n import(\n documents: T[] | string,\n options: DocumentWriteParameters,\n ): Promise;\n export(options: DocumentsExportParameters): Promise;\n}\n\nexport interface SearchOptions {\n cacheSearchResultsForSeconds?: number;\n abortSignal?: AbortSignal | null;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class Documents\n extends SearchOnlyDocuments\n implements WriteableDocuments\n{\n constructor(\n collectionName: string,\n apiCall: ApiCall,\n configuration: Configuration,\n ) {\n super(collectionName, apiCall, configuration);\n }\n\n async create(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(this.endpointPath(), document, options);\n }\n\n async upsert(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"upsert\" }),\n );\n }\n\n async update(\n document: T,\n options: UpdateByFilterParameters,\n ): Promise;\n async update(document: T, options: DocumentWriteParameters): Promise;\n async update(\n document: T,\n options: DocumentWriteParameters | UpdateByFilterParameters = {},\n ): Promise {\n if (!document) throw new Error(\"No document provided\");\n\n if (options[\"filter_by\"] != null) {\n return this.apiCall.patch(\n this.endpointPath(),\n document,\n Object.assign({}, options),\n );\n } else {\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"update\" }),\n );\n }\n }\n\n async delete(\n query: DeleteQuery = {} as DeleteQuery,\n ): Promise {\n return this.apiCall.delete(this.endpointPath(), query);\n }\n\n async createMany(documents: T[], options: DocumentImportParameters = {}) {\n this.configuration.logger.warn(\n \"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 );\n return this.import(documents, options);\n }\n\n /**\n * Import a set of documents in a batch.\n * @param {string|Array} documents - Can be a JSONL string of documents or an array of document objects.\n * @param options\n * @return {string|Array} Returns a JSONL string if the input was a JSONL string, otherwise it returns an array of results.\n */\n async import(\n documents: string,\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[],\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[] | string,\n options: DocumentImportParameters = {},\n ): Promise {\n let documentsInJSONLFormat;\n if (Array.isArray(documents)) {\n try {\n documentsInJSONLFormat = documents\n .map((document) => JSON.stringify(document))\n .join(\"\\n\");\n } catch (error: any) {\n // if rangeerror, throw custom error message\n if (\n error instanceof RangeError &&\n error.message.includes(\"Too many properties to enumerate\")\n ) {\n throw new Error(`${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\n // else, throw the non-range error anyways\n throw new Error(error);\n }\n } else {\n documentsInJSONLFormat = documents;\n }\n\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n if (Array.isArray(documents)) {\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter(\n (r) => r.success === false,\n );\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n } else {\n return resultsInJSONLFormat as string;\n }\n }\n /**\n * Imports documents from a NodeJS readable stream of JSONL.\n */\n async importStream(\n readableStream: ReadStream,\n options: DocumentImportParameters = {},\n ): Promise {\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\n queryParameters: options,\n bodyParameters: readableStream,\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter((r) => r.success === false);\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n }\n\n /**\n * Returns a JSONL string for all the documents in this collection\n */\n async export(options: DocumentsExportParameters = {}): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options);\n }\n\n /**\n * Returns a NodeJS readable stream of JSONL for all the documents in this collection.\n */\n async exportStream(\n options: DocumentsExportParameters = {},\n ): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options, {\n responseType: \"stream\",\n });\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { OverrideSchema } from \"./Override\";\n\nconst RESOURCEPATH = \"/overrides\";\n\nexport interface OverrideRuleQuerySchema {\n query?: string;\n match?: \"exact\" | \"contains\";\n}\n\nexport interface OverrideRuleFilterSchema {\n filter_by?: string;\n}\n\nexport interface OverrideRuleTagsSchema {\n tags?: string[];\n}\n\nexport interface OverrideCreateSchema {\n rule: OverrideRuleQuerySchema &\n OverrideRuleFilterSchema &\n OverrideRuleTagsSchema;\n filter_by?: string;\n sort_by?: string;\n remove_matched_tokens?: boolean;\n replace_query?: string;\n includes?: Array<{\n id: string;\n position: number;\n }>;\n excludes?: Array<{ id: string }>;\n filter_curated_hits?: boolean;\n effective_from_ts?: number;\n effective_to_ts?: number;\n stop_processing?: boolean;\n metadata?: object;\n}\n\nexport interface OverridesRetrieveSchema {\n overrides: OverrideSchema[];\n}\n\nexport default class Overrides {\n constructor(\n private collectionName: string,\n private apiCall: ApiCall,\n ) {}\n\n async upsert(\n overrideId: string,\n params: OverrideCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(overrideId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${\n Overrides.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Overrides, { OverrideCreateSchema } from \"./Overrides\";\n\nexport interface OverrideSchema extends OverrideCreateSchema {\n id: string;\n}\n\nexport interface OverrideDeleteSchema {\n id: string;\n}\n\nexport default class Override {\n constructor(\n private collectionName: string,\n private overrideId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Overrides.RESOURCEPATH}/${encodeURIComponent(this.overrideId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { SynonymSchema } from \"./Synonym\";\n\nconst RESOURCEPATH = \"/synonyms\";\n\nexport interface SynonymCreateSchema {\n synonyms: string[];\n root?: string;\n locale?: string;\n symbols_to_index?: string[];\n}\n\nexport interface SynonymsRetrieveSchema {\n synonyms: SynonymSchema[];\n}\n\nexport default class Synonyms {\n constructor(private collectionName: string, private apiCall: ApiCall) {}\n\n async upsert(\n synonymId: string,\n params: SynonymCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(synonymId),\n params\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${\n Synonyms.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Synonyms, { SynonymCreateSchema } from \"./Synonyms\";\n\nexport interface SynonymSchema extends SynonymCreateSchema {\n id: string;\n}\n\nexport interface SynonymDeleteSchema {\n id: string;\n}\n\nexport default class Synonym {\n constructor(\n private collectionName: string,\n private synonymId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Synonyms.RESOURCEPATH}/${encodeURIComponent(this.synonymId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Documents, {\n DeleteQuery,\n DocumentSchema,\n DocumentWriteParameters,\n} from \"./Documents\";\n\nexport class Document {\n constructor(\n private collectionName: string,\n private documentId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(options?: DeleteQuery): Promise {\n return this.apiCall.delete(this.endpointPath(), options);\n }\n\n async update(\n partialDocument: Partial,\n options: DocumentWriteParameters = {}\n ): Promise {\n return this.apiCall.patch(this.endpointPath(), partialDocument, options);\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Documents.RESOURCEPATH}/${encodeURIComponent(this.documentId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections, { CollectionCreateSchema } from \"./Collections\";\nimport Documents, { DocumentSchema } from \"./Documents\";\nimport { ObjectNotFound } from \"./Errors\";\nimport Overrides from \"./Overrides\";\nimport Override from \"./Override\";\nimport Synonyms from \"./Synonyms\";\nimport Synonym from \"./Synonym\";\nimport { Document } from \"./Document\";\n\nexport type FieldType =\n | \"string\"\n | \"int32\"\n | \"int64\"\n | \"float\"\n | \"bool\"\n | \"geopoint\"\n | \"geopoint[]\"\n | \"string[]\"\n | \"int32[]\"\n | \"int64[]\"\n | \"float[]\"\n | \"bool[]\"\n | \"object\"\n | \"object[]\"\n | \"auto\"\n | \"string*\"\n | \"image\";\n\nexport interface CollectionFieldSchema {\n name: string;\n type: FieldType;\n optional?: boolean;\n facet?: boolean;\n index?: boolean;\n sort?: boolean;\n locale?: string;\n infix?: boolean;\n stem?: boolean;\n num_dim?: number;\n store?: boolean;\n [t: string]: unknown;\n}\n\nexport interface CollectionSchema extends CollectionCreateSchema {\n created_at: number;\n num_documents: number;\n num_memory_shards: number;\n}\n\nexport interface CollectionDropFieldSchema {\n name: string;\n drop: true;\n}\n\nexport interface CollectionUpdateSchema\n extends Partial> {\n fields?: (CollectionFieldSchema | CollectionDropFieldSchema)[];\n}\n\nexport default class Collection {\n private readonly _documents: Documents;\n private individualDocuments: Record> = {};\n private readonly _overrides: Overrides;\n private individualOverrides: Record = {};\n private readonly _synonyms: Synonyms;\n private individualSynonyms: Record = {};\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any,\n ) {\n this.name = name;\n this.apiCall = apiCall;\n this.configuration = configuration;\n\n this._documents = new Documents(\n this.name,\n this.apiCall,\n this.configuration,\n );\n this._overrides = new Overrides(this.name, this.apiCall);\n this._synonyms = new Synonyms(this.name, this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(schema: CollectionUpdateSchema): Promise {\n return this.apiCall.patch(this.endpointPath(), schema);\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n async exists(): Promise {\n try {\n await this.retrieve();\n return true;\n } catch (e) {\n if (e instanceof ObjectNotFound) return false;\n throw e;\n }\n }\n\n documents(): Documents;\n documents(documentId: string): Document;\n documents(documentId?: string): Document | Documents {\n if (!documentId) {\n return this._documents;\n } else {\n if (this.individualDocuments[documentId] === undefined) {\n this.individualDocuments[documentId] = new Document(\n this.name,\n documentId,\n this.apiCall,\n );\n }\n return this.individualDocuments[documentId];\n }\n }\n\n overrides(): Overrides;\n overrides(overrideId: string): Override;\n overrides(overrideId?: string): Overrides | Override {\n if (overrideId === undefined) {\n return this._overrides;\n } else {\n if (this.individualOverrides[overrideId] === undefined) {\n this.individualOverrides[overrideId] = new Override(\n this.name,\n overrideId,\n this.apiCall,\n );\n }\n return this.individualOverrides[overrideId];\n }\n }\n\n synonyms(): Synonyms;\n synonyms(synonymId: string): Synonym;\n synonyms(synonymId?: string): Synonyms | Synonym {\n if (synonymId === undefined) {\n return this._synonyms;\n } else {\n if (this.individualSynonyms[synonymId] === undefined) {\n this.individualSynonyms[synonymId] = new Synonym(\n this.name,\n synonymId,\n this.apiCall,\n );\n }\n return this.individualSynonyms[synonymId];\n }\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/aliases\";\n\nexport interface CollectionAliasCreateSchema {\n collection_name: string;\n}\n\nexport interface CollectionAliasSchema extends CollectionAliasCreateSchema {\n name: string;\n}\n\nexport interface CollectionAliasesResponseSchema {\n aliases: CollectionAliasSchema[];\n}\n\nexport default class Aliases {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n name: string,\n mapping: CollectionAliasCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(name),\n mapping\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n private endpointPath(aliasName): string {\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(aliasName)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import Aliases, { CollectionAliasSchema } from \"./Aliases\";\nimport ApiCall from \"./ApiCall\";\n\nexport default class Alias {\n constructor(private name: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import { createHmac } from \"crypto\";\nimport ApiCall from \"./ApiCall\";\nimport { KeyCreateSchema, KeySchema } from \"./Key\";\nimport { SearchParams } from \"./Documents\";\n\nconst RESOURCEPATH = \"/keys\";\n\nexport interface KeysRetrieveSchema {\n keys: KeySchema[];\n}\n\nexport interface GenerateScopedSearchKeyParams extends Partial {\n expires_at?: number;\n cache_ttl?: number;\n limit_multi_searches?: number;\n}\n\nexport default class Keys {\n constructor(private apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(params: KeyCreateSchema): Promise {\n return this.apiCall.post(Keys.RESOURCEPATH, params);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n generateScopedSearchKey(\n searchKey: string,\n parameters: GenerateScopedSearchKeyParams\n ): string {\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 const paramsJSON = JSON.stringify(parameters);\n const digest = Buffer.from(\n createHmac(\"sha256\", searchKey).update(paramsJSON).digest(\"base64\")\n );\n const keyPrefix = searchKey.substr(0, 4);\n const rawScopedKey = `${digest}${keyPrefix}${paramsJSON}`;\n\n return Buffer.from(rawScopedKey).toString(\"base64\");\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Keys from \"./Keys\";\n\nexport interface KeyCreateSchema {\n actions: string[];\n collections: string[];\n description?: string;\n value?: string;\n value_prefix?: string;\n expires_at?: number;\n}\n\nexport interface KeyDeleteSchema {\n id: number;\n}\n\nexport interface KeySchema extends KeyCreateSchema {\n id: number;\n}\n\nexport default class Key {\n constructor(private id: number, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Keys.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/debug\";\n\nexport interface DebugResponseSchema {\n state: number;\n version: string;\n}\n\nexport default class Debug {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/metrics.json\";\n\nexport interface MetricsResponse {\n [key: `system_cpu${number}_active_percentage`]: string;\n system_cpu_active_percentage: string;\n system_disk_total_bytes: string;\n system_disk_used_bytes: string;\n system_memory_total_bytes: string;\n system_memory_total_swap_bytes?: string;\n system_memory_used_bytes: string;\n system_memory_used_swap_bytes?: string;\n system_network_received_bytes: string;\n system_network_sent_bytes: string;\n typesense_memory_active_bytes: string;\n typesense_memory_allocated_bytes: string;\n typesense_memory_fragmentation_ratio: string;\n typesense_memory_mapped_bytes: string;\n typesense_memory_metadata_bytes: string;\n typesense_memory_resident_bytes: string;\n typesense_memory_retained_bytes: string;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/stats.json\";\n\nexport interface EndpointStats {\n [endpoint: string]: number;\n}\n\nexport interface StatsResponse {\n delete_latency_ms?: number;\n delete_requests_per_second?: number;\n import_latency_ms?: number;\n import_requests_per_second?: number;\n latency_ms?: EndpointStats;\n overloaded_requests_per_second?: number;\n pending_write_batches?: number;\n requests_per_second?: EndpointStats;\n search_latency_ms?: number;\n search_requests_per_second?: number;\n total_requests_per_second?: number;\n write_latency_ms?: number;\n write_requests_per_second?: number;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/health\";\n\nexport interface HealthResponse {\n ok: boolean;\n}\n\nexport default class Health {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/operations\";\n\nexport default class Operations {\n constructor(private apiCall: ApiCall) {}\n\n async perform(\n operationName: \"vote\" | \"snapshot\" | \"cache/clear\" | string,\n queryParameters: Record = {}\n ): Promise {\n return this.apiCall.post(\n `${RESOURCEPATH}/${operationName}`,\n {},\n queryParameters\n );\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport RequestWithCache from \"./RequestWithCache\";\nimport {\n DocumentSchema,\n SearchParams,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\n\nconst RESOURCEPATH = \"/multi_search\";\n\nexport interface MultiSearchRequestSchema extends SearchParams {\n collection?: string;\n \"x-typesense-api-key\"?: string;\n}\n\nexport interface MultiSearchRequestWithPresetSchema\n extends SearchParamsWithPreset {\n collection?: string;\n \"x-typesense-api-key\"?: string;\n}\n\nexport interface MultiSearchRequestsSchema {\n searches: (MultiSearchRequestSchema | MultiSearchRequestWithPresetSchema)[];\n}\n\nexport interface MultiSearchResponse {\n results: { [Index in keyof T]: SearchResponse } & {\n length: T[\"length\"];\n };\n}\n\nexport default class MultiSearch {\n private requestWithCache: RequestWithCache;\n\n constructor(\n private apiCall: ApiCall,\n private configuration: Configuration,\n private useTextContentType: boolean = false\n ) {\n this.requestWithCache = new RequestWithCache();\n }\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async perform(\n searchRequests: MultiSearchRequestsSchema,\n commonParams: Partial = {},\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n }: { cacheSearchResultsForSeconds?: number } = {}\n ): Promise> {\n const additionalHeaders = {};\n if (this.useTextContentType) {\n additionalHeaders[\"content-type\"] = \"text/plain\";\n }\n\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n const queryParams = Object.assign({}, commonParams, additionalQueryParams);\n\n return this.requestWithCache.perform(\n this.apiCall,\n this.apiCall.post,\n [RESOURCEPATH, searchRequests, queryParams, additionalHeaders],\n { cacheResponseForSeconds: cacheSearchResultsForSeconds }\n ) as Promise>;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { PresetSchema } from \"./Preset\";\nimport { SearchParams } from \"./Documents\";\nimport { MultiSearchRequestsSchema } from \"./MultiSearch\";\n\nconst RESOURCEPATH = \"/presets\";\n\nexport interface PresetCreateSchema {\n value: SearchParams | MultiSearchRequestsSchema;\n}\n\nexport interface PresetsRetrieveSchema {\n presets: PresetSchema[];\n}\n\nexport default class Presets {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n presetId: string,\n params: PresetCreateSchema\n ): Promise {\n return this.apiCall.put(this.endpointPath(presetId), params);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Presets.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Presets, { PresetCreateSchema } from \"./Presets\";\n\nexport interface PresetSchema extends PresetCreateSchema {\n name: string;\n}\n\nexport interface PresetDeleteSchema {\n name: string;\n}\n\nexport default class Preset {\n constructor(private presetId: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Presets.RESOURCEPATH}/${encodeURIComponent(this.presetId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n AnalyticsRuleCreateSchema,\n AnalyticsRuleSchema,\n} from \"./AnalyticsRule\";\n\nexport interface AnalyticsRulesRetrieveSchema {\n rules: AnalyticsRuleSchema[];\n}\n\nconst RESOURCEPATH = \"/analytics/rules\";\n\nexport default class AnalyticsRules {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async upsert(\n name: string,\n params: AnalyticsRuleCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(name),\n params\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsRules.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\n\nexport interface AnalyticsRuleCreateSchema {\n type: \"popular_queries\" | \"nohits_queries\" | \"counter\";\n params: {\n source: {\n collections: string[];\n events?: Array<{\n type: string;\n weight: number;\n name: string;\n }>;\n };\n expand_query?: boolean;\n destination: {\n collection: string;\n counter_field?: string;\n };\n limit?: number;\n };\n}\n\nexport interface AnalyticsRuleDeleteSchema {\n name: string;\n}\n\nexport interface AnalyticsRuleSchema extends AnalyticsRuleCreateSchema {\n name: string;\n}\n\nexport default class AnalyticsRule {\n constructor(\n private name: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${AnalyticsRules.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { AnalyticsEventCreateSchema } from \"./AnalyticsEvent\";\n\nconst RESOURCEPATH = \"/analytics/events\";\n\nexport default class AnalyticsEvents {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: AnalyticsEventCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsEvents.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\nimport AnalyticsRule from \"./AnalyticsRule\";\nimport AnalyticsEvents from \"./AnalyticsEvents\";\n\nconst RESOURCEPATH = \"/analytics\";\n\nexport default class Analytics {\n private readonly _analyticsRules: AnalyticsRules;\n private readonly individualAnalyticsRules: Record = {};\n private readonly _analyticsEvents: AnalyticsEvents;\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._analyticsRules = new AnalyticsRules(this.apiCall);\n this._analyticsEvents = new AnalyticsEvents(this.apiCall);\n }\n\n rules(id?: string): AnalyticsRules | AnalyticsRule {\n if (id === undefined) {\n return this._analyticsRules;\n } else {\n if (this.individualAnalyticsRules[id] === undefined) {\n this.individualAnalyticsRules[id] = new AnalyticsRule(id, this.apiCall);\n }\n return this.individualAnalyticsRules[id];\n }\n }\n\n events(): AnalyticsEvents {\n return this._analyticsEvents;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { StopwordSchema } from \"./Stopword\";\n\nconst RESOURCEPATH = \"/stopwords\";\n\nexport interface StopwordCreateSchema {\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordsRetrieveSchema {\n stopwords: StopwordSchema[];\n}\n\nexport default class Stopwords {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n stopwordId: string,\n params: StopwordCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(stopwordId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Stopwords.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Stopwords, { StopwordCreateSchema } from \"./Stopwords\";\n\nexport interface StopwordSchema extends StopwordCreateSchema {\n id: string;\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordDeleteSchema {\n id: string;\n}\n\nexport default class Stopword {\n constructor(\n private stopwordId: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Stopwords.RESOURCEPATH}/${encodeURIComponent(this.stopwordId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n ConversationModelCreateSchema,\n ConversationModelSchema,\n} from \"./ConversationModel\";\n\nconst RESOURCEPATH = \"/conversations/models\";\n\nexport default class ConversationModels {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(\n this.endpointPath(),\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${ConversationModels.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\n\nexport interface ConversationModelCreateSchema {\n id?: string;\n model_name: string;\n api_key?: string;\n system_prompt?: string;\n max_bytes: number;\n history_collection?: string;\n}\n\nexport interface ConversationModelDeleteSchema {\n id: string;\n}\n\nexport interface ConversationModelSchema extends ConversationModelCreateSchema {\n id: string;\n}\n\nexport default class ConversationModel {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async update(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(\n this.endpointPath(),\n );\n }\n\n private endpointPath(): string {\n return `${ConversationModels.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\nimport ConversationModel from \"./ConversationModel\";\nimport { ConversationSchema } from \"./Conversation\";\n\nconst RESOURCEPATH = \"/conversations\";\n\nexport interface ConversationsRetrieveSchema {\n conversations: ConversationSchema[];\n}\n\nexport default class Conversations {\n private readonly _conversationsModels: ConversationModels;\n private readonly individualConversationModels: Record<\n string,\n ConversationModel\n > = {};\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._conversationsModels = new ConversationModels(this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n models(): ConversationModels;\n models(id: string): ConversationModel;\n models(id?: string): ConversationModels | ConversationModel {\n if (id === undefined) {\n return this._conversationsModels;\n } else {\n if (this.individualConversationModels[id] === undefined) {\n this.individualConversationModels[id] = new ConversationModel(\n id,\n this.apiCall,\n );\n }\n return this.individualConversationModels[id];\n }\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Conversations from \"./Conversations\";\n\nexport interface ConversationDeleteSchema {\n id: number;\n}\n\nexport interface ConversationUpdateSchema {\n ttl: number;\n}\n\nexport interface ConversationSchema {\n id: number;\n conversation: object[];\n last_updated: number;\n ttl: number;\n}\n\nexport default class Conversation {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(\n params: ConversationUpdateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Conversations.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","/* eslint-disable no-dupe-class-members */\n\nimport Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Collection from \"./Collection\";\nimport Aliases from \"./Aliases\";\nimport Alias from \"./Alias\";\nimport Keys from \"./Keys\";\nimport Key from \"./Key\";\nimport Debug from \"./Debug\";\nimport Metrics from \"./Metrics\";\nimport Stats from \"./Stats\";\nimport Health from \"./Health\";\nimport Operations from \"./Operations\";\nimport MultiSearch from \"./MultiSearch\";\nimport Presets from \"./Presets\";\nimport Preset from \"./Preset\";\nimport Analytics from \"./Analytics\";\nimport Stopwords from \"./Stopwords\";\nimport Stopword from \"./Stopword\";\nimport Conversations from \"./Conversations\";\nimport Conversation from \"./Conversation\";\n\nexport default class Client {\n configuration: Configuration;\n apiCall: ApiCall;\n debug: Debug;\n metrics: Metrics;\n stats: Stats;\n health: Health;\n operations: Operations;\n multiSearch: MultiSearch;\n analytics: Analytics;\n private readonly _collections: Collections;\n private readonly individualCollections: Record;\n private readonly _aliases: Aliases;\n private readonly individualAliases: Record;\n private readonly _keys: Keys;\n private readonly individualKeys: Record;\n private readonly _presets: Presets;\n private readonly individualPresets: Record;\n private readonly _stopwords: Stopwords;\n private readonly individualStopwords: Record;\n private readonly _conversations: Conversations;\n private readonly individualConversations: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? false;\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.debug = new Debug(this.apiCall);\n this.metrics = new Metrics(this.apiCall);\n this.stats = new Stats(this.apiCall);\n this.health = new Health(this.apiCall);\n this.operations = new Operations(this.apiCall);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration);\n this._collections = new Collections(this.apiCall);\n this.individualCollections = {};\n this._aliases = new Aliases(this.apiCall);\n this.individualAliases = {};\n this._keys = new Keys(this.apiCall);\n this.individualKeys = {};\n this._presets = new Presets(this.apiCall);\n this.individualPresets = {};\n this._stopwords = new Stopwords(this.apiCall);\n this.individualStopwords = {};\n this.analytics = new Analytics(this.apiCall);\n this._conversations = new Conversations(this.apiCall);\n this.individualConversations = {};\n }\n\n collections(): Collections;\n collections = object>(\n collectionName: string,\n ): Collection;\n collections(collectionName?: string): Collections | Collection {\n if (collectionName === undefined) {\n return this._collections;\n } else {\n if (this.individualCollections[collectionName] === undefined) {\n this.individualCollections[collectionName] = new Collection(\n collectionName,\n this.apiCall,\n this.configuration,\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n\n aliases(): Aliases;\n aliases(aliasName: string): Alias;\n aliases(aliasName?: string): Aliases | Alias {\n if (aliasName === undefined) {\n return this._aliases;\n } else {\n if (this.individualAliases[aliasName] === undefined) {\n this.individualAliases[aliasName] = new Alias(aliasName, this.apiCall);\n }\n return this.individualAliases[aliasName];\n }\n }\n\n keys(): Keys;\n keys(id: number): Key;\n keys(id?: number): Keys | Key {\n if (id === undefined) {\n return this._keys;\n } else {\n if (this.individualKeys[id] === undefined) {\n this.individualKeys[id] = new Key(id, this.apiCall);\n }\n return this.individualKeys[id];\n }\n }\n\n presets(): Presets;\n presets(id: string): Preset;\n presets(id?: string): Presets | Preset {\n if (id === undefined) {\n return this._presets;\n } else {\n if (this.individualPresets[id] === undefined) {\n this.individualPresets[id] = new Preset(id, this.apiCall);\n }\n return this.individualPresets[id];\n }\n }\n\n stopwords(): Stopwords;\n stopwords(id: string): Stopword;\n stopwords(id?: string): Stopwords | Stopword {\n if (id === undefined) {\n return this._stopwords;\n } else {\n if (this.individualStopwords[id] === undefined) {\n this.individualStopwords[id] = new Stopword(id, this.apiCall);\n }\n return this.individualStopwords[id];\n }\n }\n\n conversations(): Conversations;\n conversations(id: string): Conversation;\n conversations(id?: string): Conversations | Conversation {\n if (id === undefined) {\n return this._conversations;\n } else {\n if (this.individualConversations[id] === undefined) {\n this.individualConversations[id] = new Conversation(id, this.apiCall);\n }\n return this.individualConversations[id];\n }\n }\n}\n","import { DocumentSchema, SearchableDocuments } from \"./Documents\";\nimport ApiCall from \"./ApiCall\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\nexport class SearchOnlyCollection {\n private readonly _documents: SearchableDocuments;\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any\n ) {\n this._documents = new SearchOnlyDocuments(\n this.name,\n this.apiCall,\n this.configuration\n );\n }\n\n documents(): SearchableDocuments {\n return this._documents;\n }\n}\n","import Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport MultiSearch from \"./MultiSearch\";\nimport { DocumentSchema } from \"./Documents\";\nimport { SearchOnlyCollection } from \"./SearchOnlyCollection\";\n\nexport default class SearchClient {\n public readonly multiSearch: MultiSearch;\n private readonly configuration: Configuration;\n private readonly apiCall: ApiCall;\n private readonly individualCollections: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? true;\n if (\n options.sendApiKeyAsQueryParam === true &&\n (options.apiKey || \"\").length > 2000\n ) {\n console.warn(\n \"[typesense] API Key is longer than 2000 characters which is over the allowed limit, so disabling sending it as a query parameter.\"\n );\n options.sendApiKeyAsQueryParam = false;\n }\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration, true);\n this.individualCollections = {};\n }\n\n clearCache() {\n this.multiSearch.clearCache();\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Object.entries(this.individualCollections).forEach(([_, collection]) => {\n collection.documents().clearCache();\n });\n }\n\n collections(\n collectionName: string\n ): SearchOnlyCollection | SearchOnlyCollection {\n if (!collectionName) {\n throw new Error(\n \"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(\n collectionName,\n this.apiCall,\n this.configuration\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n}\n","import Client from \"./Typesense/Client\";\nimport SearchClient from \"./Typesense/SearchClient\";\nimport * as Errors from \"./Typesense/Errors\";\n\nexport { Client, SearchClient, Errors };\nexport default { Client, SearchClient, Errors };\n"],"mappings":"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","names":["LogLevelReverseMap","LogLevelNumber","logLevelToConsoleFunction","args","SimpleLogger","_SimpleLogger","LogLevelNumber","level","message","LogLevelReverseMap","logger","Errors_exports","__export","HTTPError","ImportError","MissingConfigurationError","ObjectAlreadyExists","ObjectNotFound","ObjectUnprocessable","RequestMalformed","RequestUnauthorized","ServerError","TypesenseError","TypesenseError","message","HTTPError","TypesenseError","MissingConfigurationError","TypesenseError","ObjectAlreadyExists","TypesenseError","ObjectNotFound","TypesenseError","ObjectUnprocessable","TypesenseError","RequestMalformed","TypesenseError","RequestUnauthorized","TypesenseError","ServerError","TypesenseError","ImportError","TypesenseError","message","importResults","Configuration","options","node","logger","MissingConfigurationError","key","array","i","j","axios","HTTPAgent","HTTPSAgent","APIKEYHEADERNAME","HEALTHY","UNHEALTHY","isNodeJSEnvironment","ApiCall","configuration","endpoint","queryParameters","abortSignal","responseType","bodyParameters","additionalHeaders","requestType","skipConnectionTimeout","enableKeepAlive","requestNumber","lastException","numTries","node","abortListener","requestOptions","status","data","headers","transformedData","source","axios","response","error","candidateNode","isDueForHealthcheck","i","isHealthy","defaultHeaders","seconds","resolve","messageFromServer","errorMessage","TypesenseError","RequestMalformed","RequestUnauthorized","ObjectNotFound","ObjectAlreadyExists","ObjectUnprocessable","ServerError","HTTPError","RESOURCEPATH","Collections","apiCall","schema","options","RequestWithCache","requestContext","requestFunction","requestFunctionArguments","cacheOptions","cacheResponseForSeconds","maxSize","requestFunctionArgumentsJSON","cacheEntry","now","cachePromiseEntry","responsePromise","response","oldestEntry","RESOURCEPATH","SearchOnlyDocuments","collectionName","apiCall","configuration","RequestWithCache","searchParameters","cacheSearchResultsForSeconds","abortSignal","additionalQueryParams","key","queryParams","operation","Collections","isNodeJSEnvironment","Documents","SearchOnlyDocuments","collectionName","apiCall","configuration","document","options","query","documents","documentsInJSONLFormat","error","resultsInJSONLFormat","resultsInJSONFormat","r","failedItems","ImportError","readableStream","RESOURCEPATH","Overrides","_Overrides","collectionName","apiCall","overrideId","params","operation","Collections","Override","collectionName","overrideId","apiCall","Collections","Overrides","RESOURCEPATH","Synonyms","_Synonyms","collectionName","apiCall","synonymId","params","operation","Collections","Synonym","collectionName","synonymId","apiCall","Collections","Synonyms","Document","collectionName","documentId","apiCall","options","partialDocument","Collections","Documents","Collection","name","apiCall","configuration","Documents","Overrides","Synonyms","schema","ObjectNotFound","documentId","Document","overrideId","Override","synonymId","Synonym","Collections","RESOURCEPATH","Aliases","_Aliases","apiCall","name","mapping","aliasName","Alias","name","apiCall","Aliases","createHmac","RESOURCEPATH","Keys","_Keys","apiCall","params","searchKey","parameters","paramsJSON","digest","keyPrefix","rawScopedKey","Key","id","apiCall","Keys","RESOURCEPATH","Debug","apiCall","RESOURCEPATH","Metrics","apiCall","RESOURCEPATH","Metrics","apiCall","RESOURCEPATH","Health","apiCall","RESOURCEPATH","Operations","apiCall","operationName","queryParameters","RESOURCEPATH","MultiSearch","apiCall","configuration","useTextContentType","RequestWithCache","searchRequests","commonParams","cacheSearchResultsForSeconds","additionalHeaders","additionalQueryParams","queryParams","RESOURCEPATH","Presets","_Presets","apiCall","presetId","params","operation","Preset","presetId","apiCall","Presets","RESOURCEPATH","AnalyticsRules","_AnalyticsRules","apiCall","name","params","operation","AnalyticsRule","name","apiCall","AnalyticsRules","RESOURCEPATH","AnalyticsEvents","_AnalyticsEvents","apiCall","params","operation","RESOURCEPATH","Analytics","apiCall","AnalyticsRules","AnalyticsEvents","id","AnalyticsRule","RESOURCEPATH","Stopwords","_Stopwords","apiCall","stopwordId","params","operation","Stopword","stopwordId","apiCall","Stopwords","RESOURCEPATH","ConversationModels","_ConversationModels","apiCall","params","operation","ConversationModel","id","apiCall","params","ConversationModels","RESOURCEPATH","Conversations","apiCall","ConversationModels","id","ConversationModel","Conversation","id","apiCall","params","Conversations","Client","options","Configuration","ApiCall","Debug","Metrics","Health","Operations","MultiSearch","Collections","Aliases","Keys","Presets","Stopwords","Analytics","Conversations","collectionName","Collection","aliasName","Alias","id","Key","Preset","Stopword","Conversation","SearchOnlyCollection","name","apiCall","configuration","SearchOnlyDocuments","SearchClient","options","Configuration","ApiCall","MultiSearch","_","collection","collectionName","SearchOnlyCollection","Typesense_default","Client","SearchClient","Errors_exports"]} \ No newline at end of file diff --git a/lib/Typesense/Alias.js b/lib/Typesense/Alias.js deleted file mode 100644 index 08cb130a..00000000 --- a/lib/Typesense/Alias.js +++ /dev/null @@ -1,30 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var Aliases_1 = tslib_1.__importDefault(require("./Aliases")); -var Alias = /** @class */ (function () { - function Alias(name, apiCall) { - this.name = name; - this.apiCall = apiCall; - } - Alias.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - Alias.prototype.delete = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.delete(this.endpointPath())]; - }); - }); - }; - Alias.prototype.endpointPath = function () { - return "".concat(Aliases_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.name)); - }; - return Alias; -}()); -exports.default = Alias; -//# sourceMappingURL=Alias.js.map \ No newline at end of file diff --git a/lib/Typesense/Alias.js.map b/lib/Typesense/Alias.js.map deleted file mode 100644 index 03fa9442..00000000 --- a/lib/Typesense/Alias.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Alias.js","sourceRoot":"","sources":["../../src/Typesense/Alias.ts"],"names":[],"mappings":";;;AAAA,8DAA2D;AAG3D;IACE,eAAoB,IAAY,EAAU,OAAgB;QAAtC,SAAI,GAAJ,IAAI,CAAQ;QAAU,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAExD,wBAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAwB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACrE;IAEK,sBAAM,GAAZ;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAwB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACxE;IAEO,4BAAY,GAApB;QACE,OAAO,UAAG,iBAAO,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAE,CAAC;IACpE,CAAC;IACH,YAAC;AAAD,CAAC,AAdD,IAcC"} \ No newline at end of file diff --git a/lib/Typesense/Aliases.js b/lib/Typesense/Aliases.js deleted file mode 100644 index ac647bc9..00000000 --- a/lib/Typesense/Aliases.js +++ /dev/null @@ -1,36 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var RESOURCEPATH = "/aliases"; -var Aliases = /** @class */ (function () { - function Aliases(apiCall) { - this.apiCall = apiCall; - } - Aliases.prototype.upsert = function (name, mapping) { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.put(this.endpointPath(name), mapping)]; - }); - }); - }; - Aliases.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(RESOURCEPATH)]; - }); - }); - }; - Aliases.prototype.endpointPath = function (aliasName) { - return "".concat(Aliases.RESOURCEPATH, "/").concat(encodeURIComponent(aliasName)); - }; - Object.defineProperty(Aliases, "RESOURCEPATH", { - get: function () { - return RESOURCEPATH; - }, - enumerable: false, - configurable: true - }); - return Aliases; -}()); -exports.default = Aliases; -//# sourceMappingURL=Aliases.js.map \ No newline at end of file diff --git a/lib/Typesense/Aliases.js.map b/lib/Typesense/Aliases.js.map deleted file mode 100644 index 9b3a301a..00000000 --- a/lib/Typesense/Aliases.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Aliases.js","sourceRoot":"","sources":["../../src/Typesense/Aliases.ts"],"names":[],"mappings":";;;AAEA,IAAM,YAAY,GAAG,UAAU,CAAC;AAchC;IACE,iBAAoB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAElC,wBAAM,GAAZ,UACE,IAAY,EACZ,OAAoC;;;gBAEpC,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CACrB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EACvB,OAAO,CACR,EAAC;;;KACH;IAEK,0BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAkC,YAAY,CAAC,EAAC;;;KACxE;IAEO,8BAAY,GAApB,UAAqB,SAAS;QAC5B,OAAO,UAAG,OAAO,CAAC,YAAY,cAAI,kBAAkB,CAAC,SAAS,CAAC,CAAE,CAAC;IACpE,CAAC;IAED,sBAAW,uBAAY;aAAvB;YACE,OAAO,YAAY,CAAC;QACtB,CAAC;;;OAAA;IACH,cAAC;AAAD,CAAC,AAxBD,IAwBC"} \ No newline at end of file diff --git a/lib/Typesense/AnalyticsEvents.js b/lib/Typesense/AnalyticsEvents.js deleted file mode 100644 index 9f8691a7..00000000 --- a/lib/Typesense/AnalyticsEvents.js +++ /dev/null @@ -1,30 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var RESOURCEPATH = "/analytics/events"; -var AnalyticsEvents = /** @class */ (function () { - function AnalyticsEvents(apiCall) { - this.apiCall = apiCall; - this.apiCall = apiCall; - } - AnalyticsEvents.prototype.create = function (params) { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.post(this.endpointPath(), params)]; - }); - }); - }; - AnalyticsEvents.prototype.endpointPath = function (operation) { - return "".concat(AnalyticsEvents.RESOURCEPATH).concat(operation === undefined ? "" : "/" + encodeURIComponent(operation)); - }; - Object.defineProperty(AnalyticsEvents, "RESOURCEPATH", { - get: function () { - return RESOURCEPATH; - }, - enumerable: false, - configurable: true - }); - return AnalyticsEvents; -}()); -exports.default = AnalyticsEvents; -//# sourceMappingURL=AnalyticsEvents.js.map \ No newline at end of file diff --git a/lib/Typesense/AnalyticsEvents.js.map b/lib/Typesense/AnalyticsEvents.js.map deleted file mode 100644 index 12348751..00000000 --- a/lib/Typesense/AnalyticsEvents.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AnalyticsEvents.js","sourceRoot":"","sources":["../../src/Typesense/AnalyticsEvents.ts"],"names":[],"mappings":";;;AAGA,IAAM,YAAY,GAAG,mBAAmB,CAAC;AAEzC;IACE,yBAA6B,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;QAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEK,gCAAM,GAAZ,UACE,MAAkC;;;gBAElC,sBAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CACtB,IAAI,CAAC,YAAY,EAAE,EACnB,MAAM,CACP,EAAC;;;KACH;IAEO,sCAAY,GAApB,UAAqB,SAAkB;QACrC,OAAO,UAAG,eAAe,CAAC,YAAY,SACpC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAClE,CAAC;IACL,CAAC;IAED,sBAAW,+BAAY;aAAvB;YACE,OAAO,YAAY,CAAC;QACtB,CAAC;;;OAAA;IACH,sBAAC;AAAD,CAAC,AAvBD,IAuBC"} \ No newline at end of file diff --git a/lib/Typesense/AnalyticsRule.js b/lib/Typesense/AnalyticsRule.js deleted file mode 100644 index 7155fe00..00000000 --- a/lib/Typesense/AnalyticsRule.js +++ /dev/null @@ -1,30 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var AnalyticsRules_1 = tslib_1.__importDefault(require("./AnalyticsRules")); -var AnalyticsRule = /** @class */ (function () { - function AnalyticsRule(name, apiCall) { - this.name = name; - this.apiCall = apiCall; - } - AnalyticsRule.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - AnalyticsRule.prototype.delete = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.delete(this.endpointPath())]; - }); - }); - }; - AnalyticsRule.prototype.endpointPath = function () { - return "".concat(AnalyticsRules_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.name)); - }; - return AnalyticsRule; -}()); -exports.default = AnalyticsRule; -//# sourceMappingURL=AnalyticsRule.js.map \ No newline at end of file diff --git a/lib/Typesense/AnalyticsRule.js.map b/lib/Typesense/AnalyticsRule.js.map deleted file mode 100644 index b2ea540f..00000000 --- a/lib/Typesense/AnalyticsRule.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AnalyticsRule.js","sourceRoot":"","sources":["../../src/Typesense/AnalyticsRule.ts"],"names":[],"mappings":";;;AACA,4EAA8C;AA8B9C;IACE,uBACU,IAAY,EACZ,OAAgB;QADhB,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAS;IACvB,CAAC;IAEE,gCAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAsB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACnE;IAEK,8BAAM,GAAZ;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAA4B,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KAC5E;IAEO,oCAAY,GAApB;QACE,OAAO,UAAG,wBAAc,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAE,CAAC;IAC3E,CAAC;IACH,oBAAC;AAAD,CAAC,AAjBD,IAiBC"} \ No newline at end of file diff --git a/lib/Typesense/AnalyticsRules.js b/lib/Typesense/AnalyticsRules.js deleted file mode 100644 index a4d8b9d4..00000000 --- a/lib/Typesense/AnalyticsRules.js +++ /dev/null @@ -1,37 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var RESOURCEPATH = "/analytics/rules"; -var AnalyticsRules = /** @class */ (function () { - function AnalyticsRules(apiCall) { - this.apiCall = apiCall; - this.apiCall = apiCall; - } - AnalyticsRules.prototype.upsert = function (name, params) { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.put(this.endpointPath(name), params)]; - }); - }); - }; - AnalyticsRules.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - AnalyticsRules.prototype.endpointPath = function (operation) { - return "".concat(AnalyticsRules.RESOURCEPATH).concat(operation === undefined ? "" : "/" + encodeURIComponent(operation)); - }; - Object.defineProperty(AnalyticsRules, "RESOURCEPATH", { - get: function () { - return RESOURCEPATH; - }, - enumerable: false, - configurable: true - }); - return AnalyticsRules; -}()); -exports.default = AnalyticsRules; -//# sourceMappingURL=AnalyticsRules.js.map \ No newline at end of file diff --git a/lib/Typesense/AnalyticsRules.js.map b/lib/Typesense/AnalyticsRules.js.map deleted file mode 100644 index b18a8b68..00000000 --- a/lib/Typesense/AnalyticsRules.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AnalyticsRules.js","sourceRoot":"","sources":["../../src/Typesense/AnalyticsRules.ts"],"names":[],"mappings":";;;AAUA,IAAM,YAAY,GAAG,kBAAkB,CAAC;AAExC;IACE,wBAA6B,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;QAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEK,+BAAM,GAAZ,UACE,IAAY,EACZ,MAAiC;;;gBAEjC,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CACrB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EACvB,MAAM,CACP,EAAC;;;KACH;IAEK,iCAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAA+B,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KAC5E;IAEO,qCAAY,GAApB,UAAqB,SAAkB;QACrC,OAAO,UAAG,cAAc,CAAC,YAAY,SACnC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAClE,CAAC;IACL,CAAC;IAED,sBAAW,8BAAY;aAAvB;YACE,OAAO,YAAY,CAAC;QACtB,CAAC;;;OAAA;IACH,qBAAC;AAAD,CAAC,AA5BD,IA4BC"} \ No newline at end of file diff --git a/lib/Typesense/Collection.js b/lib/Typesense/Collection.js deleted file mode 100644 index 81ae1a96..00000000 --- a/lib/Typesense/Collection.js +++ /dev/null @@ -1,108 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var Collections_1 = tslib_1.__importDefault(require("./Collections")); -var Documents_1 = tslib_1.__importDefault(require("./Documents")); -var Errors_1 = require("./Errors"); -var Overrides_1 = tslib_1.__importDefault(require("./Overrides")); -var Override_1 = tslib_1.__importDefault(require("./Override")); -var Synonyms_1 = tslib_1.__importDefault(require("./Synonyms")); -var Synonym_1 = tslib_1.__importDefault(require("./Synonym")); -var Document_1 = require("./Document"); -var Collection = /** @class */ (function () { - function Collection(name, apiCall, configuration) { - this.name = name; - this.apiCall = apiCall; - this.configuration = configuration; - this.individualDocuments = {}; - this.individualOverrides = {}; - this.individualSynonyms = {}; - this.name = name; - this.apiCall = apiCall; - this.configuration = configuration; - this._documents = new Documents_1.default(this.name, this.apiCall, this.configuration); - this._overrides = new Overrides_1.default(this.name, this.apiCall); - this._synonyms = new Synonyms_1.default(this.name, this.apiCall); - } - Collection.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - Collection.prototype.update = function (schema) { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.patch(this.endpointPath(), schema)]; - }); - }); - }; - Collection.prototype.delete = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.delete(this.endpointPath())]; - }); - }); - }; - Collection.prototype.exists = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - var e_1; - return tslib_1.__generator(this, function (_a) { - switch (_a.label) { - case 0: - _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.retrieve()]; - case 1: - _a.sent(); - return [2 /*return*/, true]; - case 2: - e_1 = _a.sent(); - if (e_1 instanceof Errors_1.ObjectNotFound) - return [2 /*return*/, false]; - throw e_1; - case 3: return [2 /*return*/]; - } - }); - }); - }; - Collection.prototype.documents = function (documentId) { - if (!documentId) { - return this._documents; - } - else { - if (this.individualDocuments[documentId] === undefined) { - this.individualDocuments[documentId] = new Document_1.Document(this.name, documentId, this.apiCall); - } - return this.individualDocuments[documentId]; - } - }; - Collection.prototype.overrides = function (overrideId) { - if (overrideId === undefined) { - return this._overrides; - } - else { - if (this.individualOverrides[overrideId] === undefined) { - this.individualOverrides[overrideId] = new Override_1.default(this.name, overrideId, this.apiCall); - } - return this.individualOverrides[overrideId]; - } - }; - Collection.prototype.synonyms = function (synonymId) { - if (synonymId === undefined) { - return this._synonyms; - } - else { - if (this.individualSynonyms[synonymId] === undefined) { - this.individualSynonyms[synonymId] = new Synonym_1.default(this.name, synonymId, this.apiCall); - } - return this.individualSynonyms[synonymId]; - } - }; - Collection.prototype.endpointPath = function () { - return "".concat(Collections_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.name)); - }; - return Collection; -}()); -exports.default = Collection; -//# sourceMappingURL=Collection.js.map \ No newline at end of file diff --git a/lib/Typesense/Collection.js.map b/lib/Typesense/Collection.js.map deleted file mode 100644 index 5a42b40c..00000000 --- a/lib/Typesense/Collection.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Collection.js","sourceRoot":"","sources":["../../src/Typesense/Collection.ts"],"names":[],"mappings":";;;AACA,sEAAoE;AACpE,kEAAwD;AACxD,mCAA0C;AAC1C,kEAAoC;AACpC,gEAAkC;AAClC,gEAAkC;AAClC,8DAAgC;AAChC,uCAAsC;AAoDtC;IAQE,oBACmB,IAAY,EACZ,OAAgB,EAChB,aAAkB;QAFlB,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAS;QAChB,kBAAa,GAAb,aAAa,CAAK;QAT7B,wBAAmB,GAAgC,EAAE,CAAC;QAEtD,wBAAmB,GAA6B,EAAE,CAAC;QAEnD,uBAAkB,GAA4B,EAAE,CAAC;QAOvD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QAEnC,IAAI,CAAC,UAAU,GAAG,IAAI,mBAAS,CAC7B,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,aAAa,CACnB,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,IAAI,mBAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACzD,CAAC;IAEK,6BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAmB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KAChE;IAEK,2BAAM,GAAZ,UAAa,MAA8B;;;gBACzC,sBAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAmB,IAAI,CAAC,YAAY,EAAE,EAAE,MAAM,CAAC,EAAC;;;KAC1E;IAEK,2BAAM,GAAZ;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAmB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACnE;IAEK,2BAAM,GAAZ;;;;;;;wBAEI,qBAAM,IAAI,CAAC,QAAQ,EAAE,EAAA;;wBAArB,SAAqB,CAAC;wBACtB,sBAAO,IAAI,EAAC;;;wBAEZ,IAAI,GAAC,YAAY,uBAAc;4BAAE,sBAAO,KAAK,EAAC;wBAC9C,MAAM,GAAC,CAAC;;;;;KAEX;IAID,8BAAS,GAAT,UAAU,UAAmB;QAC3B,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE,CAAC;gBACvD,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,GAAG,IAAI,mBAAQ,CACjD,IAAI,CAAC,IAAI,EACT,UAAU,EACV,IAAI,CAAC,OAAO,CACb,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAID,8BAAS,GAAT,UAAU,UAAmB;QAC3B,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE,CAAC;gBACvD,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,GAAG,IAAI,kBAAQ,CACjD,IAAI,CAAC,IAAI,EACT,UAAU,EACV,IAAI,CAAC,OAAO,CACb,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAID,6BAAQ,GAAR,UAAS,SAAkB;QACzB,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,SAAS,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE,CAAC;gBACrD,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,IAAI,iBAAO,CAC9C,IAAI,CAAC,IAAI,EACT,SAAS,EACT,IAAI,CAAC,OAAO,CACb,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAEO,iCAAY,GAApB;QACE,OAAO,UAAG,qBAAW,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAE,CAAC;IACxE,CAAC;IACH,iBAAC;AAAD,CAAC,AAtGD,IAsGC"} \ No newline at end of file diff --git a/lib/Typesense/Conversation.js b/lib/Typesense/Conversation.js deleted file mode 100644 index b0891aed..00000000 --- a/lib/Typesense/Conversation.js +++ /dev/null @@ -1,37 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var Conversations_1 = tslib_1.__importDefault(require("./Conversations")); -var Conversation = /** @class */ (function () { - function Conversation(id, apiCall) { - this.id = id; - this.apiCall = apiCall; - } - Conversation.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - Conversation.prototype.update = function (params) { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.put(this.endpointPath(), params)]; - }); - }); - }; - Conversation.prototype.delete = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.delete(this.endpointPath())]; - }); - }); - }; - Conversation.prototype.endpointPath = function () { - return "".concat(Conversations_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.id)); - }; - return Conversation; -}()); -exports.default = Conversation; -//# sourceMappingURL=Conversation.js.map \ No newline at end of file diff --git a/lib/Typesense/Conversation.js.map b/lib/Typesense/Conversation.js.map deleted file mode 100644 index 0a9646b7..00000000 --- a/lib/Typesense/Conversation.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Conversation.js","sourceRoot":"","sources":["../../src/Typesense/Conversation.ts"],"names":[],"mappings":";;;AACA,0EAA4C;AAiB5C;IACE,sBACU,EAAU,EACV,OAAgB;QADhB,OAAE,GAAF,EAAE,CAAQ;QACV,YAAO,GAAP,OAAO,CAAS;IACvB,CAAC;IAEE,+BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAuB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACpE;IAEK,6BAAM,GAAZ,UACE,MAAgC;;;gBAEhC,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CACrB,IAAI,CAAC,YAAY,EAAE,EACnB,MAAM,CACP,EAAC;;;KACH;IAEK,6BAAM,GAAZ;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAA2B,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KAC3E;IAEO,mCAAY,GAApB;QACE,OAAO,UAAG,uBAAa,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAE,CAAC;IACxE,CAAC;IACH,mBAAC;AAAD,CAAC,AA1BD,IA0BC"} \ No newline at end of file diff --git a/lib/Typesense/ConversationModel.js b/lib/Typesense/ConversationModel.js deleted file mode 100644 index 2da74c2d..00000000 --- a/lib/Typesense/ConversationModel.js +++ /dev/null @@ -1,37 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var ConversationModels_1 = tslib_1.__importDefault(require("./ConversationModels")); -var ConversationModel = /** @class */ (function () { - function ConversationModel(id, apiCall) { - this.id = id; - this.apiCall = apiCall; - } - ConversationModel.prototype.update = function (params) { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.put(this.endpointPath(), params)]; - }); - }); - }; - ConversationModel.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - ConversationModel.prototype.delete = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.delete(this.endpointPath())]; - }); - }); - }; - ConversationModel.prototype.endpointPath = function () { - return "".concat(ConversationModels_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.id)); - }; - return ConversationModel; -}()); -exports.default = ConversationModel; -//# sourceMappingURL=ConversationModel.js.map \ No newline at end of file diff --git a/lib/Typesense/ConversationModel.js.map b/lib/Typesense/ConversationModel.js.map deleted file mode 100644 index c9b6a197..00000000 --- a/lib/Typesense/ConversationModel.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ConversationModel.js","sourceRoot":"","sources":["../../src/Typesense/ConversationModel.ts"],"names":[],"mappings":";;;AACA,oFAAsD;AAmBtD;IACE,2BACU,EAAU,EACV,OAAgB;QADhB,OAAE,GAAF,EAAE,CAAQ;QACV,YAAO,GAAP,OAAO,CAAS;IACvB,CAAC;IAEE,kCAAM,GAAZ,UACE,MAAqC;;;gBAErC,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CACrB,IAAI,CAAC,YAAY,EAAE,EACnB,MAAM,CACP,EAAC;;;KACH;IAEK,oCAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAA0B,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACvE;IAEK,kCAAM,GAAZ;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CACxB,IAAI,CAAC,YAAY,EAAE,CACpB,EAAC;;;KACH;IAEO,wCAAY,GAApB;QACE,OAAO,UAAG,4BAAkB,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAE,CAAC;IAC7E,CAAC;IACH,wBAAC;AAAD,CAAC,AA5BD,IA4BC"} \ No newline at end of file diff --git a/lib/Typesense/ConversationModels.js b/lib/Typesense/ConversationModels.js deleted file mode 100644 index 29563fc5..00000000 --- a/lib/Typesense/ConversationModels.js +++ /dev/null @@ -1,37 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var RESOURCEPATH = "/conversations/models"; -var ConversationModels = /** @class */ (function () { - function ConversationModels(apiCall) { - this.apiCall = apiCall; - this.apiCall = apiCall; - } - ConversationModels.prototype.create = function (params) { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.post(this.endpointPath(), params)]; - }); - }); - }; - ConversationModels.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - ConversationModels.prototype.endpointPath = function (operation) { - return "".concat(ConversationModels.RESOURCEPATH).concat(operation === undefined ? "" : "/" + encodeURIComponent(operation)); - }; - Object.defineProperty(ConversationModels, "RESOURCEPATH", { - get: function () { - return RESOURCEPATH; - }, - enumerable: false, - configurable: true - }); - return ConversationModels; -}()); -exports.default = ConversationModels; -//# sourceMappingURL=ConversationModels.js.map \ No newline at end of file diff --git a/lib/Typesense/ConversationModels.js.map b/lib/Typesense/ConversationModels.js.map deleted file mode 100644 index 3c3b1bc0..00000000 --- a/lib/Typesense/ConversationModels.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ConversationModels.js","sourceRoot":"","sources":["../../src/Typesense/ConversationModels.ts"],"names":[],"mappings":";;;AAMA,IAAM,YAAY,GAAG,uBAAuB,CAAC;AAE7C;IACE,4BAA6B,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;QAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEK,mCAAM,GAAZ,UACE,MAAqC;;;gBAErC,sBAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CACtB,IAAI,CAAC,YAAY,EAAE,EACnB,MAAM,CACP,EAAC;;;KACH;IAEK,qCAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CACrB,IAAI,CAAC,YAAY,EAAE,CACpB,EAAC;;;KACH;IAEO,yCAAY,GAApB,UAAqB,SAAkB;QACrC,OAAO,UAAG,kBAAkB,CAAC,YAAY,SACvC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAClE,CAAC;IACL,CAAC;IAED,sBAAW,kCAAY;aAAvB;YACE,OAAO,YAAY,CAAC;QACtB,CAAC;;;OAAA;IACH,yBAAC;AAAD,CAAC,AA7BD,IA6BC"} \ No newline at end of file diff --git a/lib/Typesense/Document.js b/lib/Typesense/Document.js deleted file mode 100644 index 222c16ca..00000000 --- a/lib/Typesense/Document.js +++ /dev/null @@ -1,41 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Document = void 0; -var tslib_1 = require("tslib"); -var Collections_1 = tslib_1.__importDefault(require("./Collections")); -var Documents_1 = tslib_1.__importDefault(require("./Documents")); -var Document = /** @class */ (function () { - function Document(collectionName, documentId, apiCall) { - this.collectionName = collectionName; - this.documentId = documentId; - this.apiCall = apiCall; - } - Document.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - Document.prototype.delete = function (options) { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.delete(this.endpointPath(), options)]; - }); - }); - }; - Document.prototype.update = function (partialDocument, options) { - if (options === void 0) { options = {}; } - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.patch(this.endpointPath(), partialDocument, options)]; - }); - }); - }; - Document.prototype.endpointPath = function () { - return "".concat(Collections_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.collectionName)).concat(Documents_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.documentId)); - }; - return Document; -}()); -exports.Document = Document; -//# sourceMappingURL=Document.js.map \ No newline at end of file diff --git a/lib/Typesense/Document.js.map b/lib/Typesense/Document.js.map deleted file mode 100644 index b697d67b..00000000 --- a/lib/Typesense/Document.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Document.js","sourceRoot":"","sources":["../../src/Typesense/Document.ts"],"names":[],"mappings":";;;;AACA,sEAAwC;AACxC,kEAIqB;AAErB;IACE,kBACU,cAAsB,EACtB,UAAkB,EAClB,OAAgB;QAFhB,mBAAc,GAAd,cAAc,CAAQ;QACtB,eAAU,GAAV,UAAU,CAAQ;QAClB,YAAO,GAAP,OAAO,CAAS;IACvB,CAAC;IAEE,2BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAI,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACjD;IAEK,yBAAM,GAAZ,UAAa,OAAqB;;;gBAChC,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAI,IAAI,CAAC,YAAY,EAAE,EAAE,OAAO,CAAC,EAAC;;;KAC7D;IAEK,yBAAM,GAAZ,UACE,eAA2B,EAC3B,OAAqC;QAArC,wBAAA,EAAA,YAAqC;;;gBAErC,sBAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAI,IAAI,CAAC,YAAY,EAAE,EAAE,eAAe,EAAE,OAAO,CAAC,EAAC;;;KAC7E;IAEO,+BAAY,GAApB;QACE,OAAO,UAAG,qBAAW,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,SAAG,mBAAS,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAE,CAAC;IAClJ,CAAC;IACH,eAAC;AAAD,CAAC,AAzBD,IAyBC;AAzBY,4BAAQ"} \ No newline at end of file diff --git a/lib/Typesense/Documents.d.ts b/lib/Typesense/Documents.d.ts deleted file mode 100644 index 88c14b70..00000000 --- a/lib/Typesense/Documents.d.ts +++ /dev/null @@ -1,242 +0,0 @@ -/// -import type { ReadStream } from "fs"; -import ApiCall from "./ApiCall"; -import Configuration from "./Configuration"; -import { SearchOnlyDocuments } from "./SearchOnlyDocuments"; -export interface DeleteQuery { - filter_by?: string; - batch_size?: number; - ignore_not_found?: boolean; -} -export interface DeleteResponse { - num_deleted: number; -} -interface ImportResponseSuccess { - success: true; -} -export interface ImportResponseFail { - success: false; - error: string; - document: DocumentSchema; - code: number; -} -export type ImportResponse = ImportResponseSuccess | ImportResponseFail; -export type DocumentSchema = Record; -export interface SearchParamsWithPreset extends Partial { - preset: string; -} -type DropTokensMode = "right_to_left" | "left_to_right" | "both_sides:3"; -type OperationMode = "off" | "always" | "fallback"; -export interface SearchParams { - q?: string; - query_by?: string | string[]; - query_by_weights?: string | number[]; - prefix?: string | boolean | boolean[]; - filter_by?: string; - enable_lazy_filter?: boolean; - sort_by?: string | string[]; - facet_by?: string | string[]; - max_facet_values?: number; - facet_sample_threshold?: number; - facet_sample_percent?: number; - facet_query?: string; - facet_query_num_typos?: number; - facet_return_parent?: string; - page?: number; - per_page?: number; - group_by?: string | string[]; - group_limit?: number; - group_missing_values?: boolean; - include_fields?: string | string[]; - exclude_fields?: string | string[]; - highlight_fields?: string | string[]; - highlight_full_fields?: string | string[]; - highlight_affix_num_tokens?: number; - highlight_start_tag?: string; - highlight_end_tag?: string; - enable_highlight_v1?: boolean; - snippet_threshold?: number; - num_typos?: string | number | number[]; - min_len_1typo?: number; - min_len_2typo?: number; - split_join_tokens?: OperationMode; - exhaustive_search?: boolean; - drop_tokens_threshold?: number; - drop_tokens_mode?: DropTokensMode; - typo_tokens_threshold?: number; - pinned_hits?: string | string[]; - hidden_hits?: string | string[]; - limit_hits?: number; - pre_segmented_query?: boolean; - enable_overrides?: boolean; - override_tags?: string | string[]; - prioritize_exact_match?: boolean; - prioritize_token_position?: boolean; - prioritize_num_matching_fields?: boolean; - search_cutoff_ms?: number; - use_cache?: boolean; - max_candidates?: number; - infix?: OperationMode | OperationMode[]; - preset?: string; - text_match_type?: "max_score" | "max_weight"; - vector_query?: string; - "x-typesense-api-key"?: string; - "x-typesense-user-id"?: string; - offset?: number; - limit?: number; - stopwords?: string; - conversation?: boolean; - conversation_model_id?: string; - conversation_id?: string; - voice_query?: string; -} -type SearchResponseHighlightObject = { - matched_tokens?: string[]; - snippet?: string; - value?: string; -}; -export type SearchResponseHighlight = T extends string | number ? SearchResponseHighlightObject : { - [TAttribute in keyof T]?: SearchResponseHighlight; -}; -export interface SearchResponseHit { - curated?: true; - highlights?: [ - { - field: keyof T; - snippet?: string; - value?: string; - snippets?: string[]; - indices?: number[]; - matched_tokens: string[][] | string[]; - } - ]; - highlight: SearchResponseHighlight; - document: T; - text_match: number; - text_match_info?: { - best_field_score: string; - best_field_weight: number; - fields_matched: number; - score: string; - tokens_matched: number; - }; -} -export interface SearchResponseFacetCountSchema { - counts: { - count: number; - highlighted: string; - value: string; - }[]; - field_name: keyof T; - stats: { - avg?: number; - max?: number; - min?: number; - sum?: number; - }; -} -export interface SearchResponseRequestParams { - collection_name?: string; - q?: string; - page?: number; - per_page?: number; - first_q?: string; - voice_query?: { - transcribed_query?: string; - }; -} -export interface SearchResponse { - facet_counts?: SearchResponseFacetCountSchema[]; - found: number; - found_docs?: number; - out_of: number; - page: number; - request_params: SearchResponseRequestParams; - search_time_ms: number; - search_cutoff?: boolean; - hits?: SearchResponseHit[]; - grouped_hits?: { - group_key: string[]; - hits: SearchResponseHit[]; - found?: number; - }[]; - conversation?: { - answer: string; - conversation_history: { - conversation: object[]; - id: string; - last_updated: number; - ttl: number; - }; - conversation_id: string; - query: string; - }; - error?: string; - code?: number; -} -export interface DocumentWriteParameters { - dirty_values?: "coerce_or_reject" | "coerce_or_drop" | "drop" | "reject"; - action?: "create" | "update" | "upsert" | "emplace"; -} -export interface UpdateByFilterParameters { - filter_by?: string; -} -export interface UpdateByFilterResponse { - num_updated: number; -} -export interface DocumentImportParameters extends DocumentWriteParameters { - batch_size?: number; - return_doc?: boolean; - return_id?: boolean; -} -export interface DocumentsExportParameters { - filter_by?: string; - include_fields?: string; - exclude_fields?: string; -} -export interface SearchableDocuments { - search(searchParameters: SearchParams | SearchParamsWithPreset, options: SearchOptions): Promise>; - clearCache(): void; -} -export interface WriteableDocuments { - create(document: T, options: DocumentWriteParameters): Promise; - upsert(document: T, options: DocumentWriteParameters): Promise; - update(document: T, options: DocumentWriteParameters): Promise; - delete(query: DeleteQuery): Promise; - import(documents: T[] | string, options: DocumentWriteParameters): Promise; - export(options: DocumentsExportParameters): Promise; -} -export interface SearchOptions { - cacheSearchResultsForSeconds?: number; - abortSignal?: AbortSignal | null; -} -export default class Documents extends SearchOnlyDocuments implements WriteableDocuments { - constructor(collectionName: string, apiCall: ApiCall, configuration: Configuration); - create(document: T, options?: DocumentWriteParameters): Promise; - upsert(document: T, options?: DocumentWriteParameters): Promise; - update(document: T, options: UpdateByFilterParameters): Promise; - update(document: T, options: DocumentWriteParameters): Promise; - delete(query?: DeleteQuery): Promise; - createMany(documents: T[], options?: DocumentImportParameters): Promise; - /** - * Import a set of documents in a batch. - * @param {string|Array} documents - Can be a JSONL string of documents or an array of document objects. - * @param options - * @return {string|Array} Returns a JSONL string if the input was a JSONL string, otherwise it returns an array of results. - */ - import(documents: string, options?: DocumentImportParameters): Promise; - import(documents: T[], options?: DocumentImportParameters): Promise; - /** - * Imports documents from a NodeJS readable stream of JSONL. - */ - importStream(readableStream: ReadStream, options?: DocumentImportParameters): Promise; - /** - * Returns a JSONL string for all the documents in this collection - */ - export(options?: DocumentsExportParameters): Promise; - /** - * Returns a NodeJS readable stream of JSONL for all the documents in this collection. - */ - exportStream(options?: DocumentsExportParameters): Promise; -} -export {}; diff --git a/lib/Typesense/Documents.js.map b/lib/Typesense/Documents.js.map deleted file mode 100644 index 847e5aa7..00000000 --- a/lib/Typesense/Documents.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Documents.js","sourceRoot":"","sources":["../../src/Typesense/Documents.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/Typesense/Key.js b/lib/Typesense/Key.js deleted file mode 100644 index 27538455..00000000 --- a/lib/Typesense/Key.js +++ /dev/null @@ -1,30 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var Keys_1 = tslib_1.__importDefault(require("./Keys")); -var Key = /** @class */ (function () { - function Key(id, apiCall) { - this.id = id; - this.apiCall = apiCall; - } - Key.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - Key.prototype.delete = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.delete(this.endpointPath())]; - }); - }); - }; - Key.prototype.endpointPath = function () { - return "".concat(Keys_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.id)); - }; - return Key; -}()); -exports.default = Key; -//# sourceMappingURL=Key.js.map \ No newline at end of file diff --git a/lib/Typesense/Key.js.map b/lib/Typesense/Key.js.map deleted file mode 100644 index 0c2ca229..00000000 --- a/lib/Typesense/Key.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Key.js","sourceRoot":"","sources":["../../src/Typesense/Key.ts"],"names":[],"mappings":";;;AACA,wDAA0B;AAmB1B;IACE,aAAoB,EAAU,EAAU,OAAgB;QAApC,OAAE,GAAF,EAAE,CAAQ;QAAU,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAEtD,sBAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAY,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACzD;IAEK,oBAAM,GAAZ;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAkB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KAClE;IAEO,0BAAY,GAApB;QACE,OAAO,UAAG,cAAI,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAE,CAAC;IAC/D,CAAC;IACH,UAAC;AAAD,CAAC,AAdD,IAcC"} \ No newline at end of file diff --git a/lib/Typesense/Override.js b/lib/Typesense/Override.js deleted file mode 100644 index a2e07e2f..00000000 --- a/lib/Typesense/Override.js +++ /dev/null @@ -1,32 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var Collections_1 = tslib_1.__importDefault(require("./Collections")); -var Overrides_1 = tslib_1.__importDefault(require("./Overrides")); -var Override = /** @class */ (function () { - function Override(collectionName, overrideId, apiCall) { - this.collectionName = collectionName; - this.overrideId = overrideId; - this.apiCall = apiCall; - } - Override.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - Override.prototype.delete = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.delete(this.endpointPath())]; - }); - }); - }; - Override.prototype.endpointPath = function () { - return "".concat(Collections_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.collectionName)).concat(Overrides_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.overrideId)); - }; - return Override; -}()); -exports.default = Override; -//# sourceMappingURL=Override.js.map \ No newline at end of file diff --git a/lib/Typesense/Override.js.map b/lib/Typesense/Override.js.map deleted file mode 100644 index 43ae48f8..00000000 --- a/lib/Typesense/Override.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Override.js","sourceRoot":"","sources":["../../src/Typesense/Override.ts"],"names":[],"mappings":";;;AACA,sEAAwC;AACxC,kEAA8D;AAU9D;IACE,kBACU,cAAsB,EACtB,UAAkB,EAClB,OAAgB;QAFhB,mBAAc,GAAd,cAAc,CAAQ;QACtB,eAAU,GAAV,UAAU,CAAQ;QAClB,YAAO,GAAP,OAAO,CAAS;IACvB,CAAC;IAEE,2BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAiB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KAC9D;IAEK,yBAAM,GAAZ;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAuB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACvE;IAEO,+BAAY,GAApB;QACE,OAAO,UAAG,qBAAW,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,SAAG,mBAAS,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAE,CAAC;IAClJ,CAAC;IACH,eAAC;AAAD,CAAC,AAlBD,IAkBC"} \ No newline at end of file diff --git a/lib/Typesense/Overrides.js b/lib/Typesense/Overrides.js deleted file mode 100644 index 503c47c1..00000000 --- a/lib/Typesense/Overrides.js +++ /dev/null @@ -1,38 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var Collections_1 = tslib_1.__importDefault(require("./Collections")); -var RESOURCEPATH = "/overrides"; -var Overrides = /** @class */ (function () { - function Overrides(collectionName, apiCall) { - this.collectionName = collectionName; - this.apiCall = apiCall; - } - Overrides.prototype.upsert = function (overrideId, params) { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.put(this.endpointPath(overrideId), params)]; - }); - }); - }; - Overrides.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - Overrides.prototype.endpointPath = function (operation) { - return "".concat(Collections_1.default.RESOURCEPATH, "/").concat(this.collectionName).concat(Overrides.RESOURCEPATH).concat(operation === undefined ? "" : "/" + encodeURIComponent(operation)); - }; - Object.defineProperty(Overrides, "RESOURCEPATH", { - get: function () { - return RESOURCEPATH; - }, - enumerable: false, - configurable: true - }); - return Overrides; -}()); -exports.default = Overrides; -//# sourceMappingURL=Overrides.js.map \ No newline at end of file diff --git a/lib/Typesense/Overrides.js.map b/lib/Typesense/Overrides.js.map deleted file mode 100644 index a7ac0700..00000000 --- a/lib/Typesense/Overrides.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Overrides.js","sourceRoot":"","sources":["../../src/Typesense/Overrides.ts"],"names":[],"mappings":";;;AACA,sEAAwC;AAGxC,IAAM,YAAY,GAAG,YAAY,CAAC;AAuClC;IACE,mBACU,cAAsB,EACtB,OAAgB;QADhB,mBAAc,GAAd,cAAc,CAAQ;QACtB,YAAO,GAAP,OAAO,CAAS;IACvB,CAAC;IAEE,0BAAM,GAAZ,UACE,UAAkB,EAClB,MAA4B;;;gBAE5B,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CACrB,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAC7B,MAAM,CACP,EAAC;;;KACH;IAEK,4BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAA0B,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACvE;IAEO,gCAAY,GAApB,UAAqB,SAAkB;QACrC,OAAO,UAAG,qBAAW,CAAC,YAAY,cAAI,IAAI,CAAC,cAAc,SACvD,SAAS,CAAC,YAAY,SACrB,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAE,CAAC;IAC1E,CAAC;IAED,sBAAW,yBAAY;aAAvB;YACE,OAAO,YAAY,CAAC;QACtB,CAAC;;;OAAA;IACH,gBAAC;AAAD,CAAC,AA7BD,IA6BC"} \ No newline at end of file diff --git a/lib/Typesense/Preset.js b/lib/Typesense/Preset.js deleted file mode 100644 index 1f9f7d84..00000000 --- a/lib/Typesense/Preset.js +++ /dev/null @@ -1,30 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var Presets_1 = tslib_1.__importDefault(require("./Presets")); -var Preset = /** @class */ (function () { - function Preset(presetId, apiCall) { - this.presetId = presetId; - this.apiCall = apiCall; - } - Preset.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - Preset.prototype.delete = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.delete(this.endpointPath())]; - }); - }); - }; - Preset.prototype.endpointPath = function () { - return "".concat(Presets_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.presetId)); - }; - return Preset; -}()); -exports.default = Preset; -//# sourceMappingURL=Preset.js.map \ No newline at end of file diff --git a/lib/Typesense/Preset.js.map b/lib/Typesense/Preset.js.map deleted file mode 100644 index a1d77dcb..00000000 --- a/lib/Typesense/Preset.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Preset.js","sourceRoot":"","sources":["../../src/Typesense/Preset.ts"],"names":[],"mappings":";;;AACA,8DAAwD;AAUxD;IACE,gBAAoB,QAAgB,EAAU,OAAgB;QAA1C,aAAQ,GAAR,QAAQ,CAAQ;QAAU,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAE5D,yBAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAe,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KAC5D;IAEK,uBAAM,GAAZ;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAqB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACrE;IAEO,6BAAY,GAApB;QACE,OAAO,UAAG,iBAAO,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAE,CAAC;IACxE,CAAC;IACH,aAAC;AAAD,CAAC,AAdD,IAcC"} \ No newline at end of file diff --git a/lib/Typesense/Presets.js b/lib/Typesense/Presets.js deleted file mode 100644 index 47195e85..00000000 --- a/lib/Typesense/Presets.js +++ /dev/null @@ -1,36 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var RESOURCEPATH = "/presets"; -var Presets = /** @class */ (function () { - function Presets(apiCall) { - this.apiCall = apiCall; - } - Presets.prototype.upsert = function (presetId, params) { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.put(this.endpointPath(presetId), params)]; - }); - }); - }; - Presets.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - Presets.prototype.endpointPath = function (operation) { - return "".concat(Presets.RESOURCEPATH).concat(operation === undefined ? "" : "/" + encodeURIComponent(operation)); - }; - Object.defineProperty(Presets, "RESOURCEPATH", { - get: function () { - return RESOURCEPATH; - }, - enumerable: false, - configurable: true - }); - return Presets; -}()); -exports.default = Presets; -//# sourceMappingURL=Presets.js.map \ No newline at end of file diff --git a/lib/Typesense/Presets.js.map b/lib/Typesense/Presets.js.map deleted file mode 100644 index 43db42d6..00000000 --- a/lib/Typesense/Presets.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Presets.js","sourceRoot":"","sources":["../../src/Typesense/Presets.ts"],"names":[],"mappings":";;;AAKA,IAAM,YAAY,GAAG,UAAU,CAAC;AAUhC;IACE,iBAAoB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAElC,wBAAM,GAAZ,UACE,QAAgB,EAChB,MAA0B;;;gBAE1B,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAe,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,EAAC;;;KAC5E;IAEK,0BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAwB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACrE;IAEO,8BAAY,GAApB,UAAqB,SAAkB;QACrC,OAAO,UAAG,OAAO,CAAC,YAAY,SAC5B,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAClE,CAAC;IACL,CAAC;IAED,sBAAW,uBAAY;aAAvB;YACE,OAAO,YAAY,CAAC;QACtB,CAAC;;;OAAA;IACH,cAAC;AAAD,CAAC,AAvBD,IAuBC"} \ No newline at end of file diff --git a/lib/Typesense/Stopword.js b/lib/Typesense/Stopword.js deleted file mode 100644 index 83547225..00000000 --- a/lib/Typesense/Stopword.js +++ /dev/null @@ -1,30 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var Stopwords_1 = tslib_1.__importDefault(require("./Stopwords")); -var Stopword = /** @class */ (function () { - function Stopword(stopwordId, apiCall) { - this.stopwordId = stopwordId; - this.apiCall = apiCall; - } - Stopword.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - Stopword.prototype.delete = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.delete(this.endpointPath())]; - }); - }); - }; - Stopword.prototype.endpointPath = function () { - return "".concat(Stopwords_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.stopwordId)); - }; - return Stopword; -}()); -exports.default = Stopword; -//# sourceMappingURL=Stopword.js.map \ No newline at end of file diff --git a/lib/Typesense/Stopword.js.map b/lib/Typesense/Stopword.js.map deleted file mode 100644 index 9523cdce..00000000 --- a/lib/Typesense/Stopword.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Stopword.js","sourceRoot":"","sources":["../../src/Typesense/Stopword.ts"],"names":[],"mappings":";;;AACA,kEAA8D;AAY9D;IACE,kBACU,UAAkB,EAClB,OAAgB;QADhB,eAAU,GAAV,UAAU,CAAQ;QAClB,YAAO,GAAP,OAAO,CAAS;IACvB,CAAC;IAEE,2BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAiB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KAC9D;IAEK,yBAAM,GAAZ;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAuB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACvE;IAEO,+BAAY,GAApB;QACE,OAAO,UAAG,mBAAS,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAE,CAAC;IAC5E,CAAC;IACH,eAAC;AAAD,CAAC,AAjBD,IAiBC"} \ No newline at end of file diff --git a/lib/Typesense/Stopwords.js b/lib/Typesense/Stopwords.js deleted file mode 100644 index 6caff949..00000000 --- a/lib/Typesense/Stopwords.js +++ /dev/null @@ -1,36 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var RESOURCEPATH = "/stopwords"; -var Stopwords = /** @class */ (function () { - function Stopwords(apiCall) { - this.apiCall = apiCall; - } - Stopwords.prototype.upsert = function (stopwordId, params) { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.put(this.endpointPath(stopwordId), params)]; - }); - }); - }; - Stopwords.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - Stopwords.prototype.endpointPath = function (operation) { - return "".concat(Stopwords.RESOURCEPATH).concat(operation === undefined ? "" : "/" + encodeURIComponent(operation)); - }; - Object.defineProperty(Stopwords, "RESOURCEPATH", { - get: function () { - return RESOURCEPATH; - }, - enumerable: false, - configurable: true - }); - return Stopwords; -}()); -exports.default = Stopwords; -//# sourceMappingURL=Stopwords.js.map \ No newline at end of file diff --git a/lib/Typesense/Stopwords.js.map b/lib/Typesense/Stopwords.js.map deleted file mode 100644 index f02de760..00000000 --- a/lib/Typesense/Stopwords.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Stopwords.js","sourceRoot":"","sources":["../../src/Typesense/Stopwords.ts"],"names":[],"mappings":";;;AAGA,IAAM,YAAY,GAAG,YAAY,CAAC;AAWlC;IACE,mBAAoB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAElC,0BAAM,GAAZ,UACE,UAAkB,EAClB,MAA4B;;;gBAE5B,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CACrB,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAC7B,MAAM,CACP,EAAC;;;KACH;IAEK,4BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAA0B,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACvE;IAEO,gCAAY,GAApB,UAAqB,SAAkB;QACrC,OAAO,UAAG,SAAS,CAAC,YAAY,SAC9B,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAClE,CAAC;IACL,CAAC;IAED,sBAAW,yBAAY;aAAvB;YACE,OAAO,YAAY,CAAC;QACtB,CAAC;;;OAAA;IACH,gBAAC;AAAD,CAAC,AA1BD,IA0BC"} \ No newline at end of file diff --git a/lib/Typesense/Synonym.js b/lib/Typesense/Synonym.js deleted file mode 100644 index fb4830a7..00000000 --- a/lib/Typesense/Synonym.js +++ /dev/null @@ -1,32 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var Collections_1 = tslib_1.__importDefault(require("./Collections")); -var Synonyms_1 = tslib_1.__importDefault(require("./Synonyms")); -var Synonym = /** @class */ (function () { - function Synonym(collectionName, synonymId, apiCall) { - this.collectionName = collectionName; - this.synonymId = synonymId; - this.apiCall = apiCall; - } - Synonym.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - Synonym.prototype.delete = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.delete(this.endpointPath())]; - }); - }); - }; - Synonym.prototype.endpointPath = function () { - return "".concat(Collections_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.collectionName)).concat(Synonyms_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.synonymId)); - }; - return Synonym; -}()); -exports.default = Synonym; -//# sourceMappingURL=Synonym.js.map \ No newline at end of file diff --git a/lib/Typesense/Synonym.js.map b/lib/Typesense/Synonym.js.map deleted file mode 100644 index 1278adf2..00000000 --- a/lib/Typesense/Synonym.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Synonym.js","sourceRoot":"","sources":["../../src/Typesense/Synonym.ts"],"names":[],"mappings":";;;AACA,sEAAwC;AACxC,gEAA2D;AAU3D;IACE,iBACU,cAAsB,EACtB,SAAiB,EACjB,OAAgB;QAFhB,mBAAc,GAAd,cAAc,CAAQ;QACtB,cAAS,GAAT,SAAS,CAAQ;QACjB,YAAO,GAAP,OAAO,CAAS;IACvB,CAAC;IAEE,0BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAgB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KAC7D;IAEK,wBAAM,GAAZ;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAsB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACtE;IAEO,8BAAY,GAApB;QACE,OAAO,UAAG,qBAAW,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,SAAG,kBAAQ,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAE,CAAC;IAChJ,CAAC;IACH,cAAC;AAAD,CAAC,AAlBD,IAkBC"} \ No newline at end of file diff --git a/lib/Typesense/Synonyms.js b/lib/Typesense/Synonyms.js deleted file mode 100644 index cef6cb72..00000000 --- a/lib/Typesense/Synonyms.js +++ /dev/null @@ -1,38 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var Collections_1 = tslib_1.__importDefault(require("./Collections")); -var RESOURCEPATH = "/synonyms"; -var Synonyms = /** @class */ (function () { - function Synonyms(collectionName, apiCall) { - this.collectionName = collectionName; - this.apiCall = apiCall; - } - Synonyms.prototype.upsert = function (synonymId, params) { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.put(this.endpointPath(synonymId), params)]; - }); - }); - }; - Synonyms.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - Synonyms.prototype.endpointPath = function (operation) { - return "".concat(Collections_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.collectionName)).concat(Synonyms.RESOURCEPATH).concat(operation === undefined ? "" : "/" + encodeURIComponent(operation)); - }; - Object.defineProperty(Synonyms, "RESOURCEPATH", { - get: function () { - return RESOURCEPATH; - }, - enumerable: false, - configurable: true - }); - return Synonyms; -}()); -exports.default = Synonyms; -//# sourceMappingURL=Synonyms.js.map \ No newline at end of file diff --git a/lib/Typesense/Synonyms.js.map b/lib/Typesense/Synonyms.js.map deleted file mode 100644 index 08c256ac..00000000 --- a/lib/Typesense/Synonyms.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Synonyms.js","sourceRoot":"","sources":["../../src/Typesense/Synonyms.ts"],"names":[],"mappings":";;;AACA,sEAAwC;AAGxC,IAAM,YAAY,GAAG,WAAW,CAAC;AAajC;IACE,kBAAoB,cAAsB,EAAU,OAAgB;QAAhD,mBAAc,GAAd,cAAc,CAAQ;QAAU,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAElE,yBAAM,GAAZ,UACE,SAAiB,EACjB,MAA2B;;;gBAE3B,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CACrB,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAC5B,MAAM,CACP,EAAC;;;KACH;IAEK,2BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAyB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACtE;IAEO,+BAAY,GAApB,UAAqB,SAAkB;QACrC,OAAO,UAAG,qBAAW,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,SAC3E,QAAQ,CAAC,YAAY,SACpB,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAE,CAAC;IAC1E,CAAC;IAED,sBAAW,wBAAY;aAAvB;YACE,OAAO,YAAY,CAAC;QACtB,CAAC;;;OAAA;IACH,eAAC;AAAD,CAAC,AA1BD,IA0BC"} \ No newline at end of file diff --git a/package.json b/package.json index 122d01d6..8e0026cb 100644 --- a/package.json +++ b/package.json @@ -107,7 +107,6 @@ "scripts": { "format": "prettier --write \"(src|test|doc)/**/*.(ts|json|js)\"", "pretest": "eslint .", - "prepare": "npm run build", "test": "nyc --reporter=html --reporter=text ts-mocha --require @babel/register --recursive", "build": "tsup", "build:tsc": "tsc", From faa10f30125918f07bc37c69da1ed75b7028d340 Mon Sep 17 00:00:00 2001 From: Fanis Tharropoulos Date: Thu, 5 Sep 2024 19:59:59 +0300 Subject: [PATCH 21/21] build: remove old build artifacts --- dist/typesense.js | 10588 ---------------------- dist/typesense.js.map | 1 - dist/typesense.min.js | 3 - dist/typesense.min.js.map | 1 - lib/Typesense/Alias.js | 30 - lib/Typesense/Alias.js.map | 1 - lib/Typesense/Aliases.js | 36 - lib/Typesense/Aliases.js.map | 1 - lib/Typesense/AnalyticsEvents.js | 30 - lib/Typesense/AnalyticsEvents.js.map | 1 - lib/Typesense/AnalyticsRule.js | 30 - lib/Typesense/AnalyticsRule.js.map | 1 - lib/Typesense/AnalyticsRules.js | 37 - lib/Typesense/AnalyticsRules.js.map | 1 - lib/Typesense/Collection.js | 108 - lib/Typesense/Collection.js.map | 1 - lib/Typesense/Conversation.js | 37 - lib/Typesense/Conversation.js.map | 1 - lib/Typesense/ConversationModel.js | 37 - lib/Typesense/ConversationModel.js.map | 1 - lib/Typesense/ConversationModels.js | 37 - lib/Typesense/ConversationModels.js.map | 1 - lib/Typesense/Document.js | 41 - lib/Typesense/Document.js.map | 1 - lib/Typesense/Documents.d.ts | 242 - lib/Typesense/Documents.js.map | 1 - lib/Typesense/Key.js | 30 - lib/Typesense/Key.js.map | 1 - lib/Typesense/Override.js | 32 - lib/Typesense/Override.js.map | 1 - lib/Typesense/Overrides.js | 38 - lib/Typesense/Overrides.js.map | 1 - lib/Typesense/Preset.js | 30 - lib/Typesense/Preset.js.map | 1 - lib/Typesense/Presets.js | 36 - lib/Typesense/Presets.js.map | 1 - lib/Typesense/Stopword.js | 30 - lib/Typesense/Stopword.js.map | 1 - lib/Typesense/Stopwords.js | 36 - lib/Typesense/Stopwords.js.map | 1 - lib/Typesense/Synonym.js | 32 - lib/Typesense/Synonym.js.map | 1 - lib/Typesense/Synonyms.js | 38 - lib/Typesense/Synonyms.js.map | 1 - 44 files changed, 11580 deletions(-) delete mode 100644 dist/typesense.js delete mode 100644 dist/typesense.js.map delete mode 100644 dist/typesense.min.js delete mode 100644 dist/typesense.min.js.map delete mode 100644 lib/Typesense/Alias.js delete mode 100644 lib/Typesense/Alias.js.map delete mode 100644 lib/Typesense/Aliases.js delete mode 100644 lib/Typesense/Aliases.js.map delete mode 100644 lib/Typesense/AnalyticsEvents.js delete mode 100644 lib/Typesense/AnalyticsEvents.js.map delete mode 100644 lib/Typesense/AnalyticsRule.js delete mode 100644 lib/Typesense/AnalyticsRule.js.map delete mode 100644 lib/Typesense/AnalyticsRules.js delete mode 100644 lib/Typesense/AnalyticsRules.js.map delete mode 100644 lib/Typesense/Collection.js delete mode 100644 lib/Typesense/Collection.js.map delete mode 100644 lib/Typesense/Conversation.js delete mode 100644 lib/Typesense/Conversation.js.map delete mode 100644 lib/Typesense/ConversationModel.js delete mode 100644 lib/Typesense/ConversationModel.js.map delete mode 100644 lib/Typesense/ConversationModels.js delete mode 100644 lib/Typesense/ConversationModels.js.map delete mode 100644 lib/Typesense/Document.js delete mode 100644 lib/Typesense/Document.js.map delete mode 100644 lib/Typesense/Documents.d.ts delete mode 100644 lib/Typesense/Documents.js.map delete mode 100644 lib/Typesense/Key.js delete mode 100644 lib/Typesense/Key.js.map delete mode 100644 lib/Typesense/Override.js delete mode 100644 lib/Typesense/Override.js.map delete mode 100644 lib/Typesense/Overrides.js delete mode 100644 lib/Typesense/Overrides.js.map delete mode 100644 lib/Typesense/Preset.js delete mode 100644 lib/Typesense/Preset.js.map delete mode 100644 lib/Typesense/Presets.js delete mode 100644 lib/Typesense/Presets.js.map delete mode 100644 lib/Typesense/Stopword.js delete mode 100644 lib/Typesense/Stopword.js.map delete mode 100644 lib/Typesense/Stopwords.js delete mode 100644 lib/Typesense/Stopwords.js.map delete mode 100644 lib/Typesense/Synonym.js delete mode 100644 lib/Typesense/Synonym.js.map delete mode 100644 lib/Typesense/Synonyms.js delete mode 100644 lib/Typesense/Synonyms.js.map diff --git a/dist/typesense.js b/dist/typesense.js deleted file mode 100644 index d104c69e..00000000 --- a/dist/typesense.js +++ /dev/null @@ -1,10588 +0,0 @@ -var Typesense; -/******/ (() => { // webpackBootstrap -/******/ var __webpack_modules__ = ({ - -/***/ "./src/Typesense/Alias.ts": -/*!********************************!*\ - !*** ./src/Typesense/Alias.ts ***! - \********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Alias) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _Aliases__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Aliases */ "./src/Typesense/Aliases.ts"); - - - - - -var Alias = /*#__PURE__*/function () { - function Alias(name, apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Alias); - this.name = name; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Alias, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "delete", - value: function () { - var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.delete(this.endpointPath())); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function _delete() { - return _delete2.apply(this, arguments); - } - return _delete; - }() - }, { - key: "endpointPath", - value: function endpointPath() { - return "".concat(_Aliases__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.name)); - } - }]); - return Alias; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Aliases.ts": -/*!**********************************!*\ - !*** ./src/Typesense/Aliases.ts ***! - \**********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Aliases) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); - - - - -var RESOURCEPATH = "/aliases"; -var Aliases = /*#__PURE__*/function () { - function Aliases(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Aliases); - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Aliases, [{ - key: "upsert", - value: function () { - var _upsert = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(name, mapping) { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.put(this.endpointPath(name), mapping)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function upsert(_x, _x2) { - return _upsert.apply(this, arguments); - } - return upsert; - }() - }, { - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.get(RESOURCEPATH)); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "endpointPath", - value: function endpointPath(aliasName) { - return "".concat(Aliases.RESOURCEPATH, "/").concat(encodeURIComponent(aliasName)); - } - }], [{ - key: "RESOURCEPATH", - get: function get() { - return RESOURCEPATH; - } - }]); - return Aliases; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Analytics.ts": -/*!************************************!*\ - !*** ./src/Typesense/Analytics.ts ***! - \************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Analytics) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js"); -/* harmony import */ var _AnalyticsRules__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./AnalyticsRules */ "./src/Typesense/AnalyticsRules.ts"); -/* harmony import */ var _AnalyticsRule__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./AnalyticsRule */ "./src/Typesense/AnalyticsRule.ts"); -/* harmony import */ var _AnalyticsEvents__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./AnalyticsEvents */ "./src/Typesense/AnalyticsEvents.ts"); - - - - - - -var RESOURCEPATH = "/analytics"; -var Analytics = /*#__PURE__*/function () { - function Analytics(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__["default"])(this, Analytics); - (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__["default"])(this, "individualAnalyticsRules", {}); - this.apiCall = apiCall; - this.apiCall = apiCall; - this._analyticsRules = new _AnalyticsRules__WEBPACK_IMPORTED_MODULE_3__["default"](this.apiCall); - this._analyticsEvents = new _AnalyticsEvents__WEBPACK_IMPORTED_MODULE_5__["default"](this.apiCall); - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__["default"])(Analytics, [{ - key: "rules", - value: function rules(id) { - if (id === undefined) { - return this._analyticsRules; - } else { - if (this.individualAnalyticsRules[id] === undefined) { - this.individualAnalyticsRules[id] = new _AnalyticsRule__WEBPACK_IMPORTED_MODULE_4__["default"](id, this.apiCall); - } - return this.individualAnalyticsRules[id]; - } - } - }, { - key: "events", - value: function events() { - return this._analyticsEvents; - } - }], [{ - key: "RESOURCEPATH", - get: function get() { - return RESOURCEPATH; - } - }]); - return Analytics; -}(); - - -/***/ }), - -/***/ "./src/Typesense/AnalyticsEvents.ts": -/*!******************************************!*\ - !*** ./src/Typesense/AnalyticsEvents.ts ***! - \******************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ AnalyticsEvents) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); - - - - -var RESOURCEPATH = "/analytics/events"; -var AnalyticsEvents = /*#__PURE__*/function () { - function AnalyticsEvents(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, AnalyticsEvents); - this.apiCall = apiCall; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(AnalyticsEvents, [{ - key: "create", - value: function () { - var _create = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(params) { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.post(this.endpointPath(), params)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function create(_x) { - return _create.apply(this, arguments); - } - return create; - }() - }, { - key: "endpointPath", - value: function endpointPath(operation) { - return "".concat(AnalyticsEvents.RESOURCEPATH).concat(operation === undefined ? "" : "/" + encodeURIComponent(operation)); - } - }], [{ - key: "RESOURCEPATH", - get: function get() { - return RESOURCEPATH; - } - }]); - return AnalyticsEvents; -}(); - - -/***/ }), - -/***/ "./src/Typesense/AnalyticsRule.ts": -/*!****************************************!*\ - !*** ./src/Typesense/AnalyticsRule.ts ***! - \****************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ AnalyticsRule) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _AnalyticsRules__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./AnalyticsRules */ "./src/Typesense/AnalyticsRules.ts"); - - - - - -var AnalyticsRule = /*#__PURE__*/function () { - function AnalyticsRule(name, apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, AnalyticsRule); - this.name = name; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(AnalyticsRule, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "delete", - value: function () { - var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.delete(this.endpointPath())); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function _delete() { - return _delete2.apply(this, arguments); - } - return _delete; - }() - }, { - key: "endpointPath", - value: function endpointPath() { - return "".concat(_AnalyticsRules__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.name)); - } - }]); - return AnalyticsRule; -}(); - - -/***/ }), - -/***/ "./src/Typesense/AnalyticsRules.ts": -/*!*****************************************!*\ - !*** ./src/Typesense/AnalyticsRules.ts ***! - \*****************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ AnalyticsRules) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); - - - - -var RESOURCEPATH = "/analytics/rules"; -var AnalyticsRules = /*#__PURE__*/function () { - function AnalyticsRules(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, AnalyticsRules); - this.apiCall = apiCall; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(AnalyticsRules, [{ - key: "upsert", - value: function () { - var _upsert = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(name, params) { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.put(this.endpointPath(name), params)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function upsert(_x, _x2) { - return _upsert.apply(this, arguments); - } - return upsert; - }() - }, { - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "endpointPath", - value: function endpointPath(operation) { - return "".concat(AnalyticsRules.RESOURCEPATH).concat(operation === undefined ? "" : "/" + encodeURIComponent(operation)); - } - }], [{ - key: "RESOURCEPATH", - get: function get() { - return RESOURCEPATH; - } - }]); - return AnalyticsRules; -}(); - - -/***/ }), - -/***/ "./src/Typesense/ApiCall.ts": -/*!**********************************!*\ - !*** ./src/Typesense/ApiCall.ts ***! - \**********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ ApiCall) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "./node_modules/@babel/runtime/helpers/esm/typeof.js"); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! axios */ "./node_modules/axios/lib/axios.js"); -/* harmony import */ var _Errors__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Errors */ "./src/Typesense/Errors/index.ts"); -/* harmony import */ var _Errors_TypesenseError__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Errors/TypesenseError */ "./src/Typesense/Errors/TypesenseError.ts"); -/* harmony import */ var http__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! http */ "?e89d"); -/* harmony import */ var http__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(http__WEBPACK_IMPORTED_MODULE_7__); -/* harmony import */ var https__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! https */ "?77e4"); -/* harmony import */ var https__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(https__WEBPACK_IMPORTED_MODULE_8__); - - - - - - - - - - -var APIKEYHEADERNAME = "X-TYPESENSE-API-KEY"; -var HEALTHY = true; -var UNHEALTHY = false; -var isNodeJSEnvironment = typeof process !== "undefined" && process.versions != null && process.versions.node != null; -var ApiCall = /*#__PURE__*/function () { - function ApiCall(configuration) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__["default"])(this, ApiCall); - this.configuration = configuration; - this.apiKey = this.configuration.apiKey; - this.nodes = this.configuration.nodes == null ? this.configuration.nodes : JSON.parse(JSON.stringify(this.configuration.nodes)); // Make a copy, since we'll be adding additional metadata to the nodes - this.nearestNode = this.configuration.nearestNode == null ? this.configuration.nearestNode : JSON.parse(JSON.stringify(this.configuration.nearestNode)); - this.connectionTimeoutSeconds = this.configuration.connectionTimeoutSeconds; - this.healthcheckIntervalSeconds = this.configuration.healthcheckIntervalSeconds; - this.numRetriesPerRequest = this.configuration.numRetries; - this.retryIntervalSeconds = this.configuration.retryIntervalSeconds; - this.sendApiKeyAsQueryParam = this.configuration.sendApiKeyAsQueryParam; - this.additionalUserHeaders = this.configuration.additionalHeaders; - this.logger = this.configuration.logger; - this.initializeMetadataForNodes(); - this.currentNodeIndex = -1; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__["default"])(ApiCall, [{ - key: "get", - value: function () { - var _get = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee(endpoint) { - var queryParameters, - _ref, - _ref$abortSignal, - abortSignal, - _ref$responseType, - responseType, - _args = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - queryParameters = _args.length > 1 && _args[1] !== undefined ? _args[1] : {}; - _ref = _args.length > 2 && _args[2] !== undefined ? _args[2] : {}, _ref$abortSignal = _ref.abortSignal, abortSignal = _ref$abortSignal === void 0 ? null : _ref$abortSignal, _ref$responseType = _ref.responseType, responseType = _ref$responseType === void 0 ? undefined : _ref$responseType; - return _context.abrupt("return", this.performRequest("get", endpoint, { - queryParameters: queryParameters, - abortSignal: abortSignal, - responseType: responseType - })); - case 3: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function get(_x) { - return _get.apply(this, arguments); - } - return get; - }() - }, { - key: "delete", - value: function () { - var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee2(endpoint) { - var queryParameters, - _args2 = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - queryParameters = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : {}; - return _context2.abrupt("return", this.performRequest("delete", endpoint, { - queryParameters: queryParameters - })); - case 2: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function _delete(_x2) { - return _delete2.apply(this, arguments); - } - return _delete; - }() - }, { - key: "post", - value: function () { - var _post = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee3(endpoint) { - var bodyParameters, - queryParameters, - additionalHeaders, - _args3 = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee3$(_context3) { - while (1) switch (_context3.prev = _context3.next) { - case 0: - bodyParameters = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : {}; - queryParameters = _args3.length > 2 && _args3[2] !== undefined ? _args3[2] : {}; - additionalHeaders = _args3.length > 3 && _args3[3] !== undefined ? _args3[3] : {}; - return _context3.abrupt("return", this.performRequest("post", endpoint, { - queryParameters: queryParameters, - bodyParameters: bodyParameters, - additionalHeaders: additionalHeaders - })); - case 4: - case "end": - return _context3.stop(); - } - }, _callee3, this); - })); - function post(_x3) { - return _post.apply(this, arguments); - } - return post; - }() - }, { - key: "put", - value: function () { - var _put = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee4(endpoint) { - var bodyParameters, - queryParameters, - _args4 = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee4$(_context4) { - while (1) switch (_context4.prev = _context4.next) { - case 0: - bodyParameters = _args4.length > 1 && _args4[1] !== undefined ? _args4[1] : {}; - queryParameters = _args4.length > 2 && _args4[2] !== undefined ? _args4[2] : {}; - return _context4.abrupt("return", this.performRequest("put", endpoint, { - queryParameters: queryParameters, - bodyParameters: bodyParameters - })); - case 3: - case "end": - return _context4.stop(); - } - }, _callee4, this); - })); - function put(_x4) { - return _put.apply(this, arguments); - } - return put; - }() - }, { - key: "patch", - value: function () { - var _patch = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee5(endpoint) { - var bodyParameters, - queryParameters, - _args5 = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee5$(_context5) { - while (1) switch (_context5.prev = _context5.next) { - case 0: - bodyParameters = _args5.length > 1 && _args5[1] !== undefined ? _args5[1] : {}; - queryParameters = _args5.length > 2 && _args5[2] !== undefined ? _args5[2] : {}; - return _context5.abrupt("return", this.performRequest("patch", endpoint, { - queryParameters: queryParameters, - bodyParameters: bodyParameters - })); - case 3: - case "end": - return _context5.stop(); - } - }, _callee5, this); - })); - function patch(_x5) { - return _patch.apply(this, arguments); - } - return patch; - }() - }, { - key: "performRequest", - value: function () { - var _performRequest = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee6(requestType, endpoint, _ref2) { - var _this = this; - var _ref2$queryParameters, queryParameters, _ref2$bodyParameters, bodyParameters, _ref2$additionalHeade, additionalHeaders, _ref2$abortSignal, abortSignal, _ref2$responseType, responseType, _ref2$skipConnectionT, skipConnectionTimeout, _ref2$enableKeepAlive, enableKeepAlive, requestNumber, lastException, _loop, _ret, numTries; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee6$(_context7) { - while (1) switch (_context7.prev = _context7.next) { - case 0: - _ref2$queryParameters = _ref2.queryParameters, queryParameters = _ref2$queryParameters === void 0 ? null : _ref2$queryParameters, _ref2$bodyParameters = _ref2.bodyParameters, bodyParameters = _ref2$bodyParameters === void 0 ? null : _ref2$bodyParameters, _ref2$additionalHeade = _ref2.additionalHeaders, additionalHeaders = _ref2$additionalHeade === void 0 ? {} : _ref2$additionalHeade, _ref2$abortSignal = _ref2.abortSignal, abortSignal = _ref2$abortSignal === void 0 ? null : _ref2$abortSignal, _ref2$responseType = _ref2.responseType, responseType = _ref2$responseType === void 0 ? undefined : _ref2$responseType, _ref2$skipConnectionT = _ref2.skipConnectionTimeout, skipConnectionTimeout = _ref2$skipConnectionT === void 0 ? false : _ref2$skipConnectionT, _ref2$enableKeepAlive = _ref2.enableKeepAlive, enableKeepAlive = _ref2$enableKeepAlive === void 0 ? undefined : _ref2$enableKeepAlive; - this.configuration.validate(); - requestNumber = Date.now(); - this.logger.debug("Request #".concat(requestNumber, ": Performing ").concat(requestType.toUpperCase(), " request: ").concat(endpoint)); - _loop = /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _loop() { - var node, abortListener, requestOptions, cancelToken, source, response, _response$data, _response$data2, _error$response; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _loop$(_context6) { - while (1) switch (_context6.prev = _context6.next) { - case 0: - node = _this.getNextNode(requestNumber); - _this.logger.debug("Request #".concat(requestNumber, ": Attempting ").concat(requestType.toUpperCase(), " request Try #").concat(numTries, " to Node ").concat(node.index)); - if (!(abortSignal && abortSignal.aborted)) { - _context6.next = 4; - break; - } - return _context6.abrupt("return", { - v: Promise.reject(new Error("Request aborted by caller.")) - }); - case 4: - _context6.prev = 4; - requestOptions = { - method: requestType, - url: _this.uriFor(endpoint, node), - headers: Object.assign({}, _this.defaultHeaders(), additionalHeaders, _this.additionalUserHeaders), - maxContentLength: Infinity, - maxBodyLength: Infinity, - responseType: responseType, - validateStatus: function validateStatus(status) { - /* Override default validateStatus, which only considers 2xx a success. - In our case, if the server returns any HTTP code, we will handle it below. - We do this to be able to raise custom errors based on response code. - */ - return status > 0; - }, - transformResponse: [function (data, headers) { - var transformedData = data; - if (headers !== undefined && typeof data === "string" && headers["content-type"] && headers["content-type"].startsWith("application/json")) { - transformedData = JSON.parse(data); - } - return transformedData; - }] - }; - if (skipConnectionTimeout !== true) { - requestOptions.timeout = _this.connectionTimeoutSeconds * 1000; - } - if (queryParameters && Object.keys(queryParameters).length !== 0) { - requestOptions.params = queryParameters; - } - if (_this.sendApiKeyAsQueryParam) { - requestOptions.params = requestOptions.params || {}; - requestOptions.params["x-typesense-api-key"] = _this.apiKey; - } - if (_this.configuration.httpAgent) { - _this.logger.debug("Request #".concat(requestNumber, ": Using custom httpAgent")); - requestOptions.httpAgent = _this.configuration.httpAgent; - } else if (enableKeepAlive === true) { - if (!isNodeJSEnvironment) { - _this.logger.warn("Request #".concat(requestNumber, ": Cannot use custom httpAgent in a browser environment to enable keepAlive")); - } else { - _this.logger.debug("Request #".concat(requestNumber, ": Enabling KeepAlive")); - requestOptions.httpAgent = new http__WEBPACK_IMPORTED_MODULE_7__.Agent({ - keepAlive: true - }); - } - } - if (_this.configuration.httpsAgent) { - _this.logger.debug("Request #".concat(requestNumber, ": Using custom httpsAgent")); - requestOptions.httpsAgent = _this.configuration.httpsAgent; - } else if (enableKeepAlive === true) { - if (!isNodeJSEnvironment) { - _this.logger.warn("Request #".concat(requestNumber, ": Cannot use custom httpAgent in a browser environment to enable keepAlive")); - } else { - _this.logger.debug("Request #".concat(requestNumber, ": Enabling keepAlive")); - requestOptions.httpsAgent = new https__WEBPACK_IMPORTED_MODULE_8__.Agent({ - keepAlive: true - }); - } - } - if (_this.configuration.paramsSerializer) { - _this.logger.debug("Request #".concat(requestNumber, ": Using custom paramsSerializer")); - requestOptions.paramsSerializer = _this.configuration.paramsSerializer; - } - if (bodyParameters && (typeof bodyParameters === "string" && bodyParameters.length !== 0 || (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__["default"])(bodyParameters) === "object" && Object.keys(bodyParameters).length !== 0)) { - requestOptions.data = bodyParameters; - } - - // Translate from user-provided AbortController to the Axios request cancel mechanism. - if (abortSignal) { - cancelToken = axios__WEBPACK_IMPORTED_MODULE_9__["default"].CancelToken; - source = cancelToken.source(); - abortListener = function abortListener() { - return source.cancel(); - }; - abortSignal.addEventListener("abort", abortListener); - requestOptions.cancelToken = source.token; - } - _context6.next = 16; - return (0,axios__WEBPACK_IMPORTED_MODULE_9__["default"])(requestOptions); - case 16: - response = _context6.sent; - if (response.status >= 1 && response.status <= 499) { - // Treat any status code > 0 and < 500 to be an indication that node is healthy - // We exclude 0 since some clients return 0 when request fails - _this.setNodeHealthcheck(node, HEALTHY); - } - _this.logger.debug("Request #".concat(requestNumber, ": Request to Node ").concat(node.index, " was made. Response Code was ").concat(response.status, ".")); - if (!(response.status >= 200 && response.status < 300)) { - _context6.next = 23; - break; - } - return _context6.abrupt("return", { - v: Promise.resolve(response.data) - }); - case 23: - if (!(response.status < 500)) { - _context6.next = 27; - break; - } - return _context6.abrupt("return", { - v: Promise.reject(_this.customErrorForResponse(response, (_response$data = response.data) === null || _response$data === void 0 ? void 0 : _response$data.message)) - }); - case 27: - throw _this.customErrorForResponse(response, (_response$data2 = response.data) === null || _response$data2 === void 0 ? void 0 : _response$data2.message); - case 28: - _context6.next = 38; - break; - case 30: - _context6.prev = 30; - _context6.t0 = _context6["catch"](4); - // This block handles retries for HTTPStatus > 500 and network layer issues like connection timeouts - _this.setNodeHealthcheck(node, UNHEALTHY); - lastException = _context6.t0; - _this.logger.warn("Request #".concat(requestNumber, ": Request to Node ").concat(node.index, " failed due to \"").concat(_context6.t0.code, " ").concat(_context6.t0.message).concat(_context6.t0.response == null ? "" : " - " + JSON.stringify((_error$response = _context6.t0.response) === null || _error$response === void 0 ? void 0 : _error$response.data), "\"")); - // this.logger.debug(error.stack) - _this.logger.warn("Request #".concat(requestNumber, ": Sleeping for ").concat(_this.retryIntervalSeconds, "s and then retrying request...")); - _context6.next = 38; - return _this.timer(_this.retryIntervalSeconds); - case 38: - _context6.prev = 38; - if (abortSignal && abortListener) { - abortSignal.removeEventListener("abort", abortListener); - } - return _context6.finish(38); - case 41: - case "end": - return _context6.stop(); - } - }, _loop, null, [[4, 30, 38, 41]]); - }); - numTries = 1; - case 6: - if (!(numTries <= this.numRetriesPerRequest + 1)) { - _context7.next = 14; - break; - } - return _context7.delegateYield(_loop(), "t0", 8); - case 8: - _ret = _context7.t0; - if (!_ret) { - _context7.next = 11; - break; - } - return _context7.abrupt("return", _ret.v); - case 11: - numTries++; - _context7.next = 6; - break; - case 14: - this.logger.debug("Request #".concat(requestNumber, ": No retries left. Raising last error")); - return _context7.abrupt("return", Promise.reject(lastException)); - case 16: - case "end": - return _context7.stop(); - } - }, _callee6, this); - })); - function performRequest(_x6, _x7, _x8) { - return _performRequest.apply(this, arguments); - } - return performRequest; - }() // Attempts to find the next healthy node, looping through the list of nodes once. - // But if no healthy nodes are found, it will just return the next node, even if it's unhealthy - // so we can try the request for good measure, in case that node has become healthy since - }, { - key: "getNextNode", - value: function getNextNode() { - var requestNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; - // Check if nearestNode is set and is healthy, if so return it - if (this.nearestNode != null) { - this.logger.debug("Request #".concat(requestNumber, ": Nodes Health: Node ").concat(this.nearestNode.index, " is ").concat(this.nearestNode.isHealthy === true ? "Healthy" : "Unhealthy")); - if (this.nearestNode.isHealthy === true || this.nodeDueForHealthcheck(this.nearestNode, requestNumber)) { - this.logger.debug("Request #".concat(requestNumber, ": Updated current node to Node ").concat(this.nearestNode.index)); - return this.nearestNode; - } - this.logger.debug("Request #".concat(requestNumber, ": Falling back to individual nodes")); - } - - // Fallback to nodes as usual - this.logger.debug("Request #".concat(requestNumber, ": Nodes Health: ").concat(this.nodes.map(function (node) { - return "Node ".concat(node.index, " is ").concat(node.isHealthy === true ? "Healthy" : "Unhealthy"); - }).join(" || "))); - var candidateNode = this.nodes[0]; - for (var i = 0; i <= this.nodes.length; i++) { - this.currentNodeIndex = (this.currentNodeIndex + 1) % this.nodes.length; - candidateNode = this.nodes[this.currentNodeIndex]; - if (candidateNode.isHealthy === true || this.nodeDueForHealthcheck(candidateNode, requestNumber)) { - this.logger.debug("Request #".concat(requestNumber, ": Updated current node to Node ").concat(candidateNode.index)); - return candidateNode; - } - } - - // None of the nodes are marked healthy, but some of them could have become healthy since last health check. - // So we will just return the next node. - this.logger.debug("Request #".concat(requestNumber, ": No healthy nodes were found. Returning the next node, Node ").concat(candidateNode.index)); - return candidateNode; - } - }, { - key: "nodeDueForHealthcheck", - value: function nodeDueForHealthcheck(node) { - var requestNumber = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; - var isDueForHealthcheck = Date.now() - node.lastAccessTimestamp > this.healthcheckIntervalSeconds * 1000; - if (isDueForHealthcheck) { - this.logger.debug("Request #".concat(requestNumber, ": Node ").concat(node.index, " has exceeded healtcheckIntervalSeconds of ").concat(this.healthcheckIntervalSeconds, ". Adding it back into rotation.")); - } - return isDueForHealthcheck; - } - }, { - key: "initializeMetadataForNodes", - value: function initializeMetadataForNodes() { - var _this2 = this; - if (this.nearestNode != null) { - this.nearestNode.index = "nearestNode"; - this.setNodeHealthcheck(this.nearestNode, HEALTHY); - } - this.nodes.forEach(function (node, i) { - node.index = i; - _this2.setNodeHealthcheck(node, HEALTHY); - }); - } - }, { - key: "setNodeHealthcheck", - value: function setNodeHealthcheck(node, isHealthy) { - node.isHealthy = isHealthy; - node.lastAccessTimestamp = Date.now(); - } - }, { - key: "uriFor", - value: function uriFor(endpoint, node) { - if (node.url != null) { - return "".concat(node.url).concat(endpoint); - } - return "".concat(node.protocol, "://").concat(node.host, ":").concat(node.port).concat(node.path).concat(endpoint); - } - }, { - key: "defaultHeaders", - value: function defaultHeaders() { - var defaultHeaders = {}; - if (!this.sendApiKeyAsQueryParam) { - defaultHeaders[APIKEYHEADERNAME] = this.apiKey; - } - defaultHeaders["Content-Type"] = "application/json"; - return defaultHeaders; - } - }, { - key: "timer", - value: function () { - var _timer = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee7(seconds) { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee7$(_context8) { - while (1) switch (_context8.prev = _context8.next) { - case 0: - return _context8.abrupt("return", new Promise(function (resolve) { - return setTimeout(resolve, seconds * 1000); - })); - case 1: - case "end": - return _context8.stop(); - } - }, _callee7); - })); - function timer(_x9) { - return _timer.apply(this, arguments); - } - return timer; - }() - }, { - key: "customErrorForResponse", - value: function customErrorForResponse(response, messageFromServer) { - var errorMessage = "Request failed with HTTP code ".concat(response.status); - if (typeof messageFromServer === "string" && messageFromServer.trim() !== "") { - errorMessage += " | Server said: ".concat(messageFromServer); - } - var error = new _Errors_TypesenseError__WEBPACK_IMPORTED_MODULE_6__["default"](errorMessage); - if (response.status === 400) { - error = new _Errors__WEBPACK_IMPORTED_MODULE_5__.RequestMalformed(errorMessage); - } else if (response.status === 401) { - error = new _Errors__WEBPACK_IMPORTED_MODULE_5__.RequestUnauthorized(errorMessage); - } else if (response.status === 404) { - error = new _Errors__WEBPACK_IMPORTED_MODULE_5__.ObjectNotFound(errorMessage); - } else if (response.status === 409) { - error = new _Errors__WEBPACK_IMPORTED_MODULE_5__.ObjectAlreadyExists(errorMessage); - } else if (response.status === 422) { - error = new _Errors__WEBPACK_IMPORTED_MODULE_5__.ObjectUnprocessable(errorMessage); - } else if (response.status >= 500 && response.status <= 599) { - error = new _Errors__WEBPACK_IMPORTED_MODULE_5__.ServerError(errorMessage); - } else { - error = new _Errors__WEBPACK_IMPORTED_MODULE_5__.HTTPError(errorMessage); - } - error.httpStatus = response.status; - return error; - } - }]); - return ApiCall; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Client.ts": -/*!*********************************!*\ - !*** ./src/Typesense/Client.ts ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Client) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _Configuration__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Configuration */ "./src/Typesense/Configuration.ts"); -/* harmony import */ var _ApiCall__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ApiCall */ "./src/Typesense/ApiCall.ts"); -/* harmony import */ var _Collections__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Collections */ "./src/Typesense/Collections.ts"); -/* harmony import */ var _Collection__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Collection */ "./src/Typesense/Collection.ts"); -/* harmony import */ var _Aliases__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Aliases */ "./src/Typesense/Aliases.ts"); -/* harmony import */ var _Alias__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Alias */ "./src/Typesense/Alias.ts"); -/* harmony import */ var _Keys__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Keys */ "./src/Typesense/Keys.ts"); -/* harmony import */ var _Key__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Key */ "./src/Typesense/Key.ts"); -/* harmony import */ var _Debug__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Debug */ "./src/Typesense/Debug.ts"); -/* harmony import */ var _Metrics__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Metrics */ "./src/Typesense/Metrics.ts"); -/* harmony import */ var _Stats__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./Stats */ "./src/Typesense/Stats.ts"); -/* harmony import */ var _Health__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./Health */ "./src/Typesense/Health.ts"); -/* harmony import */ var _Operations__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./Operations */ "./src/Typesense/Operations.ts"); -/* harmony import */ var _MultiSearch__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./MultiSearch */ "./src/Typesense/MultiSearch.ts"); -/* harmony import */ var _Presets__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./Presets */ "./src/Typesense/Presets.ts"); -/* harmony import */ var _Preset__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./Preset */ "./src/Typesense/Preset.ts"); -/* harmony import */ var _Analytics__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./Analytics */ "./src/Typesense/Analytics.ts"); -/* harmony import */ var _Stopwords__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./Stopwords */ "./src/Typesense/Stopwords.ts"); -/* harmony import */ var _Stopword__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./Stopword */ "./src/Typesense/Stopword.ts"); -/* harmony import */ var _Conversations__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./Conversations */ "./src/Typesense/Conversations.ts"); -/* harmony import */ var _Conversation__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./Conversation */ "./src/Typesense/Conversation.ts"); - - -/* eslint-disable no-dupe-class-members */ - - - - - - - - - - - - - - - - - - - - - - -var Client = /*#__PURE__*/function () { - function Client(options) { - var _options$sendApiKeyAs; - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__["default"])(this, Client); - options.sendApiKeyAsQueryParam = (_options$sendApiKeyAs = options.sendApiKeyAsQueryParam) !== null && _options$sendApiKeyAs !== void 0 ? _options$sendApiKeyAs : false; - this.configuration = new _Configuration__WEBPACK_IMPORTED_MODULE_2__["default"](options); - this.apiCall = new _ApiCall__WEBPACK_IMPORTED_MODULE_3__["default"](this.configuration); - this.debug = new _Debug__WEBPACK_IMPORTED_MODULE_10__["default"](this.apiCall); - this.metrics = new _Metrics__WEBPACK_IMPORTED_MODULE_11__["default"](this.apiCall); - this.stats = new _Stats__WEBPACK_IMPORTED_MODULE_12__["default"](this.apiCall); - this.health = new _Health__WEBPACK_IMPORTED_MODULE_13__["default"](this.apiCall); - this.operations = new _Operations__WEBPACK_IMPORTED_MODULE_14__["default"](this.apiCall); - this.multiSearch = new _MultiSearch__WEBPACK_IMPORTED_MODULE_15__["default"](this.apiCall, this.configuration); - this._collections = new _Collections__WEBPACK_IMPORTED_MODULE_4__["default"](this.apiCall); - this.individualCollections = {}; - this._aliases = new _Aliases__WEBPACK_IMPORTED_MODULE_6__["default"](this.apiCall); - this.individualAliases = {}; - this._keys = new _Keys__WEBPACK_IMPORTED_MODULE_8__["default"](this.apiCall); - this.individualKeys = {}; - this._presets = new _Presets__WEBPACK_IMPORTED_MODULE_16__["default"](this.apiCall); - this.individualPresets = {}; - this._stopwords = new _Stopwords__WEBPACK_IMPORTED_MODULE_19__["default"](this.apiCall); - this.individualStopwords = {}; - this.analytics = new _Analytics__WEBPACK_IMPORTED_MODULE_18__["default"](this.apiCall); - this._conversations = new _Conversations__WEBPACK_IMPORTED_MODULE_21__["default"](this.apiCall); - this.individualConversations = {}; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__["default"])(Client, [{ - key: "collections", - value: function collections(collectionName) { - if (collectionName === undefined) { - return this._collections; - } else { - if (this.individualCollections[collectionName] === undefined) { - this.individualCollections[collectionName] = new _Collection__WEBPACK_IMPORTED_MODULE_5__["default"](collectionName, this.apiCall, this.configuration); - } - return this.individualCollections[collectionName]; - } - } - }, { - key: "aliases", - value: function aliases(aliasName) { - if (aliasName === undefined) { - return this._aliases; - } else { - if (this.individualAliases[aliasName] === undefined) { - this.individualAliases[aliasName] = new _Alias__WEBPACK_IMPORTED_MODULE_7__["default"](aliasName, this.apiCall); - } - return this.individualAliases[aliasName]; - } - } - }, { - key: "keys", - value: function keys(id) { - if (id === undefined) { - return this._keys; - } else { - if (this.individualKeys[id] === undefined) { - this.individualKeys[id] = new _Key__WEBPACK_IMPORTED_MODULE_9__["default"](id, this.apiCall); - } - return this.individualKeys[id]; - } - } - }, { - key: "presets", - value: function presets(id) { - if (id === undefined) { - return this._presets; - } else { - if (this.individualPresets[id] === undefined) { - this.individualPresets[id] = new _Preset__WEBPACK_IMPORTED_MODULE_17__["default"](id, this.apiCall); - } - return this.individualPresets[id]; - } - } - }, { - key: "stopwords", - value: function stopwords(id) { - if (id === undefined) { - return this._stopwords; - } else { - if (this.individualStopwords[id] === undefined) { - this.individualStopwords[id] = new _Stopword__WEBPACK_IMPORTED_MODULE_20__["default"](id, this.apiCall); - } - return this.individualStopwords[id]; - } - } - }, { - key: "conversations", - value: function conversations(id) { - if (id === undefined) { - return this._conversations; - } else { - if (this.individualConversations[id] === undefined) { - this.individualConversations[id] = new _Conversation__WEBPACK_IMPORTED_MODULE_22__["default"](id, this.apiCall); - } - return this.individualConversations[id]; - } - } - }]); - return Client; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Collection.ts": -/*!*************************************!*\ - !*** ./src/Typesense/Collection.ts ***! - \*************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Collection) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var _Collections__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Collections */ "./src/Typesense/Collections.ts"); -/* harmony import */ var _Documents__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Documents */ "./src/Typesense/Documents.ts"); -/* harmony import */ var _Errors__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Errors */ "./src/Typesense/Errors/index.ts"); -/* harmony import */ var _Overrides__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Overrides */ "./src/Typesense/Overrides.ts"); -/* harmony import */ var _Override__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Override */ "./src/Typesense/Override.ts"); -/* harmony import */ var _Synonyms__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Synonyms */ "./src/Typesense/Synonyms.ts"); -/* harmony import */ var _Synonym__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Synonym */ "./src/Typesense/Synonym.ts"); -/* harmony import */ var _Document__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./Document */ "./src/Typesense/Document.ts"); - - - - - - - - - - - - - -var Collection = /*#__PURE__*/function () { - function Collection(name, apiCall, configuration) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Collection); - (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_3__["default"])(this, "individualDocuments", {}); - (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_3__["default"])(this, "individualOverrides", {}); - (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_3__["default"])(this, "individualSynonyms", {}); - this.name = name; - this.apiCall = apiCall; - this.configuration = configuration; - this.name = name; - this.apiCall = apiCall; - this.configuration = configuration; - this._documents = new _Documents__WEBPACK_IMPORTED_MODULE_6__["default"](this.name, this.apiCall, this.configuration); - this._overrides = new _Overrides__WEBPACK_IMPORTED_MODULE_8__["default"](this.name, this.apiCall); - this._synonyms = new _Synonyms__WEBPACK_IMPORTED_MODULE_10__["default"](this.name, this.apiCall); - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Collection, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "update", - value: function () { - var _update = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee2(schema) { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.patch(this.endpointPath(), schema)); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function update(_x) { - return _update.apply(this, arguments); - } - return update; - }() - }, { - key: "delete", - value: function () { - var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee3() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee3$(_context3) { - while (1) switch (_context3.prev = _context3.next) { - case 0: - return _context3.abrupt("return", this.apiCall.delete(this.endpointPath())); - case 1: - case "end": - return _context3.stop(); - } - }, _callee3, this); - })); - function _delete() { - return _delete2.apply(this, arguments); - } - return _delete; - }() - }, { - key: "exists", - value: function () { - var _exists = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee4() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee4$(_context4) { - while (1) switch (_context4.prev = _context4.next) { - case 0: - _context4.prev = 0; - _context4.next = 3; - return this.retrieve(); - case 3: - return _context4.abrupt("return", true); - case 6: - _context4.prev = 6; - _context4.t0 = _context4["catch"](0); - if (!(_context4.t0 instanceof _Errors__WEBPACK_IMPORTED_MODULE_7__.ObjectNotFound)) { - _context4.next = 10; - break; - } - return _context4.abrupt("return", false); - case 10: - throw _context4.t0; - case 11: - case "end": - return _context4.stop(); - } - }, _callee4, this, [[0, 6]]); - })); - function exists() { - return _exists.apply(this, arguments); - } - return exists; - }() - }, { - key: "documents", - value: function documents(documentId) { - if (!documentId) { - return this._documents; - } else { - if (this.individualDocuments[documentId] === undefined) { - this.individualDocuments[documentId] = new _Document__WEBPACK_IMPORTED_MODULE_12__.Document(this.name, documentId, this.apiCall); - } - return this.individualDocuments[documentId]; - } - } - }, { - key: "overrides", - value: function overrides(overrideId) { - if (overrideId === undefined) { - return this._overrides; - } else { - if (this.individualOverrides[overrideId] === undefined) { - this.individualOverrides[overrideId] = new _Override__WEBPACK_IMPORTED_MODULE_9__["default"](this.name, overrideId, this.apiCall); - } - return this.individualOverrides[overrideId]; - } - } - }, { - key: "synonyms", - value: function synonyms(synonymId) { - if (synonymId === undefined) { - return this._synonyms; - } else { - if (this.individualSynonyms[synonymId] === undefined) { - this.individualSynonyms[synonymId] = new _Synonym__WEBPACK_IMPORTED_MODULE_11__["default"](this.name, synonymId, this.apiCall); - } - return this.individualSynonyms[synonymId]; - } - } - }, { - key: "endpointPath", - value: function endpointPath() { - return "".concat(_Collections__WEBPACK_IMPORTED_MODULE_5__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.name)); - } - }]); - return Collection; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Collections.ts": -/*!**************************************!*\ - !*** ./src/Typesense/Collections.ts ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Collections) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); - - - - -var RESOURCEPATH = "/collections"; -var Collections = /*#__PURE__*/function () { - function Collections(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Collections); - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Collections, [{ - key: "create", - value: function () { - var _create = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(schema) { - var options, - _args = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - options = _args.length > 1 && _args[1] !== undefined ? _args[1] : {}; - return _context.abrupt("return", this.apiCall.post(RESOURCEPATH, schema, options)); - case 2: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function create(_x) { - return _create.apply(this, arguments); - } - return create; - }() - }, { - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - var options, - _args2 = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - options = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : {}; - return _context2.abrupt("return", this.apiCall.get(RESOURCEPATH, options)); - case 2: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }], [{ - key: "RESOURCEPATH", - get: function get() { - return RESOURCEPATH; - } - }]); - return Collections; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Configuration.ts": -/*!****************************************!*\ - !*** ./src/Typesense/Configuration.ts ***! - \****************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Configuration) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var loglevel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! loglevel */ "./node_modules/loglevel/lib/loglevel.js"); -/* harmony import */ var loglevel__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(loglevel__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _Errors__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Errors */ "./src/Typesense/Errors/index.ts"); - - - -function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } -function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } - - -var Configuration = /*#__PURE__*/function () { - function Configuration(options) { - var _this = this; - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Configuration); - this.nodes = options.nodes || []; - this.nodes = this.nodes.map(function (node) { - return _this.setDefaultPathInNode(node); - }).map(function (node) { - return _this.setDefaultPortInNode(node); - }).map(function (node) { - return _objectSpread({}, node); - }); // Make a deep copy - - if (options.randomizeNodes == null) { - options.randomizeNodes = true; - } - if (options.randomizeNodes === true) { - this.shuffleArray(this.nodes); - } - this.nearestNode = options.nearestNode; - this.nearestNode = this.setDefaultPathInNode(this.nearestNode); - this.nearestNode = this.setDefaultPortInNode(this.nearestNode); - this.connectionTimeoutSeconds = options.connectionTimeoutSeconds || options.timeoutSeconds || 5; - this.healthcheckIntervalSeconds = options.healthcheckIntervalSeconds || 60; - this.numRetries = options.numRetries || this.nodes.length + (this.nearestNode == null ? 0 : 1) || 3; - this.retryIntervalSeconds = options.retryIntervalSeconds || 0.1; - this.apiKey = options.apiKey; - this.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam; // We will set a default for this in Client and SearchClient - - this.cacheSearchResultsForSeconds = options.cacheSearchResultsForSeconds || 0; // Disable client-side cache by default - this.useServerSideSearchCache = options.useServerSideSearchCache || false; - this.logger = options.logger || loglevel__WEBPACK_IMPORTED_MODULE_3__; - this.logLevel = options.logLevel || "warn"; - this.logger.setLevel(this.logLevel); - this.additionalHeaders = options.additionalHeaders; - this.httpAgent = options.httpAgent; - this.httpsAgent = options.httpsAgent; - this.paramsSerializer = options.paramsSerializer; - this.showDeprecationWarnings(options); - this.validate(); - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Configuration, [{ - key: "validate", - value: function validate() { - if (this.nodes == null || this.nodes.length === 0 || this.validateNodes()) { - throw new _Errors__WEBPACK_IMPORTED_MODULE_4__.MissingConfigurationError("Ensure that nodes[].protocol, nodes[].host and nodes[].port are set"); - } - if (this.nearestNode != null && this.isNodeMissingAnyParameters(this.nearestNode)) { - throw new _Errors__WEBPACK_IMPORTED_MODULE_4__.MissingConfigurationError("Ensure that nearestNodes.protocol, nearestNodes.host and nearestNodes.port are set"); - } - if (this.apiKey == null) { - throw new _Errors__WEBPACK_IMPORTED_MODULE_4__.MissingConfigurationError("Ensure that apiKey is set"); - } - return true; - } - }, { - key: "validateNodes", - value: function validateNodes() { - var _this2 = this; - return this.nodes.some(function (node) { - return _this2.isNodeMissingAnyParameters(node); - }); - } - }, { - key: "isNodeMissingAnyParameters", - value: function isNodeMissingAnyParameters(node) { - return !["protocol", "host", "port", "path"].every(function (key) { - return node.hasOwnProperty(key); - }) && node["url"] == null; - } - }, { - key: "setDefaultPathInNode", - value: function setDefaultPathInNode(node) { - if (node != null && !node.hasOwnProperty("path")) { - node["path"] = ""; - } - return node; - } - }, { - key: "setDefaultPortInNode", - value: function setDefaultPortInNode(node) { - if (node != null && !node.hasOwnProperty("port") && node.hasOwnProperty("protocol")) { - switch (node["protocol"]) { - case "https": - node["port"] = 443; - break; - case "http": - node["port"] = 80; - break; - } - } - return node; - } - }, { - key: "showDeprecationWarnings", - value: function showDeprecationWarnings(options) { - if (options.timeoutSeconds) { - this.logger.warn("Deprecation warning: timeoutSeconds is now renamed to connectionTimeoutSeconds"); - } - if (options.masterNode) { - this.logger.warn("Deprecation warning: masterNode is now consolidated to nodes, starting with Typesense Server v0.12"); - } - if (options.readReplicaNodes) { - this.logger.warn("Deprecation warning: readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12"); - } - } - }, { - key: "shuffleArray", - value: function shuffleArray(array) { - for (var i = array.length - 1; i > 0; i--) { - var j = Math.floor(Math.random() * (i + 1)); - var _ref = [array[j], array[i]]; - array[i] = _ref[0]; - array[j] = _ref[1]; - } - } - }]); - return Configuration; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Conversation.ts": -/*!***************************************!*\ - !*** ./src/Typesense/Conversation.ts ***! - \***************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Conversation) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _Conversations__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Conversations */ "./src/Typesense/Conversations.ts"); - - - - - -var Conversation = /*#__PURE__*/function () { - function Conversation(id, apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Conversation); - this.id = id; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Conversation, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "update", - value: function () { - var _update = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2(params) { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.put(this.endpointPath(), params)); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function update(_x) { - return _update.apply(this, arguments); - } - return update; - }() - }, { - key: "delete", - value: function () { - var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee3() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee3$(_context3) { - while (1) switch (_context3.prev = _context3.next) { - case 0: - return _context3.abrupt("return", this.apiCall.delete(this.endpointPath())); - case 1: - case "end": - return _context3.stop(); - } - }, _callee3, this); - })); - function _delete() { - return _delete2.apply(this, arguments); - } - return _delete; - }() - }, { - key: "endpointPath", - value: function endpointPath() { - return "".concat(_Conversations__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.id)); - } - }]); - return Conversation; -}(); - - -/***/ }), - -/***/ "./src/Typesense/ConversationModel.ts": -/*!********************************************!*\ - !*** ./src/Typesense/ConversationModel.ts ***! - \********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ ConversationModel) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _ConversationModels__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ConversationModels */ "./src/Typesense/ConversationModels.ts"); - - - - - -var ConversationModel = /*#__PURE__*/function () { - function ConversationModel(id, apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, ConversationModel); - this.id = id; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(ConversationModel, [{ - key: "update", - value: function () { - var _update = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(params) { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.put(this.endpointPath(), params)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function update(_x) { - return _update.apply(this, arguments); - } - return update; - }() - }, { - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "delete", - value: function () { - var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee3() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee3$(_context3) { - while (1) switch (_context3.prev = _context3.next) { - case 0: - return _context3.abrupt("return", this.apiCall.delete(this.endpointPath())); - case 1: - case "end": - return _context3.stop(); - } - }, _callee3, this); - })); - function _delete() { - return _delete2.apply(this, arguments); - } - return _delete; - }() - }, { - key: "endpointPath", - value: function endpointPath() { - return "".concat(_ConversationModels__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.id)); - } - }]); - return ConversationModel; -}(); - - -/***/ }), - -/***/ "./src/Typesense/ConversationModels.ts": -/*!*********************************************!*\ - !*** ./src/Typesense/ConversationModels.ts ***! - \*********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ ConversationModels) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); - - - - -var RESOURCEPATH = "/conversations/models"; -var ConversationModels = /*#__PURE__*/function () { - function ConversationModels(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, ConversationModels); - this.apiCall = apiCall; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(ConversationModels, [{ - key: "create", - value: function () { - var _create = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(params) { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.post(this.endpointPath(), params)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function create(_x) { - return _create.apply(this, arguments); - } - return create; - }() - }, { - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "endpointPath", - value: function endpointPath(operation) { - return "".concat(ConversationModels.RESOURCEPATH).concat(operation === undefined ? "" : "/" + encodeURIComponent(operation)); - } - }], [{ - key: "RESOURCEPATH", - get: function get() { - return RESOURCEPATH; - } - }]); - return ConversationModels; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Conversations.ts": -/*!****************************************!*\ - !*** ./src/Typesense/Conversations.ts ***! - \****************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Conversations) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var _ConversationModels__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ConversationModels */ "./src/Typesense/ConversationModels.ts"); -/* harmony import */ var _ConversationModel__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ConversationModel */ "./src/Typesense/ConversationModel.ts"); - - - - - - - -var RESOURCEPATH = "/conversations"; -var Conversations = /*#__PURE__*/function () { - function Conversations(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Conversations); - (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_3__["default"])(this, "individualConversationModels", {}); - this.apiCall = apiCall; - this.apiCall = apiCall; - this._conversationsModels = new _ConversationModels__WEBPACK_IMPORTED_MODULE_5__["default"](this.apiCall); - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Conversations, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(RESOURCEPATH)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "models", - value: function models(id) { - if (id === undefined) { - return this._conversationsModels; - } else { - if (this.individualConversationModels[id] === undefined) { - this.individualConversationModels[id] = new _ConversationModel__WEBPACK_IMPORTED_MODULE_6__["default"](id, this.apiCall); - } - return this.individualConversationModels[id]; - } - } - }], [{ - key: "RESOURCEPATH", - get: function get() { - return RESOURCEPATH; - } - }]); - return Conversations; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Debug.ts": -/*!********************************!*\ - !*** ./src/Typesense/Debug.ts ***! - \********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Debug) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); - - - - -var RESOURCEPATH = "/debug"; -var Debug = /*#__PURE__*/function () { - function Debug(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Debug); - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Debug, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(RESOURCEPATH)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }]); - return Debug; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Document.ts": -/*!***********************************!*\ - !*** ./src/Typesense/Document.ts ***! - \***********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ Document: () => (/* binding */ Document) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _Collections__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Collections */ "./src/Typesense/Collections.ts"); -/* harmony import */ var _Documents__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Documents */ "./src/Typesense/Documents.ts"); - - - - - - -var Document = /*#__PURE__*/function () { - function Document(collectionName, documentId, apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Document); - this.collectionName = collectionName; - this.documentId = documentId; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Document, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "delete", - value: function () { - var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2(options) { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.delete(this.endpointPath(), options)); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function _delete(_x) { - return _delete2.apply(this, arguments); - } - return _delete; - }() - }, { - key: "update", - value: function () { - var _update = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee3(partialDocument) { - var options, - _args3 = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee3$(_context3) { - while (1) switch (_context3.prev = _context3.next) { - case 0: - options = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : {}; - return _context3.abrupt("return", this.apiCall.patch(this.endpointPath(), partialDocument, options)); - case 2: - case "end": - return _context3.stop(); - } - }, _callee3, this); - })); - function update(_x2) { - return _update.apply(this, arguments); - } - return update; - }() - }, { - key: "endpointPath", - value: function endpointPath() { - return "".concat(_Collections__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.collectionName)).concat(_Documents__WEBPACK_IMPORTED_MODULE_5__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.documentId)); - } - }]); - return Document; -}(); - -/***/ }), - -/***/ "./src/Typesense/Documents.ts": -/*!************************************!*\ - !*** ./src/Typesense/Documents.ts ***! - \************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Documents) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"); -/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); -/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var _Errors__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Errors */ "./src/Typesense/Errors/index.ts"); -/* harmony import */ var _SearchOnlyDocuments__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./SearchOnlyDocuments */ "./src/Typesense/SearchOnlyDocuments.ts"); - - - - - - - -function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__["default"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__["default"])(t).constructor) : o.apply(t, e)); } -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } - - - -// Todo: use generic to extract filter_by values - -// Todo: we could infer whether this is a grouped response by adding the search params as a generic - -var isNodeJSEnvironment = typeof process !== "undefined" && process.versions != null && process.versions.node != null; -var Documents = /*#__PURE__*/function (_ref) { - (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__["default"])(Documents, _ref); - function Documents(collectionName, apiCall, configuration) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Documents); - return _callSuper(this, Documents, [collectionName, apiCall, configuration]); - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Documents, [{ - key: "create", - value: function () { - var _create = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().mark(function _callee(document) { - var options, - _args = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - options = _args.length > 1 && _args[1] !== undefined ? _args[1] : {}; - if (document) { - _context.next = 3; - break; - } - throw new Error("No document provided"); - case 3: - return _context.abrupt("return", this.apiCall.post(this.endpointPath(), document, options)); - case 4: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function create(_x) { - return _create.apply(this, arguments); - } - return create; - }() - }, { - key: "upsert", - value: function () { - var _upsert = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().mark(function _callee2(document) { - var options, - _args2 = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - options = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : {}; - if (document) { - _context2.next = 3; - break; - } - throw new Error("No document provided"); - case 3: - return _context2.abrupt("return", this.apiCall.post(this.endpointPath(), document, Object.assign({}, options, { - action: "upsert" - }))); - case 4: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function upsert(_x2) { - return _upsert.apply(this, arguments); - } - return upsert; - }() - }, { - key: "update", - value: function () { - var _update = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().mark(function _callee3(document) { - var options, - _args3 = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().wrap(function _callee3$(_context3) { - while (1) switch (_context3.prev = _context3.next) { - case 0: - options = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : {}; - if (document) { - _context3.next = 3; - break; - } - throw new Error("No document provided"); - case 3: - if (!(options["filter_by"] != null)) { - _context3.next = 7; - break; - } - return _context3.abrupt("return", this.apiCall.patch(this.endpointPath(), document, Object.assign({}, options))); - case 7: - return _context3.abrupt("return", this.apiCall.post(this.endpointPath(), document, Object.assign({}, options, { - action: "update" - }))); - case 8: - case "end": - return _context3.stop(); - } - }, _callee3, this); - })); - function update(_x3) { - return _update.apply(this, arguments); - } - return update; - }() - }, { - key: "delete", - value: function () { - var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().mark(function _callee4() { - var query, - _args4 = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().wrap(function _callee4$(_context4) { - while (1) switch (_context4.prev = _context4.next) { - case 0: - query = _args4.length > 0 && _args4[0] !== undefined ? _args4[0] : {}; - return _context4.abrupt("return", this.apiCall.delete(this.endpointPath(), query)); - case 2: - case "end": - return _context4.stop(); - } - }, _callee4, this); - })); - function _delete() { - return _delete2.apply(this, arguments); - } - return _delete; - }() - }, { - key: "createMany", - value: function () { - var _createMany = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().mark(function _callee5(documents) { - var options, - _args5 = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().wrap(function _callee5$(_context5) { - while (1) switch (_context5.prev = _context5.next) { - case 0: - options = _args5.length > 1 && _args5[1] !== undefined ? _args5[1] : {}; - 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"); - return _context5.abrupt("return", this.import(documents, options)); - case 3: - case "end": - return _context5.stop(); - } - }, _callee5, this); - })); - function createMany(_x4) { - return _createMany.apply(this, arguments); - } - return createMany; - }() - /** - * Import a set of documents in a batch. - * @param {string|Array} documents - Can be a JSONL string of documents or an array of document objects. - * @param options - * @return {string|Array} Returns a JSONL string if the input was a JSONL string, otherwise it returns an array of results. - */ - }, { - key: "import", - value: function () { - var _import2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().mark(function _callee6(documents) { - var options, - documentsInJSONLFormat, - resultsInJSONLFormat, - resultsInJSONFormat, - failedItems, - _args6 = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().wrap(function _callee6$(_context6) { - while (1) switch (_context6.prev = _context6.next) { - case 0: - options = _args6.length > 1 && _args6[1] !== undefined ? _args6[1] : {}; - if (!Array.isArray(documents)) { - _context6.next = 13; - break; - } - _context6.prev = 2; - documentsInJSONLFormat = documents.map(function (document) { - return JSON.stringify(document); - }).join("\n"); - _context6.next = 11; - break; - case 6: - _context6.prev = 6; - _context6.t0 = _context6["catch"](2); - if (!(_context6.t0 instanceof RangeError && _context6.t0.message.includes("Too many properties to enumerate"))) { - _context6.next = 10; - break; - } - throw new Error("".concat(_context6.t0, "\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 ")); - case 10: - throw new Error(_context6.t0); - case 11: - _context6.next = 14; - break; - case 13: - documentsInJSONLFormat = documents; - case 14: - _context6.next = 16; - return this.apiCall.performRequest("post", this.endpointPath("import"), { - queryParameters: options, - bodyParameters: documentsInJSONLFormat, - additionalHeaders: { - "Content-Type": "text/plain" - }, - 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 - enableKeepAlive: isNodeJSEnvironment ? true : false // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991 - }); - case 16: - resultsInJSONLFormat = _context6.sent; - if (!Array.isArray(documents)) { - _context6.next = 27; - break; - } - resultsInJSONFormat = resultsInJSONLFormat.split("\n").map(function (r) { - return JSON.parse(r); - }); - failedItems = resultsInJSONFormat.filter(function (r) { - return r.success === false; - }); - if (!(failedItems.length > 0)) { - _context6.next = 24; - break; - } - throw new _Errors__WEBPACK_IMPORTED_MODULE_7__.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); - case 24: - return _context6.abrupt("return", resultsInJSONFormat); - case 25: - _context6.next = 28; - break; - case 27: - return _context6.abrupt("return", resultsInJSONLFormat); - case 28: - case "end": - return _context6.stop(); - } - }, _callee6, this, [[2, 6]]); - })); - function _import(_x5) { - return _import2.apply(this, arguments); - } - return _import; - }() - /** - * Imports documents from a NodeJS readable stream of JSONL. - */ - }, { - key: "importStream", - value: (function () { - var _importStream = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().mark(function _callee7(readableStream) { - var options, - resultsInJSONLFormat, - resultsInJSONFormat, - failedItems, - _args7 = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().wrap(function _callee7$(_context7) { - while (1) switch (_context7.prev = _context7.next) { - case 0: - options = _args7.length > 1 && _args7[1] !== undefined ? _args7[1] : {}; - _context7.next = 3; - return this.apiCall.performRequest("post", this.endpointPath("import"), { - queryParameters: options, - bodyParameters: readableStream, - additionalHeaders: { - "Content-Type": "text/plain" - }, - 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 - enableKeepAlive: isNodeJSEnvironment ? true : false // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991 - }); - case 3: - resultsInJSONLFormat = _context7.sent; - resultsInJSONFormat = resultsInJSONLFormat.split("\n").map(function (r) { - return JSON.parse(r); - }); - failedItems = resultsInJSONFormat.filter(function (r) { - return r.success === false; - }); - if (!(failedItems.length > 0)) { - _context7.next = 10; - break; - } - throw new _Errors__WEBPACK_IMPORTED_MODULE_7__.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); - case 10: - return _context7.abrupt("return", resultsInJSONFormat); - case 11: - case "end": - return _context7.stop(); - } - }, _callee7, this); - })); - function importStream(_x6) { - return _importStream.apply(this, arguments); - } - return importStream; - }() - /** - * Returns a JSONL string for all the documents in this collection - */ - ) - }, { - key: "export", - value: (function () { - var _export2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().mark(function _callee8() { - var options, - _args8 = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().wrap(function _callee8$(_context8) { - while (1) switch (_context8.prev = _context8.next) { - case 0: - options = _args8.length > 0 && _args8[0] !== undefined ? _args8[0] : {}; - return _context8.abrupt("return", this.apiCall.get(this.endpointPath("export"), options)); - case 2: - case "end": - return _context8.stop(); - } - }, _callee8, this); - })); - function _export() { - return _export2.apply(this, arguments); - } - return _export; - }() - /** - * Returns a NodeJS readable stream of JSONL for all the documents in this collection. - */ - ) - }, { - key: "exportStream", - value: (function () { - var _exportStream = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().mark(function _callee9() { - var options, - _args9 = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_6___default().wrap(function _callee9$(_context9) { - while (1) switch (_context9.prev = _context9.next) { - case 0: - options = _args9.length > 0 && _args9[0] !== undefined ? _args9[0] : {}; - return _context9.abrupt("return", this.apiCall.get(this.endpointPath("export"), options, { - responseType: "stream" - })); - case 2: - case "end": - return _context9.stop(); - } - }, _callee9, this); - })); - function exportStream() { - return _exportStream.apply(this, arguments); - } - return exportStream; - }()) - }]); - return Documents; -}(_SearchOnlyDocuments__WEBPACK_IMPORTED_MODULE_8__.SearchOnlyDocuments); - - -/***/ }), - -/***/ "./src/Typesense/Errors/HTTPError.ts": -/*!*******************************************!*\ - !*** ./src/Typesense/Errors/HTTPError.ts ***! - \*******************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ HTTPError) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"); -/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); -/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js"); -/* harmony import */ var _TypesenseError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./TypesenseError */ "./src/Typesense/Errors/TypesenseError.ts"); - - - - - -function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(t).constructor) : o.apply(t, e)); } -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } - -var HTTPError = /*#__PURE__*/function (_TypesenseError) { - (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__["default"])(HTTPError, _TypesenseError); - function HTTPError() { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, HTTPError); - return _callSuper(this, HTTPError, arguments); - } - return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__["default"])(HTTPError); -}(_TypesenseError__WEBPACK_IMPORTED_MODULE_5__["default"]); - - -/***/ }), - -/***/ "./src/Typesense/Errors/ImportError.ts": -/*!*********************************************!*\ - !*** ./src/Typesense/Errors/ImportError.ts ***! - \*********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ ImportError) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"); -/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); -/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js"); -/* harmony import */ var _TypesenseError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./TypesenseError */ "./src/Typesense/Errors/TypesenseError.ts"); - - - - - -function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(t).constructor) : o.apply(t, e)); } -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } - -var ImportError = /*#__PURE__*/function (_TypesenseError) { - (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__["default"])(ImportError, _TypesenseError); - function ImportError(message, importResults) { - var _this; - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, ImportError); - _this = _callSuper(this, ImportError, [message]); - _this.importResults = importResults; - return _this; - } - return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__["default"])(ImportError); -}(_TypesenseError__WEBPACK_IMPORTED_MODULE_5__["default"]); - - -/***/ }), - -/***/ "./src/Typesense/Errors/MissingConfigurationError.ts": -/*!***********************************************************!*\ - !*** ./src/Typesense/Errors/MissingConfigurationError.ts ***! - \***********************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ MissingConfigurationError) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"); -/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); -/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js"); -/* harmony import */ var _TypesenseError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./TypesenseError */ "./src/Typesense/Errors/TypesenseError.ts"); - - - - - -function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(t).constructor) : o.apply(t, e)); } -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } - -var MissingConfigurationError = /*#__PURE__*/function (_TypesenseError) { - (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__["default"])(MissingConfigurationError, _TypesenseError); - function MissingConfigurationError() { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, MissingConfigurationError); - return _callSuper(this, MissingConfigurationError, arguments); - } - return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__["default"])(MissingConfigurationError); -}(_TypesenseError__WEBPACK_IMPORTED_MODULE_5__["default"]); - - -/***/ }), - -/***/ "./src/Typesense/Errors/ObjectAlreadyExists.ts": -/*!*****************************************************!*\ - !*** ./src/Typesense/Errors/ObjectAlreadyExists.ts ***! - \*****************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ ObjectAlreadyExists) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"); -/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); -/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js"); -/* harmony import */ var _TypesenseError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./TypesenseError */ "./src/Typesense/Errors/TypesenseError.ts"); - - - - - -function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(t).constructor) : o.apply(t, e)); } -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } - -var ObjectAlreadyExists = /*#__PURE__*/function (_TypesenseError) { - (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__["default"])(ObjectAlreadyExists, _TypesenseError); - function ObjectAlreadyExists() { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, ObjectAlreadyExists); - return _callSuper(this, ObjectAlreadyExists, arguments); - } - return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__["default"])(ObjectAlreadyExists); -}(_TypesenseError__WEBPACK_IMPORTED_MODULE_5__["default"]); - - -/***/ }), - -/***/ "./src/Typesense/Errors/ObjectNotFound.ts": -/*!************************************************!*\ - !*** ./src/Typesense/Errors/ObjectNotFound.ts ***! - \************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ ObjectNotFound) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"); -/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); -/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js"); -/* harmony import */ var _TypesenseError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./TypesenseError */ "./src/Typesense/Errors/TypesenseError.ts"); - - - - - -function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(t).constructor) : o.apply(t, e)); } -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } - -var ObjectNotFound = /*#__PURE__*/function (_TypesenseError) { - (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__["default"])(ObjectNotFound, _TypesenseError); - function ObjectNotFound() { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, ObjectNotFound); - return _callSuper(this, ObjectNotFound, arguments); - } - return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__["default"])(ObjectNotFound); -}(_TypesenseError__WEBPACK_IMPORTED_MODULE_5__["default"]); - - -/***/ }), - -/***/ "./src/Typesense/Errors/ObjectUnprocessable.ts": -/*!*****************************************************!*\ - !*** ./src/Typesense/Errors/ObjectUnprocessable.ts ***! - \*****************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ ObjectUnprocessable) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"); -/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); -/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js"); -/* harmony import */ var _TypesenseError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./TypesenseError */ "./src/Typesense/Errors/TypesenseError.ts"); - - - - - -function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(t).constructor) : o.apply(t, e)); } -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } - -var ObjectUnprocessable = /*#__PURE__*/function (_TypesenseError) { - (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__["default"])(ObjectUnprocessable, _TypesenseError); - function ObjectUnprocessable() { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, ObjectUnprocessable); - return _callSuper(this, ObjectUnprocessable, arguments); - } - return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__["default"])(ObjectUnprocessable); -}(_TypesenseError__WEBPACK_IMPORTED_MODULE_5__["default"]); - - -/***/ }), - -/***/ "./src/Typesense/Errors/RequestMalformed.ts": -/*!**************************************************!*\ - !*** ./src/Typesense/Errors/RequestMalformed.ts ***! - \**************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ RequestMalformed) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"); -/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); -/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js"); -/* harmony import */ var _TypesenseError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./TypesenseError */ "./src/Typesense/Errors/TypesenseError.ts"); - - - - - -function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(t).constructor) : o.apply(t, e)); } -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } - -var RequestMalformed = /*#__PURE__*/function (_TypesenseError) { - (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__["default"])(RequestMalformed, _TypesenseError); - function RequestMalformed() { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, RequestMalformed); - return _callSuper(this, RequestMalformed, arguments); - } - return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__["default"])(RequestMalformed); -}(_TypesenseError__WEBPACK_IMPORTED_MODULE_5__["default"]); - - -/***/ }), - -/***/ "./src/Typesense/Errors/RequestUnauthorized.ts": -/*!*****************************************************!*\ - !*** ./src/Typesense/Errors/RequestUnauthorized.ts ***! - \*****************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ RequestUnauthorized) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"); -/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); -/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js"); -/* harmony import */ var _TypesenseError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./TypesenseError */ "./src/Typesense/Errors/TypesenseError.ts"); - - - - - -function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(t).constructor) : o.apply(t, e)); } -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } - -var RequestUnauthorized = /*#__PURE__*/function (_TypesenseError) { - (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__["default"])(RequestUnauthorized, _TypesenseError); - function RequestUnauthorized() { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, RequestUnauthorized); - return _callSuper(this, RequestUnauthorized, arguments); - } - return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__["default"])(RequestUnauthorized); -}(_TypesenseError__WEBPACK_IMPORTED_MODULE_5__["default"]); - - -/***/ }), - -/***/ "./src/Typesense/Errors/ServerError.ts": -/*!*********************************************!*\ - !*** ./src/Typesense/Errors/ServerError.ts ***! - \*********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ ServerError) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"); -/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); -/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js"); -/* harmony import */ var _TypesenseError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./TypesenseError */ "./src/Typesense/Errors/TypesenseError.ts"); - - - - - -function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(t).constructor) : o.apply(t, e)); } -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } - -var ServerError = /*#__PURE__*/function (_TypesenseError) { - (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__["default"])(ServerError, _TypesenseError); - function ServerError() { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, ServerError); - return _callSuper(this, ServerError, arguments); - } - return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__["default"])(ServerError); -}(_TypesenseError__WEBPACK_IMPORTED_MODULE_5__["default"]); - - -/***/ }), - -/***/ "./src/Typesense/Errors/TypesenseError.ts": -/*!************************************************!*\ - !*** ./src/Typesense/Errors/TypesenseError.ts ***! - \************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ TypesenseError) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"); -/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); -/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ "./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js"); -/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js"); -/* harmony import */ var _babel_runtime_helpers_wrapNativeSuper__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/wrapNativeSuper */ "./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js"); - - - - - - - -function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__["default"])(t).constructor) : o.apply(t, e)); } -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } -var TypesenseError = /*#__PURE__*/function (_Error) { - (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__["default"])(TypesenseError, _Error); - // Source: https://stackoverflow.com/a/58417721/123545 - function TypesenseError(message) { - var _this; - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, TypesenseError); - _this = _callSuper(this, TypesenseError, [message]); - _this.name = (this instanceof TypesenseError ? this.constructor : void 0).name; - Object.setPrototypeOf((0,_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4__["default"])(_this), (this instanceof TypesenseError ? this.constructor : void 0).prototype); - return _this; - } - return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__["default"])(TypesenseError); -}( /*#__PURE__*/(0,_babel_runtime_helpers_wrapNativeSuper__WEBPACK_IMPORTED_MODULE_6__["default"])(Error)); - - -/***/ }), - -/***/ "./src/Typesense/Errors/index.ts": -/*!***************************************!*\ - !*** ./src/Typesense/Errors/index.ts ***! - \***************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ HTTPError: () => (/* reexport safe */ _HTTPError__WEBPACK_IMPORTED_MODULE_0__["default"]), -/* harmony export */ ImportError: () => (/* reexport safe */ _ImportError__WEBPACK_IMPORTED_MODULE_8__["default"]), -/* harmony export */ MissingConfigurationError: () => (/* reexport safe */ _MissingConfigurationError__WEBPACK_IMPORTED_MODULE_1__["default"]), -/* harmony export */ ObjectAlreadyExists: () => (/* reexport safe */ _ObjectAlreadyExists__WEBPACK_IMPORTED_MODULE_2__["default"]), -/* harmony export */ ObjectNotFound: () => (/* reexport safe */ _ObjectNotFound__WEBPACK_IMPORTED_MODULE_3__["default"]), -/* harmony export */ ObjectUnprocessable: () => (/* reexport safe */ _ObjectUnprocessable__WEBPACK_IMPORTED_MODULE_4__["default"]), -/* harmony export */ RequestMalformed: () => (/* reexport safe */ _RequestMalformed__WEBPACK_IMPORTED_MODULE_5__["default"]), -/* harmony export */ RequestUnauthorized: () => (/* reexport safe */ _RequestUnauthorized__WEBPACK_IMPORTED_MODULE_6__["default"]), -/* harmony export */ ServerError: () => (/* reexport safe */ _ServerError__WEBPACK_IMPORTED_MODULE_7__["default"]), -/* harmony export */ TypesenseError: () => (/* reexport safe */ _TypesenseError__WEBPACK_IMPORTED_MODULE_9__["default"]) -/* harmony export */ }); -/* harmony import */ var _HTTPError__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./HTTPError */ "./src/Typesense/Errors/HTTPError.ts"); -/* harmony import */ var _MissingConfigurationError__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./MissingConfigurationError */ "./src/Typesense/Errors/MissingConfigurationError.ts"); -/* harmony import */ var _ObjectAlreadyExists__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ObjectAlreadyExists */ "./src/Typesense/Errors/ObjectAlreadyExists.ts"); -/* harmony import */ var _ObjectNotFound__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ObjectNotFound */ "./src/Typesense/Errors/ObjectNotFound.ts"); -/* harmony import */ var _ObjectUnprocessable__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ObjectUnprocessable */ "./src/Typesense/Errors/ObjectUnprocessable.ts"); -/* harmony import */ var _RequestMalformed__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./RequestMalformed */ "./src/Typesense/Errors/RequestMalformed.ts"); -/* harmony import */ var _RequestUnauthorized__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./RequestUnauthorized */ "./src/Typesense/Errors/RequestUnauthorized.ts"); -/* harmony import */ var _ServerError__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./ServerError */ "./src/Typesense/Errors/ServerError.ts"); -/* harmony import */ var _ImportError__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./ImportError */ "./src/Typesense/Errors/ImportError.ts"); -/* harmony import */ var _TypesenseError__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./TypesenseError */ "./src/Typesense/Errors/TypesenseError.ts"); - - - - - - - - - - - - -/***/ }), - -/***/ "./src/Typesense/Health.ts": -/*!*********************************!*\ - !*** ./src/Typesense/Health.ts ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Health) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); - - - - -var RESOURCEPATH = "/health"; -var Health = /*#__PURE__*/function () { - function Health(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Health); - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Health, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(RESOURCEPATH)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }]); - return Health; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Key.ts": -/*!******************************!*\ - !*** ./src/Typesense/Key.ts ***! - \******************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Key) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _Keys__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Keys */ "./src/Typesense/Keys.ts"); - - - - - -var Key = /*#__PURE__*/function () { - function Key(id, apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Key); - this.id = id; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Key, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "delete", - value: function () { - var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.delete(this.endpointPath())); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function _delete() { - return _delete2.apply(this, arguments); - } - return _delete; - }() - }, { - key: "endpointPath", - value: function endpointPath() { - return "".concat(_Keys__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.id)); - } - }]); - return Key; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Keys.ts": -/*!*******************************!*\ - !*** ./src/Typesense/Keys.ts ***! - \*******************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Keys) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var crypto__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! crypto */ "?4bf0"); -/* harmony import */ var crypto__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(crypto__WEBPACK_IMPORTED_MODULE_4__); - - - - - -var RESOURCEPATH = "/keys"; -var Keys = /*#__PURE__*/function () { - function Keys(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Keys); - this.apiCall = apiCall; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Keys, [{ - key: "create", - value: function () { - var _create = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(params) { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.post(Keys.RESOURCEPATH, params)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function create(_x) { - return _create.apply(this, arguments); - } - return create; - }() - }, { - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.get(RESOURCEPATH)); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "generateScopedSearchKey", - value: function generateScopedSearchKey(searchKey, parameters) { - // Note: only a key generated with the `documents:search` action will be - // accepted by the server, when usined with the search endpoint. - var paramsJSON = JSON.stringify(parameters); - var digest = Buffer.from((0,crypto__WEBPACK_IMPORTED_MODULE_4__.createHmac)("sha256", searchKey).update(paramsJSON).digest("base64")); - var keyPrefix = searchKey.substr(0, 4); - var rawScopedKey = "".concat(digest).concat(keyPrefix).concat(paramsJSON); - return Buffer.from(rawScopedKey).toString("base64"); - } - }], [{ - key: "RESOURCEPATH", - get: function get() { - return RESOURCEPATH; - } - }]); - return Keys; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Metrics.ts": -/*!**********************************!*\ - !*** ./src/Typesense/Metrics.ts ***! - \**********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Metrics) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); - - - - -var RESOURCEPATH = "/metrics.json"; -var Metrics = /*#__PURE__*/function () { - function Metrics(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Metrics); - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Metrics, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(RESOURCEPATH)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }]); - return Metrics; -}(); - - -/***/ }), - -/***/ "./src/Typesense/MultiSearch.ts": -/*!**************************************!*\ - !*** ./src/Typesense/MultiSearch.ts ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ MultiSearch) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _RequestWithCache__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./RequestWithCache */ "./src/Typesense/RequestWithCache.ts"); - - - - - -var RESOURCEPATH = "/multi_search"; -var MultiSearch = /*#__PURE__*/function () { - function MultiSearch(apiCall, configuration) { - var useTextContentType = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, MultiSearch); - this.apiCall = apiCall; - this.configuration = configuration; - this.useTextContentType = useTextContentType; - this.requestWithCache = new _RequestWithCache__WEBPACK_IMPORTED_MODULE_4__["default"](); - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(MultiSearch, [{ - key: "clearCache", - value: function clearCache() { - this.requestWithCache.clearCache(); - } - }, { - key: "perform", - value: function () { - var _perform = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(searchRequests) { - var commonParams, - _ref, - _ref$cacheSearchResul, - cacheSearchResultsForSeconds, - additionalHeaders, - additionalQueryParams, - queryParams, - _args = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - commonParams = _args.length > 1 && _args[1] !== undefined ? _args[1] : {}; - _ref = _args.length > 2 && _args[2] !== undefined ? _args[2] : {}, _ref$cacheSearchResul = _ref.cacheSearchResultsForSeconds, cacheSearchResultsForSeconds = _ref$cacheSearchResul === void 0 ? this.configuration.cacheSearchResultsForSeconds : _ref$cacheSearchResul; - additionalHeaders = {}; - if (this.useTextContentType) { - additionalHeaders["content-type"] = "text/plain"; - } - additionalQueryParams = {}; - if (this.configuration.useServerSideSearchCache === true) { - additionalQueryParams["use_cache"] = true; - } - queryParams = Object.assign({}, commonParams, additionalQueryParams); - return _context.abrupt("return", this.requestWithCache.perform(this.apiCall, this.apiCall.post, [RESOURCEPATH, searchRequests, queryParams, additionalHeaders], { - cacheResponseForSeconds: cacheSearchResultsForSeconds - })); - case 8: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function perform(_x) { - return _perform.apply(this, arguments); - } - return perform; - }() - }]); - return MultiSearch; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Operations.ts": -/*!*************************************!*\ - !*** ./src/Typesense/Operations.ts ***! - \*************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Operations) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); - - - - -var RESOURCEPATH = "/operations"; -var Operations = /*#__PURE__*/function () { - function Operations(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Operations); - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Operations, [{ - key: "perform", - value: function () { - var _perform = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(operationName) { - var queryParameters, - _args = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - queryParameters = _args.length > 1 && _args[1] !== undefined ? _args[1] : {}; - return _context.abrupt("return", this.apiCall.post("".concat(RESOURCEPATH, "/").concat(operationName), {}, queryParameters)); - case 2: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function perform(_x) { - return _perform.apply(this, arguments); - } - return perform; - }() - }]); - return Operations; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Override.ts": -/*!***********************************!*\ - !*** ./src/Typesense/Override.ts ***! - \***********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Override) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _Collections__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Collections */ "./src/Typesense/Collections.ts"); -/* harmony import */ var _Overrides__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Overrides */ "./src/Typesense/Overrides.ts"); - - - - - - -var Override = /*#__PURE__*/function () { - function Override(collectionName, overrideId, apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Override); - this.collectionName = collectionName; - this.overrideId = overrideId; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Override, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "delete", - value: function () { - var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.delete(this.endpointPath())); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function _delete() { - return _delete2.apply(this, arguments); - } - return _delete; - }() - }, { - key: "endpointPath", - value: function endpointPath() { - return "".concat(_Collections__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.collectionName)).concat(_Overrides__WEBPACK_IMPORTED_MODULE_5__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.overrideId)); - } - }]); - return Override; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Overrides.ts": -/*!************************************!*\ - !*** ./src/Typesense/Overrides.ts ***! - \************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Overrides) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _Collections__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Collections */ "./src/Typesense/Collections.ts"); - - - - - -var RESOURCEPATH = "/overrides"; -var Overrides = /*#__PURE__*/function () { - function Overrides(collectionName, apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Overrides); - this.collectionName = collectionName; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Overrides, [{ - key: "upsert", - value: function () { - var _upsert = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(overrideId, params) { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.put(this.endpointPath(overrideId), params)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function upsert(_x, _x2) { - return _upsert.apply(this, arguments); - } - return upsert; - }() - }, { - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "endpointPath", - value: function endpointPath(operation) { - return "".concat(_Collections__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(this.collectionName).concat(Overrides.RESOURCEPATH).concat(operation === undefined ? "" : "/" + encodeURIComponent(operation)); - } - }], [{ - key: "RESOURCEPATH", - get: function get() { - return RESOURCEPATH; - } - }]); - return Overrides; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Preset.ts": -/*!*********************************!*\ - !*** ./src/Typesense/Preset.ts ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Preset) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _Presets__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Presets */ "./src/Typesense/Presets.ts"); - - - - - -var Preset = /*#__PURE__*/function () { - function Preset(presetId, apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Preset); - this.presetId = presetId; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Preset, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "delete", - value: function () { - var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.delete(this.endpointPath())); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function _delete() { - return _delete2.apply(this, arguments); - } - return _delete; - }() - }, { - key: "endpointPath", - value: function endpointPath() { - return "".concat(_Presets__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.presetId)); - } - }]); - return Preset; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Presets.ts": -/*!**********************************!*\ - !*** ./src/Typesense/Presets.ts ***! - \**********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Presets) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); - - - - -var RESOURCEPATH = "/presets"; -var Presets = /*#__PURE__*/function () { - function Presets(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Presets); - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Presets, [{ - key: "upsert", - value: function () { - var _upsert = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(presetId, params) { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.put(this.endpointPath(presetId), params)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function upsert(_x, _x2) { - return _upsert.apply(this, arguments); - } - return upsert; - }() - }, { - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "endpointPath", - value: function endpointPath(operation) { - return "".concat(Presets.RESOURCEPATH).concat(operation === undefined ? "" : "/" + encodeURIComponent(operation)); - } - }], [{ - key: "RESOURCEPATH", - get: function get() { - return RESOURCEPATH; - } - }]); - return Presets; -}(); - - -/***/ }), - -/***/ "./src/Typesense/RequestWithCache.ts": -/*!*******************************************!*\ - !*** ./src/Typesense/RequestWithCache.ts ***! - \*******************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ RequestWithCache) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js"); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_5__); - - - - - - -var defaultCacheResponseForSeconds = 2 * 60; -var defaultMaxSize = 100; -var RequestWithCache = /*#__PURE__*/function () { - function RequestWithCache() { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__["default"])(this, RequestWithCache); - (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_4__["default"])(this, "responseCache", new Map()); - (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_4__["default"])(this, "responsePromiseCache", new Map()); - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__["default"])(RequestWithCache, [{ - key: "clearCache", - value: function clearCache() { - this.responseCache = new Map(); - this.responsePromiseCache = new Map(); - } - - // Todo: should probably be passed a callback instead, or an apiCall instance. Types are messy this way - }, { - key: "perform", - value: function () { - var _perform = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_5___default().mark(function _callee(requestContext, requestFunction, requestFunctionArguments, cacheOptions) { - var _cacheOptions$cacheRe, cacheResponseForSeconds, _cacheOptions$maxSize, maxSize, isCacheDisabled, requestFunctionArgumentsJSON, cacheEntry, now, isEntryValid, cachePromiseEntry, _isEntryValid, responsePromise, response, isCacheOverMaxSize, oldestEntry, isResponsePromiseCacheOverMaxSize, _oldestEntry; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_5___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - _cacheOptions$cacheRe = cacheOptions.cacheResponseForSeconds, cacheResponseForSeconds = _cacheOptions$cacheRe === void 0 ? defaultCacheResponseForSeconds : _cacheOptions$cacheRe, _cacheOptions$maxSize = cacheOptions.maxSize, maxSize = _cacheOptions$maxSize === void 0 ? defaultMaxSize : _cacheOptions$maxSize; - isCacheDisabled = cacheResponseForSeconds <= 0 || maxSize <= 0; - if (!isCacheDisabled) { - _context.next = 4; - break; - } - return _context.abrupt("return", requestFunction.call.apply(requestFunction, [requestContext].concat((0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__["default"])(requestFunctionArguments)))); - case 4: - requestFunctionArgumentsJSON = JSON.stringify(requestFunctionArguments); - cacheEntry = this.responseCache.get(requestFunctionArgumentsJSON); - now = Date.now(); - if (!cacheEntry) { - _context.next = 16; - break; - } - isEntryValid = now - cacheEntry.requestTimestamp < cacheResponseForSeconds * 1000; - if (!isEntryValid) { - _context.next = 15; - break; - } - this.responseCache.delete(requestFunctionArgumentsJSON); - this.responseCache.set(requestFunctionArgumentsJSON, cacheEntry); - return _context.abrupt("return", Promise.resolve(cacheEntry.response)); - case 15: - this.responseCache.delete(requestFunctionArgumentsJSON); - case 16: - cachePromiseEntry = this.responsePromiseCache.get(requestFunctionArgumentsJSON); - if (!cachePromiseEntry) { - _context.next = 26; - break; - } - _isEntryValid = now - cachePromiseEntry.requestTimestamp < cacheResponseForSeconds * 1000; - if (!_isEntryValid) { - _context.next = 25; - break; - } - this.responsePromiseCache.delete(requestFunctionArgumentsJSON); - this.responsePromiseCache.set(requestFunctionArgumentsJSON, cachePromiseEntry); - return _context.abrupt("return", cachePromiseEntry.responsePromise); - case 25: - this.responsePromiseCache.delete(requestFunctionArgumentsJSON); - case 26: - responsePromise = requestFunction.call.apply(requestFunction, [requestContext].concat((0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__["default"])(requestFunctionArguments))); - this.responsePromiseCache.set(requestFunctionArgumentsJSON, { - requestTimestamp: now, - responsePromise: responsePromise - }); - _context.next = 30; - return responsePromise; - case 30: - response = _context.sent; - this.responseCache.set(requestFunctionArgumentsJSON, { - requestTimestamp: now, - response: response - }); - isCacheOverMaxSize = this.responseCache.size > maxSize; - if (isCacheOverMaxSize) { - oldestEntry = this.responseCache.keys().next().value; - this.responseCache.delete(oldestEntry); - } - isResponsePromiseCacheOverMaxSize = this.responsePromiseCache.size > maxSize; - if (isResponsePromiseCacheOverMaxSize) { - _oldestEntry = this.responsePromiseCache.keys().next().value; - this.responsePromiseCache.delete(_oldestEntry); - } - return _context.abrupt("return", response); - case 37: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function perform(_x, _x2, _x3, _x4) { - return _perform.apply(this, arguments); - } - return perform; - }() - }]); - return RequestWithCache; -}(); - - -/***/ }), - -/***/ "./src/Typesense/SearchClient.ts": -/*!***************************************!*\ - !*** ./src/Typesense/SearchClient.ts ***! - \***************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ SearchClient) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "./node_modules/@babel/runtime/helpers/esm/slicedToArray.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _Configuration__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Configuration */ "./src/Typesense/Configuration.ts"); -/* harmony import */ var _ApiCall__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ApiCall */ "./src/Typesense/ApiCall.ts"); -/* harmony import */ var _MultiSearch__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./MultiSearch */ "./src/Typesense/MultiSearch.ts"); -/* harmony import */ var _SearchOnlyCollection__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./SearchOnlyCollection */ "./src/Typesense/SearchOnlyCollection.ts"); - - - - - - - -var SearchClient = /*#__PURE__*/function () { - function SearchClient(options) { - var _options$sendApiKeyAs; - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, SearchClient); - options.sendApiKeyAsQueryParam = (_options$sendApiKeyAs = options.sendApiKeyAsQueryParam) !== null && _options$sendApiKeyAs !== void 0 ? _options$sendApiKeyAs : true; - if (options.sendApiKeyAsQueryParam === true && (options.apiKey || "").length > 2000) { - console.warn("[typesense] API Key is longer than 2000 characters which is over the allowed limit, so disabling sending it as a query parameter."); - options.sendApiKeyAsQueryParam = false; - } - this.configuration = new _Configuration__WEBPACK_IMPORTED_MODULE_3__["default"](options); - this.apiCall = new _ApiCall__WEBPACK_IMPORTED_MODULE_4__["default"](this.configuration); - this.multiSearch = new _MultiSearch__WEBPACK_IMPORTED_MODULE_5__["default"](this.apiCall, this.configuration, true); - this.individualCollections = {}; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(SearchClient, [{ - key: "clearCache", - value: function clearCache() { - this.multiSearch.clearCache(); - - // eslint-disable-next-line @typescript-eslint/no-unused-vars - Object.entries(this.individualCollections).forEach(function (_ref) { - var _ref2 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__["default"])(_ref, 2), - _ = _ref2[0], - collection = _ref2[1]; - collection.documents().clearCache(); - }); - } - }, { - key: "collections", - value: function collections(collectionName) { - if (!collectionName) { - 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."); - } else { - if (this.individualCollections[collectionName] === undefined) { - this.individualCollections[collectionName] = new _SearchOnlyCollection__WEBPACK_IMPORTED_MODULE_6__.SearchOnlyCollection(collectionName, this.apiCall, this.configuration); - } - return this.individualCollections[collectionName]; - } - } - }]); - return SearchClient; -}(); - - -/***/ }), - -/***/ "./src/Typesense/SearchOnlyCollection.ts": -/*!***********************************************!*\ - !*** ./src/Typesense/SearchOnlyCollection.ts ***! - \***********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ SearchOnlyCollection: () => (/* binding */ SearchOnlyCollection) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _SearchOnlyDocuments__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./SearchOnlyDocuments */ "./src/Typesense/SearchOnlyDocuments.ts"); - - - -var SearchOnlyCollection = /*#__PURE__*/function () { - function SearchOnlyCollection(name, apiCall, configuration) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__["default"])(this, SearchOnlyCollection); - this.name = name; - this.apiCall = apiCall; - this.configuration = configuration; - this._documents = new _SearchOnlyDocuments__WEBPACK_IMPORTED_MODULE_2__.SearchOnlyDocuments(this.name, this.apiCall, this.configuration); - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__["default"])(SearchOnlyCollection, [{ - key: "documents", - value: function documents() { - return this._documents; - } - }]); - return SearchOnlyCollection; -}(); - -/***/ }), - -/***/ "./src/Typesense/SearchOnlyDocuments.ts": -/*!**********************************************!*\ - !*** ./src/Typesense/SearchOnlyDocuments.ts ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ SearchOnlyDocuments: () => (/* binding */ SearchOnlyDocuments) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var _RequestWithCache__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./RequestWithCache */ "./src/Typesense/RequestWithCache.ts"); -/* harmony import */ var _Collections__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Collections */ "./src/Typesense/Collections.ts"); - - - - - - - -var RESOURCEPATH = "/documents"; -var SearchOnlyDocuments = /*#__PURE__*/function () { - function SearchOnlyDocuments(collectionName, apiCall, configuration) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, SearchOnlyDocuments); - (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_3__["default"])(this, "requestWithCache", new _RequestWithCache__WEBPACK_IMPORTED_MODULE_5__["default"]()); - this.collectionName = collectionName; - this.apiCall = apiCall; - this.configuration = configuration; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(SearchOnlyDocuments, [{ - key: "clearCache", - value: function clearCache() { - this.requestWithCache.clearCache(); - } - }, { - key: "search", - value: function () { - var _search = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee(searchParameters) { - var _ref, - _ref$cacheSearchResul, - cacheSearchResultsForSeconds, - _ref$abortSignal, - abortSignal, - additionalQueryParams, - key, - queryParams, - _args = arguments; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - _ref = _args.length > 1 && _args[1] !== undefined ? _args[1] : {}, _ref$cacheSearchResul = _ref.cacheSearchResultsForSeconds, cacheSearchResultsForSeconds = _ref$cacheSearchResul === void 0 ? this.configuration.cacheSearchResultsForSeconds : _ref$cacheSearchResul, _ref$abortSignal = _ref.abortSignal, abortSignal = _ref$abortSignal === void 0 ? null : _ref$abortSignal; - additionalQueryParams = {}; - if (this.configuration.useServerSideSearchCache === true) { - additionalQueryParams["use_cache"] = true; - } - for (key in searchParameters) { - if (Array.isArray(searchParameters[key])) { - additionalQueryParams[key] = searchParameters[key].join(","); - } - } - queryParams = Object.assign({}, searchParameters, additionalQueryParams); - return _context.abrupt("return", this.requestWithCache.perform(this.apiCall, this.apiCall.get, [this.endpointPath("search"), queryParams, { - abortSignal: abortSignal - }], { - cacheResponseForSeconds: cacheSearchResultsForSeconds - })); - case 6: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function search(_x) { - return _search.apply(this, arguments); - } - return search; - }() - }, { - key: "endpointPath", - value: function endpointPath(operation) { - return "".concat(_Collections__WEBPACK_IMPORTED_MODULE_6__["default"].RESOURCEPATH, "/").concat(this.collectionName).concat(RESOURCEPATH).concat(operation === undefined ? "" : "/" + operation); - } - }], [{ - key: "RESOURCEPATH", - get: function get() { - return RESOURCEPATH; - } - }]); - return SearchOnlyDocuments; -}(); - -/***/ }), - -/***/ "./src/Typesense/Stats.ts": -/*!********************************!*\ - !*** ./src/Typesense/Stats.ts ***! - \********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Metrics) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); - - - - -var RESOURCEPATH = "/stats.json"; -var Metrics = /*#__PURE__*/function () { - function Metrics(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Metrics); - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Metrics, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(RESOURCEPATH)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }]); - return Metrics; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Stopword.ts": -/*!***********************************!*\ - !*** ./src/Typesense/Stopword.ts ***! - \***********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Stopword) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _Stopwords__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Stopwords */ "./src/Typesense/Stopwords.ts"); - - - - - -var Stopword = /*#__PURE__*/function () { - function Stopword(stopwordId, apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Stopword); - this.stopwordId = stopwordId; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Stopword, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "delete", - value: function () { - var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.delete(this.endpointPath())); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function _delete() { - return _delete2.apply(this, arguments); - } - return _delete; - }() - }, { - key: "endpointPath", - value: function endpointPath() { - return "".concat(_Stopwords__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.stopwordId)); - } - }]); - return Stopword; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Stopwords.ts": -/*!************************************!*\ - !*** ./src/Typesense/Stopwords.ts ***! - \************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Stopwords) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); - - - - -var RESOURCEPATH = "/stopwords"; -var Stopwords = /*#__PURE__*/function () { - function Stopwords(apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Stopwords); - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Stopwords, [{ - key: "upsert", - value: function () { - var _upsert = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(stopwordId, params) { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.put(this.endpointPath(stopwordId), params)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function upsert(_x, _x2) { - return _upsert.apply(this, arguments); - } - return upsert; - }() - }, { - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "endpointPath", - value: function endpointPath(operation) { - return "".concat(Stopwords.RESOURCEPATH).concat(operation === undefined ? "" : "/" + encodeURIComponent(operation)); - } - }], [{ - key: "RESOURCEPATH", - get: function get() { - return RESOURCEPATH; - } - }]); - return Stopwords; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Synonym.ts": -/*!**********************************!*\ - !*** ./src/Typesense/Synonym.ts ***! - \**********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Synonym) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _Collections__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Collections */ "./src/Typesense/Collections.ts"); -/* harmony import */ var _Synonyms__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Synonyms */ "./src/Typesense/Synonyms.ts"); - - - - - - -var Synonym = /*#__PURE__*/function () { - function Synonym(collectionName, synonymId, apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Synonym); - this.collectionName = collectionName; - this.synonymId = synonymId; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Synonym, [{ - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "delete", - value: function () { - var _delete2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.delete(this.endpointPath())); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function _delete() { - return _delete2.apply(this, arguments); - } - return _delete; - }() - }, { - key: "endpointPath", - value: function endpointPath() { - return "".concat(_Collections__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.collectionName)).concat(_Synonyms__WEBPACK_IMPORTED_MODULE_5__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.synonymId)); - } - }]); - return Synonym; -}(); - - -/***/ }), - -/***/ "./src/Typesense/Synonyms.ts": -/*!***********************************!*\ - !*** ./src/Typesense/Synonyms.ts ***! - \***********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Synonyms) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); -/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); -/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); -/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _Collections__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Collections */ "./src/Typesense/Collections.ts"); - - - - - -var RESOURCEPATH = "/synonyms"; -var Synonyms = /*#__PURE__*/function () { - function Synonyms(collectionName, apiCall) { - (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, Synonyms); - this.collectionName = collectionName; - this.apiCall = apiCall; - } - (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(Synonyms, [{ - key: "upsert", - value: function () { - var _upsert = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(synonymId, params) { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - return _context.abrupt("return", this.apiCall.put(this.endpointPath(synonymId), params)); - case 1: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function upsert(_x, _x2) { - return _upsert.apply(this, arguments); - } - return upsert; - }() - }, { - key: "retrieve", - value: function () { - var _retrieve = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() { - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", this.apiCall.get(this.endpointPath())); - case 1: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function retrieve() { - return _retrieve.apply(this, arguments); - } - return retrieve; - }() - }, { - key: "endpointPath", - value: function endpointPath(operation) { - return "".concat(_Collections__WEBPACK_IMPORTED_MODULE_4__["default"].RESOURCEPATH, "/").concat(encodeURIComponent(this.collectionName)).concat(Synonyms.RESOURCEPATH).concat(operation === undefined ? "" : "/" + encodeURIComponent(operation)); - } - }], [{ - key: "RESOURCEPATH", - get: function get() { - return RESOURCEPATH; - } - }]); - return Synonyms; -}(); - - -/***/ }), - -/***/ "./node_modules/loglevel/lib/loglevel.js": -/*!***********************************************!*\ - !*** ./node_modules/loglevel/lib/loglevel.js ***! - \***********************************************/ -/***/ (function(module, exports, __webpack_require__) { - -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/* -* loglevel - https://github.com/pimterry/loglevel -* -* Copyright (c) 2013 Tim Perry -* Licensed under the MIT license. -*/ -(function (root, definition) { - "use strict"; - if (true) { - !(__WEBPACK_AMD_DEFINE_FACTORY__ = (definition), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) : - __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); - } else {} -}(this, function () { - "use strict"; - - // Slightly dubious tricks to cut down minimized file size - var noop = function() {}; - var undefinedType = "undefined"; - var isIE = (typeof window !== undefinedType) && (typeof window.navigator !== undefinedType) && ( - /Trident\/|MSIE /.test(window.navigator.userAgent) - ); - - var logMethods = [ - "trace", - "debug", - "info", - "warn", - "error" - ]; - - var _loggersByName = {}; - var defaultLogger = null; - - // Cross-browser bind equivalent that works at least back to IE6 - function bindMethod(obj, methodName) { - var method = obj[methodName]; - if (typeof method.bind === 'function') { - return method.bind(obj); - } else { - try { - return Function.prototype.bind.call(method, obj); - } catch (e) { - // Missing bind shim or IE8 + Modernizr, fallback to wrapping - return function() { - return Function.prototype.apply.apply(method, [obj, arguments]); - }; - } - } - } - - // Trace() doesn't print the message in IE, so for that case we need to wrap it - function traceForIE() { - if (console.log) { - if (console.log.apply) { - console.log.apply(console, arguments); - } else { - // In old IE, native console methods themselves don't have apply(). - Function.prototype.apply.apply(console.log, [console, arguments]); - } - } - if (console.trace) console.trace(); - } - - // Build the best logging method possible for this env - // Wherever possible we want to bind, not wrap, to preserve stack traces - function realMethod(methodName) { - if (methodName === 'debug') { - methodName = 'log'; - } - - if (typeof console === undefinedType) { - return false; // No method possible, for now - fixed later by enableLoggingWhenConsoleArrives - } else if (methodName === 'trace' && isIE) { - return traceForIE; - } else if (console[methodName] !== undefined) { - return bindMethod(console, methodName); - } else if (console.log !== undefined) { - return bindMethod(console, 'log'); - } else { - return noop; - } - } - - // These private functions always need `this` to be set properly - - function replaceLoggingMethods() { - /*jshint validthis:true */ - var level = this.getLevel(); - - // Replace the actual methods. - for (var i = 0; i < logMethods.length; i++) { - var methodName = logMethods[i]; - this[methodName] = (i < level) ? - noop : - this.methodFactory(methodName, level, this.name); - } - - // Define log.log as an alias for log.debug - this.log = this.debug; - - // Return any important warnings. - if (typeof console === undefinedType && level < this.levels.SILENT) { - return "No console available for logging"; - } - } - - // In old IE versions, the console isn't present until you first open it. - // We build realMethod() replacements here that regenerate logging methods - function enableLoggingWhenConsoleArrives(methodName) { - return function () { - if (typeof console !== undefinedType) { - replaceLoggingMethods.call(this); - this[methodName].apply(this, arguments); - } - }; - } - - // By default, we use closely bound real methods wherever possible, and - // otherwise we wait for a console to appear, and then try again. - function defaultMethodFactory(methodName, _level, _loggerName) { - /*jshint validthis:true */ - return realMethod(methodName) || - enableLoggingWhenConsoleArrives.apply(this, arguments); - } - - function Logger(name, factory) { - // Private instance variables. - var self = this; - /** - * The level inherited from a parent logger (or a global default). We - * cache this here rather than delegating to the parent so that it stays - * in sync with the actual logging methods that we have installed (the - * parent could change levels but we might not have rebuilt the loggers - * in this child yet). - * @type {number} - */ - var inheritedLevel; - /** - * The default level for this logger, if any. If set, this overrides - * `inheritedLevel`. - * @type {number|null} - */ - var defaultLevel; - /** - * A user-specific level for this logger. If set, this overrides - * `defaultLevel`. - * @type {number|null} - */ - var userLevel; - - var storageKey = "loglevel"; - if (typeof name === "string") { - storageKey += ":" + name; - } else if (typeof name === "symbol") { - storageKey = undefined; - } - - function persistLevelIfPossible(levelNum) { - var levelName = (logMethods[levelNum] || 'silent').toUpperCase(); - - if (typeof window === undefinedType || !storageKey) return; - - // Use localStorage if available - try { - window.localStorage[storageKey] = levelName; - return; - } catch (ignore) {} - - // Use session cookie as fallback - try { - window.document.cookie = - encodeURIComponent(storageKey) + "=" + levelName + ";"; - } catch (ignore) {} - } - - function getPersistedLevel() { - var storedLevel; - - if (typeof window === undefinedType || !storageKey) return; - - try { - storedLevel = window.localStorage[storageKey]; - } catch (ignore) {} - - // Fallback to cookies if local storage gives us nothing - if (typeof storedLevel === undefinedType) { - try { - var cookie = window.document.cookie; - var cookieName = encodeURIComponent(storageKey); - var location = cookie.indexOf(cookieName + "="); - if (location !== -1) { - storedLevel = /^([^;]+)/.exec( - cookie.slice(location + cookieName.length + 1) - )[1]; - } - } catch (ignore) {} - } - - // If the stored level is not valid, treat it as if nothing was stored. - if (self.levels[storedLevel] === undefined) { - storedLevel = undefined; - } - - return storedLevel; - } - - function clearPersistedLevel() { - if (typeof window === undefinedType || !storageKey) return; - - // Use localStorage if available - try { - window.localStorage.removeItem(storageKey); - } catch (ignore) {} - - // Use session cookie as fallback - try { - window.document.cookie = - encodeURIComponent(storageKey) + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC"; - } catch (ignore) {} - } - - function normalizeLevel(input) { - var level = input; - if (typeof level === "string" && self.levels[level.toUpperCase()] !== undefined) { - level = self.levels[level.toUpperCase()]; - } - if (typeof level === "number" && level >= 0 && level <= self.levels.SILENT) { - return level; - } else { - throw new TypeError("log.setLevel() called with invalid level: " + input); - } - } - - /* - * - * Public logger API - see https://github.com/pimterry/loglevel for details - * - */ - - self.name = name; - - self.levels = { "TRACE": 0, "DEBUG": 1, "INFO": 2, "WARN": 3, - "ERROR": 4, "SILENT": 5}; - - self.methodFactory = factory || defaultMethodFactory; - - self.getLevel = function () { - if (userLevel != null) { - return userLevel; - } else if (defaultLevel != null) { - return defaultLevel; - } else { - return inheritedLevel; - } - }; - - self.setLevel = function (level, persist) { - userLevel = normalizeLevel(level); - if (persist !== false) { // defaults to true - persistLevelIfPossible(userLevel); - } - - // NOTE: in v2, this should call rebuild(), which updates children. - return replaceLoggingMethods.call(self); - }; - - self.setDefaultLevel = function (level) { - defaultLevel = normalizeLevel(level); - if (!getPersistedLevel()) { - self.setLevel(level, false); - } - }; - - self.resetLevel = function () { - userLevel = null; - clearPersistedLevel(); - replaceLoggingMethods.call(self); - }; - - self.enableAll = function(persist) { - self.setLevel(self.levels.TRACE, persist); - }; - - self.disableAll = function(persist) { - self.setLevel(self.levels.SILENT, persist); - }; - - self.rebuild = function () { - if (defaultLogger !== self) { - inheritedLevel = normalizeLevel(defaultLogger.getLevel()); - } - replaceLoggingMethods.call(self); - - if (defaultLogger === self) { - for (var childName in _loggersByName) { - _loggersByName[childName].rebuild(); - } - } - }; - - // Initialize all the internal levels. - inheritedLevel = normalizeLevel( - defaultLogger ? defaultLogger.getLevel() : "WARN" - ); - var initialLevel = getPersistedLevel(); - if (initialLevel != null) { - userLevel = normalizeLevel(initialLevel); - } - replaceLoggingMethods.call(self); - } - - /* - * - * Top-level API - * - */ - - defaultLogger = new Logger(); - - defaultLogger.getLogger = function getLogger(name) { - if ((typeof name !== "symbol" && typeof name !== "string") || name === "") { - throw new TypeError("You must supply a name when creating a logger."); - } - - var logger = _loggersByName[name]; - if (!logger) { - logger = _loggersByName[name] = new Logger( - name, - defaultLogger.methodFactory - ); - } - return logger; - }; - - // Grab the current global log variable in case of overwrite - var _log = (typeof window !== undefinedType) ? window.log : undefined; - defaultLogger.noConflict = function() { - if (typeof window !== undefinedType && - window.log === defaultLogger) { - window.log = _log; - } - - return defaultLogger; - }; - - defaultLogger.getLoggers = function getLoggers() { - return _loggersByName; - }; - - // ES6 default export, for compatibility - defaultLogger['default'] = defaultLogger; - - return defaultLogger; -})); - - -/***/ }), - -/***/ "?4bf0": -/*!************************!*\ - !*** crypto (ignored) ***! - \************************/ -/***/ (() => { - -/* (ignored) */ - -/***/ }), - -/***/ "?e89d": -/*!**********************!*\ - !*** http (ignored) ***! - \**********************/ -/***/ (() => { - -/* (ignored) */ - -/***/ }), - -/***/ "?77e4": -/*!***********************!*\ - !*** https (ignored) ***! - \***********************/ -/***/ (() => { - -/* (ignored) */ - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/regeneratorRuntime.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/regeneratorRuntime.js ***! - \*******************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -var _typeof = (__webpack_require__(/*! ./typeof.js */ "./node_modules/@babel/runtime/helpers/typeof.js")["default"]); -function _regeneratorRuntime() { - "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ - module.exports = _regeneratorRuntime = function _regeneratorRuntime() { - return e; - }, module.exports.__esModule = true, module.exports["default"] = module.exports; - var t, - e = {}, - r = Object.prototype, - n = r.hasOwnProperty, - o = Object.defineProperty || function (t, e, r) { - t[e] = r.value; - }, - i = "function" == typeof Symbol ? Symbol : {}, - a = i.iterator || "@@iterator", - c = i.asyncIterator || "@@asyncIterator", - u = i.toStringTag || "@@toStringTag"; - function define(t, e, r) { - return Object.defineProperty(t, e, { - value: r, - enumerable: !0, - configurable: !0, - writable: !0 - }), t[e]; - } - try { - define({}, ""); - } catch (t) { - define = function define(t, e, r) { - return t[e] = r; - }; - } - function wrap(t, e, r, n) { - var i = e && e.prototype instanceof Generator ? e : Generator, - a = Object.create(i.prototype), - c = new Context(n || []); - return o(a, "_invoke", { - value: makeInvokeMethod(t, r, c) - }), a; - } - function tryCatch(t, e, r) { - try { - return { - type: "normal", - arg: t.call(e, r) - }; - } catch (t) { - return { - type: "throw", - arg: t - }; - } - } - e.wrap = wrap; - var h = "suspendedStart", - l = "suspendedYield", - f = "executing", - s = "completed", - y = {}; - function Generator() {} - function GeneratorFunction() {} - function GeneratorFunctionPrototype() {} - var p = {}; - define(p, a, function () { - return this; - }); - var d = Object.getPrototypeOf, - v = d && d(d(values([]))); - v && v !== r && n.call(v, a) && (p = v); - var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); - function defineIteratorMethods(t) { - ["next", "throw", "return"].forEach(function (e) { - define(t, e, function (t) { - return this._invoke(e, t); - }); - }); - } - function AsyncIterator(t, e) { - function invoke(r, o, i, a) { - var c = tryCatch(t[r], t, o); - if ("throw" !== c.type) { - var u = c.arg, - h = u.value; - return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { - invoke("next", t, i, a); - }, function (t) { - invoke("throw", t, i, a); - }) : e.resolve(h).then(function (t) { - u.value = t, i(u); - }, function (t) { - return invoke("throw", t, i, a); - }); - } - a(c.arg); - } - var r; - o(this, "_invoke", { - value: function value(t, n) { - function callInvokeWithMethodAndArg() { - return new e(function (e, r) { - invoke(t, n, e, r); - }); - } - return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); - } - }); - } - function makeInvokeMethod(e, r, n) { - var o = h; - return function (i, a) { - if (o === f) throw new Error("Generator is already running"); - if (o === s) { - if ("throw" === i) throw a; - return { - value: t, - done: !0 - }; - } - for (n.method = i, n.arg = a;;) { - var c = n.delegate; - if (c) { - var u = maybeInvokeDelegate(c, n); - if (u) { - if (u === y) continue; - return u; - } - } - if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { - if (o === h) throw o = s, n.arg; - n.dispatchException(n.arg); - } else "return" === n.method && n.abrupt("return", n.arg); - o = f; - var p = tryCatch(e, r, n); - if ("normal" === p.type) { - if (o = n.done ? s : l, p.arg === y) continue; - return { - value: p.arg, - done: n.done - }; - } - "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); - } - }; - } - function maybeInvokeDelegate(e, r) { - var n = r.method, - o = e.iterator[n]; - if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; - var i = tryCatch(o, e.iterator, r.arg); - if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; - var a = i.arg; - return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); - } - function pushTryEntry(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 resetTryEntry(t) { - var e = t.completion || {}; - e.type = "normal", delete e.arg, t.completion = e; - } - function Context(t) { - this.tryEntries = [{ - tryLoc: "root" - }], t.forEach(pushTryEntry, this), this.reset(!0); - } - function values(e) { - if (e || "" === e) { - var r = e[a]; - if (r) return r.call(e); - if ("function" == typeof e.next) return e; - if (!isNaN(e.length)) { - var o = -1, - i = function next() { - for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; - return next.value = t, next.done = !0, next; - }; - return i.next = i; - } - } - throw new TypeError(_typeof(e) + " is not iterable"); - } - return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { - value: GeneratorFunctionPrototype, - configurable: !0 - }), o(GeneratorFunctionPrototype, "constructor", { - value: GeneratorFunction, - configurable: !0 - }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { - var e = "function" == typeof t && t.constructor; - return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); - }, e.mark = function (t) { - return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; - }, e.awrap = function (t) { - return { - __await: t - }; - }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { - return this; - }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { - void 0 === i && (i = Promise); - var a = new AsyncIterator(wrap(t, r, n, o), i); - return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { - return t.done ? t.value : a.next(); - }); - }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { - return this; - }), define(g, "toString", function () { - return "[object Generator]"; - }), e.keys = function (t) { - var e = Object(t), - r = []; - for (var n in e) r.push(n); - return r.reverse(), function next() { - for (; r.length;) { - var t = r.pop(); - if (t in e) return next.value = t, next.done = !1, next; - } - return next.done = !0, next; - }; - }, e.values = values, Context.prototype = { - constructor: Context, - reset: function reset(e) { - if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); - }, - stop: function stop() { - this.done = !0; - var t = this.tryEntries[0].completion; - if ("throw" === t.type) throw t.arg; - return this.rval; - }, - dispatchException: function dispatchException(e) { - if (this.done) throw e; - var r = this; - function handle(n, o) { - return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; - } - for (var o = this.tryEntries.length - 1; o >= 0; --o) { - var i = this.tryEntries[o], - a = i.completion; - if ("root" === i.tryLoc) return handle("end"); - if (i.tryLoc <= this.prev) { - var c = n.call(i, "catchLoc"), - u = n.call(i, "finallyLoc"); - if (c && u) { - if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); - if (this.prev < i.finallyLoc) return handle(i.finallyLoc); - } else if (c) { - if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); - } else { - if (!u) throw new Error("try statement without catch or finally"); - if (this.prev < i.finallyLoc) return handle(i.finallyLoc); - } - } - } - }, - abrupt: function abrupt(t, e) { - for (var r = this.tryEntries.length - 1; r >= 0; --r) { - var o = this.tryEntries[r]; - if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { - var i = o; - break; - } - } - i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); - var a = i ? i.completion : {}; - return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); - }, - complete: function complete(t, e) { - if ("throw" === t.type) throw t.arg; - return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; - }, - finish: function finish(t) { - for (var e = this.tryEntries.length - 1; e >= 0; --e) { - var r = this.tryEntries[e]; - if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; - } - }, - "catch": function _catch(t) { - for (var e = this.tryEntries.length - 1; e >= 0; --e) { - var r = this.tryEntries[e]; - if (r.tryLoc === t) { - var n = r.completion; - if ("throw" === n.type) { - var o = n.arg; - resetTryEntry(r); - } - return o; - } - } - throw new Error("illegal catch attempt"); - }, - delegateYield: function delegateYield(e, r, n) { - return this.delegate = { - iterator: values(e), - resultName: r, - nextLoc: n - }, "next" === this.method && (this.arg = t), y; - } - }, e; -} -module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports; - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/typeof.js": -/*!*******************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/typeof.js ***! - \*******************************************************/ -/***/ ((module) => { - -function _typeof(o) { - "@babel/helpers - typeof"; - - return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { - return typeof o; - } : function (o) { - return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; - }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(o); -} -module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports; - -/***/ }), - -/***/ "./node_modules/@babel/runtime/regenerator/index.js": -/*!**********************************************************!*\ - !*** ./node_modules/@babel/runtime/regenerator/index.js ***! - \**********************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -// TODO(Babel 8): Remove this file. - -var runtime = __webpack_require__(/*! ../helpers/regeneratorRuntime */ "./node_modules/@babel/runtime/helpers/regeneratorRuntime.js")(); -module.exports = runtime; - -// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736= -try { - regeneratorRuntime = runtime; -} catch (accidentalStrictMode) { - if (typeof globalThis === "object") { - globalThis.regeneratorRuntime = runtime; - } else { - Function("r", "regeneratorRuntime = r")(runtime); - } -} - - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js ***! - \*********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _arrayLikeToArray) -/* harmony export */ }); -function _arrayLikeToArray(arr, len) { - if (len == null || len > arr.length) len = arr.length; - for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; - return arr2; -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js ***! - \*******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _arrayWithHoles) -/* harmony export */ }); -function _arrayWithHoles(arr) { - if (Array.isArray(arr)) return arr; -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js ***! - \**********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _arrayWithoutHoles) -/* harmony export */ }); -/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ "./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js"); - -function _arrayWithoutHoles(arr) { - if (Array.isArray(arr)) return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(arr); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js": -/*!**************************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js ***! - \**************************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _assertThisInitialized) -/* harmony export */ }); -function _assertThisInitialized(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - return self; -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js ***! - \*********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _asyncToGenerator) -/* harmony export */ }); -function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { - try { - var info = gen[key](arg); - var value = info.value; - } catch (error) { - reject(error); - return; - } - if (info.done) { - resolve(value); - } else { - Promise.resolve(value).then(_next, _throw); - } -} -function _asyncToGenerator(fn) { - return function () { - var self = this, - args = arguments; - return new Promise(function (resolve, reject) { - var gen = fn.apply(self, args); - function _next(value) { - asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); - } - function _throw(err) { - asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); - } - _next(undefined); - }); - }; -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js ***! - \*******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _classCallCheck) -/* harmony export */ }); -function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/construct.js": -/*!**************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/construct.js ***! - \**************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _construct) -/* harmony export */ }); -/* harmony import */ var _setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setPrototypeOf.js */ "./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js"); -/* harmony import */ var _isNativeReflectConstruct_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isNativeReflectConstruct.js */ "./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js"); - - -function _construct(t, e, r) { - if ((0,_isNativeReflectConstruct_js__WEBPACK_IMPORTED_MODULE_1__["default"])()) return Reflect.construct.apply(null, arguments); - var o = [null]; - o.push.apply(o, e); - var p = new (t.bind.apply(t, o))(); - return r && (0,_setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__["default"])(p, r.prototype), p; -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/createClass.js": -/*!****************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/createClass.js ***! - \****************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _createClass) -/* harmony export */ }); -/* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ "./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js"); - -function _defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i]; - descriptor.enumerable = descriptor.enumerable || false; - descriptor.configurable = true; - if ("value" in descriptor) descriptor.writable = true; - Object.defineProperty(target, (0,_toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__["default"])(descriptor.key), descriptor); - } -} -function _createClass(Constructor, protoProps, staticProps) { - if (protoProps) _defineProperties(Constructor.prototype, protoProps); - if (staticProps) _defineProperties(Constructor, staticProps); - Object.defineProperty(Constructor, "prototype", { - writable: false - }); - return Constructor; -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/defineProperty.js ***! - \*******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _defineProperty) -/* harmony export */ }); -/* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ "./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js"); - -function _defineProperty(obj, key, value) { - key = (0,_toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__["default"])(key); - if (key in obj) { - Object.defineProperty(obj, key, { - value: value, - enumerable: true, - configurable: true, - writable: true - }); - } else { - obj[key] = value; - } - return obj; -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js ***! - \*******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _getPrototypeOf) -/* harmony export */ }); -function _getPrototypeOf(o) { - _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { - return o.__proto__ || Object.getPrototypeOf(o); - }; - return _getPrototypeOf(o); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/inherits.js": -/*!*************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/inherits.js ***! - \*************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _inherits) -/* harmony export */ }); -/* harmony import */ var _setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setPrototypeOf.js */ "./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js"); - -function _inherits(subClass, superClass) { - if (typeof superClass !== "function" && superClass !== null) { - throw new TypeError("Super expression must either be null or a function"); - } - subClass.prototype = Object.create(superClass && superClass.prototype, { - constructor: { - value: subClass, - writable: true, - configurable: true - } - }); - Object.defineProperty(subClass, "prototype", { - writable: false - }); - if (superClass) (0,_setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__["default"])(subClass, superClass); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js ***! - \*********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _isNativeFunction) -/* harmony export */ }); -function _isNativeFunction(fn) { - try { - return Function.toString.call(fn).indexOf("[native code]") !== -1; - } catch (e) { - return typeof fn === "function"; - } -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js ***! - \*****************************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _isNativeReflectConstruct) -/* harmony export */ }); -function _isNativeReflectConstruct() { - try { - var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); - } catch (t) {} - return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { - return !!t; - })(); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/iterableToArray.js": -/*!********************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js ***! - \********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _iterableToArray) -/* harmony export */ }); -function _iterableToArray(iter) { - if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js": -/*!*************************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js ***! - \*************************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _iterableToArrayLimit) -/* harmony export */ }); -function _iterableToArrayLimit(r, l) { - var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; - if (null != t) { - var e, - n, - i, - u, - a = [], - f = !0, - o = !1; - try { - if (i = (t = t.call(r)).next, 0 === l) { - if (Object(t) !== t) return; - f = !1; - } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); - } catch (r) { - o = !0, n = r; - } finally { - try { - if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; - } finally { - if (o) throw n; - } - } - return a; - } -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js": -/*!********************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js ***! - \********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _nonIterableRest) -/* harmony export */ }); -function _nonIterableRest() { - throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js ***! - \**********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _nonIterableSpread) -/* harmony export */ }); -function _nonIterableSpread() { - throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js": -/*!******************************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js ***! - \******************************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _possibleConstructorReturn) -/* harmony export */ }); -/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "./node_modules/@babel/runtime/helpers/esm/typeof.js"); -/* harmony import */ var _assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./assertThisInitialized.js */ "./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js"); - - -function _possibleConstructorReturn(self, call) { - if (call && ((0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(call) === "object" || typeof call === "function")) { - return call; - } else if (call !== void 0) { - throw new TypeError("Derived constructors may only return object or undefined"); - } - return (0,_assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_1__["default"])(self); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js ***! - \*******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _setPrototypeOf) -/* harmony export */ }); -function _setPrototypeOf(o, p) { - _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { - o.__proto__ = p; - return o; - }; - return _setPrototypeOf(o, p); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/slicedToArray.js": -/*!******************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js ***! - \******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _slicedToArray) -/* harmony export */ }); -/* harmony import */ var _arrayWithHoles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayWithHoles.js */ "./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js"); -/* harmony import */ var _iterableToArrayLimit_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterableToArrayLimit.js */ "./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js"); -/* harmony import */ var _unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js"); -/* harmony import */ var _nonIterableRest_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./nonIterableRest.js */ "./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js"); - - - - -function _slicedToArray(arr, i) { - return (0,_arrayWithHoles_js__WEBPACK_IMPORTED_MODULE_0__["default"])(arr) || (0,_iterableToArrayLimit_js__WEBPACK_IMPORTED_MODULE_1__["default"])(arr, i) || (0,_unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__["default"])(arr, i) || (0,_nonIterableRest_js__WEBPACK_IMPORTED_MODULE_3__["default"])(); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js ***! - \**********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _toConsumableArray) -/* harmony export */ }); -/* harmony import */ var _arrayWithoutHoles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayWithoutHoles.js */ "./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js"); -/* harmony import */ var _iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterableToArray.js */ "./node_modules/@babel/runtime/helpers/esm/iterableToArray.js"); -/* harmony import */ var _unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js"); -/* harmony import */ var _nonIterableSpread_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./nonIterableSpread.js */ "./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js"); - - - - -function _toConsumableArray(arr) { - return (0,_arrayWithoutHoles_js__WEBPACK_IMPORTED_MODULE_0__["default"])(arr) || (0,_iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__["default"])(arr) || (0,_unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__["default"])(arr) || (0,_nonIterableSpread_js__WEBPACK_IMPORTED_MODULE_3__["default"])(); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/toPrimitive.js": -/*!****************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/toPrimitive.js ***! - \****************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ toPrimitive) -/* harmony export */ }); -/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "./node_modules/@babel/runtime/helpers/esm/typeof.js"); - -function toPrimitive(t, r) { - if ("object" != (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(t) || !t) return t; - var e = t[Symbol.toPrimitive]; - if (void 0 !== e) { - var i = e.call(t, r || "default"); - if ("object" != (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(i)) return i; - throw new TypeError("@@toPrimitive must return a primitive value."); - } - return ("string" === r ? String : Number)(t); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js": -/*!******************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js ***! - \******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ toPropertyKey) -/* harmony export */ }); -/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "./node_modules/@babel/runtime/helpers/esm/typeof.js"); -/* harmony import */ var _toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toPrimitive.js */ "./node_modules/@babel/runtime/helpers/esm/toPrimitive.js"); - - -function toPropertyKey(t) { - var i = (0,_toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__["default"])(t, "string"); - return "symbol" == (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(i) ? i : String(i); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/typeof.js": -/*!***********************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/typeof.js ***! - \***********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _typeof) -/* harmony export */ }); -function _typeof(o) { - "@babel/helpers - typeof"; - - return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { - return typeof o; - } : function (o) { - return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; - }, _typeof(o); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js ***! - \*******************************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _unsupportedIterableToArray) -/* harmony export */ }); -/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ "./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js"); - -function _unsupportedIterableToArray(o, minLen) { - if (!o) return; - if (typeof o === "string") return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(o, minLen); - var n = Object.prototype.toString.call(o).slice(8, -1); - if (n === "Object" && o.constructor) n = o.constructor.name; - if (n === "Map" || n === "Set") return Array.from(o); - if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(o, minLen); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js": -/*!********************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js ***! - \********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _wrapNativeSuper) -/* harmony export */ }); -/* harmony import */ var _getPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getPrototypeOf.js */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); -/* harmony import */ var _setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./setPrototypeOf.js */ "./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js"); -/* harmony import */ var _isNativeFunction_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isNativeFunction.js */ "./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js"); -/* harmony import */ var _construct_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./construct.js */ "./node_modules/@babel/runtime/helpers/esm/construct.js"); - - - - -function _wrapNativeSuper(Class) { - var _cache = typeof Map === "function" ? new Map() : undefined; - _wrapNativeSuper = function _wrapNativeSuper(Class) { - if (Class === null || !(0,_isNativeFunction_js__WEBPACK_IMPORTED_MODULE_2__["default"])(Class)) return Class; - if (typeof Class !== "function") { - throw new TypeError("Super expression must either be null or a function"); - } - if (typeof _cache !== "undefined") { - if (_cache.has(Class)) return _cache.get(Class); - _cache.set(Class, Wrapper); - } - function Wrapper() { - return (0,_construct_js__WEBPACK_IMPORTED_MODULE_3__["default"])(Class, arguments, (0,_getPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__["default"])(this).constructor); - } - Wrapper.prototype = Object.create(Class.prototype, { - constructor: { - value: Wrapper, - enumerable: false, - writable: true, - configurable: true - } - }); - return (0,_setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_1__["default"])(Wrapper, Class); - }; - return _wrapNativeSuper(Class); -} - -/***/ }), - -/***/ "./node_modules/axios/lib/adapters/adapters.js": -/*!*****************************************************!*\ - !*** ./node_modules/axios/lib/adapters/adapters.js ***! - \*****************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _http_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./http.js */ "./node_modules/axios/lib/helpers/null.js"); -/* harmony import */ var _xhr_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./xhr.js */ "./node_modules/axios/lib/adapters/xhr.js"); -/* harmony import */ var _fetch_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./fetch.js */ "./node_modules/axios/lib/adapters/fetch.js"); -/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); - - - - - - -const knownAdapters = { - http: _http_js__WEBPACK_IMPORTED_MODULE_0__["default"], - xhr: _xhr_js__WEBPACK_IMPORTED_MODULE_1__["default"], - fetch: _fetch_js__WEBPACK_IMPORTED_MODULE_2__["default"] -} - -_utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].forEach(knownAdapters, (fn, value) => { - if (fn) { - try { - Object.defineProperty(fn, 'name', {value}); - } catch (e) { - // eslint-disable-next-line no-empty - } - Object.defineProperty(fn, 'adapterName', {value}); - } -}); - -const renderReason = (reason) => `- ${reason}`; - -const isResolvedHandle = (adapter) => _utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].isFunction(adapter) || adapter === null || adapter === false; - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ - getAdapter: (adapters) => { - adapters = _utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].isArray(adapters) ? adapters : [adapters]; - - const {length} = adapters; - let nameOrAdapter; - let adapter; - - const rejectedReasons = {}; - - for (let i = 0; i < length; i++) { - nameOrAdapter = adapters[i]; - let id; - - adapter = nameOrAdapter; - - if (!isResolvedHandle(nameOrAdapter)) { - adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()]; - - if (adapter === undefined) { - throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_4__["default"](`Unknown adapter '${id}'`); - } - } - - if (adapter) { - break; - } - - rejectedReasons[id || '#' + i] = adapter; - } - - if (!adapter) { - - const reasons = Object.entries(rejectedReasons) - .map(([id, state]) => `adapter ${id} ` + - (state === false ? 'is not supported by the environment' : 'is not available in the build') - ); - - let s = length ? - (reasons.length > 1 ? 'since :\n' + reasons.map(renderReason).join('\n') : ' ' + renderReason(reasons[0])) : - 'as no adapter specified'; - - throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_4__["default"]( - `There is no suitable adapter to dispatch the request ` + s, - 'ERR_NOT_SUPPORT' - ); - } - - return adapter; - }, - adapters: knownAdapters -}); - - -/***/ }), - -/***/ "./node_modules/axios/lib/adapters/fetch.js": -/*!**************************************************!*\ - !*** ./node_modules/axios/lib/adapters/fetch.js ***! - \**************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js"); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); -/* harmony import */ var _helpers_composeSignals_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../helpers/composeSignals.js */ "./node_modules/axios/lib/helpers/composeSignals.js"); -/* harmony import */ var _helpers_trackStream_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../helpers/trackStream.js */ "./node_modules/axios/lib/helpers/trackStream.js"); -/* harmony import */ var _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../core/AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); -/* harmony import */ var _helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../helpers/progressEventReducer.js */ "./node_modules/axios/lib/helpers/progressEventReducer.js"); -/* harmony import */ var _helpers_resolveConfig_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../helpers/resolveConfig.js */ "./node_modules/axios/lib/helpers/resolveConfig.js"); -/* harmony import */ var _core_settle_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../core/settle.js */ "./node_modules/axios/lib/core/settle.js"); - - - - - - - - - - -const isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function'; -const isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function'; - -// used only inside the fetch adapter -const encodeText = isFetchSupported && (typeof TextEncoder === 'function' ? - ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) : - async (str) => new Uint8Array(await new Response(str).arrayBuffer()) -); - -const test = (fn, ...args) => { - try { - return !!fn(...args); - } catch (e) { - return false - } -} - -const supportsRequestStream = isReadableStreamSupported && test(() => { - let duplexAccessed = false; - - const hasContentType = new Request(_platform_index_js__WEBPACK_IMPORTED_MODULE_0__["default"].origin, { - body: new ReadableStream(), - method: 'POST', - get duplex() { - duplexAccessed = true; - return 'half'; - }, - }).headers.has('Content-Type'); - - return duplexAccessed && !hasContentType; -}); - -const DEFAULT_CHUNK_SIZE = 64 * 1024; - -const supportsResponseStream = isReadableStreamSupported && - test(() => _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isReadableStream(new Response('').body)); - - -const resolvers = { - stream: supportsResponseStream && ((res) => res.body) -}; - -isFetchSupported && (((res) => { - ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => { - !resolvers[type] && (resolvers[type] = _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isFunction(res[type]) ? (res) => res[type]() : - (_, config) => { - throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_2__["default"](`Response type '${type}' is not supported`, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_2__["default"].ERR_NOT_SUPPORT, config); - }) - }); -})(new Response)); - -const getBodyLength = async (body) => { - if (body == null) { - return 0; - } - - if(_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isBlob(body)) { - return body.size; - } - - if(_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isSpecCompliantForm(body)) { - return (await new Request(body).arrayBuffer()).byteLength; - } - - if(_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isArrayBufferView(body) || _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isArrayBuffer(body)) { - return body.byteLength; - } - - if(_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isURLSearchParams(body)) { - body = body + ''; - } - - if(_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isString(body)) { - return (await encodeText(body)).byteLength; - } -} - -const resolveBodyLength = async (headers, body) => { - const length = _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].toFiniteNumber(headers.getContentLength()); - - return length == null ? getBodyLength(body) : length; -} - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isFetchSupported && (async (config) => { - let { - url, - method, - data, - signal, - cancelToken, - timeout, - onDownloadProgress, - onUploadProgress, - responseType, - headers, - withCredentials = 'same-origin', - fetchOptions - } = (0,_helpers_resolveConfig_js__WEBPACK_IMPORTED_MODULE_3__["default"])(config); - - responseType = responseType ? (responseType + '').toLowerCase() : 'text'; - - let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ? - (0,_helpers_composeSignals_js__WEBPACK_IMPORTED_MODULE_4__["default"])([signal, cancelToken], timeout) : []; - - let finished, request; - - const onFinish = () => { - !finished && setTimeout(() => { - composedSignal && composedSignal.unsubscribe(); - }); - - finished = true; - } - - let requestContentLength; - - try { - if ( - onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' && - (requestContentLength = await resolveBodyLength(headers, data)) !== 0 - ) { - let _request = new Request(url, { - method: 'POST', - body: data, - duplex: "half" - }); - - let contentTypeHeader; - - if (_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) { - headers.setContentType(contentTypeHeader) - } - - if (_request.body) { - const [onProgress, flush] = (0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_5__.progressEventDecorator)( - requestContentLength, - (0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_5__.progressEventReducer)((0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_5__.asyncDecorator)(onUploadProgress)) - ); - - data = (0,_helpers_trackStream_js__WEBPACK_IMPORTED_MODULE_6__.trackStream)(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush, encodeText); - } - } - - if (!_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isString(withCredentials)) { - withCredentials = withCredentials ? 'include' : 'omit'; - } - - // Cloudflare Workers throws when credentials are defined - // see https://github.com/cloudflare/workerd/issues/902 - const isCredentialsSupported = "credentials" in Request.prototype; - request = new Request(url, { - ...fetchOptions, - signal: composedSignal, - method: method.toUpperCase(), - headers: headers.normalize().toJSON(), - body: data, - duplex: "half", - credentials: isCredentialsSupported ? withCredentials : undefined - }); - - let response = await fetch(request); - - const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response'); - - if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) { - const options = {}; - - ['status', 'statusText', 'headers'].forEach(prop => { - options[prop] = response[prop]; - }); - - const responseContentLength = _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].toFiniteNumber(response.headers.get('content-length')); - - const [onProgress, flush] = onDownloadProgress && (0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_5__.progressEventDecorator)( - responseContentLength, - (0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_5__.progressEventReducer)((0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_5__.asyncDecorator)(onDownloadProgress), true) - ) || []; - - response = new Response( - (0,_helpers_trackStream_js__WEBPACK_IMPORTED_MODULE_6__.trackStream)(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => { - flush && flush(); - isStreamResponse && onFinish(); - }, encodeText), - options - ); - } - - responseType = responseType || 'text'; - - let responseData = await resolvers[_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].findKey(resolvers, responseType) || 'text'](response, config); - - !isStreamResponse && onFinish(); - - stopTimeout && stopTimeout(); - - return await new Promise((resolve, reject) => { - (0,_core_settle_js__WEBPACK_IMPORTED_MODULE_7__["default"])(resolve, reject, { - data: responseData, - headers: _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_8__["default"].from(response.headers), - status: response.status, - statusText: response.statusText, - config, - request - }) - }) - } catch (err) { - onFinish(); - - if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) { - throw Object.assign( - new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_2__["default"]('Network Error', _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_2__["default"].ERR_NETWORK, config, request), - { - cause: err.cause || err - } - ) - } - - throw _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_2__["default"].from(err, err && err.code, config, request); - } -})); - - - - -/***/ }), - -/***/ "./node_modules/axios/lib/adapters/xhr.js": -/*!************************************************!*\ - !*** ./node_modules/axios/lib/adapters/xhr.js ***! - \************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _core_settle_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../core/settle.js */ "./node_modules/axios/lib/core/settle.js"); -/* harmony import */ var _defaults_transitional_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../defaults/transitional.js */ "./node_modules/axios/lib/defaults/transitional.js"); -/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); -/* harmony import */ var _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../cancel/CanceledError.js */ "./node_modules/axios/lib/cancel/CanceledError.js"); -/* harmony import */ var _helpers_parseProtocol_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../helpers/parseProtocol.js */ "./node_modules/axios/lib/helpers/parseProtocol.js"); -/* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js"); -/* harmony import */ var _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); -/* harmony import */ var _helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../helpers/progressEventReducer.js */ "./node_modules/axios/lib/helpers/progressEventReducer.js"); -/* harmony import */ var _helpers_resolveConfig_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../helpers/resolveConfig.js */ "./node_modules/axios/lib/helpers/resolveConfig.js"); - - - - - - - - - - - -const isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined'; - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isXHRAdapterSupported && function (config) { - return new Promise(function dispatchXhrRequest(resolve, reject) { - const _config = (0,_helpers_resolveConfig_js__WEBPACK_IMPORTED_MODULE_0__["default"])(config); - let requestData = _config.data; - const requestHeaders = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"].from(_config.headers).normalize(); - let {responseType, onUploadProgress, onDownloadProgress} = _config; - let onCanceled; - let uploadThrottled, downloadThrottled; - let flushUpload, flushDownload; - - function done() { - flushUpload && flushUpload(); // flush events - flushDownload && flushDownload(); // flush events - - _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled); - - _config.signal && _config.signal.removeEventListener('abort', onCanceled); - } - - let request = new XMLHttpRequest(); - - request.open(_config.method.toUpperCase(), _config.url, true); - - // Set the request timeout in MS - request.timeout = _config.timeout; - - function onloadend() { - if (!request) { - return; - } - // Prepare the response - const responseHeaders = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"].from( - 'getAllResponseHeaders' in request && request.getAllResponseHeaders() - ); - const responseData = !responseType || responseType === 'text' || responseType === 'json' ? - request.responseText : request.response; - const response = { - data: responseData, - status: request.status, - statusText: request.statusText, - headers: responseHeaders, - config, - request - }; - - (0,_core_settle_js__WEBPACK_IMPORTED_MODULE_2__["default"])(function _resolve(value) { - resolve(value); - done(); - }, function _reject(err) { - reject(err); - done(); - }, response); - - // Clean up request - request = null; - } - - if ('onloadend' in request) { - // Use onloadend if available - request.onloadend = onloadend; - } else { - // Listen for ready state to emulate onloadend - request.onreadystatechange = function handleLoad() { - if (!request || request.readyState !== 4) { - return; - } - - // The request errored out and we didn't get a response, this will be - // handled by onerror instead - // With one exception: request that using file: protocol, most browsers - // will return status as 0 even though it's a successful request - if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) { - return; - } - // readystate handler is calling before onerror or ontimeout handlers, - // so we should call onloadend on the next 'tick' - setTimeout(onloadend); - }; - } - - // Handle browser request cancellation (as opposed to a manual cancellation) - request.onabort = function handleAbort() { - if (!request) { - return; - } - - reject(new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"]('Request aborted', _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"].ECONNABORTED, config, request)); - - // Clean up request - request = null; - }; - - // Handle low level network errors - request.onerror = function handleError() { - // Real errors are hidden from us by the browser - // onerror should only fire if it's a network error - reject(new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"]('Network Error', _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"].ERR_NETWORK, config, request)); - - // Clean up request - request = null; - }; - - // Handle timeout - request.ontimeout = function handleTimeout() { - let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded'; - const transitional = _config.transitional || _defaults_transitional_js__WEBPACK_IMPORTED_MODULE_4__["default"]; - if (_config.timeoutErrorMessage) { - timeoutErrorMessage = _config.timeoutErrorMessage; - } - reject(new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"]( - timeoutErrorMessage, - transitional.clarifyTimeoutError ? _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"].ETIMEDOUT : _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"].ECONNABORTED, - config, - request)); - - // Clean up request - request = null; - }; - - // Remove Content-Type if data is undefined - requestData === undefined && requestHeaders.setContentType(null); - - // Add headers to the request - if ('setRequestHeader' in request) { - _utils_js__WEBPACK_IMPORTED_MODULE_5__["default"].forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) { - request.setRequestHeader(key, val); - }); - } - - // Add withCredentials to request if needed - if (!_utils_js__WEBPACK_IMPORTED_MODULE_5__["default"].isUndefined(_config.withCredentials)) { - request.withCredentials = !!_config.withCredentials; - } - - // Add responseType to request if needed - if (responseType && responseType !== 'json') { - request.responseType = _config.responseType; - } - - // Handle progress if needed - if (onDownloadProgress) { - ([downloadThrottled, flushDownload] = (0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_6__.progressEventReducer)(onDownloadProgress, true)); - request.addEventListener('progress', downloadThrottled); - } - - // Not all browsers support upload events - if (onUploadProgress && request.upload) { - ([uploadThrottled, flushUpload] = (0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_6__.progressEventReducer)(onUploadProgress)); - - request.upload.addEventListener('progress', uploadThrottled); - - request.upload.addEventListener('loadend', flushUpload); - } - - if (_config.cancelToken || _config.signal) { - // Handle cancellation - // eslint-disable-next-line func-names - onCanceled = cancel => { - if (!request) { - return; - } - reject(!cancel || cancel.type ? new _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_7__["default"](null, config, request) : cancel); - request.abort(); - request = null; - }; - - _config.cancelToken && _config.cancelToken.subscribe(onCanceled); - if (_config.signal) { - _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled); - } - } - - const protocol = (0,_helpers_parseProtocol_js__WEBPACK_IMPORTED_MODULE_8__["default"])(_config.url); - - if (protocol && _platform_index_js__WEBPACK_IMPORTED_MODULE_9__["default"].protocols.indexOf(protocol) === -1) { - reject(new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"]('Unsupported protocol ' + protocol + ':', _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"].ERR_BAD_REQUEST, config)); - return; - } - - - // Send the request - request.send(requestData || null); - }); -}); - - -/***/ }), - -/***/ "./node_modules/axios/lib/axios.js": -/*!*****************************************!*\ - !*** ./node_modules/axios/lib/axios.js ***! - \*****************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _helpers_bind_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./helpers/bind.js */ "./node_modules/axios/lib/helpers/bind.js"); -/* harmony import */ var _core_Axios_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./core/Axios.js */ "./node_modules/axios/lib/core/Axios.js"); -/* harmony import */ var _core_mergeConfig_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./core/mergeConfig.js */ "./node_modules/axios/lib/core/mergeConfig.js"); -/* harmony import */ var _defaults_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./defaults/index.js */ "./node_modules/axios/lib/defaults/index.js"); -/* harmony import */ var _helpers_formDataToJSON_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./helpers/formDataToJSON.js */ "./node_modules/axios/lib/helpers/formDataToJSON.js"); -/* harmony import */ var _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./cancel/CanceledError.js */ "./node_modules/axios/lib/cancel/CanceledError.js"); -/* harmony import */ var _cancel_CancelToken_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./cancel/CancelToken.js */ "./node_modules/axios/lib/cancel/CancelToken.js"); -/* harmony import */ var _cancel_isCancel_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./cancel/isCancel.js */ "./node_modules/axios/lib/cancel/isCancel.js"); -/* harmony import */ var _env_data_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./env/data.js */ "./node_modules/axios/lib/env/data.js"); -/* harmony import */ var _helpers_toFormData_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./helpers/toFormData.js */ "./node_modules/axios/lib/helpers/toFormData.js"); -/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); -/* harmony import */ var _helpers_spread_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./helpers/spread.js */ "./node_modules/axios/lib/helpers/spread.js"); -/* harmony import */ var _helpers_isAxiosError_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./helpers/isAxiosError.js */ "./node_modules/axios/lib/helpers/isAxiosError.js"); -/* harmony import */ var _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./core/AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); -/* harmony import */ var _adapters_adapters_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./adapters/adapters.js */ "./node_modules/axios/lib/adapters/adapters.js"); -/* harmony import */ var _helpers_HttpStatusCode_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./helpers/HttpStatusCode.js */ "./node_modules/axios/lib/helpers/HttpStatusCode.js"); - - - - - - - - - - - - - - - - - - - - -/** - * Create an instance of Axios - * - * @param {Object} defaultConfig The default config for the instance - * - * @returns {Axios} A new instance of Axios - */ -function createInstance(defaultConfig) { - const context = new _core_Axios_js__WEBPACK_IMPORTED_MODULE_0__["default"](defaultConfig); - const instance = (0,_helpers_bind_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_core_Axios_js__WEBPACK_IMPORTED_MODULE_0__["default"].prototype.request, context); - - // Copy axios.prototype to instance - _utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].extend(instance, _core_Axios_js__WEBPACK_IMPORTED_MODULE_0__["default"].prototype, context, {allOwnKeys: true}); - - // Copy context to instance - _utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].extend(instance, context, null, {allOwnKeys: true}); - - // Factory for creating new instances - instance.create = function create(instanceConfig) { - return createInstance((0,_core_mergeConfig_js__WEBPACK_IMPORTED_MODULE_3__["default"])(defaultConfig, instanceConfig)); - }; - - return instance; -} - -// Create the default instance to be exported -const axios = createInstance(_defaults_index_js__WEBPACK_IMPORTED_MODULE_4__["default"]); - -// Expose Axios class to allow class inheritance -axios.Axios = _core_Axios_js__WEBPACK_IMPORTED_MODULE_0__["default"]; - -// Expose Cancel & CancelToken -axios.CanceledError = _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_5__["default"]; -axios.CancelToken = _cancel_CancelToken_js__WEBPACK_IMPORTED_MODULE_6__["default"]; -axios.isCancel = _cancel_isCancel_js__WEBPACK_IMPORTED_MODULE_7__["default"]; -axios.VERSION = _env_data_js__WEBPACK_IMPORTED_MODULE_8__.VERSION; -axios.toFormData = _helpers_toFormData_js__WEBPACK_IMPORTED_MODULE_9__["default"]; - -// Expose AxiosError class -axios.AxiosError = _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_10__["default"]; - -// alias for CanceledError for backward compatibility -axios.Cancel = axios.CanceledError; - -// Expose all/spread -axios.all = function all(promises) { - return Promise.all(promises); -}; - -axios.spread = _helpers_spread_js__WEBPACK_IMPORTED_MODULE_11__["default"]; - -// Expose isAxiosError -axios.isAxiosError = _helpers_isAxiosError_js__WEBPACK_IMPORTED_MODULE_12__["default"]; - -// Expose mergeConfig -axios.mergeConfig = _core_mergeConfig_js__WEBPACK_IMPORTED_MODULE_3__["default"]; - -axios.AxiosHeaders = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_13__["default"]; - -axios.formToJSON = thing => (0,_helpers_formDataToJSON_js__WEBPACK_IMPORTED_MODULE_14__["default"])(_utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].isHTMLForm(thing) ? new FormData(thing) : thing); - -axios.getAdapter = _adapters_adapters_js__WEBPACK_IMPORTED_MODULE_15__["default"].getAdapter; - -axios.HttpStatusCode = _helpers_HttpStatusCode_js__WEBPACK_IMPORTED_MODULE_16__["default"]; - -axios.default = axios; - -// this module should only have a default export -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (axios); - - -/***/ }), - -/***/ "./node_modules/axios/lib/cancel/CancelToken.js": -/*!******************************************************!*\ - !*** ./node_modules/axios/lib/cancel/CancelToken.js ***! - \******************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _CanceledError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CanceledError.js */ "./node_modules/axios/lib/cancel/CanceledError.js"); - - - - -/** - * A `CancelToken` is an object that can be used to request cancellation of an operation. - * - * @param {Function} executor The executor function. - * - * @returns {CancelToken} - */ -class CancelToken { - constructor(executor) { - if (typeof executor !== 'function') { - throw new TypeError('executor must be a function.'); - } - - let resolvePromise; - - this.promise = new Promise(function promiseExecutor(resolve) { - resolvePromise = resolve; - }); - - const token = this; - - // eslint-disable-next-line func-names - this.promise.then(cancel => { - if (!token._listeners) return; - - let i = token._listeners.length; - - while (i-- > 0) { - token._listeners[i](cancel); - } - token._listeners = null; - }); - - // eslint-disable-next-line func-names - this.promise.then = onfulfilled => { - let _resolve; - // eslint-disable-next-line func-names - const promise = new Promise(resolve => { - token.subscribe(resolve); - _resolve = resolve; - }).then(onfulfilled); - - promise.cancel = function reject() { - token.unsubscribe(_resolve); - }; - - return promise; - }; - - executor(function cancel(message, config, request) { - if (token.reason) { - // Cancellation has already been requested - return; - } - - token.reason = new _CanceledError_js__WEBPACK_IMPORTED_MODULE_0__["default"](message, config, request); - resolvePromise(token.reason); - }); - } - - /** - * Throws a `CanceledError` if cancellation has been requested. - */ - throwIfRequested() { - if (this.reason) { - throw this.reason; - } - } - - /** - * Subscribe to the cancel signal - */ - - subscribe(listener) { - if (this.reason) { - listener(this.reason); - return; - } - - if (this._listeners) { - this._listeners.push(listener); - } else { - this._listeners = [listener]; - } - } - - /** - * Unsubscribe from the cancel signal - */ - - unsubscribe(listener) { - if (!this._listeners) { - return; - } - const index = this._listeners.indexOf(listener); - if (index !== -1) { - this._listeners.splice(index, 1); - } - } - - /** - * Returns an object that contains a new `CancelToken` and a function that, when called, - * cancels the `CancelToken`. - */ - static source() { - let cancel; - const token = new CancelToken(function executor(c) { - cancel = c; - }); - return { - token, - cancel - }; - } -} - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (CancelToken); - - -/***/ }), - -/***/ "./node_modules/axios/lib/cancel/CanceledError.js": -/*!********************************************************!*\ - !*** ./node_modules/axios/lib/cancel/CanceledError.js ***! - \********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); - - - - - -/** - * A `CanceledError` is an object that is thrown when an operation is canceled. - * - * @param {string=} message The message. - * @param {Object=} config The config. - * @param {Object=} request The request. - * - * @returns {CanceledError} The created error. - */ -function CanceledError(message, config, request) { - // eslint-disable-next-line no-eq-null,eqeqeq - _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"].call(this, message == null ? 'canceled' : message, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"].ERR_CANCELED, config, request); - this.name = 'CanceledError'; -} - -_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].inherits(CanceledError, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"], { - __CANCEL__: true -}); - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (CanceledError); - - -/***/ }), - -/***/ "./node_modules/axios/lib/cancel/isCancel.js": -/*!***************************************************!*\ - !*** ./node_modules/axios/lib/cancel/isCancel.js ***! - \***************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ isCancel) -/* harmony export */ }); - - -function isCancel(value) { - return !!(value && value.__CANCEL__); -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/core/Axios.js": -/*!**********************************************!*\ - !*** ./node_modules/axios/lib/core/Axios.js ***! - \**********************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _helpers_buildURL_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../helpers/buildURL.js */ "./node_modules/axios/lib/helpers/buildURL.js"); -/* harmony import */ var _InterceptorManager_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./InterceptorManager.js */ "./node_modules/axios/lib/core/InterceptorManager.js"); -/* harmony import */ var _dispatchRequest_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./dispatchRequest.js */ "./node_modules/axios/lib/core/dispatchRequest.js"); -/* harmony import */ var _mergeConfig_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./mergeConfig.js */ "./node_modules/axios/lib/core/mergeConfig.js"); -/* harmony import */ var _buildFullPath_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./buildFullPath.js */ "./node_modules/axios/lib/core/buildFullPath.js"); -/* harmony import */ var _helpers_validator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../helpers/validator.js */ "./node_modules/axios/lib/helpers/validator.js"); -/* harmony import */ var _AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); - - - - - - - - - - - -const validators = _helpers_validator_js__WEBPACK_IMPORTED_MODULE_0__["default"].validators; - -/** - * Create a new instance of Axios - * - * @param {Object} instanceConfig The default config for the instance - * - * @return {Axios} A new instance of Axios - */ -class Axios { - constructor(instanceConfig) { - this.defaults = instanceConfig; - this.interceptors = { - request: new _InterceptorManager_js__WEBPACK_IMPORTED_MODULE_1__["default"](), - response: new _InterceptorManager_js__WEBPACK_IMPORTED_MODULE_1__["default"]() - }; - } - - /** - * Dispatch a request - * - * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults) - * @param {?Object} config - * - * @returns {Promise} The Promise to be fulfilled - */ - async request(configOrUrl, config) { - try { - return await this._request(configOrUrl, config); - } catch (err) { - if (err instanceof Error) { - let dummy; - - Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error()); - - // slice off the Error: ... line - const stack = dummy.stack ? dummy.stack.replace(/^.+\n/, '') : ''; - try { - if (!err.stack) { - err.stack = stack; - // match without the 2 top stack lines - } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\n.+\n/, ''))) { - err.stack += '\n' + stack - } - } catch (e) { - // ignore the case where "stack" is an un-writable property - } - } - - throw err; - } - } - - _request(configOrUrl, config) { - /*eslint no-param-reassign:0*/ - // Allow for axios('example/url'[, config]) a la fetch API - if (typeof configOrUrl === 'string') { - config = config || {}; - config.url = configOrUrl; - } else { - config = configOrUrl || {}; - } - - config = (0,_mergeConfig_js__WEBPACK_IMPORTED_MODULE_2__["default"])(this.defaults, config); - - const {transitional, paramsSerializer, headers} = config; - - if (transitional !== undefined) { - _helpers_validator_js__WEBPACK_IMPORTED_MODULE_0__["default"].assertOptions(transitional, { - silentJSONParsing: validators.transitional(validators.boolean), - forcedJSONParsing: validators.transitional(validators.boolean), - clarifyTimeoutError: validators.transitional(validators.boolean) - }, false); - } - - if (paramsSerializer != null) { - if (_utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].isFunction(paramsSerializer)) { - config.paramsSerializer = { - serialize: paramsSerializer - } - } else { - _helpers_validator_js__WEBPACK_IMPORTED_MODULE_0__["default"].assertOptions(paramsSerializer, { - encode: validators.function, - serialize: validators.function - }, true); - } - } - - // Set config.method - config.method = (config.method || this.defaults.method || 'get').toLowerCase(); - - // Flatten headers - let contextHeaders = headers && _utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].merge( - headers.common, - headers[config.method] - ); - - headers && _utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].forEach( - ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], - (method) => { - delete headers[method]; - } - ); - - config.headers = _AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_4__["default"].concat(contextHeaders, headers); - - // filter out skipped interceptors - const requestInterceptorChain = []; - let synchronousRequestInterceptors = true; - this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { - if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) { - return; - } - - synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; - - requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected); - }); - - const responseInterceptorChain = []; - this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { - responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); - }); - - let promise; - let i = 0; - let len; - - if (!synchronousRequestInterceptors) { - const chain = [_dispatchRequest_js__WEBPACK_IMPORTED_MODULE_5__["default"].bind(this), undefined]; - chain.unshift.apply(chain, requestInterceptorChain); - chain.push.apply(chain, responseInterceptorChain); - len = chain.length; - - promise = Promise.resolve(config); - - while (i < len) { - promise = promise.then(chain[i++], chain[i++]); - } - - return promise; - } - - len = requestInterceptorChain.length; - - let newConfig = config; - - i = 0; - - while (i < len) { - const onFulfilled = requestInterceptorChain[i++]; - const onRejected = requestInterceptorChain[i++]; - try { - newConfig = onFulfilled(newConfig); - } catch (error) { - onRejected.call(this, error); - break; - } - } - - try { - promise = _dispatchRequest_js__WEBPACK_IMPORTED_MODULE_5__["default"].call(this, newConfig); - } catch (error) { - return Promise.reject(error); - } - - i = 0; - len = responseInterceptorChain.length; - - while (i < len) { - promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]); - } - - return promise; - } - - getUri(config) { - config = (0,_mergeConfig_js__WEBPACK_IMPORTED_MODULE_2__["default"])(this.defaults, config); - const fullPath = (0,_buildFullPath_js__WEBPACK_IMPORTED_MODULE_6__["default"])(config.baseURL, config.url); - return (0,_helpers_buildURL_js__WEBPACK_IMPORTED_MODULE_7__["default"])(fullPath, config.params, config.paramsSerializer); - } -} - -// Provide aliases for supported request methods -_utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { - /*eslint func-names:0*/ - Axios.prototype[method] = function(url, config) { - return this.request((0,_mergeConfig_js__WEBPACK_IMPORTED_MODULE_2__["default"])(config || {}, { - method, - url, - data: (config || {}).data - })); - }; -}); - -_utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { - /*eslint func-names:0*/ - - function generateHTTPMethod(isForm) { - return function httpMethod(url, data, config) { - return this.request((0,_mergeConfig_js__WEBPACK_IMPORTED_MODULE_2__["default"])(config || {}, { - method, - headers: isForm ? { - 'Content-Type': 'multipart/form-data' - } : {}, - url, - data - })); - }; - } - - Axios.prototype[method] = generateHTTPMethod(); - - Axios.prototype[method + 'Form'] = generateHTTPMethod(true); -}); - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Axios); - - -/***/ }), - -/***/ "./node_modules/axios/lib/core/AxiosError.js": -/*!***************************************************!*\ - !*** ./node_modules/axios/lib/core/AxiosError.js ***! - \***************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); - - - - -/** - * Create an Error with the specified message, config, error code, request and response. - * - * @param {string} message The error message. - * @param {string} [code] The error code (for example, 'ECONNABORTED'). - * @param {Object} [config] The config. - * @param {Object} [request] The request. - * @param {Object} [response] The response. - * - * @returns {Error} The created error. - */ -function AxiosError(message, code, config, request, response) { - Error.call(this); - - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } else { - this.stack = (new Error()).stack; - } - - this.message = message; - this.name = 'AxiosError'; - code && (this.code = code); - config && (this.config = config); - request && (this.request = request); - if (response) { - this.response = response; - this.status = response.status ? response.status : null; - } -} - -_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].inherits(AxiosError, Error, { - toJSON: function toJSON() { - return { - // Standard - message: this.message, - name: this.name, - // Microsoft - description: this.description, - number: this.number, - // Mozilla - fileName: this.fileName, - lineNumber: this.lineNumber, - columnNumber: this.columnNumber, - stack: this.stack, - // Axios - config: _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toJSONObject(this.config), - code: this.code, - status: this.status - }; - } -}); - -const prototype = AxiosError.prototype; -const descriptors = {}; - -[ - 'ERR_BAD_OPTION_VALUE', - 'ERR_BAD_OPTION', - 'ECONNABORTED', - 'ETIMEDOUT', - 'ERR_NETWORK', - 'ERR_FR_TOO_MANY_REDIRECTS', - 'ERR_DEPRECATED', - 'ERR_BAD_RESPONSE', - 'ERR_BAD_REQUEST', - 'ERR_CANCELED', - 'ERR_NOT_SUPPORT', - 'ERR_INVALID_URL' -// eslint-disable-next-line func-names -].forEach(code => { - descriptors[code] = {value: code}; -}); - -Object.defineProperties(AxiosError, descriptors); -Object.defineProperty(prototype, 'isAxiosError', {value: true}); - -// eslint-disable-next-line func-names -AxiosError.from = (error, code, config, request, response, customProps) => { - const axiosError = Object.create(prototype); - - _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toFlatObject(error, axiosError, function filter(obj) { - return obj !== Error.prototype; - }, prop => { - return prop !== 'isAxiosError'; - }); - - AxiosError.call(axiosError, error.message, code, config, request, response); - - axiosError.cause = error; - - axiosError.name = error.name; - - customProps && Object.assign(axiosError, customProps); - - return axiosError; -}; - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AxiosError); - - -/***/ }), - -/***/ "./node_modules/axios/lib/core/AxiosHeaders.js": -/*!*****************************************************!*\ - !*** ./node_modules/axios/lib/core/AxiosHeaders.js ***! - \*****************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _helpers_parseHeaders_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../helpers/parseHeaders.js */ "./node_modules/axios/lib/helpers/parseHeaders.js"); - - - - - -const $internals = Symbol('internals'); - -function normalizeHeader(header) { - return header && String(header).trim().toLowerCase(); -} - -function normalizeValue(value) { - if (value === false || value == null) { - return value; - } - - return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(value) ? value.map(normalizeValue) : String(value); -} - -function parseTokens(str) { - const tokens = Object.create(null); - const tokensRE = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g; - let match; - - while ((match = tokensRE.exec(str))) { - tokens[match[1]] = match[2]; - } - - return tokens; -} - -const isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim()); - -function matchHeaderValue(context, value, header, filter, isHeaderNameFilter) { - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFunction(filter)) { - return filter.call(this, value, header); - } - - if (isHeaderNameFilter) { - value = header; - } - - if (!_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(value)) return; - - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(filter)) { - return value.indexOf(filter) !== -1; - } - - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isRegExp(filter)) { - return filter.test(value); - } -} - -function formatHeader(header) { - return header.trim() - .toLowerCase().replace(/([a-z\d])(\w*)/g, (w, char, str) => { - return char.toUpperCase() + str; - }); -} - -function buildAccessors(obj, header) { - const accessorName = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toCamelCase(' ' + header); - - ['get', 'set', 'has'].forEach(methodName => { - Object.defineProperty(obj, methodName + accessorName, { - value: function(arg1, arg2, arg3) { - return this[methodName].call(this, header, arg1, arg2, arg3); - }, - configurable: true - }); - }); -} - -class AxiosHeaders { - constructor(headers) { - headers && this.set(headers); - } - - set(header, valueOrRewrite, rewrite) { - const self = this; - - function setHeader(_value, _header, _rewrite) { - const lHeader = normalizeHeader(_header); - - if (!lHeader) { - throw new Error('header name must be a non-empty string'); - } - - const key = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].findKey(self, lHeader); - - if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) { - self[key || _header] = normalizeValue(_value); - } - } - - const setHeaders = (headers, _rewrite) => - _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite)); - - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isPlainObject(header) || header instanceof this.constructor) { - setHeaders(header, valueOrRewrite) - } else if(_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(header) && (header = header.trim()) && !isValidHeaderName(header)) { - setHeaders((0,_helpers_parseHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"])(header), valueOrRewrite); - } else if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isHeaders(header)) { - for (const [key, value] of header.entries()) { - setHeader(value, key, rewrite); - } - } else { - header != null && setHeader(valueOrRewrite, header, rewrite); - } - - return this; - } - - get(header, parser) { - header = normalizeHeader(header); - - if (header) { - const key = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].findKey(this, header); - - if (key) { - const value = this[key]; - - if (!parser) { - return value; - } - - if (parser === true) { - return parseTokens(value); - } - - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFunction(parser)) { - return parser.call(this, value, key); - } - - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isRegExp(parser)) { - return parser.exec(value); - } - - throw new TypeError('parser must be boolean|regexp|function'); - } - } - } - - has(header, matcher) { - header = normalizeHeader(header); - - if (header) { - const key = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].findKey(this, header); - - return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher))); - } - - return false; - } - - delete(header, matcher) { - const self = this; - let deleted = false; - - function deleteHeader(_header) { - _header = normalizeHeader(_header); - - if (_header) { - const key = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].findKey(self, _header); - - if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) { - delete self[key]; - - deleted = true; - } - } - } - - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(header)) { - header.forEach(deleteHeader); - } else { - deleteHeader(header); - } - - return deleted; - } - - clear(matcher) { - const keys = Object.keys(this); - let i = keys.length; - let deleted = false; - - while (i--) { - const key = keys[i]; - if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) { - delete this[key]; - deleted = true; - } - } - - return deleted; - } - - normalize(format) { - const self = this; - const headers = {}; - - _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(this, (value, header) => { - const key = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].findKey(headers, header); - - if (key) { - self[key] = normalizeValue(value); - delete self[header]; - return; - } - - const normalized = format ? formatHeader(header) : String(header).trim(); - - if (normalized !== header) { - delete self[header]; - } - - self[normalized] = normalizeValue(value); - - headers[normalized] = true; - }); - - return this; - } - - concat(...targets) { - return this.constructor.concat(this, ...targets); - } - - toJSON(asStrings) { - const obj = Object.create(null); - - _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(this, (value, header) => { - value != null && value !== false && (obj[header] = asStrings && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(value) ? value.join(', ') : value); - }); - - return obj; - } - - [Symbol.iterator]() { - return Object.entries(this.toJSON())[Symbol.iterator](); - } - - toString() { - return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\n'); - } - - get [Symbol.toStringTag]() { - return 'AxiosHeaders'; - } - - static from(thing) { - return thing instanceof this ? thing : new this(thing); - } - - static concat(first, ...targets) { - const computed = new this(first); - - targets.forEach((target) => computed.set(target)); - - return computed; - } - - static accessor(header) { - const internals = this[$internals] = (this[$internals] = { - accessors: {} - }); - - const accessors = internals.accessors; - const prototype = this.prototype; - - function defineAccessor(_header) { - const lHeader = normalizeHeader(_header); - - if (!accessors[lHeader]) { - buildAccessors(prototype, _header); - accessors[lHeader] = true; - } - } - - _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header); - - return this; - } -} - -AxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']); - -// reserved names hotfix -_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => { - let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set` - return { - get: () => value, - set(headerValue) { - this[mapped] = headerValue; - } - } -}); - -_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].freezeMethods(AxiosHeaders); - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AxiosHeaders); - - -/***/ }), - -/***/ "./node_modules/axios/lib/core/InterceptorManager.js": -/*!***********************************************************!*\ - !*** ./node_modules/axios/lib/core/InterceptorManager.js ***! - \***********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); - - - - -class InterceptorManager { - constructor() { - this.handlers = []; - } - - /** - * Add a new interceptor to the stack - * - * @param {Function} fulfilled The function to handle `then` for a `Promise` - * @param {Function} rejected The function to handle `reject` for a `Promise` - * - * @return {Number} An ID used to remove interceptor later - */ - use(fulfilled, rejected, options) { - this.handlers.push({ - fulfilled, - rejected, - synchronous: options ? options.synchronous : false, - runWhen: options ? options.runWhen : null - }); - return this.handlers.length - 1; - } - - /** - * Remove an interceptor from the stack - * - * @param {Number} id The ID that was returned by `use` - * - * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise - */ - eject(id) { - if (this.handlers[id]) { - this.handlers[id] = null; - } - } - - /** - * Clear all interceptors from the stack - * - * @returns {void} - */ - clear() { - if (this.handlers) { - this.handlers = []; - } - } - - /** - * Iterate over all the registered interceptors - * - * This method is particularly useful for skipping over any - * interceptors that may have become `null` calling `eject`. - * - * @param {Function} fn The function to call for each interceptor - * - * @returns {void} - */ - forEach(fn) { - _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(this.handlers, function forEachHandler(h) { - if (h !== null) { - fn(h); - } - }); - } -} - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (InterceptorManager); - - -/***/ }), - -/***/ "./node_modules/axios/lib/core/buildFullPath.js": -/*!******************************************************!*\ - !*** ./node_modules/axios/lib/core/buildFullPath.js ***! - \******************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ buildFullPath) -/* harmony export */ }); -/* harmony import */ var _helpers_isAbsoluteURL_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../helpers/isAbsoluteURL.js */ "./node_modules/axios/lib/helpers/isAbsoluteURL.js"); -/* harmony import */ var _helpers_combineURLs_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../helpers/combineURLs.js */ "./node_modules/axios/lib/helpers/combineURLs.js"); - - - - - -/** - * Creates a new URL by combining the baseURL with the requestedURL, - * only when the requestedURL is not already an absolute URL. - * If the requestURL is absolute, this function returns the requestedURL untouched. - * - * @param {string} baseURL The base URL - * @param {string} requestedURL Absolute or relative URL to combine - * - * @returns {string} The combined full path - */ -function buildFullPath(baseURL, requestedURL) { - if (baseURL && !(0,_helpers_isAbsoluteURL_js__WEBPACK_IMPORTED_MODULE_0__["default"])(requestedURL)) { - return (0,_helpers_combineURLs_js__WEBPACK_IMPORTED_MODULE_1__["default"])(baseURL, requestedURL); - } - return requestedURL; -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/core/dispatchRequest.js": -/*!********************************************************!*\ - !*** ./node_modules/axios/lib/core/dispatchRequest.js ***! - \********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ dispatchRequest) -/* harmony export */ }); -/* harmony import */ var _transformData_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./transformData.js */ "./node_modules/axios/lib/core/transformData.js"); -/* harmony import */ var _cancel_isCancel_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../cancel/isCancel.js */ "./node_modules/axios/lib/cancel/isCancel.js"); -/* harmony import */ var _defaults_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../defaults/index.js */ "./node_modules/axios/lib/defaults/index.js"); -/* harmony import */ var _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../cancel/CanceledError.js */ "./node_modules/axios/lib/cancel/CanceledError.js"); -/* harmony import */ var _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); -/* harmony import */ var _adapters_adapters_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../adapters/adapters.js */ "./node_modules/axios/lib/adapters/adapters.js"); - - - - - - - - - -/** - * Throws a `CanceledError` if cancellation has been requested. - * - * @param {Object} config The config that is to be used for the request - * - * @returns {void} - */ -function throwIfCancellationRequested(config) { - if (config.cancelToken) { - config.cancelToken.throwIfRequested(); - } - - if (config.signal && config.signal.aborted) { - throw new _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_0__["default"](null, config); - } -} - -/** - * Dispatch a request to the server using the configured adapter. - * - * @param {object} config The config that is to be used for the request - * - * @returns {Promise} The Promise to be fulfilled - */ -function dispatchRequest(config) { - throwIfCancellationRequested(config); - - config.headers = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"].from(config.headers); - - // Transform request data - config.data = _transformData_js__WEBPACK_IMPORTED_MODULE_2__["default"].call( - config, - config.transformRequest - ); - - if (['post', 'put', 'patch'].indexOf(config.method) !== -1) { - config.headers.setContentType('application/x-www-form-urlencoded', false); - } - - const adapter = _adapters_adapters_js__WEBPACK_IMPORTED_MODULE_3__["default"].getAdapter(config.adapter || _defaults_index_js__WEBPACK_IMPORTED_MODULE_4__["default"].adapter); - - return adapter(config).then(function onAdapterResolution(response) { - throwIfCancellationRequested(config); - - // Transform response data - response.data = _transformData_js__WEBPACK_IMPORTED_MODULE_2__["default"].call( - config, - config.transformResponse, - response - ); - - response.headers = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"].from(response.headers); - - return response; - }, function onAdapterRejection(reason) { - if (!(0,_cancel_isCancel_js__WEBPACK_IMPORTED_MODULE_5__["default"])(reason)) { - throwIfCancellationRequested(config); - - // Transform response data - if (reason && reason.response) { - reason.response.data = _transformData_js__WEBPACK_IMPORTED_MODULE_2__["default"].call( - config, - config.transformResponse, - reason.response - ); - reason.response.headers = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"].from(reason.response.headers); - } - } - - return Promise.reject(reason); - }); -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/core/mergeConfig.js": -/*!****************************************************!*\ - !*** ./node_modules/axios/lib/core/mergeConfig.js ***! - \****************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ mergeConfig) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); - - - - - -const headersToObject = (thing) => thing instanceof _AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_0__["default"] ? { ...thing } : thing; - -/** - * Config-specific merge-function which creates a new config-object - * by merging two configuration objects together. - * - * @param {Object} config1 - * @param {Object} config2 - * - * @returns {Object} New object resulting from merging config2 to config1 - */ -function mergeConfig(config1, config2) { - // eslint-disable-next-line no-param-reassign - config2 = config2 || {}; - const config = {}; - - function getMergedValue(target, source, caseless) { - if (_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isPlainObject(target) && _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isPlainObject(source)) { - return _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].merge.call({caseless}, target, source); - } else if (_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isPlainObject(source)) { - return _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].merge({}, source); - } else if (_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isArray(source)) { - return source.slice(); - } - return source; - } - - // eslint-disable-next-line consistent-return - function mergeDeepProperties(a, b, caseless) { - if (!_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isUndefined(b)) { - return getMergedValue(a, b, caseless); - } else if (!_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isUndefined(a)) { - return getMergedValue(undefined, a, caseless); - } - } - - // eslint-disable-next-line consistent-return - function valueFromConfig2(a, b) { - if (!_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isUndefined(b)) { - return getMergedValue(undefined, b); - } - } - - // eslint-disable-next-line consistent-return - function defaultToConfig2(a, b) { - if (!_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isUndefined(b)) { - return getMergedValue(undefined, b); - } else if (!_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isUndefined(a)) { - return getMergedValue(undefined, a); - } - } - - // eslint-disable-next-line consistent-return - function mergeDirectKeys(a, b, prop) { - if (prop in config2) { - return getMergedValue(a, b); - } else if (prop in config1) { - return getMergedValue(undefined, a); - } - } - - const mergeMap = { - url: valueFromConfig2, - method: valueFromConfig2, - data: valueFromConfig2, - baseURL: defaultToConfig2, - transformRequest: defaultToConfig2, - transformResponse: defaultToConfig2, - paramsSerializer: defaultToConfig2, - timeout: defaultToConfig2, - timeoutMessage: defaultToConfig2, - withCredentials: defaultToConfig2, - withXSRFToken: defaultToConfig2, - adapter: defaultToConfig2, - responseType: defaultToConfig2, - xsrfCookieName: defaultToConfig2, - xsrfHeaderName: defaultToConfig2, - onUploadProgress: defaultToConfig2, - onDownloadProgress: defaultToConfig2, - decompress: defaultToConfig2, - maxContentLength: defaultToConfig2, - maxBodyLength: defaultToConfig2, - beforeRedirect: defaultToConfig2, - transport: defaultToConfig2, - httpAgent: defaultToConfig2, - httpsAgent: defaultToConfig2, - cancelToken: defaultToConfig2, - socketPath: defaultToConfig2, - responseEncoding: defaultToConfig2, - validateStatus: mergeDirectKeys, - headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true) - }; - - _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) { - const merge = mergeMap[prop] || mergeDeepProperties; - const configValue = merge(config1[prop], config2[prop], prop); - (_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue); - }); - - return config; -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/core/settle.js": -/*!***********************************************!*\ - !*** ./node_modules/axios/lib/core/settle.js ***! - \***********************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ settle) -/* harmony export */ }); -/* harmony import */ var _AxiosError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); - - - - -/** - * Resolve or reject a Promise based on response status. - * - * @param {Function} resolve A function that resolves the promise. - * @param {Function} reject A function that rejects the promise. - * @param {object} response The response. - * - * @returns {object} The response. - */ -function settle(resolve, reject, response) { - const validateStatus = response.config.validateStatus; - if (!response.status || !validateStatus || validateStatus(response.status)) { - resolve(response); - } else { - reject(new _AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"]( - 'Request failed with status code ' + response.status, - [_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"].ERR_BAD_REQUEST, _AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"].ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4], - response.config, - response.request, - response - )); - } -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/core/transformData.js": -/*!******************************************************!*\ - !*** ./node_modules/axios/lib/core/transformData.js ***! - \******************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ transformData) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _defaults_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../defaults/index.js */ "./node_modules/axios/lib/defaults/index.js"); -/* harmony import */ var _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); - - - - - - -/** - * Transform the data for a request or a response - * - * @param {Array|Function} fns A single function or Array of functions - * @param {?Object} response The response object - * - * @returns {*} The resulting transformed data - */ -function transformData(fns, response) { - const config = this || _defaults_index_js__WEBPACK_IMPORTED_MODULE_0__["default"]; - const context = response || config; - const headers = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"].from(context.headers); - let data = context.data; - - _utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].forEach(fns, function transform(fn) { - data = fn.call(config, data, headers.normalize(), response ? response.status : undefined); - }); - - headers.normalize(); - - return data; -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/defaults/index.js": -/*!**************************************************!*\ - !*** ./node_modules/axios/lib/defaults/index.js ***! - \**************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); -/* harmony import */ var _transitional_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./transitional.js */ "./node_modules/axios/lib/defaults/transitional.js"); -/* harmony import */ var _helpers_toFormData_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../helpers/toFormData.js */ "./node_modules/axios/lib/helpers/toFormData.js"); -/* harmony import */ var _helpers_toURLEncodedForm_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../helpers/toURLEncodedForm.js */ "./node_modules/axios/lib/helpers/toURLEncodedForm.js"); -/* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js"); -/* harmony import */ var _helpers_formDataToJSON_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../helpers/formDataToJSON.js */ "./node_modules/axios/lib/helpers/formDataToJSON.js"); - - - - - - - - - - -/** - * It takes a string, tries to parse it, and if it fails, it returns the stringified version - * of the input - * - * @param {any} rawValue - The value to be stringified. - * @param {Function} parser - A function that parses a string into a JavaScript object. - * @param {Function} encoder - A function that takes a value and returns a string. - * - * @returns {string} A stringified version of the rawValue. - */ -function stringifySafely(rawValue, parser, encoder) { - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(rawValue)) { - try { - (parser || JSON.parse)(rawValue); - return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].trim(rawValue); - } catch (e) { - if (e.name !== 'SyntaxError') { - throw e; - } - } - } - - return (encoder || JSON.stringify)(rawValue); -} - -const defaults = { - - transitional: _transitional_js__WEBPACK_IMPORTED_MODULE_1__["default"], - - adapter: ['xhr', 'http', 'fetch'], - - transformRequest: [function transformRequest(data, headers) { - const contentType = headers.getContentType() || ''; - const hasJSONContentType = contentType.indexOf('application/json') > -1; - const isObjectPayload = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isObject(data); - - if (isObjectPayload && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isHTMLForm(data)) { - data = new FormData(data); - } - - const isFormData = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFormData(data); - - if (isFormData) { - return hasJSONContentType ? JSON.stringify((0,_helpers_formDataToJSON_js__WEBPACK_IMPORTED_MODULE_2__["default"])(data)) : data; - } - - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArrayBuffer(data) || - _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isBuffer(data) || - _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isStream(data) || - _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFile(data) || - _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isBlob(data) || - _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isReadableStream(data) - ) { - return data; - } - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArrayBufferView(data)) { - return data.buffer; - } - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isURLSearchParams(data)) { - headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false); - return data.toString(); - } - - let isFileList; - - if (isObjectPayload) { - if (contentType.indexOf('application/x-www-form-urlencoded') > -1) { - return (0,_helpers_toURLEncodedForm_js__WEBPACK_IMPORTED_MODULE_3__["default"])(data, this.formSerializer).toString(); - } - - if ((isFileList = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) { - const _FormData = this.env && this.env.FormData; - - return (0,_helpers_toFormData_js__WEBPACK_IMPORTED_MODULE_4__["default"])( - isFileList ? {'files[]': data} : data, - _FormData && new _FormData(), - this.formSerializer - ); - } - } - - if (isObjectPayload || hasJSONContentType ) { - headers.setContentType('application/json', false); - return stringifySafely(data); - } - - return data; - }], - - transformResponse: [function transformResponse(data) { - const transitional = this.transitional || defaults.transitional; - const forcedJSONParsing = transitional && transitional.forcedJSONParsing; - const JSONRequested = this.responseType === 'json'; - - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isResponse(data) || _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isReadableStream(data)) { - return data; - } - - if (data && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) { - const silentJSONParsing = transitional && transitional.silentJSONParsing; - const strictJSONParsing = !silentJSONParsing && JSONRequested; - - try { - return JSON.parse(data); - } catch (e) { - if (strictJSONParsing) { - if (e.name === 'SyntaxError') { - throw _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_5__["default"].from(e, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_5__["default"].ERR_BAD_RESPONSE, this, null, this.response); - } - throw e; - } - } - } - - return data; - }], - - /** - * A timeout in milliseconds to abort a request. If set to 0 (default) a - * timeout is not created. - */ - timeout: 0, - - xsrfCookieName: 'XSRF-TOKEN', - xsrfHeaderName: 'X-XSRF-TOKEN', - - maxContentLength: -1, - maxBodyLength: -1, - - env: { - FormData: _platform_index_js__WEBPACK_IMPORTED_MODULE_6__["default"].classes.FormData, - Blob: _platform_index_js__WEBPACK_IMPORTED_MODULE_6__["default"].classes.Blob - }, - - validateStatus: function validateStatus(status) { - return status >= 200 && status < 300; - }, - - headers: { - common: { - 'Accept': 'application/json, text/plain, */*', - 'Content-Type': undefined - } - } -}; - -_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => { - defaults.headers[method] = {}; -}); - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (defaults); - - -/***/ }), - -/***/ "./node_modules/axios/lib/defaults/transitional.js": -/*!*********************************************************!*\ - !*** ./node_modules/axios/lib/defaults/transitional.js ***! - \*********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); - - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ - silentJSONParsing: true, - forcedJSONParsing: true, - clarifyTimeoutError: false -}); - - -/***/ }), - -/***/ "./node_modules/axios/lib/env/data.js": -/*!********************************************!*\ - !*** ./node_modules/axios/lib/env/data.js ***! - \********************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ VERSION: () => (/* binding */ VERSION) -/* harmony export */ }); -const VERSION = "1.7.5"; - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/AxiosURLSearchParams.js": -/*!****************************************************************!*\ - !*** ./node_modules/axios/lib/helpers/AxiosURLSearchParams.js ***! - \****************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _toFormData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toFormData.js */ "./node_modules/axios/lib/helpers/toFormData.js"); - - - - -/** - * It encodes a string by replacing all characters that are not in the unreserved set with - * their percent-encoded equivalents - * - * @param {string} str - The string to encode. - * - * @returns {string} The encoded string. - */ -function encode(str) { - const charMap = { - '!': '%21', - "'": '%27', - '(': '%28', - ')': '%29', - '~': '%7E', - '%20': '+', - '%00': '\x00' - }; - return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) { - return charMap[match]; - }); -} - -/** - * It takes a params object and converts it to a FormData object - * - * @param {Object} params - The parameters to be converted to a FormData object. - * @param {Object} options - The options object passed to the Axios constructor. - * - * @returns {void} - */ -function AxiosURLSearchParams(params, options) { - this._pairs = []; - - params && (0,_toFormData_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params, this, options); -} - -const prototype = AxiosURLSearchParams.prototype; - -prototype.append = function append(name, value) { - this._pairs.push([name, value]); -}; - -prototype.toString = function toString(encoder) { - const _encode = encoder ? function(value) { - return encoder.call(this, value, encode); - } : encode; - - return this._pairs.map(function each(pair) { - return _encode(pair[0]) + '=' + _encode(pair[1]); - }, '').join('&'); -}; - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AxiosURLSearchParams); - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/HttpStatusCode.js": -/*!**********************************************************!*\ - !*** ./node_modules/axios/lib/helpers/HttpStatusCode.js ***! - \**********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -const HttpStatusCode = { - Continue: 100, - SwitchingProtocols: 101, - Processing: 102, - EarlyHints: 103, - Ok: 200, - Created: 201, - Accepted: 202, - NonAuthoritativeInformation: 203, - NoContent: 204, - ResetContent: 205, - PartialContent: 206, - MultiStatus: 207, - AlreadyReported: 208, - ImUsed: 226, - MultipleChoices: 300, - MovedPermanently: 301, - Found: 302, - SeeOther: 303, - NotModified: 304, - UseProxy: 305, - Unused: 306, - TemporaryRedirect: 307, - PermanentRedirect: 308, - BadRequest: 400, - Unauthorized: 401, - PaymentRequired: 402, - Forbidden: 403, - NotFound: 404, - MethodNotAllowed: 405, - NotAcceptable: 406, - ProxyAuthenticationRequired: 407, - RequestTimeout: 408, - Conflict: 409, - Gone: 410, - LengthRequired: 411, - PreconditionFailed: 412, - PayloadTooLarge: 413, - UriTooLong: 414, - UnsupportedMediaType: 415, - RangeNotSatisfiable: 416, - ExpectationFailed: 417, - ImATeapot: 418, - MisdirectedRequest: 421, - UnprocessableEntity: 422, - Locked: 423, - FailedDependency: 424, - TooEarly: 425, - UpgradeRequired: 426, - PreconditionRequired: 428, - TooManyRequests: 429, - RequestHeaderFieldsTooLarge: 431, - UnavailableForLegalReasons: 451, - InternalServerError: 500, - NotImplemented: 501, - BadGateway: 502, - ServiceUnavailable: 503, - GatewayTimeout: 504, - HttpVersionNotSupported: 505, - VariantAlsoNegotiates: 506, - InsufficientStorage: 507, - LoopDetected: 508, - NotExtended: 510, - NetworkAuthenticationRequired: 511, -}; - -Object.entries(HttpStatusCode).forEach(([key, value]) => { - HttpStatusCode[value] = key; -}); - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (HttpStatusCode); - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/bind.js": -/*!************************************************!*\ - !*** ./node_modules/axios/lib/helpers/bind.js ***! - \************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ bind) -/* harmony export */ }); - - -function bind(fn, thisArg) { - return function wrap() { - return fn.apply(thisArg, arguments); - }; -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/buildURL.js": -/*!****************************************************!*\ - !*** ./node_modules/axios/lib/helpers/buildURL.js ***! - \****************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ buildURL) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _helpers_AxiosURLSearchParams_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../helpers/AxiosURLSearchParams.js */ "./node_modules/axios/lib/helpers/AxiosURLSearchParams.js"); - - - - - -/** - * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their - * URI encoded counterparts - * - * @param {string} val The value to be encoded. - * - * @returns {string} The encoded value. - */ -function encode(val) { - return encodeURIComponent(val). - replace(/%3A/gi, ':'). - replace(/%24/g, '$'). - replace(/%2C/gi, ','). - replace(/%20/g, '+'). - replace(/%5B/gi, '['). - replace(/%5D/gi, ']'); -} - -/** - * Build a URL by appending params to the end - * - * @param {string} url The base of the url (e.g., http://www.google.com) - * @param {object} [params] The params to be appended - * @param {?object} options - * - * @returns {string} The formatted url - */ -function buildURL(url, params, options) { - /*eslint no-param-reassign:0*/ - if (!params) { - return url; - } - - const _encode = options && options.encode || encode; - - const serializeFn = options && options.serialize; - - let serializedParams; - - if (serializeFn) { - serializedParams = serializeFn(params, options); - } else { - serializedParams = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isURLSearchParams(params) ? - params.toString() : - new _helpers_AxiosURLSearchParams_js__WEBPACK_IMPORTED_MODULE_1__["default"](params, options).toString(_encode); - } - - if (serializedParams) { - const hashmarkIndex = url.indexOf("#"); - - if (hashmarkIndex !== -1) { - url = url.slice(0, hashmarkIndex); - } - url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams; - } - - return url; -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/combineURLs.js": -/*!*******************************************************!*\ - !*** ./node_modules/axios/lib/helpers/combineURLs.js ***! - \*******************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ combineURLs) -/* harmony export */ }); - - -/** - * Creates a new URL by combining the specified URLs - * - * @param {string} baseURL The base URL - * @param {string} relativeURL The relative URL - * - * @returns {string} The combined URL - */ -function combineURLs(baseURL, relativeURL) { - return relativeURL - ? baseURL.replace(/\/?\/$/, '') + '/' + relativeURL.replace(/^\/+/, '') - : baseURL; -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/composeSignals.js": -/*!**********************************************************!*\ - !*** ./node_modules/axios/lib/helpers/composeSignals.js ***! - \**********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../cancel/CanceledError.js */ "./node_modules/axios/lib/cancel/CanceledError.js"); -/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); - - - -const composeSignals = (signals, timeout) => { - let controller = new AbortController(); - - let aborted; - - const onabort = function (cancel) { - if (!aborted) { - aborted = true; - unsubscribe(); - const err = cancel instanceof Error ? cancel : this.reason; - controller.abort(err instanceof _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"] ? err : new _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_1__["default"](err instanceof Error ? err.message : err)); - } - } - - let timer = timeout && setTimeout(() => { - onabort(new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"](`timeout ${timeout} of ms exceeded`, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"].ETIMEDOUT)) - }, timeout) - - const unsubscribe = () => { - if (signals) { - timer && clearTimeout(timer); - timer = null; - signals.forEach(signal => { - signal && - (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort)); - }); - signals = null; - } - } - - signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort)); - - const {signal} = controller; - - signal.unsubscribe = unsubscribe; - - return [signal, () => { - timer && clearTimeout(timer); - timer = null; - }]; -} - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (composeSignals); - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/cookies.js": -/*!***************************************************!*\ - !*** ./node_modules/axios/lib/helpers/cookies.js ***! - \***************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js"); - - - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_platform_index_js__WEBPACK_IMPORTED_MODULE_0__["default"].hasStandardBrowserEnv ? - - // Standard browser envs support document.cookie - { - write(name, value, expires, path, domain, secure) { - const cookie = [name + '=' + encodeURIComponent(value)]; - - _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString()); - - _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isString(path) && cookie.push('path=' + path); - - _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isString(domain) && cookie.push('domain=' + domain); - - secure === true && cookie.push('secure'); - - document.cookie = cookie.join('; '); - }, - - read(name) { - const match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)')); - return (match ? decodeURIComponent(match[3]) : null); - }, - - remove(name) { - this.write(name, '', Date.now() - 86400000); - } - } - - : - - // Non-standard browser env (web workers, react-native) lack needed support. - { - write() {}, - read() { - return null; - }, - remove() {} - }); - - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/formDataToJSON.js": -/*!**********************************************************!*\ - !*** ./node_modules/axios/lib/helpers/formDataToJSON.js ***! - \**********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); - - - - -/** - * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z'] - * - * @param {string} name - The name of the property to get. - * - * @returns An array of strings. - */ -function parsePropPath(name) { - // foo[x][y][z] - // foo.x.y.z - // foo-x-y-z - // foo x y z - return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].matchAll(/\w+|\[(\w*)]/g, name).map(match => { - return match[0] === '[]' ? '' : match[1] || match[0]; - }); -} - -/** - * Convert an array to an object. - * - * @param {Array} arr - The array to convert to an object. - * - * @returns An object with the same keys and values as the array. - */ -function arrayToObject(arr) { - const obj = {}; - const keys = Object.keys(arr); - let i; - const len = keys.length; - let key; - for (i = 0; i < len; i++) { - key = keys[i]; - obj[key] = arr[key]; - } - return obj; -} - -/** - * It takes a FormData object and returns a JavaScript object - * - * @param {string} formData The FormData object to convert to JSON. - * - * @returns {Object | null} The converted object. - */ -function formDataToJSON(formData) { - function buildPath(path, value, target, index) { - let name = path[index++]; - - if (name === '__proto__') return true; - - const isNumericKey = Number.isFinite(+name); - const isLast = index >= path.length; - name = !name && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(target) ? target.length : name; - - if (isLast) { - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].hasOwnProp(target, name)) { - target[name] = [target[name], value]; - } else { - target[name] = value; - } - - return !isNumericKey; - } - - if (!target[name] || !_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isObject(target[name])) { - target[name] = []; - } - - const result = buildPath(path, value, target[name], index); - - if (result && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(target[name])) { - target[name] = arrayToObject(target[name]); - } - - return !isNumericKey; - } - - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFormData(formData) && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFunction(formData.entries)) { - const obj = {}; - - _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEachEntry(formData, (name, value) => { - buildPath(parsePropPath(name), value, obj, 0); - }); - - return obj; - } - - return null; -} - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (formDataToJSON); - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/isAbsoluteURL.js": -/*!*********************************************************!*\ - !*** ./node_modules/axios/lib/helpers/isAbsoluteURL.js ***! - \*********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ isAbsoluteURL) -/* harmony export */ }); - - -/** - * Determines whether the specified URL is absolute - * - * @param {string} url The URL to test - * - * @returns {boolean} True if the specified URL is absolute, otherwise false - */ -function isAbsoluteURL(url) { - // A URL is considered absolute if it begins with "://" or "//" (protocol-relative URL). - // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed - // by any combination of letters, digits, plus, period, or hyphen. - return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url); -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/isAxiosError.js": -/*!********************************************************!*\ - !*** ./node_modules/axios/lib/helpers/isAxiosError.js ***! - \********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ isAxiosError) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); - - - - -/** - * Determines whether the payload is an error thrown by Axios - * - * @param {*} payload The value to test - * - * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false - */ -function isAxiosError(payload) { - return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isObject(payload) && (payload.isAxiosError === true); -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/isURLSameOrigin.js": -/*!***********************************************************!*\ - !*** ./node_modules/axios/lib/helpers/isURLSameOrigin.js ***! - \***********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js"); - - - - - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_platform_index_js__WEBPACK_IMPORTED_MODULE_0__["default"].hasStandardBrowserEnv ? - -// Standard browser envs have full support of the APIs needed to test -// whether the request URL is of the same origin as current location. - (function standardBrowserEnv() { - const msie = _platform_index_js__WEBPACK_IMPORTED_MODULE_0__["default"].navigator && /(msie|trident)/i.test(_platform_index_js__WEBPACK_IMPORTED_MODULE_0__["default"].navigator.userAgent); - const urlParsingNode = document.createElement('a'); - let originURL; - - /** - * Parse a URL to discover its components - * - * @param {String} url The URL to be parsed - * @returns {Object} - */ - function resolveURL(url) { - let href = url; - - if (msie) { - // IE needs attribute set twice to normalize properties - urlParsingNode.setAttribute('href', href); - href = urlParsingNode.href; - } - - urlParsingNode.setAttribute('href', href); - - // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils - return { - href: urlParsingNode.href, - protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '', - host: urlParsingNode.host, - search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '', - hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '', - hostname: urlParsingNode.hostname, - port: urlParsingNode.port, - pathname: (urlParsingNode.pathname.charAt(0) === '/') ? - urlParsingNode.pathname : - '/' + urlParsingNode.pathname - }; - } - - originURL = resolveURL(window.location.href); - - /** - * Determine if a URL shares the same origin as the current location - * - * @param {String} requestURL The URL to test - * @returns {boolean} True if URL shares the same origin, otherwise false - */ - return function isURLSameOrigin(requestURL) { - const parsed = (_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isString(requestURL)) ? resolveURL(requestURL) : requestURL; - return (parsed.protocol === originURL.protocol && - parsed.host === originURL.host); - }; - })() : - - // Non standard browser envs (web workers, react-native) lack needed support. - (function nonStandardBrowserEnv() { - return function isURLSameOrigin() { - return true; - }; - })()); - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/null.js": -/*!************************************************!*\ - !*** ./node_modules/axios/lib/helpers/null.js ***! - \************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -// eslint-disable-next-line strict -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (null); - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/parseHeaders.js": -/*!********************************************************!*\ - !*** ./node_modules/axios/lib/helpers/parseHeaders.js ***! - \********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); - - - - -// RawAxiosHeaders whose duplicates are ignored by node -// c.f. https://nodejs.org/api/http.html#http_message_headers -const ignoreDuplicateOf = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toObjectSet([ - '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' -]); - -/** - * Parse headers into an object - * - * ``` - * Date: Wed, 27 Aug 2014 08:58:49 GMT - * Content-Type: application/json - * Connection: keep-alive - * Transfer-Encoding: chunked - * ``` - * - * @param {String} rawHeaders Headers needing to be parsed - * - * @returns {Object} Headers parsed into an object - */ -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (rawHeaders => { - const parsed = {}; - let key; - let val; - let i; - - rawHeaders && rawHeaders.split('\n').forEach(function parser(line) { - i = line.indexOf(':'); - key = line.substring(0, i).trim().toLowerCase(); - val = line.substring(i + 1).trim(); - - if (!key || (parsed[key] && ignoreDuplicateOf[key])) { - return; - } - - if (key === 'set-cookie') { - if (parsed[key]) { - parsed[key].push(val); - } else { - parsed[key] = [val]; - } - } else { - parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val; - } - }); - - return parsed; -}); - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/parseProtocol.js": -/*!*********************************************************!*\ - !*** ./node_modules/axios/lib/helpers/parseProtocol.js ***! - \*********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ parseProtocol) -/* harmony export */ }); - - -function parseProtocol(url) { - const match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url); - return match && match[1] || ''; -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/progressEventReducer.js": -/*!****************************************************************!*\ - !*** ./node_modules/axios/lib/helpers/progressEventReducer.js ***! - \****************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ asyncDecorator: () => (/* binding */ asyncDecorator), -/* harmony export */ progressEventDecorator: () => (/* binding */ progressEventDecorator), -/* harmony export */ progressEventReducer: () => (/* binding */ progressEventReducer) -/* harmony export */ }); -/* harmony import */ var _speedometer_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./speedometer.js */ "./node_modules/axios/lib/helpers/speedometer.js"); -/* harmony import */ var _throttle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./throttle.js */ "./node_modules/axios/lib/helpers/throttle.js"); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); - - - - -const progressEventReducer = (listener, isDownloadStream, freq = 3) => { - let bytesNotified = 0; - const _speedometer = (0,_speedometer_js__WEBPACK_IMPORTED_MODULE_0__["default"])(50, 250); - - return (0,_throttle_js__WEBPACK_IMPORTED_MODULE_1__["default"])(e => { - const loaded = e.loaded; - const total = e.lengthComputable ? e.total : undefined; - const progressBytes = loaded - bytesNotified; - const rate = _speedometer(progressBytes); - const inRange = loaded <= total; - - bytesNotified = loaded; - - const data = { - loaded, - total, - progress: total ? (loaded / total) : undefined, - bytes: progressBytes, - rate: rate ? rate : undefined, - estimated: rate && total && inRange ? (total - loaded) / rate : undefined, - event: e, - lengthComputable: total != null, - [isDownloadStream ? 'download' : 'upload']: true - }; - - listener(data); - }, freq); -} - -const progressEventDecorator = (total, throttled) => { - const lengthComputable = total != null; - - return [(loaded) => throttled[0]({ - lengthComputable, - total, - loaded - }), throttled[1]]; -} - -const asyncDecorator = (fn) => (...args) => _utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].asap(() => fn(...args)); - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/resolveConfig.js": -/*!*********************************************************!*\ - !*** ./node_modules/axios/lib/helpers/resolveConfig.js ***! - \*********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js"); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _isURLSameOrigin_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./isURLSameOrigin.js */ "./node_modules/axios/lib/helpers/isURLSameOrigin.js"); -/* harmony import */ var _cookies_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./cookies.js */ "./node_modules/axios/lib/helpers/cookies.js"); -/* harmony import */ var _core_buildFullPath_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../core/buildFullPath.js */ "./node_modules/axios/lib/core/buildFullPath.js"); -/* harmony import */ var _core_mergeConfig_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/mergeConfig.js */ "./node_modules/axios/lib/core/mergeConfig.js"); -/* harmony import */ var _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); -/* harmony import */ var _buildURL_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./buildURL.js */ "./node_modules/axios/lib/helpers/buildURL.js"); - - - - - - - - - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((config) => { - const newConfig = (0,_core_mergeConfig_js__WEBPACK_IMPORTED_MODULE_0__["default"])({}, config); - - let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig; - - newConfig.headers = headers = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"].from(headers); - - newConfig.url = (0,_buildURL_js__WEBPACK_IMPORTED_MODULE_2__["default"])((0,_core_buildFullPath_js__WEBPACK_IMPORTED_MODULE_3__["default"])(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer); - - // HTTP basic authentication - if (auth) { - headers.set('Authorization', 'Basic ' + - btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : '')) - ); - } - - let contentType; - - if (_utils_js__WEBPACK_IMPORTED_MODULE_4__["default"].isFormData(data)) { - if (_platform_index_js__WEBPACK_IMPORTED_MODULE_5__["default"].hasStandardBrowserEnv || _platform_index_js__WEBPACK_IMPORTED_MODULE_5__["default"].hasStandardBrowserWebWorkerEnv) { - headers.setContentType(undefined); // Let the browser set it - } else if ((contentType = headers.getContentType()) !== false) { - // fix semicolon duplication issue for ReactNative FormData implementation - const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : []; - headers.setContentType([type || 'multipart/form-data', ...tokens].join('; ')); - } - } - - // Add xsrf header - // This is only done if running in a standard browser environment. - // Specifically not if we're in a web worker, or react-native. - - if (_platform_index_js__WEBPACK_IMPORTED_MODULE_5__["default"].hasStandardBrowserEnv) { - withXSRFToken && _utils_js__WEBPACK_IMPORTED_MODULE_4__["default"].isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig)); - - if (withXSRFToken || (withXSRFToken !== false && (0,_isURLSameOrigin_js__WEBPACK_IMPORTED_MODULE_6__["default"])(newConfig.url))) { - // Add xsrf header - const xsrfValue = xsrfHeaderName && xsrfCookieName && _cookies_js__WEBPACK_IMPORTED_MODULE_7__["default"].read(xsrfCookieName); - - if (xsrfValue) { - headers.set(xsrfHeaderName, xsrfValue); - } - } - } - - return newConfig; -}); - - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/speedometer.js": -/*!*******************************************************!*\ - !*** ./node_modules/axios/lib/helpers/speedometer.js ***! - \*******************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); - - -/** - * Calculate data maxRate - * @param {Number} [samplesCount= 10] - * @param {Number} [min= 1000] - * @returns {Function} - */ -function speedometer(samplesCount, min) { - samplesCount = samplesCount || 10; - const bytes = new Array(samplesCount); - const timestamps = new Array(samplesCount); - let head = 0; - let tail = 0; - let firstSampleTS; - - min = min !== undefined ? min : 1000; - - return function push(chunkLength) { - const now = Date.now(); - - const startedAt = timestamps[tail]; - - if (!firstSampleTS) { - firstSampleTS = now; - } - - bytes[head] = chunkLength; - timestamps[head] = now; - - let i = tail; - let bytesCount = 0; - - while (i !== head) { - bytesCount += bytes[i++]; - i = i % samplesCount; - } - - head = (head + 1) % samplesCount; - - if (head === tail) { - tail = (tail + 1) % samplesCount; - } - - if (now - firstSampleTS < min) { - return; - } - - const passed = startedAt && now - startedAt; - - return passed ? Math.round(bytesCount * 1000 / passed) : undefined; - }; -} - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (speedometer); - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/spread.js": -/*!**************************************************!*\ - !*** ./node_modules/axios/lib/helpers/spread.js ***! - \**************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ spread) -/* harmony export */ }); - - -/** - * Syntactic sugar for invoking a function and expanding an array for arguments. - * - * Common use case would be to use `Function.prototype.apply`. - * - * ```js - * function f(x, y, z) {} - * var args = [1, 2, 3]; - * f.apply(null, args); - * ``` - * - * With `spread` this example can be re-written. - * - * ```js - * spread(function(x, y, z) {})([1, 2, 3]); - * ``` - * - * @param {Function} callback - * - * @returns {Function} - */ -function spread(callback) { - return function wrap(arr) { - return callback.apply(null, arr); - }; -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/throttle.js": -/*!****************************************************!*\ - !*** ./node_modules/axios/lib/helpers/throttle.js ***! - \****************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/** - * Throttle decorator - * @param {Function} fn - * @param {Number} freq - * @return {Function} - */ -function throttle(fn, freq) { - let timestamp = 0; - let threshold = 1000 / freq; - let lastArgs; - let timer; - - const invoke = (args, now = Date.now()) => { - timestamp = now; - lastArgs = null; - if (timer) { - clearTimeout(timer); - timer = null; - } - fn.apply(null, args); - } - - const throttled = (...args) => { - const now = Date.now(); - const passed = now - timestamp; - if ( passed >= threshold) { - invoke(args, now); - } else { - lastArgs = args; - if (!timer) { - timer = setTimeout(() => { - timer = null; - invoke(lastArgs) - }, threshold - passed); - } - } - } - - const flush = () => lastArgs && invoke(lastArgs); - - return [throttled, flush]; -} - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (throttle); - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/toFormData.js": -/*!******************************************************!*\ - !*** ./node_modules/axios/lib/helpers/toFormData.js ***! - \******************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); -/* harmony import */ var _platform_node_classes_FormData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../platform/node/classes/FormData.js */ "./node_modules/axios/lib/helpers/null.js"); - - - - -// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored - - -/** - * Determines if the given thing is a array or js object. - * - * @param {string} thing - The object or array to be visited. - * - * @returns {boolean} - */ -function isVisitable(thing) { - return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isPlainObject(thing) || _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(thing); -} - -/** - * It removes the brackets from the end of a string - * - * @param {string} key - The key of the parameter. - * - * @returns {string} the key without the brackets. - */ -function removeBrackets(key) { - return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].endsWith(key, '[]') ? key.slice(0, -2) : key; -} - -/** - * It takes a path, a key, and a boolean, and returns a string - * - * @param {string} path - The path to the current key. - * @param {string} key - The key of the current object being iterated over. - * @param {string} dots - If true, the key will be rendered with dots instead of brackets. - * - * @returns {string} The path to the current key. - */ -function renderKey(path, key, dots) { - if (!path) return key; - return path.concat(key).map(function each(token, i) { - // eslint-disable-next-line no-param-reassign - token = removeBrackets(token); - return !dots && i ? '[' + token + ']' : token; - }).join(dots ? '.' : ''); -} - -/** - * If the array is an array and none of its elements are visitable, then it's a flat array. - * - * @param {Array} arr - The array to check - * - * @returns {boolean} - */ -function isFlatArray(arr) { - return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(arr) && !arr.some(isVisitable); -} - -const predicates = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toFlatObject(_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"], {}, null, function filter(prop) { - return /^is[A-Z]/.test(prop); -}); - -/** - * Convert a data object to FormData - * - * @param {Object} obj - * @param {?Object} [formData] - * @param {?Object} [options] - * @param {Function} [options.visitor] - * @param {Boolean} [options.metaTokens = true] - * @param {Boolean} [options.dots = false] - * @param {?Boolean} [options.indexes = false] - * - * @returns {Object} - **/ - -/** - * It converts an object into a FormData object - * - * @param {Object} obj - The object to convert to form data. - * @param {string} formData - The FormData object to append to. - * @param {Object} options - * - * @returns - */ -function toFormData(obj, formData, options) { - if (!_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isObject(obj)) { - throw new TypeError('target must be an object'); - } - - // eslint-disable-next-line no-param-reassign - formData = formData || new (_platform_node_classes_FormData_js__WEBPACK_IMPORTED_MODULE_1__["default"] || FormData)(); - - // eslint-disable-next-line no-param-reassign - options = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toFlatObject(options, { - metaTokens: true, - dots: false, - indexes: false - }, false, function defined(option, source) { - // eslint-disable-next-line no-eq-null,eqeqeq - return !_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isUndefined(source[option]); - }); - - const metaTokens = options.metaTokens; - // eslint-disable-next-line no-use-before-define - const visitor = options.visitor || defaultVisitor; - const dots = options.dots; - const indexes = options.indexes; - const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob; - const useBlob = _Blob && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isSpecCompliantForm(formData); - - if (!_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFunction(visitor)) { - throw new TypeError('visitor must be a function'); - } - - function convertValue(value) { - if (value === null) return ''; - - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isDate(value)) { - return value.toISOString(); - } - - if (!useBlob && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isBlob(value)) { - throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_2__["default"]('Blob is not supported. Use a Buffer instead.'); - } - - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArrayBuffer(value) || _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isTypedArray(value)) { - return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value); - } - - return value; - } - - /** - * Default visitor. - * - * @param {*} value - * @param {String|Number} key - * @param {Array} path - * @this {FormData} - * - * @returns {boolean} return true to visit the each prop of the value recursively - */ - function defaultVisitor(value, key, path) { - let arr = value; - - if (value && !path && typeof value === 'object') { - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].endsWith(key, '{}')) { - // eslint-disable-next-line no-param-reassign - key = metaTokens ? key : key.slice(0, -2); - // eslint-disable-next-line no-param-reassign - value = JSON.stringify(value); - } else if ( - (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(value) && isFlatArray(value)) || - ((_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFileList(value) || _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].endsWith(key, '[]')) && (arr = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toArray(value)) - )) { - // eslint-disable-next-line no-param-reassign - key = removeBrackets(key); - - arr.forEach(function each(el, index) { - !(_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isUndefined(el) || el === null) && formData.append( - // eslint-disable-next-line no-nested-ternary - indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'), - convertValue(el) - ); - }); - return false; - } - } - - if (isVisitable(value)) { - return true; - } - - formData.append(renderKey(path, key, dots), convertValue(value)); - - return false; - } - - const stack = []; - - const exposedHelpers = Object.assign(predicates, { - defaultVisitor, - convertValue, - isVisitable - }); - - function build(value, path) { - if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isUndefined(value)) return; - - if (stack.indexOf(value) !== -1) { - throw Error('Circular reference detected in ' + path.join('.')); - } - - stack.push(value); - - _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(value, function each(el, key) { - const result = !(_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isUndefined(el) || el === null) && visitor.call( - formData, el, _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(key) ? key.trim() : key, path, exposedHelpers - ); - - if (result === true) { - build(el, path ? path.concat(key) : [key]); - } - }); - - stack.pop(); - } - - if (!_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isObject(obj)) { - throw new TypeError('data must be an object'); - } - - build(obj); - - return formData; -} - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (toFormData); - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/toURLEncodedForm.js": -/*!************************************************************!*\ - !*** ./node_modules/axios/lib/helpers/toURLEncodedForm.js ***! - \************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ toURLEncodedForm) -/* harmony export */ }); -/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); -/* harmony import */ var _toFormData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toFormData.js */ "./node_modules/axios/lib/helpers/toFormData.js"); -/* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js"); - - - - - - -function toURLEncodedForm(data, options) { - return (0,_toFormData_js__WEBPACK_IMPORTED_MODULE_0__["default"])(data, new _platform_index_js__WEBPACK_IMPORTED_MODULE_1__["default"].classes.URLSearchParams(), Object.assign({ - visitor: function(value, key, path, helpers) { - if (_platform_index_js__WEBPACK_IMPORTED_MODULE_1__["default"].isNode && _utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].isBuffer(value)) { - this.append(key, value.toString('base64')); - return false; - } - - return helpers.defaultVisitor.apply(this, arguments); - } - }, options)); -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/trackStream.js": -/*!*******************************************************!*\ - !*** ./node_modules/axios/lib/helpers/trackStream.js ***! - \*******************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ readBytes: () => (/* binding */ readBytes), -/* harmony export */ streamChunk: () => (/* binding */ streamChunk), -/* harmony export */ trackStream: () => (/* binding */ trackStream) -/* harmony export */ }); - -const streamChunk = function* (chunk, chunkSize) { - let len = chunk.byteLength; - - if (!chunkSize || len < chunkSize) { - yield chunk; - return; - } - - let pos = 0; - let end; - - while (pos < len) { - end = pos + chunkSize; - yield chunk.slice(pos, end); - pos = end; - } -} - -const readBytes = async function* (iterable, chunkSize, encode) { - for await (const chunk of iterable) { - yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize); - } -} - -const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => { - const iterator = readBytes(stream, chunkSize, encode); - - let bytes = 0; - let done; - let _onFinish = (e) => { - if (!done) { - done = true; - onFinish && onFinish(e); - } - } - - return new ReadableStream({ - async pull(controller) { - try { - const {done, value} = await iterator.next(); - - if (done) { - _onFinish(); - controller.close(); - return; - } - - let len = value.byteLength; - if (onProgress) { - let loadedBytes = bytes += len; - onProgress(loadedBytes); - } - controller.enqueue(new Uint8Array(value)); - } catch (err) { - _onFinish(err); - throw err; - } - }, - cancel(reason) { - _onFinish(reason); - return iterator.return(); - } - }, { - highWaterMark: 2 - }) -} - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/validator.js": -/*!*****************************************************!*\ - !*** ./node_modules/axios/lib/helpers/validator.js ***! - \*****************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _env_data_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../env/data.js */ "./node_modules/axios/lib/env/data.js"); -/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); - - - - - -const validators = {}; - -// eslint-disable-next-line func-names -['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => { - validators[type] = function validator(thing) { - return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type; - }; -}); - -const deprecatedWarnings = {}; - -/** - * Transitional option validator - * - * @param {function|boolean?} validator - set to false if the transitional option has been removed - * @param {string?} version - deprecated version / removed since version - * @param {string?} message - some message with additional info - * - * @returns {function} - */ -validators.transitional = function transitional(validator, version, message) { - function formatMessage(opt, desc) { - return '[Axios v' + _env_data_js__WEBPACK_IMPORTED_MODULE_0__.VERSION + '] Transitional option \'' + opt + '\'' + desc + (message ? '. ' + message : ''); - } - - // eslint-disable-next-line func-names - return (value, opt, opts) => { - if (validator === false) { - throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"]( - formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')), - _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"].ERR_DEPRECATED - ); - } - - if (version && !deprecatedWarnings[opt]) { - deprecatedWarnings[opt] = true; - // eslint-disable-next-line no-console - console.warn( - formatMessage( - opt, - ' has been deprecated since v' + version + ' and will be removed in the near future' - ) - ); - } - - return validator ? validator(value, opt, opts) : true; - }; -}; - -/** - * Assert object's properties type - * - * @param {object} options - * @param {object} schema - * @param {boolean?} allowUnknown - * - * @returns {object} - */ - -function assertOptions(options, schema, allowUnknown) { - if (typeof options !== 'object') { - throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"]('options must be an object', _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"].ERR_BAD_OPTION_VALUE); - } - const keys = Object.keys(options); - let i = keys.length; - while (i-- > 0) { - const opt = keys[i]; - const validator = schema[opt]; - if (validator) { - const value = options[opt]; - const result = value === undefined || validator(value, opt, options); - if (result !== true) { - throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"]('option ' + opt + ' must be ' + result, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"].ERR_BAD_OPTION_VALUE); - } - continue; - } - if (allowUnknown !== true) { - throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"]('Unknown option ' + opt, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"].ERR_BAD_OPTION); - } - } -} - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ - assertOptions, - validators -}); - - -/***/ }), - -/***/ "./node_modules/axios/lib/platform/browser/classes/Blob.js": -/*!*****************************************************************!*\ - !*** ./node_modules/axios/lib/platform/browser/classes/Blob.js ***! - \*****************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); - - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (typeof Blob !== 'undefined' ? Blob : null); - - -/***/ }), - -/***/ "./node_modules/axios/lib/platform/browser/classes/FormData.js": -/*!*********************************************************************!*\ - !*** ./node_modules/axios/lib/platform/browser/classes/FormData.js ***! - \*********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); - - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (typeof FormData !== 'undefined' ? FormData : null); - - -/***/ }), - -/***/ "./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js": -/*!****************************************************************************!*\ - !*** ./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js ***! - \****************************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _helpers_AxiosURLSearchParams_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../helpers/AxiosURLSearchParams.js */ "./node_modules/axios/lib/helpers/AxiosURLSearchParams.js"); - - - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (typeof URLSearchParams !== 'undefined' ? URLSearchParams : _helpers_AxiosURLSearchParams_js__WEBPACK_IMPORTED_MODULE_0__["default"]); - - -/***/ }), - -/***/ "./node_modules/axios/lib/platform/browser/index.js": -/*!**********************************************************!*\ - !*** ./node_modules/axios/lib/platform/browser/index.js ***! - \**********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _classes_URLSearchParams_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./classes/URLSearchParams.js */ "./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js"); -/* harmony import */ var _classes_FormData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./classes/FormData.js */ "./node_modules/axios/lib/platform/browser/classes/FormData.js"); -/* harmony import */ var _classes_Blob_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./classes/Blob.js */ "./node_modules/axios/lib/platform/browser/classes/Blob.js"); - - - - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ - isBrowser: true, - classes: { - URLSearchParams: _classes_URLSearchParams_js__WEBPACK_IMPORTED_MODULE_0__["default"], - FormData: _classes_FormData_js__WEBPACK_IMPORTED_MODULE_1__["default"], - Blob: _classes_Blob_js__WEBPACK_IMPORTED_MODULE_2__["default"] - }, - protocols: ['http', 'https', 'file', 'blob', 'url', 'data'] -}); - - -/***/ }), - -/***/ "./node_modules/axios/lib/platform/common/utils.js": -/*!*********************************************************!*\ - !*** ./node_modules/axios/lib/platform/common/utils.js ***! - \*********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ hasBrowserEnv: () => (/* binding */ hasBrowserEnv), -/* harmony export */ hasStandardBrowserEnv: () => (/* binding */ hasStandardBrowserEnv), -/* harmony export */ hasStandardBrowserWebWorkerEnv: () => (/* binding */ hasStandardBrowserWebWorkerEnv), -/* harmony export */ navigator: () => (/* binding */ _navigator), -/* harmony export */ origin: () => (/* binding */ origin) -/* harmony export */ }); -const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined'; - -const _navigator = typeof navigator === 'object' && navigator || undefined; - -/** - * Determine if we're running in a standard browser environment - * - * This allows axios to run in a web worker, and react-native. - * Both environments support XMLHttpRequest, but not fully standard globals. - * - * web workers: - * typeof window -> undefined - * typeof document -> undefined - * - * react-native: - * navigator.product -> 'ReactNative' - * nativescript - * navigator.product -> 'NativeScript' or 'NS' - * - * @returns {boolean} - */ -const hasStandardBrowserEnv = hasBrowserEnv && - (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0); - -/** - * Determine if we're running in a standard browser webWorker environment - * - * Although the `isStandardBrowserEnv` method indicates that - * `allows axios to run in a web worker`, the WebWorker will still be - * filtered out due to its judgment standard - * `typeof window !== 'undefined' && typeof document !== 'undefined'`. - * This leads to a problem when axios post `FormData` in webWorker - */ -const hasStandardBrowserWebWorkerEnv = (() => { - return ( - typeof WorkerGlobalScope !== 'undefined' && - // eslint-disable-next-line no-undef - self instanceof WorkerGlobalScope && - typeof self.importScripts === 'function' - ); -})(); - -const origin = hasBrowserEnv && window.location.href || 'http://localhost'; - - - - -/***/ }), - -/***/ "./node_modules/axios/lib/platform/index.js": -/*!**************************************************!*\ - !*** ./node_modules/axios/lib/platform/index.js ***! - \**************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _node_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node/index.js */ "./node_modules/axios/lib/platform/browser/index.js"); -/* harmony import */ var _common_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./common/utils.js */ "./node_modules/axios/lib/platform/common/utils.js"); - - - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ - ..._common_utils_js__WEBPACK_IMPORTED_MODULE_0__, - ..._node_index_js__WEBPACK_IMPORTED_MODULE_1__["default"] -}); - - -/***/ }), - -/***/ "./node_modules/axios/lib/utils.js": -/*!*****************************************!*\ - !*** ./node_modules/axios/lib/utils.js ***! - \*****************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _helpers_bind_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helpers/bind.js */ "./node_modules/axios/lib/helpers/bind.js"); - - - - -// utils is a library of generic helper functions non-specific to axios - -const {toString} = Object.prototype; -const {getPrototypeOf} = Object; - -const kindOf = (cache => thing => { - const str = toString.call(thing); - return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase()); -})(Object.create(null)); - -const kindOfTest = (type) => { - type = type.toLowerCase(); - return (thing) => kindOf(thing) === type -} - -const typeOfTest = type => thing => typeof thing === type; - -/** - * Determine if a value is an Array - * - * @param {Object} val The value to test - * - * @returns {boolean} True if value is an Array, otherwise false - */ -const {isArray} = Array; - -/** - * Determine if a value is undefined - * - * @param {*} val The value to test - * - * @returns {boolean} True if the value is undefined, otherwise false - */ -const isUndefined = typeOfTest('undefined'); - -/** - * Determine if a value is a Buffer - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a Buffer, otherwise false - */ -function isBuffer(val) { - return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) - && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val); -} - -/** - * Determine if a value is an ArrayBuffer - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is an ArrayBuffer, otherwise false - */ -const isArrayBuffer = kindOfTest('ArrayBuffer'); - - -/** - * Determine if a value is a view on an ArrayBuffer - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false - */ -function isArrayBufferView(val) { - let result; - if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) { - result = ArrayBuffer.isView(val); - } else { - result = (val) && (val.buffer) && (isArrayBuffer(val.buffer)); - } - return result; -} - -/** - * Determine if a value is a String - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a String, otherwise false - */ -const isString = typeOfTest('string'); - -/** - * Determine if a value is a Function - * - * @param {*} val The value to test - * @returns {boolean} True if value is a Function, otherwise false - */ -const isFunction = typeOfTest('function'); - -/** - * Determine if a value is a Number - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a Number, otherwise false - */ -const isNumber = typeOfTest('number'); - -/** - * Determine if a value is an Object - * - * @param {*} thing The value to test - * - * @returns {boolean} True if value is an Object, otherwise false - */ -const isObject = (thing) => thing !== null && typeof thing === 'object'; - -/** - * Determine if a value is a Boolean - * - * @param {*} thing The value to test - * @returns {boolean} True if value is a Boolean, otherwise false - */ -const isBoolean = thing => thing === true || thing === false; - -/** - * Determine if a value is a plain Object - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a plain Object, otherwise false - */ -const isPlainObject = (val) => { - if (kindOf(val) !== 'object') { - return false; - } - - const prototype = getPrototypeOf(val); - return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val); -} - -/** - * Determine if a value is a Date - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a Date, otherwise false - */ -const isDate = kindOfTest('Date'); - -/** - * Determine if a value is a File - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a File, otherwise false - */ -const isFile = kindOfTest('File'); - -/** - * Determine if a value is a Blob - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a Blob, otherwise false - */ -const isBlob = kindOfTest('Blob'); - -/** - * Determine if a value is a FileList - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a File, otherwise false - */ -const isFileList = kindOfTest('FileList'); - -/** - * Determine if a value is a Stream - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a Stream, otherwise false - */ -const isStream = (val) => isObject(val) && isFunction(val.pipe); - -/** - * Determine if a value is a FormData - * - * @param {*} thing The value to test - * - * @returns {boolean} True if value is an FormData, otherwise false - */ -const isFormData = (thing) => { - let kind; - return thing && ( - (typeof FormData === 'function' && thing instanceof FormData) || ( - isFunction(thing.append) && ( - (kind = kindOf(thing)) === 'formdata' || - // detect form-data instance - (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]') - ) - ) - ) -} - -/** - * Determine if a value is a URLSearchParams object - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a URLSearchParams object, otherwise false - */ -const isURLSearchParams = kindOfTest('URLSearchParams'); - -const [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest); - -/** - * Trim excess whitespace off the beginning and end of a string - * - * @param {String} str The String to trim - * - * @returns {String} The String freed of excess whitespace - */ -const trim = (str) => str.trim ? - str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); - -/** - * Iterate over an Array or an Object invoking a function for each item. - * - * If `obj` is an Array callback will be called passing - * the value, index, and complete array for each item. - * - * If 'obj' is an Object callback will be called passing - * the value, key, and complete object for each property. - * - * @param {Object|Array} obj The object to iterate - * @param {Function} fn The callback to invoke for each item - * - * @param {Boolean} [allOwnKeys = false] - * @returns {any} - */ -function forEach(obj, fn, {allOwnKeys = false} = {}) { - // Don't bother if no value provided - if (obj === null || typeof obj === 'undefined') { - return; - } - - let i; - let l; - - // Force an array if not already something iterable - if (typeof obj !== 'object') { - /*eslint no-param-reassign:0*/ - obj = [obj]; - } - - if (isArray(obj)) { - // Iterate over array values - for (i = 0, l = obj.length; i < l; i++) { - fn.call(null, obj[i], i, obj); - } - } else { - // Iterate over object keys - const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj); - const len = keys.length; - let key; - - for (i = 0; i < len; i++) { - key = keys[i]; - fn.call(null, obj[key], key, obj); - } - } -} - -function findKey(obj, key) { - key = key.toLowerCase(); - const keys = Object.keys(obj); - let i = keys.length; - let _key; - while (i-- > 0) { - _key = keys[i]; - if (key === _key.toLowerCase()) { - return _key; - } - } - return null; -} - -const _global = (() => { - /*eslint no-undef:0*/ - if (typeof globalThis !== "undefined") return globalThis; - return typeof self !== "undefined" ? self : (typeof window !== 'undefined' ? window : global) -})(); - -const isContextDefined = (context) => !isUndefined(context) && context !== _global; - -/** - * Accepts varargs expecting each argument to be an object, then - * immutably merges the properties of each object and returns result. - * - * When multiple objects contain the same key the later object in - * the arguments list will take precedence. - * - * Example: - * - * ```js - * var result = merge({foo: 123}, {foo: 456}); - * console.log(result.foo); // outputs 456 - * ``` - * - * @param {Object} obj1 Object to merge - * - * @returns {Object} Result of all merge properties - */ -function merge(/* obj1, obj2, obj3, ... */) { - const {caseless} = isContextDefined(this) && this || {}; - const result = {}; - const assignValue = (val, key) => { - const targetKey = caseless && findKey(result, key) || key; - if (isPlainObject(result[targetKey]) && isPlainObject(val)) { - result[targetKey] = merge(result[targetKey], val); - } else if (isPlainObject(val)) { - result[targetKey] = merge({}, val); - } else if (isArray(val)) { - result[targetKey] = val.slice(); - } else { - result[targetKey] = val; - } - } - - for (let i = 0, l = arguments.length; i < l; i++) { - arguments[i] && forEach(arguments[i], assignValue); - } - return result; -} - -/** - * Extends object a by mutably adding to it the properties of object b. - * - * @param {Object} a The object to be extended - * @param {Object} b The object to copy properties from - * @param {Object} thisArg The object to bind function to - * - * @param {Boolean} [allOwnKeys] - * @returns {Object} The resulting value of object a - */ -const extend = (a, b, thisArg, {allOwnKeys}= {}) => { - forEach(b, (val, key) => { - if (thisArg && isFunction(val)) { - a[key] = (0,_helpers_bind_js__WEBPACK_IMPORTED_MODULE_0__["default"])(val, thisArg); - } else { - a[key] = val; - } - }, {allOwnKeys}); - return a; -} - -/** - * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM) - * - * @param {string} content with BOM - * - * @returns {string} content value without BOM - */ -const stripBOM = (content) => { - if (content.charCodeAt(0) === 0xFEFF) { - content = content.slice(1); - } - return content; -} - -/** - * Inherit the prototype methods from one constructor into another - * @param {function} constructor - * @param {function} superConstructor - * @param {object} [props] - * @param {object} [descriptors] - * - * @returns {void} - */ -const inherits = (constructor, superConstructor, props, descriptors) => { - constructor.prototype = Object.create(superConstructor.prototype, descriptors); - constructor.prototype.constructor = constructor; - Object.defineProperty(constructor, 'super', { - value: superConstructor.prototype - }); - props && Object.assign(constructor.prototype, props); -} - -/** - * Resolve object with deep prototype chain to a flat object - * @param {Object} sourceObj source object - * @param {Object} [destObj] - * @param {Function|Boolean} [filter] - * @param {Function} [propFilter] - * - * @returns {Object} - */ -const toFlatObject = (sourceObj, destObj, filter, propFilter) => { - let props; - let i; - let prop; - const merged = {}; - - destObj = destObj || {}; - // eslint-disable-next-line no-eq-null,eqeqeq - if (sourceObj == null) return destObj; - - do { - props = Object.getOwnPropertyNames(sourceObj); - i = props.length; - while (i-- > 0) { - prop = props[i]; - if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) { - destObj[prop] = sourceObj[prop]; - merged[prop] = true; - } - } - sourceObj = filter !== false && getPrototypeOf(sourceObj); - } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype); - - return destObj; -} - -/** - * Determines whether a string ends with the characters of a specified string - * - * @param {String} str - * @param {String} searchString - * @param {Number} [position= 0] - * - * @returns {boolean} - */ -const endsWith = (str, searchString, position) => { - str = String(str); - if (position === undefined || position > str.length) { - position = str.length; - } - position -= searchString.length; - const lastIndex = str.indexOf(searchString, position); - return lastIndex !== -1 && lastIndex === position; -} - - -/** - * Returns new array from array like object or null if failed - * - * @param {*} [thing] - * - * @returns {?Array} - */ -const toArray = (thing) => { - if (!thing) return null; - if (isArray(thing)) return thing; - let i = thing.length; - if (!isNumber(i)) return null; - const arr = new Array(i); - while (i-- > 0) { - arr[i] = thing[i]; - } - return arr; -} - -/** - * Checking if the Uint8Array exists and if it does, it returns a function that checks if the - * thing passed in is an instance of Uint8Array - * - * @param {TypedArray} - * - * @returns {Array} - */ -// eslint-disable-next-line func-names -const isTypedArray = (TypedArray => { - // eslint-disable-next-line func-names - return thing => { - return TypedArray && thing instanceof TypedArray; - }; -})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array)); - -/** - * For each entry in the object, call the function with the key and value. - * - * @param {Object} obj - The object to iterate over. - * @param {Function} fn - The function to call for each entry. - * - * @returns {void} - */ -const forEachEntry = (obj, fn) => { - const generator = obj && obj[Symbol.iterator]; - - const iterator = generator.call(obj); - - let result; - - while ((result = iterator.next()) && !result.done) { - const pair = result.value; - fn.call(obj, pair[0], pair[1]); - } -} - -/** - * It takes a regular expression and a string, and returns an array of all the matches - * - * @param {string} regExp - The regular expression to match against. - * @param {string} str - The string to search. - * - * @returns {Array} - */ -const matchAll = (regExp, str) => { - let matches; - const arr = []; - - while ((matches = regExp.exec(str)) !== null) { - arr.push(matches); - } - - return arr; -} - -/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */ -const isHTMLForm = kindOfTest('HTMLFormElement'); - -const toCamelCase = str => { - return str.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g, - function replacer(m, p1, p2) { - return p1.toUpperCase() + p2; - } - ); -}; - -/* Creating a function that will check if an object has a property. */ -const hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype); - -/** - * Determine if a value is a RegExp object - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a RegExp object, otherwise false - */ -const isRegExp = kindOfTest('RegExp'); - -const reduceDescriptors = (obj, reducer) => { - const descriptors = Object.getOwnPropertyDescriptors(obj); - const reducedDescriptors = {}; - - forEach(descriptors, (descriptor, name) => { - let ret; - if ((ret = reducer(descriptor, name, obj)) !== false) { - reducedDescriptors[name] = ret || descriptor; - } - }); - - Object.defineProperties(obj, reducedDescriptors); -} - -/** - * Makes all methods read-only - * @param {Object} obj - */ - -const freezeMethods = (obj) => { - reduceDescriptors(obj, (descriptor, name) => { - // skip restricted props in strict mode - if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) { - return false; - } - - const value = obj[name]; - - if (!isFunction(value)) return; - - descriptor.enumerable = false; - - if ('writable' in descriptor) { - descriptor.writable = false; - return; - } - - if (!descriptor.set) { - descriptor.set = () => { - throw Error('Can not rewrite read-only method \'' + name + '\''); - }; - } - }); -} - -const toObjectSet = (arrayOrString, delimiter) => { - const obj = {}; - - const define = (arr) => { - arr.forEach(value => { - obj[value] = true; - }); - } - - isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter)); - - return obj; -} - -const noop = () => {} - -const toFiniteNumber = (value, defaultValue) => { - return value != null && Number.isFinite(value = +value) ? value : defaultValue; -} - -const ALPHA = 'abcdefghijklmnopqrstuvwxyz' - -const DIGIT = '0123456789'; - -const ALPHABET = { - DIGIT, - ALPHA, - ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT -} - -const generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => { - let str = ''; - const {length} = alphabet; - while (size--) { - str += alphabet[Math.random() * length|0] - } - - return str; -} - -/** - * If the thing is a FormData object, return true, otherwise return false. - * - * @param {unknown} thing - The thing to check. - * - * @returns {boolean} - */ -function isSpecCompliantForm(thing) { - return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]); -} - -const toJSONObject = (obj) => { - const stack = new Array(10); - - const visit = (source, i) => { - - if (isObject(source)) { - if (stack.indexOf(source) >= 0) { - return; - } - - if(!('toJSON' in source)) { - stack[i] = source; - const target = isArray(source) ? [] : {}; - - forEach(source, (value, key) => { - const reducedValue = visit(value, i + 1); - !isUndefined(reducedValue) && (target[key] = reducedValue); - }); - - stack[i] = undefined; - - return target; - } - } - - return source; - } - - return visit(obj, 0); -} - -const isAsyncFn = kindOfTest('AsyncFunction'); - -const isThenable = (thing) => - thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch); - -// original code -// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34 - -const _setImmediate = ((setImmediateSupported, postMessageSupported) => { - if (setImmediateSupported) { - return setImmediate; - } - - return postMessageSupported ? ((token, callbacks) => { - _global.addEventListener("message", ({source, data}) => { - if (source === _global && data === token) { - callbacks.length && callbacks.shift()(); - } - }, false); - - return (cb) => { - callbacks.push(cb); - _global.postMessage(token, "*"); - } - })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb); -})( - typeof setImmediate === 'function', - isFunction(_global.postMessage) -); - -const asap = typeof queueMicrotask !== 'undefined' ? - queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate); - -// ********************* - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ - isArray, - isArrayBuffer, - isBuffer, - isFormData, - isArrayBufferView, - isString, - isNumber, - isBoolean, - isObject, - isPlainObject, - isReadableStream, - isRequest, - isResponse, - isHeaders, - isUndefined, - isDate, - isFile, - isBlob, - isRegExp, - isFunction, - isStream, - isURLSearchParams, - isTypedArray, - isFileList, - forEach, - merge, - extend, - trim, - stripBOM, - inherits, - toFlatObject, - kindOf, - kindOfTest, - endsWith, - toArray, - forEachEntry, - matchAll, - isHTMLForm, - hasOwnProperty, - hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection - reduceDescriptors, - freezeMethods, - toObjectSet, - toCamelCase, - noop, - toFiniteNumber, - findKey, - global: _global, - isContextDefined, - ALPHABET, - generateString, - isSpecCompliantForm, - toJSONObject, - isAsyncFn, - isThenable, - setImmediate: _setImmediate, - asap -}); - - -/***/ }) - -/******/ }); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ var cachedModule = __webpack_module_cache__[moduleId]; -/******/ if (cachedModule !== undefined) { -/******/ return cachedModule.exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ // no module.id needed -/******/ // no module.loaded needed -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/************************************************************************/ -/******/ /* webpack/runtime/compat get default export */ -/******/ (() => { -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = (module) => { -/******/ var getter = module && module.__esModule ? -/******/ () => (module['default']) : -/******/ () => (module); -/******/ __webpack_require__.d(getter, { a: getter }); -/******/ return getter; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/define property getters */ -/******/ (() => { -/******/ // define getter functions for harmony exports -/******/ __webpack_require__.d = (exports, definition) => { -/******/ for(var key in definition) { -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); -/******/ } -/******/ } -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/hasOwnProperty shorthand */ -/******/ (() => { -/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) -/******/ })(); -/******/ -/******/ /* webpack/runtime/make namespace object */ -/******/ (() => { -/******/ // define __esModule on exports -/******/ __webpack_require__.r = (exports) => { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ })(); -/******/ -/************************************************************************/ -var __webpack_exports__ = {}; -// This entry need to be wrapped in an IIFE because it need to be in strict mode. -(() => { -"use strict"; -/*!**************************!*\ - !*** ./src/Typesense.ts ***! - \**************************/ -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ Client: () => (/* reexport safe */ _Typesense_Client__WEBPACK_IMPORTED_MODULE_0__["default"]), -/* harmony export */ Errors: () => (/* reexport module object */ _Typesense_Errors__WEBPACK_IMPORTED_MODULE_2__), -/* harmony export */ SearchClient: () => (/* reexport safe */ _Typesense_SearchClient__WEBPACK_IMPORTED_MODULE_1__["default"]), -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _Typesense_Client__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Typesense/Client */ "./src/Typesense/Client.ts"); -/* harmony import */ var _Typesense_SearchClient__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Typesense/SearchClient */ "./src/Typesense/SearchClient.ts"); -/* harmony import */ var _Typesense_Errors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Typesense/Errors */ "./src/Typesense/Errors/index.ts"); - - - - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ - Client: _Typesense_Client__WEBPACK_IMPORTED_MODULE_0__["default"], - SearchClient: _Typesense_SearchClient__WEBPACK_IMPORTED_MODULE_1__["default"], - Errors: _Typesense_Errors__WEBPACK_IMPORTED_MODULE_2__ -}); -})(); - -Typesense = __webpack_exports__; -/******/ })() -; -//# sourceMappingURL=typesense.js.map \ No newline at end of file diff --git a/dist/typesense.js.map b/dist/typesense.js.map deleted file mode 100644 index 91275754..00000000 --- a/dist/typesense.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"typesense.js","mappings":"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;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;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;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA,qDAAqD;AACrD,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,sBAAsB;AACtB;;AAEA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA,oCAAoC;AACpC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;;;;;;;;;;ACpWD;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA,cAAc,sGAAiC;AAC/C;AACA,gBAAgB;AAChB;AACA;AACA,GAAG,EAAE,yBAAyB,SAAS,yBAAyB;AAChE;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,KAAK;AACL,iDAAiD;AACjD;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;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;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;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,eAAe;AAClC;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,SAAS;AACtB;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;;;;;;;;;;;;;;;ACHe;AACf;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;ACLA;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;;;;;;;;;;;;;;;;;ACJiD;AACoB;AACtD;AACf,MAAM,wEAAwB;AAC9B;AACA;AACA;AACA,cAAc,8DAAc;AAC5B;;;;;;;;;;;;;;;;ACR+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;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACLiD;AAClC;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH,kBAAkB,8DAAc;AAChC;;;;;;;;;;;;;;;AChBe;AACf;AACA;AACA,IAAI;AACJ;AACA;AACA;;;;;;;;;;;;;;;ACNe;AACf;AACA,yFAAyF;AACzF,IAAI;AACJ;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;ACPe;AACf;AACA;;;;;;;;;;;;;;;ACFe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,YAAY,kEAAkE;AACtF,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;AC1Be;AACf;AACA;;;;;;;;;;;;;;;ACFe;AACf;AACA;;;;;;;;;;;;;;;;;ACFkC;AAC6B;AAChD;AACf,eAAe,sDAAO;AACtB;AACA,IAAI;AACJ;AACA;AACA,S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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP,oCAAoC,iDAAK;;AAEzC,wDAAwD,wFAAsB;AAC9E;AACA,QAAQ,sFAAoB,CAAC,gFAAc;AAC3C;;AAEA;AACA,QAAQ,oEAAW;AACnB;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA,uCAAuC,iDAAK;;AAE5C;;AAEA;;AAEA;AACA,MAAM,2DAAM;AACZ;AACA,iBAAiB,6DAAY;AAC7B;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,IAAI;AACJ;;AAEA;AACA;AACA,YAAY,2DAAU,kBAAkB,2DAAU;AAClD;AACA;AACA;AACA;AACA;;AAEA,UAAU,2DAAU;AACpB;AACA,CAAC,CAAC,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrO+B;AACO;AACsB;AAChB;AACQ;AACC;AACZ;AACO;AACqB;AAChB;;AAExD;;AAEA,iEAAe;AACf;AACA,oBAAoB,qEAAa;AACjC;AACA,2BAA2B,6DAAY;AACvC,SAAS,oDAAoD;AAC7D;AACA;AACA;;AAEA;AACA,oCAAoC;AACpC,wCAAwC;;AAExC;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,8BAA8B,6DAAY;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAM,2DAAM;AACZ;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,iBAAiB,2DAAU,oBAAoB,2DAAU;;AAEzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,2DAAU,kBAAkB,2DAAU;;AAEvD;AACA;AACA;;AAEA;AACA;AACA;AACA,mDAAmD,iEAAoB;AACvE;AACA;AACA;AACA,iBAAiB,2DAAU;AAC3B;AACA,2CAA2C,2DAAU,aAAa,2DAAU;AAC5E;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAM,iDAAK;AACX;AACA,OAAO;AACP;;AAEA;AACA,SAAS,iDAAK;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,4CAA4C,sFAAoB;AAChE;AACA;;AAEA;AACA;AACA,wCAAwC,sFAAoB;;AAE5D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,gEAAa;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,qEAAa;;AAElC,oBAAoB,0DAAQ;AAC5B,iBAAiB,2DAAU,2CAA2C,2DAAU;AAChF;AACA;;;AAGA;AACA;AACA,GAAG;AACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpMY;;AAEkB;AACM;AACD;AACY;AACL;AACc;AACH;AACJ;AACN;AACN;AACW;AACH;AACL;AACY;AACH;AACJ;AACW;;AAEzD;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,OAAO;AACpB;AACA;AACA,sBAAsB,sDAAK;AAC3B,mBAAmB,4DAAI,CAAC,sDAAK;;AAE7B;AACA,EAAE,iDAAK,kBAAkB,sDAAK,sBAAsB,iBAAiB;;AAErE;AACA,EAAE,iDAAK,kCAAkC,iBAAiB;;AAE1D;AACA;AACA,0BAA0B,gEAAW;AACrC;;AAEA;AACA;;AAEA;AACA,6BAA6B,0DAAQ;;AAErC;AACA,cAAc,sDAAK;;AAEnB;AACA,sBAAsB,gEAAa;AACnC,oBAAoB,8DAAW;AAC/B,iBAAiB,2DAAQ;AACzB,gBAAgB,iDAAO;AACvB,mBAAmB,8DAAU;;AAE7B;AACA,mBAAmB,4DAAU;;AAE7B;AACA;;AAEA;AACA;AACA;AACA;;AAEA,eAAe,2DAAM;;AAErB;AACA,qBAAqB,iEAAY;;AAEjC;AACA,oBAAoB,4DAAW;;AAE/B,qBAAqB,8DAAY;;AAEjC,4BAA4B,uEAAc,CAAC,iDAAK;;AAEhD,mBAAmB,8DAAQ;;AAE3B,uBAAuB,mEAAc;;AAErC;;AAEA;AACA,iEAAe,KAAK;;;;;;;;;;;;;;;;;ACxFP;;AAEkC;;AAE/C;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,yDAAa;AACtC;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA,iEAAe,WAAW,EAAC;;;;;;;;;;;;;;;;;;ACxHd;;AAEkC;AACf;;AAEhC;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,aAAa,eAAe;AAC5B;AACA;AACA;AACA,EAAE,2DAAU,oDAAoD,2DAAU;AAC1E;AACA;;AAEA,iDAAK,yBAAyB,2DAAU;AACxC;AACA,CAAC;;AAED,iEAAe,aAAa,EAAC;;;;;;;;;;;;;;;;ACxBhB;;AAEE;AACf;AACA;;;;;;;;;;;;;;;;;;;;;;;;ACJa;;AAEqB;AACY;AACW;AACN;AACR;AACI;AACC;AACH;;AAE7C,mBAAmB,6DAAS;;AAE5B;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,mBAAmB,8DAAkB;AACrC,oBAAoB,8DAAkB;AACtC;AACA;;AAEA;AACA;AACA;AACA,aAAa,eAAe;AAC5B,aAAa,SAAS;AACtB;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA,oEAAoE;;AAEpE;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA,aAAa,2DAAW;;AAExB,WAAW,yCAAyC;;AAEpD;AACA,MAAM,6DAAS;AACf;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,UAAU,iDAAK;AACf;AACA;AACA;AACA,QAAQ;AACR,QAAQ,6DAAS;AACjB;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA,oCAAoC,iDAAK;AACzC;AACA;AACA;;AAEA,eAAe,iDAAK;AACpB;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,wDAAY;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA,qBAAqB,2DAAe;AACpC;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA,gBAAgB,2DAAe;AAC/B,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,aAAa,2DAAW;AACxB,qBAAqB,6DAAa;AAClC,WAAW,gEAAQ;AACnB;AACA;;AAEA;AACA,iDAAK;AACL;AACA;AACA,wBAAwB,2DAAW,aAAa;AAChD;AACA;AACA,yBAAyB;AACzB,KAAK;AACL;AACA,CAAC;;AAED,iDAAK;AACL;;AAEA;AACA;AACA,0BAA0B,2DAAW,aAAa;AAClD;AACA;AACA;AACA,UAAU,IAAI;AACd;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA,CAAC;;AAED,iEAAe,KAAK,EAAC;;;;;;;;;;;;;;;;;ACnOR;;AAEmB;;AAEhC;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,OAAO;AACpB;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iDAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,iDAAK;AACnB;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,CAAC;;AAED;AACA,kDAAkD,YAAY;;AAE9D;AACA;AACA;;AAEA,EAAE,iDAAK;AACP;AACA,GAAG;AACH;AACA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,iEAAe,UAAU,EAAC;;;;;;;;;;;;;;;;;;ACtGb;;AAEmB;AACsB;;AAEtD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS,iDAAK;AACd;;AAEA;AACA;AACA,2BAA2B,mBAAmB;AAC9C;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,MAAM,iDAAK;AACX;AACA;;AAEA;AACA;AACA;;AAEA,OAAO,iDAAK;;AAEZ,MAAM,iDAAK;AACX;AACA;;AAEA,MAAM,iDAAK;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,uBAAuB,iDAAK;;AAE5B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,iDAAK;;AAEvB;AACA;AACA;AACA;;AAEA;AACA,MAAM,iDAAK;;AAEX,QAAQ,iDAAK;AACb;AACA,MAAM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e;AACf;AACA;AACA;;AAEA;AACA,QAAQ,iDAAK,0BAA0B,iDAAK;AAC5C,aAAa,iDAAK,aAAa,SAAS;AACxC,MAAM,SAAS,iDAAK;AACpB,aAAa,iDAAK,SAAS;AAC3B,MAAM,SAAS,iDAAK;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS,iDAAK;AACd;AACA,MAAM,UAAU,iDAAK;AACrB;AACA;AACA;;AAEA;AACA;AACA,SAAS,iDAAK;AACd;AACA;AACA;;AAEA;AACA;AACA,SAAS,iDAAK;AACd;AACA,MAAM,UAAU,iDAAK;AACrB;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;AACA;AACA;AACA;;AAEA,EAAE,iDAAK,qCAAqC;AAC5C;AACA;AACA,KAAK,iDAAK;AACV,GAAG;;AAEH;AACA;;;;;;;;;;;;;;;;;ACzGa;;AAE4B;;AAEzC;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;AACA,IAAI;AACJ,eAAe,sDAAU;AACzB;AACA,OAAO,sDAAU,kBAAkB,sDAAU;AAC7C;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;AC1Ba;;AAEqB;AACU;AACO;;AAEnD;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB;AACA,aAAa,GAAG;AAChB;AACe;AACf,yBAAyB,0DAAQ;AACjC;AACA,kBAAkB,6DAAY;AAC9B;;AAEA,EAAE,iDAAK;AACP;AACA,GAAG;;AAEH;;AAEA;AACA;;;;;;;;;;;;;;;;;;;;;;;AC3Ba;;AAEmB;AACe;AACM;AACH;AACY;AAClB;AACc;;AAE1D;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA,MAAM,iDAAK;AACX;AACA;AACA,aAAa,iDAAK;AAClB,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,gBAAgB,wDAAoB;;AAEpC;;AAEA;AACA;AACA;AACA,4BAA4B,iDAAK;;AAEjC,2BAA2B,iDAAK;AAChC;AACA;;AAEA,uBAAuB,iDAAK;;AAE5B;AACA,iDAAiD,sEAAc;AAC/D;;AAEA,QAAQ,iDAAK;AACb,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX,MAAM,iDAAK;AACX;AACA;AACA;AACA,QAAQ,iDAAK;AACb;AACA;AACA,QAAQ,iDAAK;AACb,gEAAgE;AAChE;AACA;;AAEA;;AAEA;AACA;AACA,eAAe,wEAAgB;AAC/B;;AAEA,wBAAwB,iDAAK;AAC7B;;AAEA,eAAe,kEAAU;AACzB,wBAAwB,iBAAiB;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA,QAAQ,iDAAK,qBAAqB,iDAAK;AACvC;AACA;;AAEA,gBAAgB,iDAAK;AACrB;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA,kBAAkB,2DAAU,SAAS,2DAAU;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,cAAc,0DAAQ;AACtB,UAAU,0DAAQ;AAClB,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iDAAK;AACL;AACA,CAAC;;AAED,iEAAe,QAAQ,EAAC;;;;;;;;;;;;;;;;AChKX;;AAEb,iEAAe;AACf;AACA;AACA;AACA,CAAC,EAAC;;;;;;;;;;;;;;;;ACNK;;;;;;;;;;;;;;;;ACAM;;AAE4B;;AAEzC;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,WAAW,qBAAqB;AAChC,WAAW,qBAAqB;AAChC;AACA,aAAa;AACb;AACA;AACA;;AAEA,YAAY,0DAAU;AACtB;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA,GAAG;AACH;;AAEA,iEAAe,oBAAoB,EAAC;;;;;;;;;;;;;;;;ACzDpC;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;;AAEA;AACA;AACA,CAAC;;AAED,iEAAe,cAAc,EAAC;;;;;;;;;;;;;;;;ACtEjB;;AAEE;AACf;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACNa;;AAEmB;AACsC;;AAEtE;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,IAAI;AACJ,uBAAuB,iDAAK;AAC5B;AACA,UAAU,wEAAoB;AAC9B;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;AC9Da;;AAEb;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AA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AgB;;AAEvB;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACA,OAAO,SAAS;;AAEhB;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;;AAGA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,UAAU;AACrB;AACA,WAAW,SAAS;AACpB,aAAa;AACb;AACA,2BAA2B,oBAAoB,IAAI;AACnD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS;AAC5C,4BAA4B;AAC5B;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA,SAAS,UAAU;AACnB;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,kCAAkC;AAClC,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;;AAEA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA,gCAAgC,WAAW,IAAI;AAC/C;AACA;AACA,eAAe,4DAAI;AACnB,MAAM;AACN;AACA;AACA,GAAG,GAAG,WAAW;AACjB;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,kBAAkB;AAC7B,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,WAAW,kBAAkB;AAC7B,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B,eAAe;;AAEzC;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS,QAAQ;AACjB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,0CAA0C,aAAa;AACvD;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,GAAG,WAAW,cAAc;AAC5B,CAAC;AACD;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,iEAAe;AACf;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,EAAC;;;;;;;UCvvBF;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;;;;;;;ACNwC;AACY;AACP;AAEL;AACxC,iEAAe;EAAE9B,MAAM,EAANA,yDAAM;EAAEuL,YAAY,EAAZA,+DAAY;EAAEU,MAAM,EAANA,8CAAMA;AAAC,CAAC,E","sources":["webpack://Typesense/./src/Typesense/Alias.ts","webpack://Typesense/./src/Typesense/Aliases.ts","webpack://Typesense/./src/Typesense/Analytics.ts","webpack://Typesense/./src/Typesense/AnalyticsEvents.ts","webpack://Typesense/./src/Typesense/AnalyticsRule.ts","webpack://Typesense/./src/Typesense/AnalyticsRules.ts","webpack://Typesense/./src/Typesense/ApiCall.ts","webpack://Typesense/./src/Typesense/Client.ts","webpack://Typesense/./src/Typesense/Collection.ts","webpack://Typesense/./src/Typesense/Collections.ts","webpack://Typesense/./src/Typesense/Configuration.ts","webpack://Typesense/./src/Typesense/Conversation.ts","webpack://Typesense/./src/Typesense/ConversationModel.ts","webpack://Typesense/./src/Typesense/ConversationModels.ts","webpack://Typesense/./src/Typesense/Conversations.ts","webpack://Typesense/./src/Typesense/Debug.ts","webpack://Typesense/./src/Typesense/Document.ts","webpack://Typesense/./src/Typesense/Documents.ts","webpack://Typesense/./src/Typesense/Errors/HTTPError.ts","webpack://Typesense/./src/Typesense/Errors/ImportError.ts","webpack://Typesense/./src/Typesense/Errors/MissingConfigurationError.ts","webpack://Typesense/./src/Typesense/Errors/ObjectAlreadyExists.ts","webpack://Typesense/./src/Typesense/Errors/ObjectNotFound.ts","webpack://Typesense/./src/Typesense/Errors/ObjectUnprocessable.ts","webpack://Typesense/./src/Typesense/Errors/RequestMalformed.ts","webpack://Typesense/./src/Typesense/Errors/RequestUnauthorized.ts","webpack://Typesense/./src/Typesense/Errors/ServerError.ts","webpack://Typesense/./src/Typesense/Errors/TypesenseError.ts","webpack://Typesense/./src/Typesense/Errors/index.ts","webpack://Typesense/./src/Typesense/Health.ts","webpack://Typesense/./src/Typesense/Key.ts","webpack://Typesense/./src/Typesense/Keys.ts","webpack://Typesense/./src/Typesense/Metrics.ts","webpack://Typesense/./src/Typesense/MultiSearch.ts","webpack://Typesense/./src/Typesense/Operations.ts","webpack://Typesense/./src/Typesense/Override.ts","webpack://Typesense/./src/Typesense/Overrides.ts","webpack://Typesense/./src/Typesense/Preset.ts","webpack://Typesense/./src/Typesense/Presets.ts","webpack://Typesense/./src/Typesense/RequestWithCache.ts","webpack://Typesense/./src/Typesense/SearchClient.ts","webpack://Typesense/./src/Typesense/SearchOnlyCollection.ts","webpack://Typesense/./src/Typesense/SearchOnlyDocuments.ts","webpack://Typesense/./src/Typesense/Stats.ts","webpack://Typesense/./src/Typesense/Stopword.ts","webpack://Typesense/./src/Typesense/Stopwords.ts","webpack://Typesense/./src/Typesense/Synonym.ts","webpack://Typesense/./src/Typesense/Synonyms.ts","webpack://Typesense/./node_modules/loglevel/lib/loglevel.js","webpack://Typesense/ignored|/Users/jason/Programming/jprojs/typesense/typesense-js/src/Typesense|crypto","webpack://Typesense/ignored|/Users/jason/Programming/jprojs/typesense/typesense-js/src/Typesense|http","webpack://Typesense/ignored|/Users/jason/Programming/jprojs/typesense/typesense-js/src/Typesense|https","webpack://Typesense/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/regenerator/index.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://Typesense/./node_modules/axios/lib/adapters/adapters.js","webpack://Typesense/./node_modules/axios/lib/adapters/fetch.js","webpack://Typesense/./node_modules/axios/lib/adapters/xhr.js","webpack://Typesense/./node_modules/axios/lib/axios.js","webpack://Typesense/./node_modules/axios/lib/cancel/CancelToken.js","webpack://Typesense/./node_modules/axios/lib/cancel/CanceledError.js","webpack://Typesense/./node_modules/axios/lib/cancel/isCancel.js","webpack://Typesense/./node_modules/axios/lib/core/Axios.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosError.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://Typesense/./node_modules/axios/lib/core/InterceptorManager.js","webpack://Typesense/./node_modules/axios/lib/core/buildFullPath.js","webpack://Typesense/./node_modules/axios/lib/core/dispatchRequest.js","webpack://Typesense/./node_modules/axios/lib/core/mergeConfig.js","webpack://Typesense/./node_modules/axios/lib/core/settle.js","webpack://Typesense/./node_modules/axios/lib/core/transformData.js","webpack://Typesense/./node_modules/axios/lib/defaults/index.js","webpack://Typesense/./node_modules/axios/lib/defaults/transitional.js","webpack://Typesense/./node_modules/axios/lib/env/data.js","webpack://Typesense/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://Typesense/./node_modules/axios/lib/helpers/bind.js","webpack://Typesense/./node_modules/axios/lib/helpers/buildURL.js","webpack://Typesense/./node_modules/axios/lib/helpers/combineURLs.js","webpack://Typesense/./node_modules/axios/lib/helpers/composeSignals.js","webpack://Typesense/./node_modules/axios/lib/helpers/cookies.js","webpack://Typesense/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://Typesense/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://Typesense/./node_modules/axios/lib/helpers/null.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://Typesense/./node_modules/axios/lib/helpers/progressEventReducer.js","webpack://Typesense/./node_modules/axios/lib/helpers/resolveConfig.js","webpack://Typesense/./node_modules/axios/lib/helpers/speedometer.js","webpack://Typesense/./node_modules/axios/lib/helpers/spread.js","webpack://Typesense/./node_modules/axios/lib/helpers/throttle.js","webpack://Typesense/./node_modules/axios/lib/helpers/toFormData.js","webpack://Typesense/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://Typesense/./node_modules/axios/lib/helpers/trackStream.js","webpack://Typesense/./node_modules/axios/lib/helpers/validator.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/index.js","webpack://Typesense/./node_modules/axios/lib/platform/common/utils.js","webpack://Typesense/./node_modules/axios/lib/platform/index.js","webpack://Typesense/./node_modules/axios/lib/utils.js","webpack://Typesense/webpack/bootstrap","webpack://Typesense/webpack/runtime/compat get default export","webpack://Typesense/webpack/runtime/define property getters","webpack://Typesense/webpack/runtime/hasOwnProperty shorthand","webpack://Typesense/webpack/runtime/make namespace object","webpack://Typesense/./src/Typesense.ts"],"sourcesContent":["import Aliases, { CollectionAliasSchema } from \"./Aliases\";\nimport ApiCall from \"./ApiCall\";\n\nexport default class Alias {\n constructor(private name: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/aliases\";\n\nexport interface CollectionAliasCreateSchema {\n collection_name: string;\n}\n\nexport interface CollectionAliasSchema extends CollectionAliasCreateSchema {\n name: string;\n}\n\nexport interface CollectionAliasesResponseSchema {\n aliases: CollectionAliasSchema[];\n}\n\nexport default class Aliases {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n name: string,\n mapping: CollectionAliasCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(name),\n mapping\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n private endpointPath(aliasName): string {\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(aliasName)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\nimport AnalyticsRule from \"./AnalyticsRule\";\nimport AnalyticsEvents from \"./AnalyticsEvents\";\n\nconst RESOURCEPATH = \"/analytics\";\n\nexport default class Analytics {\n private readonly _analyticsRules: AnalyticsRules;\n private readonly individualAnalyticsRules: Record = {};\n private readonly _analyticsEvents: AnalyticsEvents;\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._analyticsRules = new AnalyticsRules(this.apiCall);\n this._analyticsEvents = new AnalyticsEvents(this.apiCall);\n }\n\n rules(id?: string): AnalyticsRules | AnalyticsRule {\n if (id === undefined) {\n return this._analyticsRules;\n } else {\n if (this.individualAnalyticsRules[id] === undefined) {\n this.individualAnalyticsRules[id] = new AnalyticsRule(id, this.apiCall);\n }\n return this.individualAnalyticsRules[id];\n }\n }\n\n events(): AnalyticsEvents {\n return this._analyticsEvents;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { AnalyticsEventCreateSchema } from \"./AnalyticsEvent\";\n\nconst RESOURCEPATH = \"/analytics/events\";\n\nexport default class AnalyticsEvents {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: AnalyticsEventCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsEvents.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\n\nexport interface AnalyticsRuleCreateSchema {\n type: \"popular_queries\" | \"nohits_queries\" | \"counter\";\n params: {\n source: {\n collections: string[];\n events?: Array<{\n type: string;\n weight: number;\n name: string;\n }>;\n };\n expand_query?: boolean;\n destination: {\n collection: string;\n counter_field?: string;\n };\n limit?: number;\n };\n}\n\nexport interface AnalyticsRuleDeleteSchema {\n name: string;\n}\n\nexport interface AnalyticsRuleSchema extends AnalyticsRuleCreateSchema {\n name: string;\n}\n\nexport default class AnalyticsRule {\n constructor(\n private name: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${AnalyticsRules.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n AnalyticsRuleCreateSchema,\n AnalyticsRuleSchema,\n} from \"./AnalyticsRule\";\n\nexport interface AnalyticsRulesRetrieveSchema {\n rules: AnalyticsRuleSchema[];\n}\n\nconst RESOURCEPATH = \"/analytics/rules\";\n\nexport default class AnalyticsRules {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async upsert(\n name: string,\n params: AnalyticsRuleCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(name),\n params\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsRules.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import axios, { AxiosRequestConfig, AxiosResponse, Method } from \"axios\";\nimport { Logger } from \"loglevel\";\nimport {\n HTTPError,\n ObjectAlreadyExists,\n ObjectNotFound,\n ObjectUnprocessable,\n RequestMalformed,\n RequestUnauthorized,\n ServerError,\n} from \"./Errors\";\nimport TypesenseError from \"./Errors/TypesenseError\";\nimport Configuration, { NodeConfiguration } from \"./Configuration\";\nimport { Agent as HTTPAgent } from \"http\";\nimport { Agent as HTTPSAgent } from \"https\";\n\nconst APIKEYHEADERNAME = \"X-TYPESENSE-API-KEY\";\nconst HEALTHY = true;\nconst UNHEALTHY = false;\n\ninterface Node extends NodeConfiguration {\n isHealthy: boolean;\n index: string | number;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class ApiCall {\n private readonly apiKey: string;\n private readonly nodes: Node[];\n private readonly nearestNode: Node;\n private readonly connectionTimeoutSeconds: number;\n private readonly healthcheckIntervalSeconds: number;\n private readonly retryIntervalSeconds: number;\n private readonly sendApiKeyAsQueryParam?: boolean;\n private readonly numRetriesPerRequest: number;\n private readonly additionalUserHeaders?: Record;\n\n private readonly logger: Logger;\n private currentNodeIndex: number;\n\n constructor(private 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\n this.logger = this.configuration.logger;\n\n this.initializeMetadataForNodes();\n this.currentNodeIndex = -1;\n }\n\n async get(\n endpoint: string,\n queryParameters: any = {},\n {\n abortSignal = null,\n responseType = undefined,\n }: {\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n } = {},\n ): Promise {\n return this.performRequest(\"get\", endpoint, {\n queryParameters,\n abortSignal,\n responseType,\n });\n }\n\n async delete(endpoint: string, queryParameters: any = {}): Promise {\n return this.performRequest(\"delete\", endpoint, { queryParameters });\n }\n\n async post(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n additionalHeaders: any = {},\n ): Promise {\n return this.performRequest(\"post\", endpoint, {\n queryParameters,\n bodyParameters,\n additionalHeaders,\n });\n }\n\n async put(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"put\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async patch(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"patch\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async performRequest(\n requestType: Method,\n endpoint: string,\n {\n queryParameters = null,\n bodyParameters = null,\n additionalHeaders = {},\n abortSignal = null,\n responseType = undefined,\n skipConnectionTimeout = false,\n enableKeepAlive = undefined,\n }: {\n queryParameters?: any;\n bodyParameters?: any;\n additionalHeaders?: any;\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n skipConnectionTimeout?: boolean;\n enableKeepAlive?: boolean | undefined;\n },\n ): Promise {\n this.configuration.validate();\n\n const requestNumber = Date.now();\n let lastException;\n this.logger.debug(\n `Request #${requestNumber}: Performing ${requestType.toUpperCase()} request: ${endpoint}`,\n );\n for (\n let numTries = 1;\n numTries <= this.numRetriesPerRequest + 1;\n numTries++\n ) {\n const node = this.getNextNode(requestNumber);\n this.logger.debug(\n `Request #${requestNumber}: Attempting ${requestType.toUpperCase()} request Try #${numTries} to Node ${\n node.index\n }`,\n );\n\n if (abortSignal && abortSignal.aborted) {\n return Promise.reject(new Error(\"Request aborted by caller.\"));\n }\n\n let abortListener;\n\n try {\n const requestOptions: AxiosRequestConfig = {\n method: requestType,\n url: this.uriFor(endpoint, node),\n headers: Object.assign(\n {},\n this.defaultHeaders(),\n additionalHeaders,\n this.additionalUserHeaders,\n ),\n maxContentLength: Infinity,\n maxBodyLength: Infinity,\n responseType,\n validateStatus: (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 (data, headers) => {\n let transformedData = data;\n if (\n headers !== undefined &&\n typeof data === \"string\" &&\n headers[\"content-type\"] &&\n headers[\"content-type\"].startsWith(\"application/json\")\n ) {\n transformedData = JSON.parse(data);\n }\n return transformedData;\n },\n ],\n };\n\n if (skipConnectionTimeout !== true) {\n requestOptions.timeout = this.connectionTimeoutSeconds * 1000;\n }\n\n if (queryParameters && Object.keys(queryParameters).length !== 0) {\n requestOptions.params = queryParameters;\n }\n\n if (this.sendApiKeyAsQueryParam) {\n requestOptions.params = requestOptions.params || {};\n requestOptions.params[\"x-typesense-api-key\"] = this.apiKey;\n }\n\n if (this.configuration.httpAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpAgent`,\n );\n requestOptions.httpAgent = this.configuration.httpAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling KeepAlive`);\n requestOptions.httpAgent = new HTTPAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.httpsAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpsAgent`,\n );\n requestOptions.httpsAgent = this.configuration.httpsAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling keepAlive`);\n requestOptions.httpsAgent = new HTTPSAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.paramsSerializer) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom paramsSerializer`,\n );\n requestOptions.paramsSerializer = this.configuration.paramsSerializer;\n }\n\n if (\n bodyParameters &&\n ((typeof bodyParameters === \"string\" &&\n bodyParameters.length !== 0) ||\n (typeof bodyParameters === \"object\" &&\n Object.keys(bodyParameters).length !== 0))\n ) {\n requestOptions.data = bodyParameters;\n }\n\n // Translate from user-provided AbortController to the Axios request cancel mechanism.\n if (abortSignal) {\n const cancelToken = axios.CancelToken;\n const source = cancelToken.source();\n abortListener = () => source.cancel();\n abortSignal.addEventListener(\"abort\", abortListener);\n requestOptions.cancelToken = source.token;\n }\n\n const response = await axios(requestOptions);\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.setNodeHealthcheck(node, HEALTHY);\n }\n this.logger.debug(\n `Request #${requestNumber}: Request to Node ${node.index} was made. Response Code was ${response.status}.`,\n );\n\n if (response.status >= 200 && response.status < 300) {\n // If response is 2xx return a resolved promise\n return Promise.resolve(response.data);\n } else if (response.status < 500) {\n // Next, if response is anything but 5xx, don't retry, return a custom error\n return Promise.reject(\n this.customErrorForResponse(response, response.data?.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.customErrorForResponse(response, response.data?.message);\n }\n } catch (error: any) {\n // This block handles retries for HTTPStatus > 500 and network layer issues like connection timeouts\n this.setNodeHealthcheck(node, UNHEALTHY);\n lastException = error;\n this.logger.warn(\n `Request #${requestNumber}: Request to Node ${\n node.index\n } failed due to \"${error.code} ${error.message}${\n error.response == null\n ? \"\"\n : \" - \" + JSON.stringify(error.response?.data)\n }\"`,\n );\n // this.logger.debug(error.stack)\n this.logger.warn(\n `Request #${requestNumber}: Sleeping for ${this.retryIntervalSeconds}s and then retrying request...`,\n );\n await this.timer(this.retryIntervalSeconds);\n } finally {\n if (abortSignal && abortListener) {\n abortSignal.removeEventListener(\"abort\", abortListener);\n }\n }\n }\n this.logger.debug(\n `Request #${requestNumber}: No retries left. Raising last error`,\n );\n return Promise.reject(lastException);\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 getNextNode(requestNumber = 0): Node {\n // Check if nearestNode is set and is healthy, if so return it\n if (this.nearestNode != null) {\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: Node ${\n this.nearestNode.index\n } is ${this.nearestNode.isHealthy === true ? \"Healthy\" : \"Unhealthy\"}`,\n );\n if (\n this.nearestNode.isHealthy === true ||\n this.nodeDueForHealthcheck(this.nearestNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${this.nearestNode.index}`,\n );\n return this.nearestNode;\n }\n this.logger.debug(\n `Request #${requestNumber}: Falling back to individual nodes`,\n );\n }\n\n // Fallback to nodes as usual\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: ${this.nodes\n .map(\n (node) =>\n `Node ${node.index} is ${\n node.isHealthy === true ? \"Healthy\" : \"Unhealthy\"\n }`,\n )\n .join(\" || \")}`,\n );\n let candidateNode: Node = this.nodes[0];\n for (let i = 0; i <= this.nodes.length; i++) {\n this.currentNodeIndex = (this.currentNodeIndex + 1) % this.nodes.length;\n candidateNode = this.nodes[this.currentNodeIndex];\n if (\n candidateNode.isHealthy === true ||\n this.nodeDueForHealthcheck(candidateNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\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(\n `Request #${requestNumber}: No healthy nodes were found. Returning the next node, Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\n\n nodeDueForHealthcheck(node, requestNumber = 0): boolean {\n const isDueForHealthcheck =\n Date.now() - node.lastAccessTimestamp >\n this.healthcheckIntervalSeconds * 1000;\n if (isDueForHealthcheck) {\n this.logger.debug(\n `Request #${requestNumber}: Node ${node.index} has exceeded healtcheckIntervalSeconds of ${this.healthcheckIntervalSeconds}. Adding it back into rotation.`,\n );\n }\n return isDueForHealthcheck;\n }\n\n initializeMetadataForNodes(): void {\n if (this.nearestNode != null) {\n this.nearestNode.index = \"nearestNode\";\n this.setNodeHealthcheck(this.nearestNode, HEALTHY);\n }\n\n this.nodes.forEach((node, i) => {\n node.index = i;\n this.setNodeHealthcheck(node, HEALTHY);\n });\n }\n\n setNodeHealthcheck(node, isHealthy): void {\n node.isHealthy = isHealthy;\n node.lastAccessTimestamp = Date.now();\n }\n\n uriFor(endpoint: string, node): string {\n if (node.url != null) {\n return `${node.url}${endpoint}`;\n }\n return `${node.protocol}://${node.host}:${node.port}${node.path}${endpoint}`;\n }\n\n defaultHeaders(): any {\n const defaultHeaders = {};\n if (!this.sendApiKeyAsQueryParam) {\n defaultHeaders[APIKEYHEADERNAME] = this.apiKey;\n }\n defaultHeaders[\"Content-Type\"] = \"application/json\";\n return defaultHeaders;\n }\n\n async timer(seconds): Promise {\n return new Promise((resolve) => setTimeout(resolve, seconds * 1000));\n }\n\n customErrorForResponse(\n response: AxiosResponse,\n messageFromServer: string,\n ): TypesenseError {\n let errorMessage = `Request failed with HTTP code ${response.status}`;\n if (\n typeof messageFromServer === \"string\" &&\n messageFromServer.trim() !== \"\"\n ) {\n errorMessage += ` | Server said: ${messageFromServer}`;\n }\n\n let error = new TypesenseError(errorMessage);\n\n if (response.status === 400) {\n error = new RequestMalformed(errorMessage);\n } else if (response.status === 401) {\n error = new RequestUnauthorized(errorMessage);\n } else if (response.status === 404) {\n error = new ObjectNotFound(errorMessage);\n } else if (response.status === 409) {\n error = new ObjectAlreadyExists(errorMessage);\n } else if (response.status === 422) {\n error = new ObjectUnprocessable(errorMessage);\n } else if (response.status >= 500 && response.status <= 599) {\n error = new ServerError(errorMessage);\n } else {\n error = new HTTPError(errorMessage);\n }\n\n error.httpStatus = response.status;\n\n return error;\n }\n}\n","/* eslint-disable no-dupe-class-members */\n\nimport Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Collection from \"./Collection\";\nimport Aliases from \"./Aliases\";\nimport Alias from \"./Alias\";\nimport Keys from \"./Keys\";\nimport Key from \"./Key\";\nimport Debug from \"./Debug\";\nimport Metrics from \"./Metrics\";\nimport Stats from \"./Stats\";\nimport Health from \"./Health\";\nimport Operations from \"./Operations\";\nimport MultiSearch from \"./MultiSearch\";\nimport Presets from \"./Presets\";\nimport Preset from \"./Preset\";\nimport Analytics from \"./Analytics\";\nimport Stopwords from \"./Stopwords\";\nimport Stopword from \"./Stopword\";\nimport Conversations from \"./Conversations\";\nimport Conversation from \"./Conversation\";\n\nexport default class Client {\n configuration: Configuration;\n apiCall: ApiCall;\n debug: Debug;\n metrics: Metrics;\n stats: Stats;\n health: Health;\n operations: Operations;\n multiSearch: MultiSearch;\n analytics: Analytics;\n private readonly _collections: Collections;\n private readonly individualCollections: Record;\n private readonly _aliases: Aliases;\n private readonly individualAliases: Record;\n private readonly _keys: Keys;\n private readonly individualKeys: Record;\n private readonly _presets: Presets;\n private readonly individualPresets: Record;\n private readonly _stopwords: Stopwords;\n private readonly individualStopwords: Record;\n private readonly _conversations: Conversations;\n private readonly individualConversations: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? false;\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.debug = new Debug(this.apiCall);\n this.metrics = new Metrics(this.apiCall);\n this.stats = new Stats(this.apiCall);\n this.health = new Health(this.apiCall);\n this.operations = new Operations(this.apiCall);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration);\n this._collections = new Collections(this.apiCall);\n this.individualCollections = {};\n this._aliases = new Aliases(this.apiCall);\n this.individualAliases = {};\n this._keys = new Keys(this.apiCall);\n this.individualKeys = {};\n this._presets = new Presets(this.apiCall);\n this.individualPresets = {};\n this._stopwords = new Stopwords(this.apiCall);\n this.individualStopwords = {};\n this.analytics = new Analytics(this.apiCall);\n this._conversations = new Conversations(this.apiCall);\n this.individualConversations = {};\n }\n\n collections(): Collections;\n collections = object>(\n collectionName: string,\n ): Collection;\n collections(collectionName?: string): Collections | Collection {\n if (collectionName === undefined) {\n return this._collections;\n } else {\n if (this.individualCollections[collectionName] === undefined) {\n this.individualCollections[collectionName] = new Collection(\n collectionName,\n this.apiCall,\n this.configuration,\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n\n aliases(): Aliases;\n aliases(aliasName: string): Alias;\n aliases(aliasName?: string): Aliases | Alias {\n if (aliasName === undefined) {\n return this._aliases;\n } else {\n if (this.individualAliases[aliasName] === undefined) {\n this.individualAliases[aliasName] = new Alias(aliasName, this.apiCall);\n }\n return this.individualAliases[aliasName];\n }\n }\n\n keys(): Keys;\n keys(id: number): Key;\n keys(id?: number): Keys | Key {\n if (id === undefined) {\n return this._keys;\n } else {\n if (this.individualKeys[id] === undefined) {\n this.individualKeys[id] = new Key(id, this.apiCall);\n }\n return this.individualKeys[id];\n }\n }\n\n presets(): Presets;\n presets(id: string): Preset;\n presets(id?: string): Presets | Preset {\n if (id === undefined) {\n return this._presets;\n } else {\n if (this.individualPresets[id] === undefined) {\n this.individualPresets[id] = new Preset(id, this.apiCall);\n }\n return this.individualPresets[id];\n }\n }\n\n stopwords(): Stopwords;\n stopwords(id: string): Stopword;\n stopwords(id?: string): Stopwords | Stopword {\n if (id === undefined) {\n return this._stopwords;\n } else {\n if (this.individualStopwords[id] === undefined) {\n this.individualStopwords[id] = new Stopword(id, this.apiCall);\n }\n return this.individualStopwords[id];\n }\n }\n\n conversations(): Conversations;\n conversations(id: string): Conversation;\n conversations(id?: string): Conversations | Conversation {\n if (id === undefined) {\n return this._conversations;\n } else {\n if (this.individualConversations[id] === undefined) {\n this.individualConversations[id] = new Conversation(id, this.apiCall);\n }\n return this.individualConversations[id];\n }\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections, { CollectionCreateSchema } from \"./Collections\";\nimport Documents, { DocumentSchema } from \"./Documents\";\nimport { ObjectNotFound } from \"./Errors\";\nimport Overrides from \"./Overrides\";\nimport Override from \"./Override\";\nimport Synonyms from \"./Synonyms\";\nimport Synonym from \"./Synonym\";\nimport { Document } from \"./Document\";\n\nexport type FieldType =\n | \"string\"\n | \"int32\"\n | \"int64\"\n | \"float\"\n | \"bool\"\n | \"geopoint\"\n | \"geopoint[]\"\n | \"string[]\"\n | \"int32[]\"\n | \"int64[]\"\n | \"float[]\"\n | \"bool[]\"\n | \"object\"\n | \"object[]\"\n | \"auto\"\n | \"string*\"\n | \"image\";\n\nexport interface CollectionFieldSchema {\n name: string;\n type: FieldType;\n optional?: boolean;\n facet?: boolean;\n index?: boolean;\n sort?: boolean;\n locale?: string;\n infix?: boolean;\n stem?: boolean;\n num_dim?: number;\n store?: boolean;\n [t: string]: unknown;\n}\n\nexport interface CollectionSchema extends CollectionCreateSchema {\n created_at: number;\n num_documents: number;\n num_memory_shards: number;\n}\n\nexport interface CollectionDropFieldSchema {\n name: string;\n drop: true;\n}\n\nexport interface CollectionUpdateSchema\n extends Partial> {\n fields?: (CollectionFieldSchema | CollectionDropFieldSchema)[];\n}\n\nexport default class Collection {\n private readonly _documents: Documents;\n private individualDocuments: Record> = {};\n private readonly _overrides: Overrides;\n private individualOverrides: Record = {};\n private readonly _synonyms: Synonyms;\n private individualSynonyms: Record = {};\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any,\n ) {\n this.name = name;\n this.apiCall = apiCall;\n this.configuration = configuration;\n\n this._documents = new Documents(\n this.name,\n this.apiCall,\n this.configuration,\n );\n this._overrides = new Overrides(this.name, this.apiCall);\n this._synonyms = new Synonyms(this.name, this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(schema: CollectionUpdateSchema): Promise {\n return this.apiCall.patch(this.endpointPath(), schema);\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n async exists(): Promise {\n try {\n await this.retrieve();\n return true;\n } catch (e) {\n if (e instanceof ObjectNotFound) return false;\n throw e;\n }\n }\n\n documents(): Documents;\n documents(documentId: string): Document;\n documents(documentId?: string): Document | Documents {\n if (!documentId) {\n return this._documents;\n } else {\n if (this.individualDocuments[documentId] === undefined) {\n this.individualDocuments[documentId] = new Document(\n this.name,\n documentId,\n this.apiCall,\n );\n }\n return this.individualDocuments[documentId];\n }\n }\n\n overrides(): Overrides;\n overrides(overrideId: string): Override;\n overrides(overrideId?: string): Overrides | Override {\n if (overrideId === undefined) {\n return this._overrides;\n } else {\n if (this.individualOverrides[overrideId] === undefined) {\n this.individualOverrides[overrideId] = new Override(\n this.name,\n overrideId,\n this.apiCall,\n );\n }\n return this.individualOverrides[overrideId];\n }\n }\n\n synonyms(): Synonyms;\n synonyms(synonymId: string): Synonym;\n synonyms(synonymId?: string): Synonyms | Synonym {\n if (synonymId === undefined) {\n return this._synonyms;\n } else {\n if (this.individualSynonyms[synonymId] === undefined) {\n this.individualSynonyms[synonymId] = new Synonym(\n this.name,\n synonymId,\n this.apiCall,\n );\n }\n return this.individualSynonyms[synonymId];\n }\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { CollectionFieldSchema, CollectionSchema } from \"./Collection\";\n\nexport interface CollectionCreateSchema {\n name: string;\n default_sorting_field?: string;\n fields?: CollectionFieldSchema[];\n symbols_to_index?: string[];\n token_separators?: string[];\n enable_nested_fields?: boolean;\n metadata?: object;\n voice_query_model?: {\n model_name?: string;\n };\n}\n\nexport interface CollectionCreateOptions {\n src_name?: string;\n}\n\nexport interface CollectionsRetrieveOptions {\n exclude_fields?: string;\n}\n\nconst RESOURCEPATH = \"/collections\";\n\nexport default class Collections {\n constructor(private apiCall: ApiCall) {}\n\n async create(\n schema: CollectionCreateSchema,\n options: CollectionCreateOptions = {},\n ): Promise {\n return this.apiCall.post(RESOURCEPATH, schema, options);\n }\n\n async retrieve(\n options: CollectionsRetrieveOptions = {},\n ): Promise {\n return this.apiCall.get(RESOURCEPATH, options);\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import * as logger from \"loglevel\";\nimport { Logger, LogLevelDesc } from \"loglevel\";\nimport { MissingConfigurationError } from \"./Errors\";\nimport type { Agent as HTTPAgent } from \"http\";\nimport type { Agent as HTTPSAgent } from \"https\";\n\nexport interface NodeConfiguration {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n url?: string;\n}\n\nexport interface NodeConfigurationWithHostname {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n}\n\nexport interface NodeConfigurationWithUrl {\n url: string;\n}\n\nexport interface ConfigurationOptions {\n apiKey: string;\n nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n randomizeNodes?: boolean;\n /**\n * @deprecated\n * masterNode is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n masterNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n /**\n * @deprecated\n * readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n readReplicaNodes?:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n connectionTimeoutSeconds?: number;\n timeoutSeconds?: number;\n healthcheckIntervalSeconds?: number;\n numRetries?: number;\n retryIntervalSeconds?: number;\n sendApiKeyAsQueryParam?: boolean | undefined;\n useServerSideSearchCache?: boolean;\n cacheSearchResultsForSeconds?: number;\n additionalHeaders?: Record;\n\n logLevel?: LogLevelDesc;\n logger?: Logger;\n\n /**\n * Set a custom HTTP Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPAgent } = require(\"http\");\n * ...\n * httpAgent: new HTTPAgent({ keepAlive: true }),\n * @type {HTTPAgent}\n */\n httpAgent?: HTTPAgent;\n\n /**\n * Set a custom HTTPS Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPSAgent } = require(\"https\");\n * ...\n * httpsAgent: new HTTPSAgent({ keepAlive: true }),\n * @type {HTTPSAgent}\n */\n httpsAgent?: HTTPSAgent;\n\n /**\n * Set a custom paramsSerializer\n *\n * See axios documentation for more information on how to use this parameter: https://axios-http.com/docs/req_config\n * This is helpful for handling React Native issues like this: https://github.com/axios/axios/issues/6102#issuecomment-2085301397\n * @type {any}\n */\n paramsSerializer?: any;\n}\n\nexport default class Configuration {\n readonly nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n readonly nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n readonly connectionTimeoutSeconds: number;\n readonly healthcheckIntervalSeconds: number;\n readonly numRetries: number;\n readonly retryIntervalSeconds: number;\n readonly apiKey: string;\n readonly sendApiKeyAsQueryParam?: boolean;\n readonly cacheSearchResultsForSeconds: number;\n readonly useServerSideSearchCache: boolean;\n readonly logger: Logger;\n readonly logLevel: LogLevelDesc;\n readonly additionalHeaders?: Record;\n readonly httpAgent?: HTTPAgent;\n readonly httpsAgent?: HTTPSAgent;\n readonly paramsSerializer?: any;\n\n constructor(options: ConfigurationOptions) {\n this.nodes = options.nodes || [];\n this.nodes = this.nodes\n .map((node) => this.setDefaultPathInNode(node))\n .map((node) => this.setDefaultPortInNode(node))\n .map((node) => ({ ...node })) as NodeConfiguration[]; // Make a deep copy\n\n if (options.randomizeNodes == null) {\n options.randomizeNodes = true;\n }\n\n if (options.randomizeNodes === true) {\n this.shuffleArray(this.nodes);\n }\n\n this.nearestNode = options.nearestNode;\n this.nearestNode = this.setDefaultPathInNode(this.nearestNode);\n this.nearestNode = this.setDefaultPortInNode(this.nearestNode);\n\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\n this.apiKey = options.apiKey;\n this.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam; // We will set a default for this in Client and SearchClient\n\n this.cacheSearchResultsForSeconds =\n options.cacheSearchResultsForSeconds || 0; // Disable client-side cache by default\n this.useServerSideSearchCache = options.useServerSideSearchCache || false;\n\n this.logger = options.logger || logger;\n this.logLevel = options.logLevel || \"warn\";\n this.logger.setLevel(this.logLevel);\n\n this.additionalHeaders = options.additionalHeaders;\n\n this.httpAgent = options.httpAgent;\n this.httpsAgent = options.httpsAgent;\n\n this.paramsSerializer = options.paramsSerializer;\n\n this.showDeprecationWarnings(options);\n this.validate();\n }\n\n validate(): boolean {\n if (this.nodes == null || this.nodes.length === 0 || this.validateNodes()) {\n throw new MissingConfigurationError(\n \"Ensure that nodes[].protocol, nodes[].host and nodes[].port are set\",\n );\n }\n\n if (\n this.nearestNode != null &&\n this.isNodeMissingAnyParameters(this.nearestNode)\n ) {\n throw new MissingConfigurationError(\n \"Ensure that nearestNodes.protocol, nearestNodes.host and nearestNodes.port are set\",\n );\n }\n\n if (this.apiKey == null) {\n throw new MissingConfigurationError(\"Ensure that apiKey is set\");\n }\n\n return true;\n }\n\n private validateNodes(): boolean {\n return this.nodes.some((node) => {\n return this.isNodeMissingAnyParameters(node);\n });\n }\n\n private isNodeMissingAnyParameters(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl,\n ): boolean {\n return (\n ![\"protocol\", \"host\", \"port\", \"path\"].every((key) => {\n return node.hasOwnProperty(key);\n }) && node[\"url\"] == null\n );\n }\n\n private setDefaultPathInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (node != null && !node.hasOwnProperty(\"path\")) {\n node[\"path\"] = \"\";\n }\n return node;\n }\n\n private setDefaultPortInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (\n node != null &&\n !node.hasOwnProperty(\"port\") &&\n node.hasOwnProperty(\"protocol\")\n ) {\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\n private showDeprecationWarnings(options: ConfigurationOptions): void {\n if (options.timeoutSeconds) {\n this.logger.warn(\n \"Deprecation warning: timeoutSeconds is now renamed to connectionTimeoutSeconds\",\n );\n }\n if (options.masterNode) {\n this.logger.warn(\n \"Deprecation warning: masterNode is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n if (options.readReplicaNodes) {\n this.logger.warn(\n \"Deprecation warning: readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n }\n\n private shuffleArray(array) {\n for (let i = array.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [array[i], array[j]] = [array[j], array[i]];\n }\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Conversations from \"./Conversations\";\n\nexport interface ConversationDeleteSchema {\n id: number;\n}\n\nexport interface ConversationUpdateSchema {\n ttl: number;\n}\n\nexport interface ConversationSchema {\n id: number;\n conversation: object[];\n last_updated: number;\n ttl: number;\n}\n\nexport default class Conversation {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(\n params: ConversationUpdateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Conversations.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\n\nexport interface ConversationModelCreateSchema {\n id?: string;\n model_name: string;\n api_key?: string;\n system_prompt?: string;\n max_bytes: number;\n history_collection?: string;\n}\n\nexport interface ConversationModelDeleteSchema {\n id: string;\n}\n\nexport interface ConversationModelSchema extends ConversationModelCreateSchema {\n id: string;\n}\n\nexport default class ConversationModel {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async update(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(\n this.endpointPath(),\n );\n }\n\n private endpointPath(): string {\n return `${ConversationModels.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n ConversationModelCreateSchema,\n ConversationModelSchema,\n} from \"./ConversationModel\";\n\nconst RESOURCEPATH = \"/conversations/models\";\n\nexport default class ConversationModels {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(\n this.endpointPath(),\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${ConversationModels.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\nimport ConversationModel from \"./ConversationModel\";\nimport { ConversationSchema } from \"./Conversation\";\n\nconst RESOURCEPATH = \"/conversations\";\n\nexport interface ConversationsRetrieveSchema {\n conversations: ConversationSchema[];\n}\n\nexport default class Conversations {\n private readonly _conversationsModels: ConversationModels;\n private readonly individualConversationModels: Record<\n string,\n ConversationModel\n > = {};\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._conversationsModels = new ConversationModels(this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n models(): ConversationModels;\n models(id: string): ConversationModel;\n models(id?: string): ConversationModels | ConversationModel {\n if (id === undefined) {\n return this._conversationsModels;\n } else {\n if (this.individualConversationModels[id] === undefined) {\n this.individualConversationModels[id] = new ConversationModel(\n id,\n this.apiCall,\n );\n }\n return this.individualConversationModels[id];\n }\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/debug\";\n\nexport interface DebugResponseSchema {\n state: number;\n version: string;\n}\n\nexport default class Debug {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Documents, {\n DeleteQuery,\n DocumentSchema,\n DocumentWriteParameters,\n} from \"./Documents\";\n\nexport class Document {\n constructor(\n private collectionName: string,\n private documentId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(options?: DeleteQuery): Promise {\n return this.apiCall.delete(this.endpointPath(), options);\n }\n\n async update(\n partialDocument: Partial,\n options: DocumentWriteParameters = {}\n ): Promise {\n return this.apiCall.patch(this.endpointPath(), partialDocument, options);\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Documents.RESOURCEPATH}/${encodeURIComponent(this.documentId)}`;\n }\n}\n","import type { ReadStream } from \"fs\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport { ImportError } from \"./Errors\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\n// Todo: use generic to extract filter_by values\nexport interface DeleteQuery {\n filter_by?: string;\n batch_size?: number;\n ignore_not_found?: boolean;\n}\n\nexport interface DeleteResponse {\n num_deleted: number;\n}\n\ninterface ImportResponseSuccess {\n success: true;\n}\n\nexport interface ImportResponseFail {\n success: false;\n error: string;\n document: DocumentSchema;\n code: number;\n}\n\nexport type ImportResponse = ImportResponseSuccess | ImportResponseFail;\n\nexport type DocumentSchema = Record;\n\nexport interface SearchParamsWithPreset extends Partial {\n preset: string;\n}\n\ntype DropTokensMode =\n | \"right_to_left\"\n | \"left_to_right\"\n | \"both_sides:3\";\n\ntype OperationMode = \"off\" | \"always\" | \"fallback\";\nexport interface SearchParams {\n // From https://typesense.org/docs/latest/api/documents.html#arguments\n q?: string;\n query_by?: string | string[];\n query_by_weights?: string | number[];\n prefix?: string | boolean | boolean[]; // default: true\n filter_by?: string;\n enable_lazy_filter?: boolean; // default: false\n sort_by?: string | string[]; // default: text match desc\n facet_by?: string | string[];\n max_facet_values?: number;\n facet_sample_threshold?: number;\n facet_sample_percent?: number;\n facet_query?: string;\n facet_query_num_typos?: number;\n facet_return_parent?: string;\n page?: number; // default: 1\n per_page?: number; // default: 10, max 250\n group_by?: string | string[];\n group_limit?: number; // default:\n group_missing_values?: boolean;\n include_fields?: string | string[];\n exclude_fields?: string | string[];\n highlight_fields?: string | string[]; // default: all queried fields\n highlight_full_fields?: string | string[]; // default: all fields\n highlight_affix_num_tokens?: number; // default: 4\n highlight_start_tag?: string; // default: \n highlight_end_tag?: string; // default: \n enable_highlight_v1?: boolean;\n snippet_threshold?: number; // default: 30\n num_typos?: string | number | number[]; // default: 2\n min_len_1typo?: number;\n min_len_2typo?: number;\n split_join_tokens?: OperationMode;\n exhaustive_search?: boolean;\n drop_tokens_threshold?: number; // default: 10\n drop_tokens_mode?: DropTokensMode;\n typo_tokens_threshold?: number; // default: 100\n pinned_hits?: string | string[];\n hidden_hits?: string | string[];\n limit_hits?: number; // default: no limit\n pre_segmented_query?: boolean;\n enable_overrides?: boolean;\n override_tags?: string | string[];\n prioritize_exact_match?: boolean; // default: true\n prioritize_token_position?: boolean;\n prioritize_num_matching_fields?: boolean;\n search_cutoff_ms?: number;\n use_cache?: boolean;\n max_candidates?: number;\n infix?: OperationMode | OperationMode[];\n preset?: string;\n text_match_type?: \"max_score\" | \"max_weight\";\n vector_query?: string;\n \"x-typesense-api-key\"?: string;\n \"x-typesense-user-id\"?: string;\n offset?: number;\n limit?: number;\n stopwords?: string;\n conversation?: boolean;\n conversation_model_id?: string;\n conversation_id?: string;\n voice_query?: string;\n}\n\ntype SearchResponseHighlightObject = {\n matched_tokens?: string[];\n snippet?: string;\n value?: string;\n};\n\nexport type SearchResponseHighlight = T extends string | number\n ? SearchResponseHighlightObject\n : {\n [TAttribute in keyof T]?: SearchResponseHighlight;\n };\n\nexport interface SearchResponseHit {\n curated?: true;\n highlights?: [\n {\n field: keyof T;\n snippet?: string;\n value?: string;\n snippets?: string[];\n indices?: number[];\n matched_tokens: string[][] | string[];\n },\n ];\n highlight: SearchResponseHighlight;\n document: T;\n text_match: number;\n text_match_info?: {\n best_field_score: string; // To prevent scores from being truncated by JSON spec\n best_field_weight: number;\n fields_matched: number;\n score: string; // To prevent scores from being truncated by JSON spec\n tokens_matched: number;\n };\n}\n\nexport interface SearchResponseFacetCountSchema {\n counts: {\n count: number;\n highlighted: string;\n value: string;\n }[];\n field_name: keyof T;\n stats: {\n avg?: number;\n max?: number;\n min?: number;\n sum?: number;\n };\n}\n\nexport interface SearchResponseRequestParams {\n collection_name?: string;\n q?: string;\n page?: number;\n per_page?: number;\n first_q?: string;\n voice_query?: {\n transcribed_query?: string;\n };\n}\n\n// Todo: we could infer whether this is a grouped response by adding the search params as a generic\nexport interface SearchResponse {\n facet_counts?: SearchResponseFacetCountSchema[];\n found: number;\n found_docs?: number;\n out_of: number;\n page: number;\n request_params: SearchResponseRequestParams;\n search_time_ms: number;\n search_cutoff?: boolean;\n hits?: SearchResponseHit[];\n grouped_hits?: {\n group_key: string[];\n hits: SearchResponseHit[];\n found?: number;\n }[];\n conversation?: {\n answer: string;\n conversation_history: {\n conversation: object[];\n id: string;\n last_updated: number;\n ttl: number;\n };\n conversation_id: string;\n query: string;\n };\n error?: string;\n code?: number;\n}\n\nexport interface DocumentWriteParameters {\n dirty_values?: \"coerce_or_reject\" | \"coerce_or_drop\" | \"drop\" | \"reject\";\n action?: \"create\" | \"update\" | \"upsert\" | \"emplace\";\n}\n\nexport interface UpdateByFilterParameters {\n filter_by?: string;\n}\n\nexport interface UpdateByFilterResponse {\n num_updated: number;\n}\n\nexport interface DocumentImportParameters extends DocumentWriteParameters {\n batch_size?: number;\n return_doc?: boolean;\n return_id?: boolean;\n}\n\nexport interface DocumentsExportParameters {\n filter_by?: string;\n include_fields?: string;\n exclude_fields?: string;\n}\n\nexport interface SearchableDocuments {\n search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n options: SearchOptions,\n ): Promise>;\n clearCache(): void;\n}\n\nexport interface WriteableDocuments {\n create(document: T, options: DocumentWriteParameters): Promise;\n upsert(document: T, options: DocumentWriteParameters): Promise;\n update(document: T, options: DocumentWriteParameters): Promise;\n delete(query: DeleteQuery): Promise;\n import(\n documents: T[] | string,\n options: DocumentWriteParameters,\n ): Promise;\n export(options: DocumentsExportParameters): Promise;\n}\n\nexport interface SearchOptions {\n cacheSearchResultsForSeconds?: number;\n abortSignal?: AbortSignal | null;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class Documents\n extends SearchOnlyDocuments\n implements WriteableDocuments\n{\n constructor(\n collectionName: string,\n apiCall: ApiCall,\n configuration: Configuration,\n ) {\n super(collectionName, apiCall, configuration);\n }\n\n async create(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(this.endpointPath(), document, options);\n }\n\n async upsert(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"upsert\" }),\n );\n }\n\n async update(\n document: T,\n options: UpdateByFilterParameters,\n ): Promise;\n async update(document: T, options: DocumentWriteParameters): Promise;\n async update(\n document: T,\n options: DocumentWriteParameters | UpdateByFilterParameters = {},\n ): Promise {\n if (!document) throw new Error(\"No document provided\");\n\n if (options[\"filter_by\"] != null) {\n return this.apiCall.patch(\n this.endpointPath(),\n document,\n Object.assign({}, options),\n );\n } else {\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"update\" }),\n );\n }\n }\n\n async delete(\n query: DeleteQuery = {} as DeleteQuery,\n ): Promise {\n return this.apiCall.delete(this.endpointPath(), query);\n }\n\n async createMany(documents: T[], options: DocumentImportParameters = {}) {\n this.configuration.logger.warn(\n \"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 );\n return this.import(documents, options);\n }\n\n /**\n * Import a set of documents in a batch.\n * @param {string|Array} documents - Can be a JSONL string of documents or an array of document objects.\n * @param options\n * @return {string|Array} Returns a JSONL string if the input was a JSONL string, otherwise it returns an array of results.\n */\n async import(\n documents: string,\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[],\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[] | string,\n options: DocumentImportParameters = {},\n ): Promise {\n let documentsInJSONLFormat;\n if (Array.isArray(documents)) {\n try {\n documentsInJSONLFormat = documents\n .map((document) => JSON.stringify(document))\n .join(\"\\n\");\n } catch (error: any) {\n // if rangeerror, throw custom error message\n if (\n error instanceof RangeError &&\n error.message.includes(\"Too many properties to enumerate\")\n ) {\n throw new Error(`${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\n // else, throw the non-range error anyways\n throw new Error(error);\n }\n } else {\n documentsInJSONLFormat = documents;\n }\n\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n if (Array.isArray(documents)) {\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter(\n (r) => r.success === false,\n );\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n } else {\n return resultsInJSONLFormat as string;\n }\n }\n /**\n * Imports documents from a NodeJS readable stream of JSONL.\n */\n async importStream(\n readableStream: ReadStream,\n options: DocumentImportParameters = {},\n ): Promise {\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\n queryParameters: options,\n bodyParameters: readableStream,\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter((r) => r.success === false);\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n }\n\n /**\n * Returns a JSONL string for all the documents in this collection\n */\n async export(options: DocumentsExportParameters = {}): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options);\n }\n\n /**\n * Returns a NodeJS readable stream of JSONL for all the documents in this collection.\n */\n async exportStream(\n options: DocumentsExportParameters = {},\n ): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options, {\n responseType: \"stream\",\n });\n }\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class HTTPError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\nimport { ImportResponse } from \"../Documents\";\n\nexport default class ImportError extends TypesenseError {\n importResults: ImportResponse[];\n constructor(message: string, importResults: ImportResponse[]) {\n super(message);\n this.importResults = importResults;\n }\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class MissingConfigurationError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectAlreadyExists extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectNotFound extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectUnprocessable extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestMalformed extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestUnauthorized extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ServerError extends TypesenseError {}\n","export default class TypesenseError extends Error {\n httpStatus?: number;\n\n // Source: https://stackoverflow.com/a/58417721/123545\n constructor(message?: string) {\n super(message);\n this.name = new.target.name;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n","import HTTPError from \"./HTTPError\";\nimport MissingConfigurationError from \"./MissingConfigurationError\";\nimport ObjectAlreadyExists from \"./ObjectAlreadyExists\";\nimport ObjectNotFound from \"./ObjectNotFound\";\nimport ObjectUnprocessable from \"./ObjectUnprocessable\";\nimport RequestMalformed from \"./RequestMalformed\";\nimport RequestUnauthorized from \"./RequestUnauthorized\";\nimport ServerError from \"./ServerError\";\nimport ImportError from \"./ImportError\";\nimport TypesenseError from \"./TypesenseError\";\n\nexport {\n HTTPError,\n MissingConfigurationError,\n ObjectAlreadyExists,\n ObjectNotFound,\n ObjectUnprocessable,\n RequestMalformed,\n RequestUnauthorized,\n ServerError,\n TypesenseError,\n ImportError,\n};\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/health\";\n\nexport interface HealthResponse {\n ok: boolean;\n}\n\nexport default class Health {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Keys from \"./Keys\";\n\nexport interface KeyCreateSchema {\n actions: string[];\n collections: string[];\n description?: string;\n value?: string;\n value_prefix?: string;\n expires_at?: number;\n}\n\nexport interface KeyDeleteSchema {\n id: number;\n}\n\nexport interface KeySchema extends KeyCreateSchema {\n id: number;\n}\n\nexport default class Key {\n constructor(private id: number, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Keys.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import { createHmac } from \"crypto\";\nimport ApiCall from \"./ApiCall\";\nimport { KeyCreateSchema, KeySchema } from \"./Key\";\nimport { SearchParams } from \"./Documents\";\n\nconst RESOURCEPATH = \"/keys\";\n\nexport interface KeysRetrieveSchema {\n keys: KeySchema[];\n}\n\nexport interface GenerateScopedSearchKeyParams extends Partial {\n expires_at?: number;\n cache_ttl?: number;\n limit_multi_searches?: number;\n}\n\nexport default class Keys {\n constructor(private apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(params: KeyCreateSchema): Promise {\n return this.apiCall.post(Keys.RESOURCEPATH, params);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n generateScopedSearchKey(\n searchKey: string,\n parameters: GenerateScopedSearchKeyParams\n ): string {\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 const paramsJSON = JSON.stringify(parameters);\n const digest = Buffer.from(\n createHmac(\"sha256\", searchKey).update(paramsJSON).digest(\"base64\")\n );\n const keyPrefix = searchKey.substr(0, 4);\n const rawScopedKey = `${digest}${keyPrefix}${paramsJSON}`;\n\n return Buffer.from(rawScopedKey).toString(\"base64\");\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/metrics.json\";\n\nexport interface MetricsResponse {\n [key: `system_cpu${number}_active_percentage`]: string;\n system_cpu_active_percentage: string;\n system_disk_total_bytes: string;\n system_disk_used_bytes: string;\n system_memory_total_bytes: string;\n system_memory_total_swap_bytes?: string;\n system_memory_used_bytes: string;\n system_memory_used_swap_bytes?: string;\n system_network_received_bytes: string;\n system_network_sent_bytes: string;\n typesense_memory_active_bytes: string;\n typesense_memory_allocated_bytes: string;\n typesense_memory_fragmentation_ratio: string;\n typesense_memory_mapped_bytes: string;\n typesense_memory_metadata_bytes: string;\n typesense_memory_resident_bytes: string;\n typesense_memory_retained_bytes: string;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport RequestWithCache from \"./RequestWithCache\";\nimport {\n DocumentSchema,\n SearchParams,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\n\nconst RESOURCEPATH = \"/multi_search\";\n\nexport interface MultiSearchRequestSchema extends SearchParams {\n collection?: string;\n \"x-typesense-api-key\"?: string;\n}\n\nexport interface MultiSearchRequestWithPresetSchema\n extends SearchParamsWithPreset {\n collection?: string;\n \"x-typesense-api-key\"?: string;\n}\n\nexport interface MultiSearchRequestsSchema {\n searches: (MultiSearchRequestSchema | MultiSearchRequestWithPresetSchema)[];\n}\n\nexport interface MultiSearchResponse {\n results: { [Index in keyof T]: SearchResponse } & {\n length: T[\"length\"];\n };\n}\n\nexport default class MultiSearch {\n private requestWithCache: RequestWithCache;\n\n constructor(\n private apiCall: ApiCall,\n private configuration: Configuration,\n private useTextContentType: boolean = false\n ) {\n this.requestWithCache = new RequestWithCache();\n }\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async perform(\n searchRequests: MultiSearchRequestsSchema,\n commonParams: Partial = {},\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n }: { cacheSearchResultsForSeconds?: number } = {}\n ): Promise> {\n const additionalHeaders = {};\n if (this.useTextContentType) {\n additionalHeaders[\"content-type\"] = \"text/plain\";\n }\n\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n const queryParams = Object.assign({}, commonParams, additionalQueryParams);\n\n return this.requestWithCache.perform(\n this.apiCall,\n this.apiCall.post,\n [RESOURCEPATH, searchRequests, queryParams, additionalHeaders],\n { cacheResponseForSeconds: cacheSearchResultsForSeconds }\n ) as Promise>;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/operations\";\n\nexport default class Operations {\n constructor(private apiCall: ApiCall) {}\n\n async perform(\n operationName: \"vote\" | \"snapshot\" | \"cache/clear\" | string,\n queryParameters: Record = {}\n ): Promise {\n return this.apiCall.post(\n `${RESOURCEPATH}/${operationName}`,\n {},\n queryParameters\n );\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Overrides, { OverrideCreateSchema } from \"./Overrides\";\n\nexport interface OverrideSchema extends OverrideCreateSchema {\n id: string;\n}\n\nexport interface OverrideDeleteSchema {\n id: string;\n}\n\nexport default class Override {\n constructor(\n private collectionName: string,\n private overrideId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Overrides.RESOURCEPATH}/${encodeURIComponent(this.overrideId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { OverrideSchema } from \"./Override\";\n\nconst RESOURCEPATH = \"/overrides\";\n\nexport interface OverrideRuleQuerySchema {\n query?: string;\n match?: \"exact\" | \"contains\";\n}\n\nexport interface OverrideRuleFilterSchema {\n filter_by?: string;\n}\n\nexport interface OverrideRuleTagsSchema {\n tags?: string[];\n}\n\nexport interface OverrideCreateSchema {\n rule: OverrideRuleQuerySchema &\n OverrideRuleFilterSchema &\n OverrideRuleTagsSchema;\n filter_by?: string;\n sort_by?: string;\n remove_matched_tokens?: boolean;\n replace_query?: string;\n includes?: Array<{\n id: string;\n position: number;\n }>;\n excludes?: Array<{ id: string }>;\n filter_curated_hits?: boolean;\n effective_from_ts?: number;\n effective_to_ts?: number;\n stop_processing?: boolean;\n metadata?: object;\n}\n\nexport interface OverridesRetrieveSchema {\n overrides: OverrideSchema[];\n}\n\nexport default class Overrides {\n constructor(\n private collectionName: string,\n private apiCall: ApiCall,\n ) {}\n\n async upsert(\n overrideId: string,\n params: OverrideCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(overrideId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${\n Overrides.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Presets, { PresetCreateSchema } from \"./Presets\";\n\nexport interface PresetSchema extends PresetCreateSchema {\n name: string;\n}\n\nexport interface PresetDeleteSchema {\n name: string;\n}\n\nexport default class Preset {\n constructor(private presetId: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Presets.RESOURCEPATH}/${encodeURIComponent(this.presetId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { PresetSchema } from \"./Preset\";\nimport { SearchParams } from \"./Documents\";\nimport { MultiSearchRequestsSchema } from \"./MultiSearch\";\n\nconst RESOURCEPATH = \"/presets\";\n\nexport interface PresetCreateSchema {\n value: SearchParams | MultiSearchRequestsSchema;\n}\n\nexport interface PresetsRetrieveSchema {\n presets: PresetSchema[];\n}\n\nexport default class Presets {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n presetId: string,\n params: PresetCreateSchema\n ): Promise {\n return this.apiCall.put(this.endpointPath(presetId), params);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Presets.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","const defaultCacheResponseForSeconds = 2 * 60;\nconst defaultMaxSize = 100;\n\nexport default class RequestWithCache {\n private responseCache: Map = new Map();\n private responsePromiseCache: Map = new Map();\n\n clearCache() {\n this.responseCache = new Map();\n this.responsePromiseCache = new Map();\n }\n\n // Todo: should probably be passed a callback instead, or an apiCall instance. Types are messy this way\n async perform(\n requestContext: any,\n requestFunction: (...params: any) => unknown,\n requestFunctionArguments: any[],\n cacheOptions: CacheOptions\n ): Promise {\n const {\n cacheResponseForSeconds = defaultCacheResponseForSeconds,\n maxSize = defaultMaxSize,\n } = cacheOptions;\n const isCacheDisabled = cacheResponseForSeconds <= 0 || maxSize <= 0;\n\n if (isCacheDisabled) {\n return requestFunction.call(requestContext, ...requestFunctionArguments);\n }\n\n const requestFunctionArgumentsJSON = JSON.stringify(\n requestFunctionArguments\n );\n const cacheEntry = this.responseCache.get(requestFunctionArgumentsJSON);\n const now = Date.now();\n\n if (cacheEntry) {\n const isEntryValid =\n now - cacheEntry.requestTimestamp < cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n this.responseCache.set(requestFunctionArgumentsJSON, cacheEntry);\n return Promise.resolve(cacheEntry.response);\n } else {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n\n const cachePromiseEntry = this.responsePromiseCache.get(\n requestFunctionArgumentsJSON\n );\n\n if (cachePromiseEntry) {\n const isEntryValid =\n now - cachePromiseEntry.requestTimestamp <\n cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n this.responsePromiseCache.set(\n requestFunctionArgumentsJSON,\n cachePromiseEntry\n );\n return cachePromiseEntry.responsePromise;\n } else {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n\n const responsePromise = requestFunction.call(\n requestContext,\n ...requestFunctionArguments\n );\n this.responsePromiseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n responsePromise,\n });\n\n const response = await responsePromise;\n this.responseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n response,\n });\n\n const isCacheOverMaxSize = this.responseCache.size > maxSize;\n if (isCacheOverMaxSize) {\n const oldestEntry = this.responseCache.keys().next().value;\n this.responseCache.delete(oldestEntry);\n }\n const isResponsePromiseCacheOverMaxSize =\n this.responsePromiseCache.size > maxSize;\n if (isResponsePromiseCacheOverMaxSize) {\n const oldestEntry = this.responsePromiseCache.keys().next().value;\n this.responsePromiseCache.delete(oldestEntry);\n }\n return response as T;\n }\n}\n\ninterface CacheOptions {\n cacheResponseForSeconds?: number;\n maxSize?: number;\n}\n","import Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport MultiSearch from \"./MultiSearch\";\nimport { DocumentSchema } from \"./Documents\";\nimport { SearchOnlyCollection } from \"./SearchOnlyCollection\";\n\nexport default class SearchClient {\n public readonly multiSearch: MultiSearch;\n private readonly configuration: Configuration;\n private readonly apiCall: ApiCall;\n private readonly individualCollections: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? true;\n if (\n options.sendApiKeyAsQueryParam === true &&\n (options.apiKey || \"\").length > 2000\n ) {\n console.warn(\n \"[typesense] API Key is longer than 2000 characters which is over the allowed limit, so disabling sending it as a query parameter.\"\n );\n options.sendApiKeyAsQueryParam = false;\n }\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration, true);\n this.individualCollections = {};\n }\n\n clearCache() {\n this.multiSearch.clearCache();\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Object.entries(this.individualCollections).forEach(([_, collection]) => {\n collection.documents().clearCache();\n });\n }\n\n collections(\n collectionName: string\n ): SearchOnlyCollection | SearchOnlyCollection {\n if (!collectionName) {\n throw new Error(\n \"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(\n collectionName,\n this.apiCall,\n this.configuration\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n}\n","import { DocumentSchema, SearchableDocuments } from \"./Documents\";\nimport ApiCall from \"./ApiCall\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\nexport class SearchOnlyCollection {\n private readonly _documents: SearchableDocuments;\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any\n ) {\n this._documents = new SearchOnlyDocuments(\n this.name,\n this.apiCall,\n this.configuration\n );\n }\n\n documents(): SearchableDocuments {\n return this._documents;\n }\n}\n","import RequestWithCache from \"./RequestWithCache\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport Collections from \"./Collections\";\nimport type {\n DocumentSchema,\n SearchableDocuments,\n SearchOptions,\n SearchParams,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\n\nconst RESOURCEPATH = \"/documents\";\n\nexport class SearchOnlyDocuments\n implements SearchableDocuments\n{\n protected requestWithCache: RequestWithCache = new RequestWithCache();\n\n constructor(\n protected collectionName: string,\n protected apiCall: ApiCall,\n protected configuration: Configuration\n ) {}\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n abortSignal = null,\n }: SearchOptions = {}\n ): Promise> {\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n for (const key in searchParameters) {\n if (Array.isArray(searchParameters[key])) {\n additionalQueryParams[key] = searchParameters[key].join(\",\");\n }\n }\n const queryParams = Object.assign(\n {},\n searchParameters,\n additionalQueryParams\n );\n\n return this.requestWithCache.perform(\n this.apiCall,\n this.apiCall.get,\n [this.endpointPath(\"search\"), queryParams, { abortSignal }],\n {\n cacheResponseForSeconds: cacheSearchResultsForSeconds,\n }\n ) as Promise>;\n }\n\n protected endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + operation\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/stats.json\";\n\nexport interface EndpointStats {\n [endpoint: string]: number;\n}\n\nexport interface StatsResponse {\n delete_latency_ms?: number;\n delete_requests_per_second?: number;\n import_latency_ms?: number;\n import_requests_per_second?: number;\n latency_ms?: EndpointStats;\n overloaded_requests_per_second?: number;\n pending_write_batches?: number;\n requests_per_second?: EndpointStats;\n search_latency_ms?: number;\n search_requests_per_second?: number;\n total_requests_per_second?: number;\n write_latency_ms?: number;\n write_requests_per_second?: number;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Stopwords, { StopwordCreateSchema } from \"./Stopwords\";\n\nexport interface StopwordSchema extends StopwordCreateSchema {\n id: string;\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordDeleteSchema {\n id: string;\n}\n\nexport default class Stopword {\n constructor(\n private stopwordId: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Stopwords.RESOURCEPATH}/${encodeURIComponent(this.stopwordId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { StopwordSchema } from \"./Stopword\";\n\nconst RESOURCEPATH = \"/stopwords\";\n\nexport interface StopwordCreateSchema {\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordsRetrieveSchema {\n stopwords: StopwordSchema[];\n}\n\nexport default class Stopwords {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n stopwordId: string,\n params: StopwordCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(stopwordId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Stopwords.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Synonyms, { SynonymCreateSchema } from \"./Synonyms\";\n\nexport interface SynonymSchema extends SynonymCreateSchema {\n id: string;\n}\n\nexport interface SynonymDeleteSchema {\n id: string;\n}\n\nexport default class Synonym {\n constructor(\n private collectionName: string,\n private synonymId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Synonyms.RESOURCEPATH}/${encodeURIComponent(this.synonymId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { SynonymSchema } from \"./Synonym\";\n\nconst RESOURCEPATH = \"/synonyms\";\n\nexport interface SynonymCreateSchema {\n synonyms: string[];\n root?: string;\n locale?: string;\n symbols_to_index?: string[];\n}\n\nexport interface SynonymsRetrieveSchema {\n synonyms: SynonymSchema[];\n}\n\nexport default class Synonyms {\n constructor(private collectionName: string, private apiCall: ApiCall) {}\n\n async upsert(\n synonymId: string,\n params: SynonymCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(synonymId),\n params\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${\n Synonyms.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\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 var _loggersByName = {};\n var defaultLogger = null;\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() {\n /*jshint validthis:true */\n var level = this.getLevel();\n\n // Replace the actual methods.\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, this.name);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n\n // Return any important warnings.\n if (typeof console === undefinedType && level < this.levels.SILENT) {\n return \"No console available for logging\";\n }\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) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this);\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, factory) {\n // Private instance variables.\n var self = this;\n /**\n * The level inherited from a parent logger (or a global default). We\n * cache this here rather than delegating to the parent so that it stays\n * in sync with the actual logging methods that we have installed (the\n * parent could change levels but we might not have rebuilt the loggers\n * in this child yet).\n * @type {number}\n */\n var inheritedLevel;\n /**\n * The default level for this logger, if any. If set, this overrides\n * `inheritedLevel`.\n * @type {number|null}\n */\n var defaultLevel;\n /**\n * A user-specific level for this logger. If set, this overrides\n * `defaultLevel`.\n * @type {number|null}\n */\n var userLevel;\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 cookieName = encodeURIComponent(storageKey);\n var location = cookie.indexOf(cookieName + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(\n cookie.slice(location + cookieName.length + 1)\n )[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 } 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 function normalizeLevel(input) {\n var level = input;\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 return level;\n } else {\n throw new TypeError(\"log.setLevel() called with invalid level: \" + input);\n }\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 if (userLevel != null) {\n return userLevel;\n } else if (defaultLevel != null) {\n return defaultLevel;\n } else {\n return inheritedLevel;\n }\n };\n\n self.setLevel = function (level, persist) {\n userLevel = normalizeLevel(level);\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(userLevel);\n }\n\n // NOTE: in v2, this should call rebuild(), which updates children.\n return replaceLoggingMethods.call(self);\n };\n\n self.setDefaultLevel = function (level) {\n defaultLevel = normalizeLevel(level);\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.resetLevel = function () {\n userLevel = null;\n clearPersistedLevel();\n replaceLoggingMethods.call(self);\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 self.rebuild = function () {\n if (defaultLogger !== self) {\n inheritedLevel = normalizeLevel(defaultLogger.getLevel());\n }\n replaceLoggingMethods.call(self);\n\n if (defaultLogger === self) {\n for (var childName in _loggersByName) {\n _loggersByName[childName].rebuild();\n }\n }\n };\n\n // Initialize all the internal levels.\n inheritedLevel = normalizeLevel(\n defaultLogger ? defaultLogger.getLevel() : \"WARN\"\n );\n var initialLevel = getPersistedLevel();\n if (initialLevel != null) {\n userLevel = normalizeLevel(initialLevel);\n }\n replaceLoggingMethods.call(self);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n defaultLogger = new Logger();\n\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,\n defaultLogger.methodFactory\n );\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","/* (ignored) */","/* (ignored) */","/* (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 e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw new Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\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}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\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 setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\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 _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _isNativeFunction(fn) {\n try {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n } catch (e) {\n return typeof fn === \"function\";\n }\n}","export default function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\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(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\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 _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\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(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\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 getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst supportsRequestStream = isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n});\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n return (await new Request(body).arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ?\n composeSignals([signal, cancelToken], timeout) : [];\n\n let finished, request;\n\n const onFinish = () => {\n !finished && setTimeout(() => {\n composedSignal && composedSignal.unsubscribe();\n });\n\n finished = true;\n }\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush, encodeText);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = \"credentials\" in Request.prototype; \n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n isStreamResponse && onFinish();\n }, encodeText),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && onFinish();\n\n stopTimeout && stopTimeout();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n onFinish();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, 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 const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n 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(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, 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(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\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 (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : 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 const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\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\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(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, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n 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\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const 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 */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(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 {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _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 const {transitional, paramsSerializer, headers} = config;\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 if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let 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 const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\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,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport utils from '../utils.js';\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 {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n 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: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\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 */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n 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 *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\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 *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\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 *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\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 *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(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 config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\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 config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\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 *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, 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(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const 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 withXSRFToken: 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 beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\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 *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\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\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\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 env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\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 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","export const VERSION = \"1.7.5\";","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\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 * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\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 *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst composeSignals = (signals, timeout) => {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (cancel) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = cancel instanceof Error ? cancel : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal &&\n (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort));\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = unsubscribe;\n\n return [signal, () => {\n timer && clearTimeout(timer);\n timer = null;\n }];\n}\n\nexport default composeSignals;\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default 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\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\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 const msie = platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let 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 const 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","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\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} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\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\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\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 *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn.apply(null, args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize, encode) {\n for await (const chunk of iterable) {\n yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize);\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => {\n const iterator = readBytes(stream, chunkSize, encode);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\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 *\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 (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\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 *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\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 *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\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 && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let 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 {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\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 *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\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 (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 const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\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 *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && 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 *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\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 *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap\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))","// 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};","import Client from \"./Typesense/Client\";\nimport SearchClient from \"./Typesense/SearchClient\";\nimport * as Errors from \"./Typesense/Errors\";\n\nexport { Client, SearchClient, Errors };\nexport default { Client, SearchClient, Errors };\n"],"names":["Aliases","Alias","name","apiCall","_classCallCheck","_createClass","key","value","_retrieve","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","abrupt","get","endpointPath","stop","retrieve","apply","arguments","_delete2","_callee2","_callee2$","_context2","delete","_delete","concat","RESOURCEPATH","encodeURIComponent","default","_upsert","mapping","put","upsert","_x","_x2","aliasName","AnalyticsRules","AnalyticsRule","AnalyticsEvents","Analytics","_defineProperty","_analyticsRules","_analyticsEvents","rules","id","undefined","individualAnalyticsRules","events","_create","params","post","create","operation","axios","HTTPError","ObjectAlreadyExists","ObjectNotFound","ObjectUnprocessable","RequestMalformed","RequestUnauthorized","ServerError","TypesenseError","Agent","HTTPAgent","HTTPSAgent","APIKEYHEADERNAME","HEALTHY","UNHEALTHY","isNodeJSEnvironment","process","versions","node","ApiCall","configuration","apiKey","nodes","JSON","parse","stringify","nearestNode","connectionTimeoutSeconds","healthcheckIntervalSeconds","numRetriesPerRequest","numRetries","retryIntervalSeconds","sendApiKeyAsQueryParam","additionalUserHeaders","additionalHeaders","logger","initializeMetadataForNodes","currentNodeIndex","_get","endpoint","queryParameters","_ref","_ref$abortSignal","abortSignal","_ref$responseType","responseType","_args","length","performRequest","_args2","_post","_callee3","bodyParameters","_args3","_callee3$","_context3","_x3","_put","_callee4","_args4","_callee4$","_context4","_x4","_patch","_callee5","_args5","_callee5$","_context5","patch","_x5","_performRequest","_callee6","requestType","_ref2","_this","_ref2$queryParameters","_ref2$bodyParameters","_ref2$additionalHeade","_ref2$abortSignal","_ref2$responseType","_ref2$skipConnectionT","skipConnectionTimeout","_ref2$enableKeepAlive","enableKeepAlive","requestNumber","lastException","_loop","_ret","numTries","_callee6$","_context7","validate","Date","now","debug","toUpperCase","abortListener","requestOptions","cancelToken","source","response","_response$data","_response$data2","_error$response","_loop$","_context6","getNextNode","index","aborted","v","Promise","reject","Error","method","url","uriFor","headers","Object","assign","defaultHeaders","maxContentLength","Infinity","maxBodyLength","validateStatus","status","transformResponse","data","transformedData","startsWith","timeout","keys","httpAgent","warn","keepAlive","httpsAgent","paramsSerializer","_typeof","CancelToken","cancel","addEventListener","token","sent","setNodeHealthcheck","resolve","customErrorForResponse","message","t0","code","timer","removeEventListener","finish","delegateYield","_x6","_x7","_x8","isHealthy","nodeDueForHealthcheck","map","join","candidateNode","i","isDueForHealthcheck","lastAccessTimestamp","_this2","forEach","protocol","host","port","path","_timer","_callee7","seconds","_callee7$","_context8","setTimeout","_x9","messageFromServer","errorMessage","trim","error","httpStatus","Configuration","Collections","Collection","Keys","Key","Debug","Metrics","Stats","Health","Operations","MultiSearch","Presets","Preset","Stopwords","Stopword","Conversations","Conversation","Client","options","_options$sendApiKeyAs","metrics","stats","health","operations","multiSearch","_collections","individualCollections","_aliases","individualAliases","_keys","individualKeys","_presets","individualPresets","_stopwords","individualStopwords","analytics","_conversations","individualConversations","collections","collectionName","aliases","presets","stopwords","conversations","Documents","Overrides","Override","Synonyms","Synonym","Document","_documents","_overrides","_synonyms","_update","schema","update","_exists","exists","documents","documentId","individualDocuments","overrides","overrideId","individualOverrides","synonyms","synonymId","individualSynonyms","MissingConfigurationError","setDefaultPathInNode","setDefaultPortInNode","_objectSpread","randomizeNodes","shuffleArray","timeoutSeconds","cacheSearchResultsForSeconds","useServerSideSearchCache","logLevel","setLevel","showDeprecationWarnings","validateNodes","isNodeMissingAnyParameters","some","every","hasOwnProperty","masterNode","readReplicaNodes","array","j","Math","floor","random","ConversationModels","ConversationModel","_conversationsModels","models","individualConversationModels","partialDocument","ImportError","SearchOnlyDocuments","_inherits","_callSuper","document","action","query","_createMany","import","createMany","_import2","documentsInJSONLFormat","resultsInJSONLFormat","resultsInJSONFormat","failedItems","_args6","Array","isArray","RangeError","includes","split","r","filter","success","_import","_importStream","readableStream","_args7","importStream","_export2","_callee8","_args8","_callee8$","_export","_exportStream","_callee9","_args9","_callee9$","_context9","exportStream","_TypesenseError","importResults","_Error","constructor","setPrototypeOf","_assertThisInitialized","prototype","_wrapNativeSuper","createHmac","generateScopedSearchKey","searchKey","parameters","paramsJSON","digest","Buffer","from","keyPrefix","substr","rawScopedKey","toString","RequestWithCache","useTextContentType","requestWithCache","clearCache","_perform","searchRequests","commonParams","_ref$cacheSearchResul","additionalQueryParams","queryParams","perform","cacheResponseForSeconds","operationName","presetId","defaultCacheResponseForSeconds","defaultMaxSize","Map","responseCache","responsePromiseCache","requestContext","requestFunction","requestFunctionArguments","cacheOptions","_cacheOptions$cacheRe","_cacheOptions$maxSize","maxSize","isCacheDisabled","requestFunctionArgumentsJSON","cacheEntry","isEntryValid","cachePromiseEntry","_isEntryValid","responsePromise","isCacheOverMaxSize","oldestEntry","isResponsePromiseCacheOverMaxSize","_oldestEntry","call","_toConsumableArray","requestTimestamp","set","size","SearchOnlyCollection","SearchClient","console","entries","_slicedToArray","_","collection","_search","searchParameters","search","stopwordId","Errors"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/typesense.min.js b/dist/typesense.min.js deleted file mode 100644 index 6ef6dd3c..00000000 --- a/dist/typesense.min.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! For license information please see typesense.min.js.LICENSE.txt */ -var Typesense;(()=>{var e={65:function(e,t,n){var r,o;!function(i,a){"use strict";r=function(){var e=function(){},t="undefined",n=typeof window!==t&&typeof window.navigator!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),r=["trace","debug","info","warn","error"],o={},i=null;function a(e,t){var n=e[t];if("function"==typeof n.bind)return n.bind(e);try{return Function.prototype.bind.call(n,e)}catch(t){return function(){return Function.prototype.apply.apply(n,[e,arguments])}}}function s(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function c(){for(var n=this.getLevel(),o=0;o=0&&t<=h.levels.SILENT)return t;throw new TypeError("log.setLevel() called with invalid level: "+e)}"string"==typeof e?p+=":"+e:"symbol"==typeof e&&(p=void 0),h.name=e,h.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},h.methodFactory=n||l,h.getLevel=function(){return null!=u?u:null!=s?s:a},h.setLevel=function(e,n){return u=d(e),!1!==n&&function(e){var n=(r[e]||"silent").toUpperCase();if(typeof window!==t&&p){try{return void(window.localStorage[p]=n)}catch(e){}try{window.document.cookie=encodeURIComponent(p)+"="+n+";"}catch(e){}}}(u),c.call(h)},h.setDefaultLevel=function(e){s=d(e),f()||h.setLevel(e,!1)},h.resetLevel=function(){u=null,function(){if(typeof window!==t&&p){try{window.localStorage.removeItem(p)}catch(e){}try{window.document.cookie=encodeURIComponent(p)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch(e){}}}(),c.call(h)},h.enableAll=function(e){h.setLevel(h.levels.TRACE,e)},h.disableAll=function(e){h.setLevel(h.levels.SILENT,e)},h.rebuild=function(){if(i!==h&&(a=d(i.getLevel())),c.call(h),i===h)for(var e in o)o[e].rebuild()},a=d(i?i.getLevel():"WARN");var y=f();null!=y&&(u=d(y)),c.call(h)}(i=new h).getLogger=function(e){if("symbol"!=typeof e&&"string"!=typeof e||""===e)throw new TypeError("You must supply a name when creating a logger.");var t=o[e];return t||(t=o[e]=new h(e,i.methodFactory)),t};var p=typeof window!==t?window.log:void 0;return i.noConflict=function(){return typeof window!==t&&window.log===i&&(window.log=p),i},i.getLoggers=function(){return o},i.default=i,i},void 0===(o=r.call(t,n,t,e))||(e.exports=o)}()},612:()=>{},939:()=>{},82:()=>{},633:(e,t,n)=>{var r=n(738).default;function o(){"use strict";e.exports=o=function(){return n},e.exports.__esModule=!0,e.exports.default=e.exports;var t,n={},i=Object.prototype,a=i.hasOwnProperty,s=Object.defineProperty||function(e,t,n){e[t]=n.value},c="function"==typeof Symbol?Symbol:{},u=c.iterator||"@@iterator",l=c.asyncIterator||"@@asyncIterator",h=c.toStringTag||"@@toStringTag";function p(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{p({},"")}catch(t){p=function(e,t,n){return e[t]=n}}function f(e,t,n,r){var o=t&&t.prototype instanceof b?t:b,i=Object.create(o.prototype),a=new U(r||[]);return s(i,"_invoke",{value:A(e,n,a)}),i}function d(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}n.wrap=f;var y="suspendedStart",v="suspendedYield",m="executing",g="completed",w={};function b(){}function C(){}function R(){}var k={};p(k,u,(function(){return this}));var E=Object.getPrototypeOf,S=E&&E(E(_([])));S&&S!==i&&a.call(S,u)&&(k=S);var O=R.prototype=b.prototype=Object.create(k);function P(e){["next","throw","return"].forEach((function(t){p(e,t,(function(e){return this._invoke(t,e)}))}))}function x(e,t){function n(o,i,s,c){var u=d(e[o],e,i);if("throw"!==u.type){var l=u.arg,h=l.value;return h&&"object"==r(h)&&a.call(h,"__await")?t.resolve(h.__await).then((function(e){n("next",e,s,c)}),(function(e){n("throw",e,s,c)})):t.resolve(h).then((function(e){l.value=e,s(l)}),(function(e){return n("throw",e,s,c)}))}c(u.arg)}var o;s(this,"_invoke",{value:function(e,r){function i(){return new t((function(t,o){n(e,r,t,o)}))}return o=o?o.then(i,i):i()}})}function A(e,n,r){var o=y;return function(i,a){if(o===m)throw new Error("Generator is already running");if(o===g){if("throw"===i)throw a;return{value:t,done:!0}}for(r.method=i,r.arg=a;;){var s=r.delegate;if(s){var c=T(s,r);if(c){if(c===w)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(o===y)throw o=g,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);o=m;var u=d(e,n,r);if("normal"===u.type){if(o=r.done?g:v,u.arg===w)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(o=g,r.method="throw",r.arg=u.arg)}}}function T(e,n){var r=n.method,o=e.iterator[r];if(o===t)return n.delegate=null,"throw"===r&&e.iterator.return&&(n.method="return",n.arg=t,T(e,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),w;var i=d(o,e.iterator,n.arg);if("throw"===i.type)return n.method="throw",n.arg=i.arg,n.delegate=null,w;var a=i.arg;return a?a.done?(n[e.resultName]=a.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,w):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,w)}function N(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function j(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function U(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(N,this),this.reset(!0)}function _(e){if(e||""===e){var n=e[u];if(n)return n.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function n(){for(;++o=0;--o){var i=this.tryEntries[o],s=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var c=a.call(i,"catchLoc"),u=a.call(i,"finallyLoc");if(c&&u){if(this.prev=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&a.call(r,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),j(n),w}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;j(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:_(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),w}},n}e.exports=o,e.exports.__esModule=!0,e.exports.default=e.exports},738:e=>{function t(n){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(n)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},756:(e,t,n)=>{var r=n(633)();e.exports=r;try{regeneratorRuntime=r}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=r:Function("r","regeneratorRuntime = r")(r)}}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r].call(i.exports,i,i.exports,n),i.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};(()=>{"use strict";n.r(r),n.d(r,{Client:()=>pr,Errors:()=>t,SearchClient:()=>dr,default:()=>yr});var e={};n.r(e),n.d(e,{hasBrowserEnv:()=>Be,hasStandardBrowserEnv:()=>De,hasStandardBrowserWebWorkerEnv:()=>Me,navigator:()=>He,origin:()=>Ke});var t={};function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function a(e){var t=function(e,t){if("object"!=i(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=i(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==i(t)?t:String(t)}function s(e,t){for(var n=0;nfn,ImportError:()=>kn,MissingConfigurationError:()=>k,ObjectAlreadyExists:()=>rn,ObjectNotFound:()=>en,ObjectUnprocessable:()=>sn,RequestMalformed:()=>Vt,RequestUnauthorized:()=>Xt,ServerError:()=>ln,TypesenseError:()=>b});var l=n(65);function h(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function p(e,t){if(t&&("object"===i(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return h(e)}function f(e){return f=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},f(e)}function d(e,t){return d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},d(e,t)}function y(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&d(e,t)}function v(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(v=function(){return!!e})()}function m(e){var t="function"==typeof Map?new Map:void 0;return m=function(e){if(null===e||!function(e){try{return-1!==Function.toString.call(e).indexOf("[native code]")}catch(t){return"function"==typeof e}}(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return function(e,t,n){if(v())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,t);var o=new(e.bind.apply(e,r));return n&&d(o,n.prototype),o}(e,arguments,f(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),d(n,e)},m(e)}function g(e,t,n){return t=f(t),p(e,w()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function w(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(w=function(){return!!e})()}var b=function(e){function t(e){var n;return o(this,t),(n=g(this,t,[e])).name=(this instanceof t?this.constructor:void 0).name,Object.setPrototypeOf(h(n),(this instanceof t?this.constructor:void 0).prototype),n}return y(t,e),c(t)}(m(Error));function C(e,t,n){return t=f(t),p(e,R()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function R(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(R=function(){return!!e})()}var k=function(e){function t(){return o(this,t),C(this,t,arguments)}return y(t,e),c(t)}(b);function E(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var S=function(){function e(t){var n=this;o(this,e),this.nodes=t.nodes||[],this.nodes=this.nodes.map((function(e){return n.setDefaultPathInNode(e)})).map((function(e){return n.setDefaultPortInNode(e)})).map((function(e){return function(e){for(var t=1;t0;t--){var n=Math.floor(Math.random()*(t+1)),r=[e[n],e[t]];e[t]=r[0],e[n]=r[1]}}}]),e}();function O(e,t,n,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,o)}function P(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){O(i,r,o,a,s,"next",e)}function s(e){O(i,r,o,a,s,"throw",e)}a(void 0)}))}}var x=n(756),A=n.n(x);function T(e,t){return function(){return e.apply(t,arguments)}}const{toString:N}=Object.prototype,{getPrototypeOf:j}=Object,U=(_=Object.create(null),e=>{const t=N.call(e);return _[t]||(_[t]=t.slice(8,-1).toLowerCase())});var _;const L=e=>(e=e.toLowerCase(),t=>U(t)===e),I=e=>t=>typeof t===e,{isArray:F}=Array,q=I("undefined"),B=L("ArrayBuffer"),H=I("string"),D=I("function"),M=I("number"),K=e=>null!==e&&"object"==typeof e,z=e=>{if("object"!==U(e))return!1;const t=j(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||Symbol.toStringTag in e||Symbol.iterator in e)},J=L("Date"),W=L("File"),G=L("Blob"),V=L("FileList"),Q=L("URLSearchParams"),[$,X,Y,Z]=["ReadableStream","Request","Response","Headers"].map(L);function ee(e,t,{allOwnKeys:n=!1}={}){if(null==e)return;let r,o;if("object"!=typeof e&&(e=[e]),F(e))for(r=0,o=e.length;r0;)if(r=n[o],t===r.toLowerCase())return r;return null}const ne="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,re=e=>!q(e)&&e!==ne,oe=(ie="undefined"!=typeof Uint8Array&&j(Uint8Array),e=>ie&&e instanceof ie);var ie;const ae=L("HTMLFormElement"),se=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),ce=L("RegExp"),ue=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};ee(n,((n,o)=>{let i;!1!==(i=t(n,o,e))&&(r[o]=i||n)})),Object.defineProperties(e,r)},le="abcdefghijklmnopqrstuvwxyz",he="0123456789",pe={DIGIT:he,ALPHA:le,ALPHA_DIGIT:le+le.toUpperCase()+he},fe=L("AsyncFunction"),de=(ye="function"==typeof setImmediate,ve=D(ne.postMessage),ye?setImmediate:ve?(me=`axios@${Math.random()}`,ge=[],ne.addEventListener("message",(({source:e,data:t})=>{e===ne&&t===me&&ge.length&&ge.shift()()}),!1),e=>{ge.push(e),ne.postMessage(me,"*")}):e=>setTimeout(e));var ye,ve,me,ge;const we="undefined"!=typeof queueMicrotask?queueMicrotask.bind(ne):"undefined"!=typeof process&&process.nextTick||de,be={isArray:F,isArrayBuffer:B,isBuffer:function(e){return null!==e&&!q(e)&&null!==e.constructor&&!q(e.constructor)&&D(e.constructor.isBuffer)&&e.constructor.isBuffer(e)},isFormData:e=>{let t;return e&&("function"==typeof FormData&&e instanceof FormData||D(e.append)&&("formdata"===(t=U(e))||"object"===t&&D(e.toString)&&"[object FormData]"===e.toString()))},isArrayBufferView:function(e){let t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&B(e.buffer),t},isString:H,isNumber:M,isBoolean:e=>!0===e||!1===e,isObject:K,isPlainObject:z,isReadableStream:$,isRequest:X,isResponse:Y,isHeaders:Z,isUndefined:q,isDate:J,isFile:W,isBlob:G,isRegExp:ce,isFunction:D,isStream:e=>K(e)&&D(e.pipe),isURLSearchParams:Q,isTypedArray:oe,isFileList:V,forEach:ee,merge:function e(){const{caseless:t}=re(this)&&this||{},n={},r=(r,o)=>{const i=t&&te(n,o)||o;z(n[i])&&z(r)?n[i]=e(n[i],r):z(r)?n[i]=e({},r):F(r)?n[i]=r.slice():n[i]=r};for(let e=0,t=arguments.length;e(ee(t,((t,r)=>{n&&D(t)?e[r]=T(t,n):e[r]=t}),{allOwnKeys:r}),e),trim:e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),inherits:(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},toFlatObject:(e,t,n,r)=>{let o,i,a;const s={};if(t=t||{},null==e)return t;do{for(o=Object.getOwnPropertyNames(e),i=o.length;i-- >0;)a=o[i],r&&!r(a,e,t)||s[a]||(t[a]=e[a],s[a]=!0);e=!1!==n&&j(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},kindOf:U,kindOfTest:L,endsWith:(e,t,n)=>{e=String(e),(void 0===n||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return-1!==r&&r===n},toArray:e=>{if(!e)return null;if(F(e))return e;let t=e.length;if(!M(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},forEachEntry:(e,t)=>{const n=(e&&e[Symbol.iterator]).call(e);let r;for(;(r=n.next())&&!r.done;){const n=r.value;t.call(e,n[0],n[1])}},matchAll:(e,t)=>{let n;const r=[];for(;null!==(n=e.exec(t));)r.push(n);return r},isHTMLForm:ae,hasOwnProperty:se,hasOwnProp:se,reduceDescriptors:ue,freezeMethods:e=>{ue(e,((t,n)=>{if(D(e)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;const r=e[n];D(r)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}))}))},toObjectSet:(e,t)=>{const n={},r=e=>{e.forEach((e=>{n[e]=!0}))};return F(e)?r(e):r(String(e).split(t)),n},toCamelCase:e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(e,t,n){return t.toUpperCase()+n})),noop:()=>{},toFiniteNumber:(e,t)=>null!=e&&Number.isFinite(e=+e)?e:t,findKey:te,global:ne,isContextDefined:re,ALPHABET:pe,generateString:(e=16,t=pe.ALPHA_DIGIT)=>{let n="";const{length:r}=t;for(;e--;)n+=t[Math.random()*r|0];return n},isSpecCompliantForm:function(e){return!!(e&&D(e.append)&&"FormData"===e[Symbol.toStringTag]&&e[Symbol.iterator])},toJSONObject:e=>{const t=new Array(10),n=(e,r)=>{if(K(e)){if(t.indexOf(e)>=0)return;if(!("toJSON"in e)){t[r]=e;const o=F(e)?[]:{};return ee(e,((e,t)=>{const i=n(e,r+1);!q(i)&&(o[t]=i)})),t[r]=void 0,o}}return e};return n(e,0)},isAsyncFn:fe,isThenable:e=>e&&(K(e)||D(e))&&D(e.then)&&D(e.catch),setImmediate:de,asap:we};function Ce(e,t,n,r,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),o&&(this.response=o,this.status=o.status?o.status:null)}be.inherits(Ce,Error,{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:be.toJSONObject(this.config),code:this.code,status:this.status}}});const Re=Ce.prototype,ke={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((e=>{ke[e]={value:e}})),Object.defineProperties(Ce,ke),Object.defineProperty(Re,"isAxiosError",{value:!0}),Ce.from=(e,t,n,r,o,i)=>{const a=Object.create(Re);return be.toFlatObject(e,a,(function(e){return e!==Error.prototype}),(e=>"isAxiosError"!==e)),Ce.call(a,e.message,t,n,r,o),a.cause=e,a.name=e.name,i&&Object.assign(a,i),a};const Ee=Ce;function Se(e){return be.isPlainObject(e)||be.isArray(e)}function Oe(e){return be.endsWith(e,"[]")?e.slice(0,-2):e}function Pe(e,t,n){return e?e.concat(t).map((function(e,t){return e=Oe(e),!n&&t?"["+e+"]":e})).join(n?".":""):t}const xe=be.toFlatObject(be,{},null,(function(e){return/^is[A-Z]/.test(e)})),Ae=function(e,t,n){if(!be.isObject(e))throw new TypeError("target must be an object");t=t||new FormData;const r=(n=be.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!be.isUndefined(t[e])}))).metaTokens,o=n.visitor||u,i=n.dots,a=n.indexes,s=(n.Blob||"undefined"!=typeof Blob&&Blob)&&be.isSpecCompliantForm(t);if(!be.isFunction(o))throw new TypeError("visitor must be a function");function c(e){if(null===e)return"";if(be.isDate(e))return e.toISOString();if(!s&&be.isBlob(e))throw new Ee("Blob is not supported. Use a Buffer instead.");return be.isArrayBuffer(e)||be.isTypedArray(e)?s&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function u(e,n,o){let s=e;if(e&&!o&&"object"==typeof e)if(be.endsWith(n,"{}"))n=r?n:n.slice(0,-2),e=JSON.stringify(e);else if(be.isArray(e)&&function(e){return be.isArray(e)&&!e.some(Se)}(e)||(be.isFileList(e)||be.endsWith(n,"[]"))&&(s=be.toArray(e)))return n=Oe(n),s.forEach((function(e,r){!be.isUndefined(e)&&null!==e&&t.append(!0===a?Pe([n],r,i):null===a?n:n+"[]",c(e))})),!1;return!!Se(e)||(t.append(Pe(o,n,i),c(e)),!1)}const l=[],h=Object.assign(xe,{defaultVisitor:u,convertValue:c,isVisitable:Se});if(!be.isObject(e))throw new TypeError("data must be an object");return function e(n,r){if(!be.isUndefined(n)){if(-1!==l.indexOf(n))throw Error("Circular reference detected in "+r.join("."));l.push(n),be.forEach(n,(function(n,i){!0===(!(be.isUndefined(n)||null===n)&&o.call(t,n,be.isString(i)?i.trim():i,r,h))&&e(n,r?r.concat(i):[i])})),l.pop()}}(e),t};function Te(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function Ne(e,t){this._pairs=[],e&&Ae(e,this,t)}const je=Ne.prototype;je.append=function(e,t){this._pairs.push([e,t])},je.toString=function(e){const t=e?function(t){return e.call(this,t,Te)}:Te;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};const Ue=Ne;function _e(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Le(e,t,n){if(!t)return e;const r=n&&n.encode||_e,o=n&&n.serialize;let i;if(i=o?o(t,n):be.isURLSearchParams(t)?t.toString():new Ue(t,n).toString(r),i){const t=e.indexOf("#");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf("?")?"?":"&")+i}return e}const Ie=class{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){be.forEach(this.handlers,(function(t){null!==t&&e(t)}))}},Fe={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},qe={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:Ue,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]},Be="undefined"!=typeof window&&"undefined"!=typeof document,He="object"==typeof navigator&&navigator||void 0,De=Be&&(!He||["ReactNative","NativeScript","NS"].indexOf(He.product)<0),Me="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,Ke=Be&&window.location.href||"http://localhost",ze={...e,...qe},Je=function(e){function t(e,n,r,o){let i=e[o++];if("__proto__"===i)return!0;const a=Number.isFinite(+i),s=o>=e.length;return i=!i&&be.isArray(r)?r.length:i,s?(be.hasOwnProp(r,i)?r[i]=[r[i],n]:r[i]=n,!a):(r[i]&&be.isObject(r[i])||(r[i]=[]),t(e,n,r[i],o)&&be.isArray(r[i])&&(r[i]=function(e){const t={},n=Object.keys(e);let r;const o=n.length;let i;for(r=0;r{t(function(e){return be.matchAll(/\w+|\[(\w*)]/g,e).map((e=>"[]"===e[0]?"":e[1]||e[0]))}(e),r,n,0)})),n}return null},We={transitional:Fe,adapter:["xhr","http","fetch"],transformRequest:[function(e,t){const n=t.getContentType()||"",r=n.indexOf("application/json")>-1,o=be.isObject(e);if(o&&be.isHTMLForm(e)&&(e=new FormData(e)),be.isFormData(e))return r?JSON.stringify(Je(e)):e;if(be.isArrayBuffer(e)||be.isBuffer(e)||be.isStream(e)||be.isFile(e)||be.isBlob(e)||be.isReadableStream(e))return e;if(be.isArrayBufferView(e))return e.buffer;if(be.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let i;if(o){if(n.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return Ae(e,new ze.classes.URLSearchParams,Object.assign({visitor:function(e,t,n,r){return ze.isNode&&be.isBuffer(e)?(this.append(t,e.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((i=be.isFileList(e))||n.indexOf("multipart/form-data")>-1){const t=this.env&&this.env.FormData;return Ae(i?{"files[]":e}:e,t&&new t,this.formSerializer)}}return o||r?(t.setContentType("application/json",!1),function(e,t,n){if(be.isString(e))try{return(0,JSON.parse)(e),be.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(0,JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){const t=this.transitional||We.transitional,n=t&&t.forcedJSONParsing,r="json"===this.responseType;if(be.isResponse(e)||be.isReadableStream(e))return e;if(e&&be.isString(e)&&(n&&!this.responseType||r)){const n=!(t&&t.silentJSONParsing)&&r;try{return JSON.parse(e)}catch(e){if(n){if("SyntaxError"===e.name)throw Ee.from(e,Ee.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:ze.classes.FormData,Blob:ze.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};be.forEach(["delete","get","head","post","put","patch"],(e=>{We.headers[e]={}}));const Ge=We,Ve=be.toObjectSet(["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"]),Qe=Symbol("internals");function $e(e){return e&&String(e).trim().toLowerCase()}function Xe(e){return!1===e||null==e?e:be.isArray(e)?e.map(Xe):String(e)}function Ye(e,t,n,r,o){return be.isFunction(r)?r.call(this,t,n):(o&&(t=n),be.isString(t)?be.isString(r)?-1!==t.indexOf(r):be.isRegExp(r)?r.test(t):void 0:void 0)}class Ze{constructor(e){e&&this.set(e)}set(e,t,n){const r=this;function o(e,t,n){const o=$e(t);if(!o)throw new Error("header name must be a non-empty string");const i=be.findKey(r,o);(!i||void 0===r[i]||!0===n||void 0===n&&!1!==r[i])&&(r[i||t]=Xe(e))}const i=(e,t)=>be.forEach(e,((e,n)=>o(e,n,t)));if(be.isPlainObject(e)||e instanceof this.constructor)i(e,t);else if(be.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim()))i((e=>{const t={};let n,r,o;return e&&e.split("\n").forEach((function(e){o=e.indexOf(":"),n=e.substring(0,o).trim().toLowerCase(),r=e.substring(o+1).trim(),!n||t[n]&&Ve[n]||("set-cookie"===n?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)})),t})(e),t);else if(be.isHeaders(e))for(const[t,r]of e.entries())o(r,t,n);else null!=e&&o(t,e,n);return this}get(e,t){if(e=$e(e)){const n=be.findKey(this,e);if(n){const e=this[n];if(!t)return e;if(!0===t)return function(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}(e);if(be.isFunction(t))return t.call(this,e,n);if(be.isRegExp(t))return t.exec(e);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=$e(e)){const n=be.findKey(this,e);return!(!n||void 0===this[n]||t&&!Ye(0,this[n],n,t))}return!1}delete(e,t){const n=this;let r=!1;function o(e){if(e=$e(e)){const o=be.findKey(n,e);!o||t&&!Ye(0,n[o],o,t)||(delete n[o],r=!0)}}return be.isArray(e)?e.forEach(o):o(e),r}clear(e){const t=Object.keys(this);let n=t.length,r=!1;for(;n--;){const o=t[n];e&&!Ye(0,this[o],o,e,!0)||(delete this[o],r=!0)}return r}normalize(e){const t=this,n={};return be.forEach(this,((r,o)=>{const i=be.findKey(n,o);if(i)return t[i]=Xe(r),void delete t[o];const a=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((e,t,n)=>t.toUpperCase()+n))}(o):String(o).trim();a!==o&&delete t[o],t[a]=Xe(r),n[a]=!0})),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return be.forEach(this,((n,r)=>{null!=n&&!1!==n&&(t[r]=e&&be.isArray(n)?n.join(", "):n)})),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([e,t])=>e+": "+t)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const n=new this(e);return t.forEach((e=>n.set(e))),n}static accessor(e){const t=(this[Qe]=this[Qe]={accessors:{}}).accessors,n=this.prototype;function r(e){const r=$e(e);t[r]||(function(e,t){const n=be.toCamelCase(" "+t);["get","set","has"].forEach((r=>{Object.defineProperty(e,r+n,{value:function(e,n,o){return this[r].call(this,t,e,n,o)},configurable:!0})}))}(n,e),t[r]=!0)}return be.isArray(e)?e.forEach(r):r(e),this}}Ze.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),be.reduceDescriptors(Ze.prototype,(({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[n]=e}}})),be.freezeMethods(Ze);const et=Ze;function tt(e,t){const n=this||Ge,r=t||n,o=et.from(r.headers);let i=r.data;return be.forEach(e,(function(e){i=e.call(n,i,o.normalize(),t?t.status:void 0)})),o.normalize(),i}function nt(e){return!(!e||!e.__CANCEL__)}function rt(e,t,n){Ee.call(this,null==e?"canceled":e,Ee.ERR_CANCELED,t,n),this.name="CanceledError"}be.inherits(rt,Ee,{__CANCEL__:!0});const ot=rt;function it(e,t,n){const r=n.config.validateStatus;n.status&&r&&!r(n.status)?t(new Ee("Request failed with status code "+n.status,[Ee.ERR_BAD_REQUEST,Ee.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):e(n)}const at=(e,t,n=3)=>{let r=0;const o=function(e,t){e=e||10;const n=new Array(e),r=new Array(e);let o,i=0,a=0;return t=void 0!==t?t:1e3,function(s){const c=Date.now(),u=r[a];o||(o=c),n[i]=s,r[i]=c;let l=a,h=0;for(;l!==i;)h+=n[l++],l%=e;if(i=(i+1)%e,i===a&&(a=(a+1)%e),c-o{o=i,n=null,r&&(clearTimeout(r),r=null),e.apply(null,t)};return[(...e)=>{const t=Date.now(),s=t-o;s>=i?a(e,t):(n=e,r||(r=setTimeout((()=>{r=null,a(n)}),i-s)))},()=>n&&a(n)]}((n=>{const i=n.loaded,a=n.lengthComputable?n.total:void 0,s=i-r,c=o(s);r=i,e({loaded:i,total:a,progress:a?i/a:void 0,bytes:s,rate:c||void 0,estimated:c&&a&&i<=a?(a-i)/c:void 0,event:n,lengthComputable:null!=a,[t?"download":"upload"]:!0})}),n)},st=(e,t)=>{const n=null!=e;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},ct=e=>(...t)=>be.asap((()=>e(...t))),ut=ze.hasStandardBrowserEnv?function(){const e=ze.navigator&&/(msie|trident)/i.test(ze.navigator.userAgent),t=document.createElement("a");let n;function r(n){let r=n;return e&&(t.setAttribute("href",r),r=t.href),t.setAttribute("href",r),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:"/"===t.pathname.charAt(0)?t.pathname:"/"+t.pathname}}return n=r(window.location.href),function(e){const t=be.isString(e)?r(e):e;return t.protocol===n.protocol&&t.host===n.host}}():function(){return!0},lt=ze.hasStandardBrowserEnv?{write(e,t,n,r,o,i){const a=[e+"="+encodeURIComponent(t)];be.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),be.isString(r)&&a.push("path="+r),be.isString(o)&&a.push("domain="+o),!0===i&&a.push("secure"),document.cookie=a.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read:()=>null,remove(){}};function ht(e,t){return e&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)?function(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}(e,t):t}const pt=e=>e instanceof et?{...e}:e;function ft(e,t){t=t||{};const n={};function r(e,t,n){return be.isPlainObject(e)&&be.isPlainObject(t)?be.merge.call({caseless:n},e,t):be.isPlainObject(t)?be.merge({},t):be.isArray(t)?t.slice():t}function o(e,t,n){return be.isUndefined(t)?be.isUndefined(e)?void 0:r(void 0,e,n):r(e,t,n)}function i(e,t){if(!be.isUndefined(t))return r(void 0,t)}function a(e,t){return be.isUndefined(t)?be.isUndefined(e)?void 0:r(void 0,e):r(void 0,t)}function s(n,o,i){return i in t?r(n,o):i in e?r(void 0,n):void 0}const c={url:i,method:i,data:i,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:s,headers:(e,t)=>o(pt(e),pt(t),!0)};return be.forEach(Object.keys(Object.assign({},e,t)),(function(r){const i=c[r]||o,a=i(e[r],t[r],r);be.isUndefined(a)&&i!==s||(n[r]=a)})),n}const dt=e=>{const t=ft({},e);let n,{data:r,withXSRFToken:o,xsrfHeaderName:i,xsrfCookieName:a,headers:s,auth:c}=t;if(t.headers=s=et.from(s),t.url=Le(ht(t.baseURL,t.url),e.params,e.paramsSerializer),c&&s.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?unescape(encodeURIComponent(c.password)):""))),be.isFormData(r))if(ze.hasStandardBrowserEnv||ze.hasStandardBrowserWebWorkerEnv)s.setContentType(void 0);else if(!1!==(n=s.getContentType())){const[e,...t]=n?n.split(";").map((e=>e.trim())).filter(Boolean):[];s.setContentType([e||"multipart/form-data",...t].join("; "))}if(ze.hasStandardBrowserEnv&&(o&&be.isFunction(o)&&(o=o(t)),o||!1!==o&&ut(t.url))){const e=i&&a&<.read(a);e&&s.set(i,e)}return t},yt="undefined"!=typeof XMLHttpRequest&&function(e){return new Promise((function(t,n){const r=dt(e);let o=r.data;const i=et.from(r.headers).normalize();let a,s,c,u,l,{responseType:h,onUploadProgress:p,onDownloadProgress:f}=r;function d(){u&&u(),l&&l(),r.cancelToken&&r.cancelToken.unsubscribe(a),r.signal&&r.signal.removeEventListener("abort",a)}let y=new XMLHttpRequest;function v(){if(!y)return;const r=et.from("getAllResponseHeaders"in y&&y.getAllResponseHeaders());it((function(e){t(e),d()}),(function(e){n(e),d()}),{data:h&&"text"!==h&&"json"!==h?y.response:y.responseText,status:y.status,statusText:y.statusText,headers:r,config:e,request:y}),y=null}y.open(r.method.toUpperCase(),r.url,!0),y.timeout=r.timeout,"onloadend"in y?y.onloadend=v:y.onreadystatechange=function(){y&&4===y.readyState&&(0!==y.status||y.responseURL&&0===y.responseURL.indexOf("file:"))&&setTimeout(v)},y.onabort=function(){y&&(n(new Ee("Request aborted",Ee.ECONNABORTED,e,y)),y=null)},y.onerror=function(){n(new Ee("Network Error",Ee.ERR_NETWORK,e,y)),y=null},y.ontimeout=function(){let t=r.timeout?"timeout of "+r.timeout+"ms exceeded":"timeout exceeded";const o=r.transitional||Fe;r.timeoutErrorMessage&&(t=r.timeoutErrorMessage),n(new Ee(t,o.clarifyTimeoutError?Ee.ETIMEDOUT:Ee.ECONNABORTED,e,y)),y=null},void 0===o&&i.setContentType(null),"setRequestHeader"in y&&be.forEach(i.toJSON(),(function(e,t){y.setRequestHeader(t,e)})),be.isUndefined(r.withCredentials)||(y.withCredentials=!!r.withCredentials),h&&"json"!==h&&(y.responseType=r.responseType),f&&([c,l]=at(f,!0),y.addEventListener("progress",c)),p&&y.upload&&([s,u]=at(p),y.upload.addEventListener("progress",s),y.upload.addEventListener("loadend",u)),(r.cancelToken||r.signal)&&(a=t=>{y&&(n(!t||t.type?new ot(null,e,y):t),y.abort(),y=null)},r.cancelToken&&r.cancelToken.subscribe(a),r.signal&&(r.signal.aborted?a():r.signal.addEventListener("abort",a)));const m=function(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}(r.url);m&&-1===ze.protocols.indexOf(m)?n(new Ee("Unsupported protocol "+m+":",Ee.ERR_BAD_REQUEST,e)):y.send(o||null)}))},vt=(e,t)=>{let n,r=new AbortController;const o=function(e){if(!n){n=!0,a();const t=e instanceof Error?e:this.reason;r.abort(t instanceof Ee?t:new ot(t instanceof Error?t.message:t))}};let i=t&&setTimeout((()=>{o(new Ee(`timeout ${t} of ms exceeded`,Ee.ETIMEDOUT))}),t);const a=()=>{e&&(i&&clearTimeout(i),i=null,e.forEach((e=>{e&&(e.removeEventListener?e.removeEventListener("abort",o):e.unsubscribe(o))})),e=null)};e.forEach((e=>e&&e.addEventListener&&e.addEventListener("abort",o)));const{signal:s}=r;return s.unsubscribe=a,[s,()=>{i&&clearTimeout(i),i=null}]},mt=function*(e,t){let n=e.byteLength;if(!t||n{const i=async function*(e,t,n){for await(const r of e)yield*mt(ArrayBuffer.isView(r)?r:await n(String(r)),t)}(e,t,o);let a,s=0,c=e=>{a||(a=!0,r&&r(e))};return new ReadableStream({async pull(e){try{const{done:t,value:r}=await i.next();if(t)return c(),void e.close();let o=r.byteLength;if(n){let e=s+=o;n(e)}e.enqueue(new Uint8Array(r))}catch(e){throw c(e),e}},cancel:e=>(c(e),i.return())},{highWaterMark:2})},wt="function"==typeof fetch&&"function"==typeof Request&&"function"==typeof Response,bt=wt&&"function"==typeof ReadableStream,Ct=wt&&("function"==typeof TextEncoder?(Rt=new TextEncoder,e=>Rt.encode(e)):async e=>new Uint8Array(await new Response(e).arrayBuffer()));var Rt;const kt=(e,...t)=>{try{return!!e(...t)}catch(e){return!1}},Et=bt&&kt((()=>{let e=!1;const t=new Request(ze.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t})),St=bt&&kt((()=>be.isReadableStream(new Response("").body))),Ot={stream:St&&(e=>e.body)};var Pt;wt&&(Pt=new Response,["text","arrayBuffer","blob","formData","stream"].forEach((e=>{!Ot[e]&&(Ot[e]=be.isFunction(Pt[e])?t=>t[e]():(t,n)=>{throw new Ee(`Response type '${e}' is not supported`,Ee.ERR_NOT_SUPPORT,n)})})));const xt={http:null,xhr:yt,fetch:wt&&(async e=>{let{url:t,method:n,data:r,signal:o,cancelToken:i,timeout:a,onDownloadProgress:s,onUploadProgress:c,responseType:u,headers:l,withCredentials:h="same-origin",fetchOptions:p}=dt(e);u=u?(u+"").toLowerCase():"text";let f,d,[y,v]=o||i||a?vt([o,i],a):[];const m=()=>{!f&&setTimeout((()=>{y&&y.unsubscribe()})),f=!0};let g;try{if(c&&Et&&"get"!==n&&"head"!==n&&0!==(g=await(async(e,t)=>{const n=be.toFiniteNumber(e.getContentLength());return null==n?(async e=>null==e?0:be.isBlob(e)?e.size:be.isSpecCompliantForm(e)?(await new Request(e).arrayBuffer()).byteLength:be.isArrayBufferView(e)||be.isArrayBuffer(e)?e.byteLength:(be.isURLSearchParams(e)&&(e+=""),be.isString(e)?(await Ct(e)).byteLength:void 0))(t):n})(l,r))){let e,n=new Request(t,{method:"POST",body:r,duplex:"half"});if(be.isFormData(r)&&(e=n.headers.get("content-type"))&&l.setContentType(e),n.body){const[e,t]=st(g,at(ct(c)));r=gt(n.body,65536,e,t,Ct)}}be.isString(h)||(h=h?"include":"omit");const o="credentials"in Request.prototype;d=new Request(t,{...p,signal:y,method:n.toUpperCase(),headers:l.normalize().toJSON(),body:r,duplex:"half",credentials:o?h:void 0});let i=await fetch(d);const a=St&&("stream"===u||"response"===u);if(St&&(s||a)){const e={};["status","statusText","headers"].forEach((t=>{e[t]=i[t]}));const t=be.toFiniteNumber(i.headers.get("content-length")),[n,r]=s&&st(t,at(ct(s),!0))||[];i=new Response(gt(i.body,65536,n,(()=>{r&&r(),a&&m()}),Ct),e)}u=u||"text";let f=await Ot[be.findKey(Ot,u)||"text"](i,e);return!a&&m(),v&&v(),await new Promise(((t,n)=>{it(t,n,{data:f,headers:et.from(i.headers),status:i.status,statusText:i.statusText,config:e,request:d})}))}catch(t){if(m(),t&&"TypeError"===t.name&&/fetch/i.test(t.message))throw Object.assign(new Ee("Network Error",Ee.ERR_NETWORK,e,d),{cause:t.cause||t});throw Ee.from(t,t&&t.code,e,d)}})};be.forEach(xt,((e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch(e){}Object.defineProperty(e,"adapterName",{value:t})}}));const At=e=>`- ${e}`,Tt=e=>be.isFunction(e)||null===e||!1===e,Nt=e=>{e=be.isArray(e)?e:[e];const{length:t}=e;let n,r;const o={};for(let i=0;i`adapter ${e} `+(!1===t?"is not supported by the environment":"is not available in the build")));let n=t?e.length>1?"since :\n"+e.map(At).join("\n"):" "+At(e[0]):"as no adapter specified";throw new Ee("There is no suitable adapter to dispatch the request "+n,"ERR_NOT_SUPPORT")}return r};function jt(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new ot(null,e)}function Ut(e){return jt(e),e.headers=et.from(e.headers),e.data=tt.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Nt(e.adapter||Ge.adapter)(e).then((function(t){return jt(e),t.data=tt.call(e,e.transformResponse,t),t.headers=et.from(t.headers),t}),(function(t){return nt(t)||(jt(e),t&&t.response&&(t.response.data=tt.call(e,e.transformResponse,t.response),t.response.headers=et.from(t.response.headers))),Promise.reject(t)}))}const _t={};["object","boolean","number","function","string","symbol"].forEach(((e,t)=>{_t[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}}));const Lt={};_t.transitional=function(e,t,n){function r(e,t){return"[Axios v1.7.5] Transitional option '"+e+"'"+t+(n?". "+n:"")}return(n,o,i)=>{if(!1===e)throw new Ee(r(o," has been removed"+(t?" in "+t:"")),Ee.ERR_DEPRECATED);return t&&!Lt[o]&&(Lt[o]=!0,console.warn(r(o," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(n,o,i)}};const It={assertOptions:function(e,t,n){if("object"!=typeof e)throw new Ee("options must be an object",Ee.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let o=r.length;for(;o-- >0;){const i=r[o],a=t[i];if(a){const t=e[i],n=void 0===t||a(t,i,e);if(!0!==n)throw new Ee("option "+i+" must be "+n,Ee.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new Ee("Unknown option "+i,Ee.ERR_BAD_OPTION)}},validators:_t},Ft=It.validators;class qt{constructor(e){this.defaults=e,this.interceptors={request:new Ie,response:new Ie}}async request(e,t){try{return await this._request(e,t)}catch(e){if(e instanceof Error){let t;Error.captureStackTrace?Error.captureStackTrace(t={}):t=new Error;const n=t.stack?t.stack.replace(/^.+\n/,""):"";try{e.stack?n&&!String(e.stack).endsWith(n.replace(/^.+\n.+\n/,""))&&(e.stack+="\n"+n):e.stack=n}catch(e){}}throw e}}_request(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{},t=ft(this.defaults,t);const{transitional:n,paramsSerializer:r,headers:o}=t;void 0!==n&&It.assertOptions(n,{silentJSONParsing:Ft.transitional(Ft.boolean),forcedJSONParsing:Ft.transitional(Ft.boolean),clarifyTimeoutError:Ft.transitional(Ft.boolean)},!1),null!=r&&(be.isFunction(r)?t.paramsSerializer={serialize:r}:It.assertOptions(r,{encode:Ft.function,serialize:Ft.function},!0)),t.method=(t.method||this.defaults.method||"get").toLowerCase();let i=o&&be.merge(o.common,o[t.method]);o&&be.forEach(["delete","get","head","post","put","patch","common"],(e=>{delete o[e]})),t.headers=et.concat(i,o);const a=[];let s=!0;this.interceptors.request.forEach((function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(s=s&&e.synchronous,a.unshift(e.fulfilled,e.rejected))}));const c=[];let u;this.interceptors.response.forEach((function(e){c.push(e.fulfilled,e.rejected)}));let l,h=0;if(!s){const e=[Ut.bind(this),void 0];for(e.unshift.apply(e,a),e.push.apply(e,c),l=e.length,u=Promise.resolve(t);h{if(!n._listeners)return;let t=n._listeners.length;for(;t-- >0;)n._listeners[t](e);n._listeners=null})),this.promise.then=e=>{let t;const r=new Promise((e=>{n.subscribe(e),t=e})).then(e);return r.cancel=function(){n.unsubscribe(t)},r},e((function(e,r,o){n.reason||(n.reason=new ot(e,r,o),t(n.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}static source(){let e;return{token:new Ht((function(t){e=t})),cancel:e}}}const Dt=Ht,Mt={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Mt).forEach((([e,t])=>{Mt[t]=e}));const Kt=Mt,zt=function e(t){const n=new Bt(t),r=T(Bt.prototype.request,n);return be.extend(r,Bt.prototype,n,{allOwnKeys:!0}),be.extend(r,n,null,{allOwnKeys:!0}),r.create=function(n){return e(ft(t,n))},r}(Ge);zt.Axios=Bt,zt.CanceledError=ot,zt.CancelToken=Dt,zt.isCancel=nt,zt.VERSION="1.7.5",zt.toFormData=Ae,zt.AxiosError=Ee,zt.Cancel=zt.CanceledError,zt.all=function(e){return Promise.all(e)},zt.spread=function(e){return function(t){return e.apply(null,t)}},zt.isAxiosError=function(e){return be.isObject(e)&&!0===e.isAxiosError},zt.mergeConfig=ft,zt.AxiosHeaders=et,zt.formToJSON=e=>Je(be.isHTMLForm(e)?new FormData(e):e),zt.getAdapter=Nt,zt.HttpStatusCode=Kt,zt.default=zt;const Jt=zt;function Wt(e,t,n){return t=f(t),p(e,Gt()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function Gt(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Gt=function(){return!!e})()}var Vt=function(e){function t(){return o(this,t),Wt(this,t,arguments)}return y(t,e),c(t)}(b);function Qt(e,t,n){return t=f(t),p(e,$t()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function $t(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return($t=function(){return!!e})()}var Xt=function(e){function t(){return o(this,t),Qt(this,t,arguments)}return y(t,e),c(t)}(b);function Yt(e,t,n){return t=f(t),p(e,Zt()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function Zt(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Zt=function(){return!!e})()}var en=function(e){function t(){return o(this,t),Yt(this,t,arguments)}return y(t,e),c(t)}(b);function tn(e,t,n){return t=f(t),p(e,nn()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function nn(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(nn=function(){return!!e})()}var rn=function(e){function t(){return o(this,t),tn(this,t,arguments)}return y(t,e),c(t)}(b);function on(e,t,n){return t=f(t),p(e,an()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function an(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(an=function(){return!!e})()}var sn=function(e){function t(){return o(this,t),on(this,t,arguments)}return y(t,e),c(t)}(b);function cn(e,t,n){return t=f(t),p(e,un()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function un(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(un=function(){return!!e})()}var ln=function(e){function t(){return o(this,t),cn(this,t,arguments)}return y(t,e),c(t)}(b);function hn(e,t,n){return t=f(t),p(e,pn()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function pn(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(pn=function(){return!!e})()}var fn=function(e){function t(){return o(this,t),hn(this,t,arguments)}return y(t,e),c(t)}(b),dn=n(939),yn=n(82),vn=!0,mn="undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node,gn=function(){function e(t){o(this,e),this.configuration=t,this.apiKey=this.configuration.apiKey,this.nodes=null==this.configuration.nodes?this.configuration.nodes:JSON.parse(JSON.stringify(this.configuration.nodes)),this.nearestNode=null==this.configuration.nearestNode?this.configuration.nearestNode:JSON.parse(JSON.stringify(this.configuration.nearestNode)),this.connectionTimeoutSeconds=this.configuration.connectionTimeoutSeconds,this.healthcheckIntervalSeconds=this.configuration.healthcheckIntervalSeconds,this.numRetriesPerRequest=this.configuration.numRetries,this.retryIntervalSeconds=this.configuration.retryIntervalSeconds,this.sendApiKeyAsQueryParam=this.configuration.sendApiKeyAsQueryParam,this.additionalUserHeaders=this.configuration.additionalHeaders,this.logger=this.configuration.logger,this.initializeMetadataForNodes(),this.currentNodeIndex=-1}var t,n,r,a,s,u,l;return c(e,[{key:"get",value:(l=P(A().mark((function e(t){var n,r,o,i,a,s,c=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=c.length>1&&void 0!==c[1]?c[1]:{},o=(r=c.length>2&&void 0!==c[2]?c[2]:{}).abortSignal,i=void 0===o?null:o,a=r.responseType,s=void 0===a?void 0:a,e.abrupt("return",this.performRequest("get",t,{queryParameters:n,abortSignal:i,responseType:s}));case 3:case"end":return e.stop()}}),e,this)}))),function(e){return l.apply(this,arguments)})},{key:"delete",value:(u=P(A().mark((function e(t){var n,r=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},e.abrupt("return",this.performRequest("delete",t,{queryParameters:n}));case 2:case"end":return e.stop()}}),e,this)}))),function(e){return u.apply(this,arguments)})},{key:"post",value:(s=P(A().mark((function e(t){var n,r,o,i=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=i.length>1&&void 0!==i[1]?i[1]:{},r=i.length>2&&void 0!==i[2]?i[2]:{},o=i.length>3&&void 0!==i[3]?i[3]:{},e.abrupt("return",this.performRequest("post",t,{queryParameters:r,bodyParameters:n,additionalHeaders:o}));case 4:case"end":return e.stop()}}),e,this)}))),function(e){return s.apply(this,arguments)})},{key:"put",value:(a=P(A().mark((function e(t){var n,r,o=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=o.length>1&&void 0!==o[1]?o[1]:{},r=o.length>2&&void 0!==o[2]?o[2]:{},e.abrupt("return",this.performRequest("put",t,{queryParameters:r,bodyParameters:n}));case 3:case"end":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})},{key:"patch",value:(r=P(A().mark((function e(t){var n,r,o=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=o.length>1&&void 0!==o[1]?o[1]:{},r=o.length>2&&void 0!==o[2]?o[2]:{},e.abrupt("return",this.performRequest("patch",t,{queryParameters:r,bodyParameters:n}));case 3:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"performRequest",value:(n=P(A().mark((function e(t,n,r){var o,a,s,c,u,l,h,p,f,d,y,v,m,g,w,b,C,R,k,E=this;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:o=r.queryParameters,a=void 0===o?null:o,s=r.bodyParameters,c=void 0===s?null:s,u=r.additionalHeaders,l=void 0===u?{}:u,h=r.abortSignal,p=void 0===h?null:h,f=r.responseType,d=void 0===f?void 0:f,y=r.skipConnectionTimeout,v=void 0!==y&&y,m=r.enableKeepAlive,g=void 0===m?void 0:m,this.configuration.validate(),w=Date.now(),this.logger.debug("Request #".concat(w,": Performing ").concat(t.toUpperCase()," request: ").concat(n)),C=A().mark((function e(){var r,o,s,u,h,f,y,m,C;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=E.getNextNode(w),E.logger.debug("Request #".concat(w,": Attempting ").concat(t.toUpperCase()," request Try #").concat(k," to Node ").concat(r.index)),!p||!p.aborted){e.next=4;break}return e.abrupt("return",{v:Promise.reject(new Error("Request aborted by caller."))});case 4:return e.prev=4,s={method:t,url:E.uriFor(n,r),headers:Object.assign({},E.defaultHeaders(),l,E.additionalUserHeaders),maxContentLength:1/0,maxBodyLength:1/0,responseType:d,validateStatus:function(e){return e>0},transformResponse:[function(e,t){var n=e;return void 0!==t&&"string"==typeof e&&t["content-type"]&&t["content-type"].startsWith("application/json")&&(n=JSON.parse(e)),n}]},!0!==v&&(s.timeout=1e3*E.connectionTimeoutSeconds),a&&0!==Object.keys(a).length&&(s.params=a),E.sendApiKeyAsQueryParam&&(s.params=s.params||{},s.params["x-typesense-api-key"]=E.apiKey),E.configuration.httpAgent?(E.logger.debug("Request #".concat(w,": Using custom httpAgent")),s.httpAgent=E.configuration.httpAgent):!0===g&&(mn?(E.logger.debug("Request #".concat(w,": Enabling KeepAlive")),s.httpAgent=new dn.Agent({keepAlive:!0})):E.logger.warn("Request #".concat(w,": Cannot use custom httpAgent in a browser environment to enable keepAlive"))),E.configuration.httpsAgent?(E.logger.debug("Request #".concat(w,": Using custom httpsAgent")),s.httpsAgent=E.configuration.httpsAgent):!0===g&&(mn?(E.logger.debug("Request #".concat(w,": Enabling keepAlive")),s.httpsAgent=new yn.Agent({keepAlive:!0})):E.logger.warn("Request #".concat(w,": Cannot use custom httpAgent in a browser environment to enable keepAlive"))),E.configuration.paramsSerializer&&(E.logger.debug("Request #".concat(w,": Using custom paramsSerializer")),s.paramsSerializer=E.configuration.paramsSerializer),c&&("string"==typeof c&&0!==c.length||"object"===i(c)&&0!==Object.keys(c).length)&&(s.data=c),p&&(u=Jt.CancelToken,h=u.source(),o=function(){return h.cancel()},p.addEventListener("abort",o),s.cancelToken=h.token),e.next=16,Jt(s);case 16:if((f=e.sent).status>=1&&f.status<=499&&E.setNodeHealthcheck(r,vn),E.logger.debug("Request #".concat(w,": Request to Node ").concat(r.index," was made. Response Code was ").concat(f.status,".")),!(f.status>=200&&f.status<300)){e.next=23;break}return e.abrupt("return",{v:Promise.resolve(f.data)});case 23:if(!(f.status<500)){e.next=27;break}return e.abrupt("return",{v:Promise.reject(E.customErrorForResponse(f,null===(y=f.data)||void 0===y?void 0:y.message))});case 27:throw E.customErrorForResponse(f,null===(m=f.data)||void 0===m?void 0:m.message);case 28:e.next=38;break;case 30:return e.prev=30,e.t0=e.catch(4),E.setNodeHealthcheck(r,!1),b=e.t0,E.logger.warn("Request #".concat(w,": Request to Node ").concat(r.index,' failed due to "').concat(e.t0.code," ").concat(e.t0.message).concat(null==e.t0.response?"":" - "+JSON.stringify(null===(C=e.t0.response)||void 0===C?void 0:C.data),'"')),E.logger.warn("Request #".concat(w,": Sleeping for ").concat(E.retryIntervalSeconds,"s and then retrying request...")),e.next=38,E.timer(E.retryIntervalSeconds);case 38:return e.prev=38,p&&o&&p.removeEventListener("abort",o),e.finish(38);case 41:case"end":return e.stop()}}),e,null,[[4,30,38,41]])})),k=1;case 6:if(!(k<=this.numRetriesPerRequest+1)){e.next=14;break}return e.delegateYield(C(),"t0",8);case 8:if(!(R=e.t0)){e.next=11;break}return e.abrupt("return",R.v);case 11:k++,e.next=6;break;case 14:return this.logger.debug("Request #".concat(w,": No retries left. Raising last error")),e.abrupt("return",Promise.reject(b));case 16:case"end":return e.stop()}}),e,this)}))),function(e,t,r){return n.apply(this,arguments)})},{key:"getNextNode",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(null!=this.nearestNode){if(this.logger.debug("Request #".concat(e,": Nodes Health: Node ").concat(this.nearestNode.index," is ").concat(!0===this.nearestNode.isHealthy?"Healthy":"Unhealthy")),!0===this.nearestNode.isHealthy||this.nodeDueForHealthcheck(this.nearestNode,e))return this.logger.debug("Request #".concat(e,": Updated current node to Node ").concat(this.nearestNode.index)),this.nearestNode;this.logger.debug("Request #".concat(e,": Falling back to individual nodes"))}this.logger.debug("Request #".concat(e,": Nodes Health: ").concat(this.nodes.map((function(e){return"Node ".concat(e.index," is ").concat(!0===e.isHealthy?"Healthy":"Unhealthy")})).join(" || ")));for(var t=this.nodes[0],n=0;n<=this.nodes.length;n++)if(this.currentNodeIndex=(this.currentNodeIndex+1)%this.nodes.length,!0===(t=this.nodes[this.currentNodeIndex]).isHealthy||this.nodeDueForHealthcheck(t,e))return this.logger.debug("Request #".concat(e,": Updated current node to Node ").concat(t.index)),t;return this.logger.debug("Request #".concat(e,": No healthy nodes were found. Returning the next node, Node ").concat(t.index)),t}},{key:"nodeDueForHealthcheck",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=Date.now()-e.lastAccessTimestamp>1e3*this.healthcheckIntervalSeconds;return n&&this.logger.debug("Request #".concat(t,": Node ").concat(e.index," has exceeded healtcheckIntervalSeconds of ").concat(this.healthcheckIntervalSeconds,". Adding it back into rotation.")),n}},{key:"initializeMetadataForNodes",value:function(){var e=this;null!=this.nearestNode&&(this.nearestNode.index="nearestNode",this.setNodeHealthcheck(this.nearestNode,vn)),this.nodes.forEach((function(t,n){t.index=n,e.setNodeHealthcheck(t,vn)}))}},{key:"setNodeHealthcheck",value:function(e,t){e.isHealthy=t,e.lastAccessTimestamp=Date.now()}},{key:"uriFor",value:function(e,t){return null!=t.url?"".concat(t.url).concat(e):"".concat(t.protocol,"://").concat(t.host,":").concat(t.port).concat(t.path).concat(e)}},{key:"defaultHeaders",value:function(){var e={};return this.sendApiKeyAsQueryParam||(e["X-TYPESENSE-API-KEY"]=this.apiKey),e["Content-Type"]="application/json",e}},{key:"timer",value:(t=P(A().mark((function e(t){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e){return setTimeout(e,1e3*t)})));case 1:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})},{key:"customErrorForResponse",value:function(e,t){var n="Request failed with HTTP code ".concat(e.status);"string"==typeof t&&""!==t.trim()&&(n+=" | Server said: ".concat(t));var r=new b(n);return(r=400===e.status?new Vt(n):401===e.status?new Xt(n):404===e.status?new en(n):409===e.status?new rn(n):422===e.status?new sn(n):e.status>=500&&e.status<=599?new ln(n):new fn(n)).httpStatus=e.status,r}}]),e}(),wn="/collections",bn=function(){function e(t){o(this,e),this.apiCall=t}var t,n;return c(e,[{key:"create",value:(n=P(A().mark((function e(t){var n,r=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},e.abrupt("return",this.apiCall.post(wn,t,n));case 2:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){var t,n=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.length>0&&void 0!==n[0]?n[0]:{},e.abrupt("return",this.apiCall.get(wn,t));case 2:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}],[{key:"RESOURCEPATH",get:function(){return wn}}]),e}();function Cn(e,t,n){return t=f(t),p(e,Rn()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function Rn(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Rn=function(){return!!e})()}var kn=function(e){function t(e,n){var r;return o(this,t),(r=Cn(this,t,[e])).importResults=n,r}return y(t,e),c(t)}(b);function En(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);nc&&(y=this.responseCache.keys().next().value,this.responseCache.delete(y)),this.responsePromiseCache.size>c&&(v=this.responsePromiseCache.keys().next().value,this.responsePromiseCache.delete(v)),e.abrupt("return",d);case 37:case"end":return e.stop()}}),e,this)}))),function(e,n,r,o){return t.apply(this,arguments)})}]),e}(),xn="/documents",An=function(){function e(t,n,r){o(this,e),u(this,"requestWithCache",new Pn),this.collectionName=t,this.apiCall=n,this.configuration=r}var t;return c(e,[{key:"clearCache",value:function(){this.requestWithCache.clearCache()}},{key:"search",value:(t=P(A().mark((function e(t){var n,r,o,i,a,s,c,u,l=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(c in r=(n=l.length>1&&void 0!==l[1]?l[1]:{}).cacheSearchResultsForSeconds,o=void 0===r?this.configuration.cacheSearchResultsForSeconds:r,i=n.abortSignal,a=void 0===i?null:i,s={},!0===this.configuration.useServerSideSearchCache&&(s.use_cache=!0),t)Array.isArray(t[c])&&(s[c]=t[c].join(","));return u=Object.assign({},t,s),e.abrupt("return",this.requestWithCache.perform(this.apiCall,this.apiCall.get,[this.endpointPath("search"),u,{abortSignal:a}],{cacheResponseForSeconds:o}));case 6:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"endpointPath",value:function(e){return"".concat(bn.RESOURCEPATH,"/").concat(this.collectionName).concat(xn).concat(void 0===e?"":"/"+e)}}],[{key:"RESOURCEPATH",get:function(){return xn}}]),e}();function Tn(e,t,n){return t=f(t),p(e,Nn()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function Nn(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Nn=function(){return!!e})()}var jn="undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node,Un=function(e){function t(e,n,r){return o(this,t),Tn(this,t,[e,n,r])}var n,r,i,a,s,u,l,h,p;return y(t,e),c(t,[{key:"create",value:(p=P(A().mark((function e(t){var n,r=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=r.length>1&&void 0!==r[1]?r[1]:{},t){e.next=3;break}throw new Error("No document provided");case 3:return e.abrupt("return",this.apiCall.post(this.endpointPath(),t,n));case 4:case"end":return e.stop()}}),e,this)}))),function(e){return p.apply(this,arguments)})},{key:"upsert",value:(h=P(A().mark((function e(t){var n,r=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=r.length>1&&void 0!==r[1]?r[1]:{},t){e.next=3;break}throw new Error("No document provided");case 3:return e.abrupt("return",this.apiCall.post(this.endpointPath(),t,Object.assign({},n,{action:"upsert"})));case 4:case"end":return e.stop()}}),e,this)}))),function(e){return h.apply(this,arguments)})},{key:"update",value:(l=P(A().mark((function e(t){var n,r=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=r.length>1&&void 0!==r[1]?r[1]:{},t){e.next=3;break}throw new Error("No document provided");case 3:if(null==n.filter_by){e.next=7;break}return e.abrupt("return",this.apiCall.patch(this.endpointPath(),t,Object.assign({},n)));case 7:return e.abrupt("return",this.apiCall.post(this.endpointPath(),t,Object.assign({},n,{action:"update"})));case 8:case"end":return e.stop()}}),e,this)}))),function(e){return l.apply(this,arguments)})},{key:"delete",value:(u=P(A().mark((function e(){var t,n=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.length>0&&void 0!==n[0]?n[0]:{},e.abrupt("return",this.apiCall.delete(this.endpointPath(),t));case 2:case"end":return e.stop()}}),e,this)}))),function(){return u.apply(this,arguments)})},{key:"createMany",value:(s=P(A().mark((function e(t){var n,r=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},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"),e.abrupt("return",this.import(t,n));case 3:case"end":return e.stop()}}),e,this)}))),function(e){return s.apply(this,arguments)})},{key:"import",value:(a=P(A().mark((function e(t){var n,r,o,i,a,s=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=s.length>1&&void 0!==s[1]?s[1]:{},!Array.isArray(t)){e.next=13;break}e.prev=2,r=t.map((function(e){return JSON.stringify(e)})).join("\n"),e.next=11;break;case 6:if(e.prev=6,e.t0=e.catch(2),!(e.t0 instanceof RangeError&&e.t0.message.includes("Too many properties to enumerate"))){e.next=10;break}throw new Error("".concat(e.t0,"\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 "));case 10:throw new Error(e.t0);case 11:e.next=14;break;case 13:r=t;case 14:return e.next=16,this.apiCall.performRequest("post",this.endpointPath("import"),{queryParameters:n,bodyParameters:r,additionalHeaders:{"Content-Type":"text/plain"},skipConnectionTimeout:!0,enableKeepAlive:!!jn});case 16:if(o=e.sent,!Array.isArray(t)){e.next=27;break}if(i=o.split("\n").map((function(e){return JSON.parse(e)})),!((a=i.filter((function(e){return!1===e.success}))).length>0)){e.next=24;break}throw new kn("".concat(i.length-a.length," documents imported successfully, ").concat(a.length," documents failed during import. Use `error.importResults` from the raised exception to get a detailed error reason for each document."),i);case 24:return e.abrupt("return",i);case 25:e.next=28;break;case 27:return e.abrupt("return",o);case 28:case"end":return e.stop()}}),e,this,[[2,6]])}))),function(e){return a.apply(this,arguments)})},{key:"importStream",value:(i=P(A().mark((function e(t){var n,r,o,i,a=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=a.length>1&&void 0!==a[1]?a[1]:{},e.next=3,this.apiCall.performRequest("post",this.endpointPath("import"),{queryParameters:n,bodyParameters:t,additionalHeaders:{"Content-Type":"text/plain"},skipConnectionTimeout:!0,enableKeepAlive:!!jn});case 3:if(r=e.sent,o=r.split("\n").map((function(e){return JSON.parse(e)})),!((i=o.filter((function(e){return!1===e.success}))).length>0)){e.next=10;break}throw new kn("".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);case 10:return e.abrupt("return",o);case 11:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})},{key:"export",value:(r=P(A().mark((function e(){var t,n=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.length>0&&void 0!==n[0]?n[0]:{},e.abrupt("return",this.apiCall.get(this.endpointPath("export"),t));case 2:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"exportStream",value:(n=P(A().mark((function e(){var t,n=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.length>0&&void 0!==n[0]?n[0]:{},e.abrupt("return",this.apiCall.get(this.endpointPath("export"),t,{responseType:"stream"}));case 2:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})}]),t}(An),_n=function(){function e(t,n){o(this,e),this.collectionName=t,this.apiCall=n}var t,n;return c(e,[{key:"upsert",value:(n=P(A().mark((function e(t,n){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.put(this.endpointPath(t),n));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(t){return"".concat(bn.RESOURCEPATH,"/").concat(this.collectionName).concat(e.RESOURCEPATH).concat(void 0===t?"":"/"+encodeURIComponent(t))}}],[{key:"RESOURCEPATH",get:function(){return"/overrides"}}]),e}(),Ln=function(){function e(t,n,r){o(this,e),this.collectionName=t,this.overrideId=n,this.apiCall=r}var t,n;return c(e,[{key:"retrieve",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(bn.RESOURCEPATH,"/").concat(encodeURIComponent(this.collectionName)).concat(_n.RESOURCEPATH,"/").concat(encodeURIComponent(this.overrideId))}}]),e}(),In=function(){function e(t,n){o(this,e),this.collectionName=t,this.apiCall=n}var t,n;return c(e,[{key:"upsert",value:(n=P(A().mark((function e(t,n){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.put(this.endpointPath(t),n));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(t){return"".concat(bn.RESOURCEPATH,"/").concat(encodeURIComponent(this.collectionName)).concat(e.RESOURCEPATH).concat(void 0===t?"":"/"+encodeURIComponent(t))}}],[{key:"RESOURCEPATH",get:function(){return"/synonyms"}}]),e}(),Fn=function(){function e(t,n,r){o(this,e),this.collectionName=t,this.synonymId=n,this.apiCall=r}var t,n;return c(e,[{key:"retrieve",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(bn.RESOURCEPATH,"/").concat(encodeURIComponent(this.collectionName)).concat(In.RESOURCEPATH,"/").concat(encodeURIComponent(this.synonymId))}}]),e}(),qn=function(){function e(t,n,r){o(this,e),this.collectionName=t,this.documentId=n,this.apiCall=r}var t,n,r;return c(e,[{key:"retrieve",value:(r=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"delete",value:(n=P(A().mark((function e(t){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath(),t));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"update",value:(t=P(A().mark((function e(t){var n,r=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},e.abrupt("return",this.apiCall.patch(this.endpointPath(),t,n));case 2:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(bn.RESOURCEPATH,"/").concat(encodeURIComponent(this.collectionName)).concat(Un.RESOURCEPATH,"/").concat(encodeURIComponent(this.documentId))}}]),e}(),Bn=function(){function e(t,n,r){o(this,e),u(this,"individualDocuments",{}),u(this,"individualOverrides",{}),u(this,"individualSynonyms",{}),this.name=t,this.apiCall=n,this.configuration=r,this.name=t,this.apiCall=n,this.configuration=r,this._documents=new Un(this.name,this.apiCall,this.configuration),this._overrides=new _n(this.name,this.apiCall),this._synonyms=new In(this.name,this.apiCall)}var t,n,r,i;return c(e,[{key:"retrieve",value:(i=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return i.apply(this,arguments)})},{key:"update",value:(r=P(A().mark((function e(t){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.patch(this.endpointPath(),t));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"delete",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"exists",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.retrieve();case 3:return e.abrupt("return",!0);case 6:if(e.prev=6,e.t0=e.catch(0),!(e.t0 instanceof en)){e.next=10;break}return e.abrupt("return",!1);case 10:throw e.t0;case 11:case"end":return e.stop()}}),e,this,[[0,6]])}))),function(){return t.apply(this,arguments)})},{key:"documents",value:function(e){return e?(void 0===this.individualDocuments[e]&&(this.individualDocuments[e]=new qn(this.name,e,this.apiCall)),this.individualDocuments[e]):this._documents}},{key:"overrides",value:function(e){return void 0===e?this._overrides:(void 0===this.individualOverrides[e]&&(this.individualOverrides[e]=new Ln(this.name,e,this.apiCall)),this.individualOverrides[e])}},{key:"synonyms",value:function(e){return void 0===e?this._synonyms:(void 0===this.individualSynonyms[e]&&(this.individualSynonyms[e]=new Fn(this.name,e,this.apiCall)),this.individualSynonyms[e])}},{key:"endpointPath",value:function(){return"".concat(bn.RESOURCEPATH,"/").concat(encodeURIComponent(this.name))}}]),e}(),Hn="/aliases",Dn=function(){function e(t){o(this,e),this.apiCall=t}var t,n;return c(e,[{key:"upsert",value:(n=P(A().mark((function e(t,n){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.put(this.endpointPath(t),n));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(Hn));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(t){return"".concat(e.RESOURCEPATH,"/").concat(encodeURIComponent(t))}}],[{key:"RESOURCEPATH",get:function(){return Hn}}]),e}(),Mn=function(){function e(t,n){o(this,e),this.name=t,this.apiCall=n}var t,n;return c(e,[{key:"retrieve",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(Dn.RESOURCEPATH,"/").concat(encodeURIComponent(this.name))}}]),e}(),Kn=n(612),zn="/keys",Jn=function(){function e(t){o(this,e),this.apiCall=t,this.apiCall=t}var t,n;return c(e,[{key:"create",value:(n=P(A().mark((function t(n){return A().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.apiCall.post(e.RESOURCEPATH,n));case 1:case"end":return t.stop()}}),t,this)}))),function(e){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(zn));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"generateScopedSearchKey",value:function(e,t){var n=JSON.stringify(t),r=Buffer.from((0,Kn.createHmac)("sha256",e).update(n).digest("base64")),o=e.substr(0,4),i="".concat(r).concat(o).concat(n);return Buffer.from(i).toString("base64")}}],[{key:"RESOURCEPATH",get:function(){return zn}}]),e}(),Wn=function(){function e(t,n){o(this,e),this.id=t,this.apiCall=n}var t,n;return c(e,[{key:"retrieve",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(Jn.RESOURCEPATH,"/").concat(encodeURIComponent(this.id))}}]),e}(),Gn=function(){function e(t){o(this,e),this.apiCall=t}var t;return c(e,[{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get("/debug"));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}]),e}(),Vn=function(){function e(t){o(this,e),this.apiCall=t}var t;return c(e,[{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get("/metrics.json"));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}]),e}(),Qn=function(){function e(t){o(this,e),this.apiCall=t}var t;return c(e,[{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get("/stats.json"));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}]),e}(),$n=function(){function e(t){o(this,e),this.apiCall=t}var t;return c(e,[{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get("/health"));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}]),e}(),Xn=function(){function e(t){o(this,e),this.apiCall=t}var t;return c(e,[{key:"perform",value:(t=P(A().mark((function e(t){var n,r=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},e.abrupt("return",this.apiCall.post("".concat("/operations","/").concat(t),{},n));case 2:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})}]),e}(),Yn=function(){function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];o(this,e),this.apiCall=t,this.configuration=n,this.useTextContentType=r,this.requestWithCache=new Pn}var t;return c(e,[{key:"clearCache",value:function(){this.requestWithCache.clearCache()}},{key:"perform",value:(t=P(A().mark((function e(t){var n,r,o,i,a,s,c=arguments;return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=c.length>1&&void 0!==c[1]?c[1]:{},r=(c.length>2&&void 0!==c[2]?c[2]:{}).cacheSearchResultsForSeconds,o=void 0===r?this.configuration.cacheSearchResultsForSeconds:r,i={},this.useTextContentType&&(i["content-type"]="text/plain"),a={},!0===this.configuration.useServerSideSearchCache&&(a.use_cache=!0),s=Object.assign({},n,a),e.abrupt("return",this.requestWithCache.perform(this.apiCall,this.apiCall.post,["/multi_search",t,s,i],{cacheResponseForSeconds:o}));case 8:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})}]),e}(),Zn=function(){function e(t){o(this,e),this.apiCall=t}var t,n;return c(e,[{key:"upsert",value:(n=P(A().mark((function e(t,n){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.put(this.endpointPath(t),n));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(t){return"".concat(e.RESOURCEPATH).concat(void 0===t?"":"/"+encodeURIComponent(t))}}],[{key:"RESOURCEPATH",get:function(){return"/presets"}}]),e}(),er=function(){function e(t,n){o(this,e),this.presetId=t,this.apiCall=n}var t,n;return c(e,[{key:"retrieve",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(Zn.RESOURCEPATH,"/").concat(encodeURIComponent(this.presetId))}}]),e}(),tr=function(){function e(t){o(this,e),this.apiCall=t,this.apiCall=t}var t,n;return c(e,[{key:"upsert",value:(n=P(A().mark((function e(t,n){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.put(this.endpointPath(t),n));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(t){return"".concat(e.RESOURCEPATH).concat(void 0===t?"":"/"+encodeURIComponent(t))}}],[{key:"RESOURCEPATH",get:function(){return"/analytics/rules"}}]),e}(),nr=function(){function e(t,n){o(this,e),this.name=t,this.apiCall=n}var t,n;return c(e,[{key:"retrieve",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(tr.RESOURCEPATH,"/").concat(encodeURIComponent(this.name))}}]),e}(),rr=function(){function e(t){o(this,e),this.apiCall=t,this.apiCall=t}var t;return c(e,[{key:"create",value:(t=P(A().mark((function e(t){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.post(this.endpointPath(),t));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"endpointPath",value:function(t){return"".concat(e.RESOURCEPATH).concat(void 0===t?"":"/"+encodeURIComponent(t))}}],[{key:"RESOURCEPATH",get:function(){return"/analytics/events"}}]),e}(),or=function(){function e(t){o(this,e),u(this,"individualAnalyticsRules",{}),this.apiCall=t,this.apiCall=t,this._analyticsRules=new tr(this.apiCall),this._analyticsEvents=new rr(this.apiCall)}return c(e,[{key:"rules",value:function(e){return void 0===e?this._analyticsRules:(void 0===this.individualAnalyticsRules[e]&&(this.individualAnalyticsRules[e]=new nr(e,this.apiCall)),this.individualAnalyticsRules[e])}},{key:"events",value:function(){return this._analyticsEvents}}],[{key:"RESOURCEPATH",get:function(){return"/analytics"}}]),e}(),ir=function(){function e(t){o(this,e),this.apiCall=t}var t,n;return c(e,[{key:"upsert",value:(n=P(A().mark((function e(t,n){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.put(this.endpointPath(t),n));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(t){return"".concat(e.RESOURCEPATH).concat(void 0===t?"":"/"+encodeURIComponent(t))}}],[{key:"RESOURCEPATH",get:function(){return"/stopwords"}}]),e}(),ar=function(){function e(t,n){o(this,e),this.stopwordId=t,this.apiCall=n}var t,n;return c(e,[{key:"retrieve",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(ir.RESOURCEPATH,"/").concat(encodeURIComponent(this.stopwordId))}}]),e}(),sr=function(){function e(t){o(this,e),this.apiCall=t,this.apiCall=t}var t,n;return c(e,[{key:"create",value:(n=P(A().mark((function e(t){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.post(this.endpointPath(),t));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(t){return"".concat(e.RESOURCEPATH).concat(void 0===t?"":"/"+encodeURIComponent(t))}}],[{key:"RESOURCEPATH",get:function(){return"/conversations/models"}}]),e}(),cr=function(){function e(t,n){o(this,e),this.id=t,this.apiCall=n}var t,n,r;return c(e,[{key:"update",value:(r=P(A().mark((function e(t){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.put(this.endpointPath(),t));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"retrieve",value:(n=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(sr.RESOURCEPATH,"/").concat(encodeURIComponent(this.id))}}]),e}(),ur="/conversations",lr=function(){function e(t){o(this,e),u(this,"individualConversationModels",{}),this.apiCall=t,this.apiCall=t,this._conversationsModels=new sr(this.apiCall)}var t;return c(e,[{key:"retrieve",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(ur));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"models",value:function(e){return void 0===e?this._conversationsModels:(void 0===this.individualConversationModels[e]&&(this.individualConversationModels[e]=new cr(e,this.apiCall)),this.individualConversationModels[e])}}],[{key:"RESOURCEPATH",get:function(){return ur}}]),e}(),hr=function(){function e(t,n){o(this,e),this.id=t,this.apiCall=n}var t,n,r;return c(e,[{key:"retrieve",value:(r=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.get(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"update",value:(n=P(A().mark((function e(t){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.put(this.endpointPath(),t));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"delete",value:(t=P(A().mark((function e(){return A().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.apiCall.delete(this.endpointPath()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"endpointPath",value:function(){return"".concat(lr.RESOURCEPATH,"/").concat(encodeURIComponent(this.id))}}]),e}(),pr=function(){function e(t){var n;o(this,e),t.sendApiKeyAsQueryParam=null!==(n=t.sendApiKeyAsQueryParam)&&void 0!==n&&n,this.configuration=new S(t),this.apiCall=new gn(this.configuration),this.debug=new Gn(this.apiCall),this.metrics=new Vn(this.apiCall),this.stats=new Qn(this.apiCall),this.health=new $n(this.apiCall),this.operations=new Xn(this.apiCall),this.multiSearch=new Yn(this.apiCall,this.configuration),this._collections=new bn(this.apiCall),this.individualCollections={},this._aliases=new Dn(this.apiCall),this.individualAliases={},this._keys=new Jn(this.apiCall),this.individualKeys={},this._presets=new Zn(this.apiCall),this.individualPresets={},this._stopwords=new ir(this.apiCall),this.individualStopwords={},this.analytics=new or(this.apiCall),this._conversations=new lr(this.apiCall),this.individualConversations={}}return c(e,[{key:"collections",value:function(e){return void 0===e?this._collections:(void 0===this.individualCollections[e]&&(this.individualCollections[e]=new Bn(e,this.apiCall,this.configuration)),this.individualCollections[e])}},{key:"aliases",value:function(e){return void 0===e?this._aliases:(void 0===this.individualAliases[e]&&(this.individualAliases[e]=new Mn(e,this.apiCall)),this.individualAliases[e])}},{key:"keys",value:function(e){return void 0===e?this._keys:(void 0===this.individualKeys[e]&&(this.individualKeys[e]=new Wn(e,this.apiCall)),this.individualKeys[e])}},{key:"presets",value:function(e){return void 0===e?this._presets:(void 0===this.individualPresets[e]&&(this.individualPresets[e]=new er(e,this.apiCall)),this.individualPresets[e])}},{key:"stopwords",value:function(e){return void 0===e?this._stopwords:(void 0===this.individualStopwords[e]&&(this.individualStopwords[e]=new ar(e,this.apiCall)),this.individualStopwords[e])}},{key:"conversations",value:function(e){return void 0===e?this._conversations:(void 0===this.individualConversations[e]&&(this.individualConversations[e]=new hr(e,this.apiCall)),this.individualConversations[e])}}]),e}();var fr=function(){function e(t,n,r){o(this,e),this.name=t,this.apiCall=n,this.configuration=r,this._documents=new An(this.name,this.apiCall,this.configuration)}return c(e,[{key:"documents",value:function(){return this._documents}}]),e}(),dr=function(){function e(t){var n;o(this,e),t.sendApiKeyAsQueryParam=null===(n=t.sendApiKeyAsQueryParam)||void 0===n||n,!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 S(t),this.apiCall=new gn(this.configuration),this.multiSearch=new Yn(this.apiCall,this.configuration,!0),this.individualCollections={}}return c(e,[{key:"clearCache",value:function(){this.multiSearch.clearCache(),Object.entries(this.individualCollections).forEach((function(e){var t,n,r=(n=2,function(e){if(Array.isArray(e))return e}(t=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],c=!0,u=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}(t,n)||Sn(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}());r[0],r[1].documents().clearCache()}))}},{key:"collections",value:function(e){if(e)return void 0===this.individualCollections[e]&&(this.individualCollections[e]=new fr(e,this.apiCall,this.configuration)),this.individualCollections[e];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.")}}]),e}();const yr={Client:pr,SearchClient:dr,Errors:t}})(),Typesense=r})(); -//# sourceMappingURL=typesense.min.js.map \ No newline at end of file diff --git a/dist/typesense.min.js.map b/dist/typesense.min.js.map deleted file mode 100644 index 9e150cf6..00000000 --- a/dist/typesense.min.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"typesense.min.js","mappings":"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","sources":["webpack://Typesense/./node_modules/loglevel/lib/loglevel.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/regenerator/index.js","webpack://Typesense/webpack/bootstrap","webpack://Typesense/webpack/runtime/compat get default export","webpack://Typesense/webpack/runtime/define property getters","webpack://Typesense/webpack/runtime/hasOwnProperty shorthand","webpack://Typesense/webpack/runtime/make namespace object","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://Typesense/./src/Typesense/Errors/TypesenseError.ts","webpack://Typesense/./src/Typesense/Errors/MissingConfigurationError.ts","webpack://Typesense/./src/Typesense/Configuration.ts","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://Typesense/./node_modules/axios/lib/helpers/bind.js","webpack://Typesense/./node_modules/axios/lib/utils.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosError.js","webpack://Typesense/./node_modules/axios/lib/helpers/toFormData.js","webpack://Typesense/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/helpers/buildURL.js","webpack://Typesense/./node_modules/axios/lib/core/InterceptorManager.js","webpack://Typesense/./node_modules/axios/lib/defaults/transitional.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/index.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://Typesense/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://Typesense/./node_modules/axios/lib/platform/common/utils.js","webpack://Typesense/./node_modules/axios/lib/platform/index.js","webpack://Typesense/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://Typesense/./node_modules/axios/lib/defaults/index.js","webpack://Typesense/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://Typesense/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://Typesense/./node_modules/axios/lib/core/transformData.js","webpack://Typesense/./node_modules/axios/lib/cancel/isCancel.js","webpack://Typesense/./node_modules/axios/lib/cancel/CanceledError.js","webpack://Typesense/./node_modules/axios/lib/core/settle.js","webpack://Typesense/./node_modules/axios/lib/helpers/speedometer.js","webpack://Typesense/./node_modules/axios/lib/helpers/progressEventReducer.js","webpack://Typesense/./node_modules/axios/lib/helpers/throttle.js","webpack://Typesense/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://Typesense/./node_modules/axios/lib/helpers/cookies.js","webpack://Typesense/./node_modules/axios/lib/core/buildFullPath.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://Typesense/./node_modules/axios/lib/helpers/combineURLs.js","webpack://Typesense/./node_modules/axios/lib/core/mergeConfig.js","webpack://Typesense/./node_modules/axios/lib/helpers/resolveConfig.js","webpack://Typesense/./node_modules/axios/lib/adapters/xhr.js","webpack://Typesense/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://Typesense/./node_modules/axios/lib/helpers/composeSignals.js","webpack://Typesense/./node_modules/axios/lib/helpers/trackStream.js","webpack://Typesense/./node_modules/axios/lib/adapters/fetch.js","webpack://Typesense/./node_modules/axios/lib/adapters/adapters.js","webpack://Typesense/./node_modules/axios/lib/helpers/null.js","webpack://Typesense/./node_modules/axios/lib/core/dispatchRequest.js","webpack://Typesense/./node_modules/axios/lib/env/data.js","webpack://Typesense/./node_modules/axios/lib/helpers/validator.js","webpack://Typesense/./node_modules/axios/lib/core/Axios.js","webpack://Typesense/./node_modules/axios/lib/cancel/CancelToken.js","webpack://Typesense/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://Typesense/./node_modules/axios/lib/axios.js","webpack://Typesense/./node_modules/axios/lib/helpers/spread.js","webpack://Typesense/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://Typesense/./src/Typesense/Errors/RequestMalformed.ts","webpack://Typesense/./src/Typesense/Errors/RequestUnauthorized.ts","webpack://Typesense/./src/Typesense/Errors/ObjectNotFound.ts","webpack://Typesense/./src/Typesense/Errors/ObjectAlreadyExists.ts","webpack://Typesense/./src/Typesense/Errors/ObjectUnprocessable.ts","webpack://Typesense/./src/Typesense/Errors/ServerError.ts","webpack://Typesense/./src/Typesense/Errors/HTTPError.ts","webpack://Typesense/./src/Typesense/ApiCall.ts","webpack://Typesense/./src/Typesense/Collections.ts","webpack://Typesense/./src/Typesense/Errors/ImportError.ts","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://Typesense/./src/Typesense/RequestWithCache.ts","webpack://Typesense/./src/Typesense/SearchOnlyDocuments.ts","webpack://Typesense/./src/Typesense/Documents.ts","webpack://Typesense/./src/Typesense/Overrides.ts","webpack://Typesense/./src/Typesense/Override.ts","webpack://Typesense/./src/Typesense/Synonyms.ts","webpack://Typesense/./src/Typesense/Synonym.ts","webpack://Typesense/./src/Typesense/Document.ts","webpack://Typesense/./src/Typesense/Collection.ts","webpack://Typesense/./src/Typesense/Aliases.ts","webpack://Typesense/./src/Typesense/Alias.ts","webpack://Typesense/./src/Typesense/Keys.ts","webpack://Typesense/./src/Typesense/Key.ts","webpack://Typesense/./src/Typesense/Debug.ts","webpack://Typesense/./src/Typesense/Metrics.ts","webpack://Typesense/./src/Typesense/Stats.ts","webpack://Typesense/./src/Typesense/Health.ts","webpack://Typesense/./src/Typesense/Operations.ts","webpack://Typesense/./src/Typesense/MultiSearch.ts","webpack://Typesense/./src/Typesense/Presets.ts","webpack://Typesense/./src/Typesense/Preset.ts","webpack://Typesense/./src/Typesense/AnalyticsRules.ts","webpack://Typesense/./src/Typesense/AnalyticsRule.ts","webpack://Typesense/./src/Typesense/AnalyticsEvents.ts","webpack://Typesense/./src/Typesense/Analytics.ts","webpack://Typesense/./src/Typesense/Stopwords.ts","webpack://Typesense/./src/Typesense/Stopword.ts","webpack://Typesense/./src/Typesense/ConversationModels.ts","webpack://Typesense/./src/Typesense/ConversationModel.ts","webpack://Typesense/./src/Typesense/Conversations.ts","webpack://Typesense/./src/Typesense/Conversation.ts","webpack://Typesense/./src/Typesense/Client.ts","webpack://Typesense/./src/Typesense/SearchOnlyCollection.ts","webpack://Typesense/./src/Typesense/SearchClient.ts","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://Typesense/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://Typesense/./src/Typesense.ts"],"sourcesContent":["/*\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 var _loggersByName = {};\n var defaultLogger = null;\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() {\n /*jshint validthis:true */\n var level = this.getLevel();\n\n // Replace the actual methods.\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, this.name);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n\n // Return any important warnings.\n if (typeof console === undefinedType && level < this.levels.SILENT) {\n return \"No console available for logging\";\n }\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) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this);\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, factory) {\n // Private instance variables.\n var self = this;\n /**\n * The level inherited from a parent logger (or a global default). We\n * cache this here rather than delegating to the parent so that it stays\n * in sync with the actual logging methods that we have installed (the\n * parent could change levels but we might not have rebuilt the loggers\n * in this child yet).\n * @type {number}\n */\n var inheritedLevel;\n /**\n * The default level for this logger, if any. If set, this overrides\n * `inheritedLevel`.\n * @type {number|null}\n */\n var defaultLevel;\n /**\n * A user-specific level for this logger. If set, this overrides\n * `defaultLevel`.\n * @type {number|null}\n */\n var userLevel;\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 cookieName = encodeURIComponent(storageKey);\n var location = cookie.indexOf(cookieName + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(\n cookie.slice(location + cookieName.length + 1)\n )[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 } 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 function normalizeLevel(input) {\n var level = input;\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 return level;\n } else {\n throw new TypeError(\"log.setLevel() called with invalid level: \" + input);\n }\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 if (userLevel != null) {\n return userLevel;\n } else if (defaultLevel != null) {\n return defaultLevel;\n } else {\n return inheritedLevel;\n }\n };\n\n self.setLevel = function (level, persist) {\n userLevel = normalizeLevel(level);\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(userLevel);\n }\n\n // NOTE: in v2, this should call rebuild(), which updates children.\n return replaceLoggingMethods.call(self);\n };\n\n self.setDefaultLevel = function (level) {\n defaultLevel = normalizeLevel(level);\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.resetLevel = function () {\n userLevel = null;\n clearPersistedLevel();\n replaceLoggingMethods.call(self);\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 self.rebuild = function () {\n if (defaultLogger !== self) {\n inheritedLevel = normalizeLevel(defaultLogger.getLevel());\n }\n replaceLoggingMethods.call(self);\n\n if (defaultLogger === self) {\n for (var childName in _loggersByName) {\n _loggersByName[childName].rebuild();\n }\n }\n };\n\n // Initialize all the internal levels.\n inheritedLevel = normalizeLevel(\n defaultLogger ? defaultLogger.getLevel() : \"WARN\"\n );\n var initialLevel = getPersistedLevel();\n if (initialLevel != null) {\n userLevel = normalizeLevel(initialLevel);\n }\n replaceLoggingMethods.call(self);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n defaultLogger = new Logger();\n\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,\n defaultLogger.methodFactory\n );\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","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 e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw new Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\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))","// 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};","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(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\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 _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n try {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n } catch (e) {\n return typeof fn === \"function\";\n }\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\n}","export default class TypesenseError extends Error {\n httpStatus?: number;\n\n // Source: https://stackoverflow.com/a/58417721/123545\n constructor(message?: string) {\n super(message);\n this.name = new.target.name;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class MissingConfigurationError extends TypesenseError {}\n","import * as logger from \"loglevel\";\nimport { Logger, LogLevelDesc } from \"loglevel\";\nimport { MissingConfigurationError } from \"./Errors\";\nimport type { Agent as HTTPAgent } from \"http\";\nimport type { Agent as HTTPSAgent } from \"https\";\n\nexport interface NodeConfiguration {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n url?: string;\n}\n\nexport interface NodeConfigurationWithHostname {\n host: string;\n port: number;\n protocol: string;\n path?: string;\n}\n\nexport interface NodeConfigurationWithUrl {\n url: string;\n}\n\nexport interface ConfigurationOptions {\n apiKey: string;\n nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n randomizeNodes?: boolean;\n /**\n * @deprecated\n * masterNode is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n masterNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n /**\n * @deprecated\n * readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12'\n */\n readReplicaNodes?:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n connectionTimeoutSeconds?: number;\n timeoutSeconds?: number;\n healthcheckIntervalSeconds?: number;\n numRetries?: number;\n retryIntervalSeconds?: number;\n sendApiKeyAsQueryParam?: boolean | undefined;\n useServerSideSearchCache?: boolean;\n cacheSearchResultsForSeconds?: number;\n additionalHeaders?: Record;\n\n logLevel?: LogLevelDesc;\n logger?: Logger;\n\n /**\n * Set a custom HTTP Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPAgent } = require(\"http\");\n * ...\n * httpAgent: new HTTPAgent({ keepAlive: true }),\n * @type {HTTPAgent}\n */\n httpAgent?: HTTPAgent;\n\n /**\n * Set a custom HTTPS Agent\n *\n * This is helpful for eg, to enable keepAlive which helps prevents ECONNRESET socket hang up errors\n * Usage:\n * const { Agent: HTTPSAgent } = require(\"https\");\n * ...\n * httpsAgent: new HTTPSAgent({ keepAlive: true }),\n * @type {HTTPSAgent}\n */\n httpsAgent?: HTTPSAgent;\n\n /**\n * Set a custom paramsSerializer\n *\n * See axios documentation for more information on how to use this parameter: https://axios-http.com/docs/req_config\n * This is helpful for handling React Native issues like this: https://github.com/axios/axios/issues/6102#issuecomment-2085301397\n * @type {any}\n */\n paramsSerializer?: any;\n}\n\nexport default class Configuration {\n readonly nodes:\n | NodeConfiguration[]\n | NodeConfigurationWithHostname[]\n | NodeConfigurationWithUrl[];\n readonly nearestNode?:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl;\n readonly connectionTimeoutSeconds: number;\n readonly healthcheckIntervalSeconds: number;\n readonly numRetries: number;\n readonly retryIntervalSeconds: number;\n readonly apiKey: string;\n readonly sendApiKeyAsQueryParam?: boolean;\n readonly cacheSearchResultsForSeconds: number;\n readonly useServerSideSearchCache: boolean;\n readonly logger: Logger;\n readonly logLevel: LogLevelDesc;\n readonly additionalHeaders?: Record;\n readonly httpAgent?: HTTPAgent;\n readonly httpsAgent?: HTTPSAgent;\n readonly paramsSerializer?: any;\n\n constructor(options: ConfigurationOptions) {\n this.nodes = options.nodes || [];\n this.nodes = this.nodes\n .map((node) => this.setDefaultPathInNode(node))\n .map((node) => this.setDefaultPortInNode(node))\n .map((node) => ({ ...node })) as NodeConfiguration[]; // Make a deep copy\n\n if (options.randomizeNodes == null) {\n options.randomizeNodes = true;\n }\n\n if (options.randomizeNodes === true) {\n this.shuffleArray(this.nodes);\n }\n\n this.nearestNode = options.nearestNode;\n this.nearestNode = this.setDefaultPathInNode(this.nearestNode);\n this.nearestNode = this.setDefaultPortInNode(this.nearestNode);\n\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\n this.apiKey = options.apiKey;\n this.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam; // We will set a default for this in Client and SearchClient\n\n this.cacheSearchResultsForSeconds =\n options.cacheSearchResultsForSeconds || 0; // Disable client-side cache by default\n this.useServerSideSearchCache = options.useServerSideSearchCache || false;\n\n this.logger = options.logger || logger;\n this.logLevel = options.logLevel || \"warn\";\n this.logger.setLevel(this.logLevel);\n\n this.additionalHeaders = options.additionalHeaders;\n\n this.httpAgent = options.httpAgent;\n this.httpsAgent = options.httpsAgent;\n\n this.paramsSerializer = options.paramsSerializer;\n\n this.showDeprecationWarnings(options);\n this.validate();\n }\n\n validate(): boolean {\n if (this.nodes == null || this.nodes.length === 0 || this.validateNodes()) {\n throw new MissingConfigurationError(\n \"Ensure that nodes[].protocol, nodes[].host and nodes[].port are set\",\n );\n }\n\n if (\n this.nearestNode != null &&\n this.isNodeMissingAnyParameters(this.nearestNode)\n ) {\n throw new MissingConfigurationError(\n \"Ensure that nearestNodes.protocol, nearestNodes.host and nearestNodes.port are set\",\n );\n }\n\n if (this.apiKey == null) {\n throw new MissingConfigurationError(\"Ensure that apiKey is set\");\n }\n\n return true;\n }\n\n private validateNodes(): boolean {\n return this.nodes.some((node) => {\n return this.isNodeMissingAnyParameters(node);\n });\n }\n\n private isNodeMissingAnyParameters(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl,\n ): boolean {\n return (\n ![\"protocol\", \"host\", \"port\", \"path\"].every((key) => {\n return node.hasOwnProperty(key);\n }) && node[\"url\"] == null\n );\n }\n\n private setDefaultPathInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (node != null && !node.hasOwnProperty(\"path\")) {\n node[\"path\"] = \"\";\n }\n return node;\n }\n\n private setDefaultPortInNode(\n node:\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined,\n ):\n | NodeConfiguration\n | NodeConfigurationWithHostname\n | NodeConfigurationWithUrl\n | undefined {\n if (\n node != null &&\n !node.hasOwnProperty(\"port\") &&\n node.hasOwnProperty(\"protocol\")\n ) {\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\n private showDeprecationWarnings(options: ConfigurationOptions): void {\n if (options.timeoutSeconds) {\n this.logger.warn(\n \"Deprecation warning: timeoutSeconds is now renamed to connectionTimeoutSeconds\",\n );\n }\n if (options.masterNode) {\n this.logger.warn(\n \"Deprecation warning: masterNode is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n if (options.readReplicaNodes) {\n this.logger.warn(\n \"Deprecation warning: readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12\",\n );\n }\n }\n\n private shuffleArray(array) {\n for (let i = array.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [array[i], array[j]] = [array[j], array[i]];\n }\n }\n}\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}","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\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 && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let 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 {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\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 *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\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 (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 const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\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 *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && 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 *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\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 *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap\n};\n","'use strict';\n\nimport utils from '../utils.js';\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 {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n 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: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\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 * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\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 */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n 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 *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\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 *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\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 *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\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\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\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 env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\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 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\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} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\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 *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn.apply(null, args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\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 const msie = platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let 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 const 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","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\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 *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default 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\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 *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\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 *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, 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(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const 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 withXSRFToken: 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 beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\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\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, 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 const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n 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(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, 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(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\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 (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : 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 const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst composeSignals = (signals, timeout) => {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (cancel) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = cancel instanceof Error ? cancel : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal &&\n (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort));\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = unsubscribe;\n\n return [signal, () => {\n timer && clearTimeout(timer);\n timer = null;\n }];\n}\n\nexport default composeSignals;\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize, encode) {\n for await (const chunk of iterable) {\n yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize);\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => {\n const iterator = readBytes(stream, chunkSize, encode);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst supportsRequestStream = isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n});\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n return (await new Request(body).arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ?\n composeSignals([signal, cancelToken], timeout) : [];\n\n let finished, request;\n\n const onFinish = () => {\n !finished && setTimeout(() => {\n composedSignal && composedSignal.unsubscribe();\n });\n\n finished = true;\n }\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush, encodeText);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = \"credentials\" in Request.prototype; \n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n isStreamResponse && onFinish();\n }, encodeText),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && onFinish();\n\n stopTimeout && stopTimeout();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n onFinish();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\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 *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(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 config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\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 config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.7.5\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\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 *\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 (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\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 *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(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 {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _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 const {transitional, paramsSerializer, headers} = config;\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 if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let 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 const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\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,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(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, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n 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\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const 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 */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\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\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\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 *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestMalformed extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class RequestUnauthorized extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectNotFound extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectAlreadyExists extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ObjectUnprocessable extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class ServerError extends TypesenseError {}\n","import TypesenseError from \"./TypesenseError\";\n\nexport default class HTTPError extends TypesenseError {}\n","import axios, { AxiosRequestConfig, AxiosResponse, Method } from \"axios\";\nimport { Logger } from \"loglevel\";\nimport {\n HTTPError,\n ObjectAlreadyExists,\n ObjectNotFound,\n ObjectUnprocessable,\n RequestMalformed,\n RequestUnauthorized,\n ServerError,\n} from \"./Errors\";\nimport TypesenseError from \"./Errors/TypesenseError\";\nimport Configuration, { NodeConfiguration } from \"./Configuration\";\nimport { Agent as HTTPAgent } from \"http\";\nimport { Agent as HTTPSAgent } from \"https\";\n\nconst APIKEYHEADERNAME = \"X-TYPESENSE-API-KEY\";\nconst HEALTHY = true;\nconst UNHEALTHY = false;\n\ninterface Node extends NodeConfiguration {\n isHealthy: boolean;\n index: string | number;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class ApiCall {\n private readonly apiKey: string;\n private readonly nodes: Node[];\n private readonly nearestNode: Node;\n private readonly connectionTimeoutSeconds: number;\n private readonly healthcheckIntervalSeconds: number;\n private readonly retryIntervalSeconds: number;\n private readonly sendApiKeyAsQueryParam?: boolean;\n private readonly numRetriesPerRequest: number;\n private readonly additionalUserHeaders?: Record;\n\n private readonly logger: Logger;\n private currentNodeIndex: number;\n\n constructor(private 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\n this.logger = this.configuration.logger;\n\n this.initializeMetadataForNodes();\n this.currentNodeIndex = -1;\n }\n\n async get(\n endpoint: string,\n queryParameters: any = {},\n {\n abortSignal = null,\n responseType = undefined,\n }: {\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n } = {},\n ): Promise {\n return this.performRequest(\"get\", endpoint, {\n queryParameters,\n abortSignal,\n responseType,\n });\n }\n\n async delete(endpoint: string, queryParameters: any = {}): Promise {\n return this.performRequest(\"delete\", endpoint, { queryParameters });\n }\n\n async post(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n additionalHeaders: any = {},\n ): Promise {\n return this.performRequest(\"post\", endpoint, {\n queryParameters,\n bodyParameters,\n additionalHeaders,\n });\n }\n\n async put(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"put\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async patch(\n endpoint: string,\n bodyParameters: any = {},\n queryParameters: any = {},\n ): Promise {\n return this.performRequest(\"patch\", endpoint, {\n queryParameters,\n bodyParameters,\n });\n }\n\n async performRequest(\n requestType: Method,\n endpoint: string,\n {\n queryParameters = null,\n bodyParameters = null,\n additionalHeaders = {},\n abortSignal = null,\n responseType = undefined,\n skipConnectionTimeout = false,\n enableKeepAlive = undefined,\n }: {\n queryParameters?: any;\n bodyParameters?: any;\n additionalHeaders?: any;\n abortSignal?: any;\n responseType?: AxiosRequestConfig[\"responseType\"] | undefined;\n skipConnectionTimeout?: boolean;\n enableKeepAlive?: boolean | undefined;\n },\n ): Promise {\n this.configuration.validate();\n\n const requestNumber = Date.now();\n let lastException;\n this.logger.debug(\n `Request #${requestNumber}: Performing ${requestType.toUpperCase()} request: ${endpoint}`,\n );\n for (\n let numTries = 1;\n numTries <= this.numRetriesPerRequest + 1;\n numTries++\n ) {\n const node = this.getNextNode(requestNumber);\n this.logger.debug(\n `Request #${requestNumber}: Attempting ${requestType.toUpperCase()} request Try #${numTries} to Node ${\n node.index\n }`,\n );\n\n if (abortSignal && abortSignal.aborted) {\n return Promise.reject(new Error(\"Request aborted by caller.\"));\n }\n\n let abortListener;\n\n try {\n const requestOptions: AxiosRequestConfig = {\n method: requestType,\n url: this.uriFor(endpoint, node),\n headers: Object.assign(\n {},\n this.defaultHeaders(),\n additionalHeaders,\n this.additionalUserHeaders,\n ),\n maxContentLength: Infinity,\n maxBodyLength: Infinity,\n responseType,\n validateStatus: (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 (data, headers) => {\n let transformedData = data;\n if (\n headers !== undefined &&\n typeof data === \"string\" &&\n headers[\"content-type\"] &&\n headers[\"content-type\"].startsWith(\"application/json\")\n ) {\n transformedData = JSON.parse(data);\n }\n return transformedData;\n },\n ],\n };\n\n if (skipConnectionTimeout !== true) {\n requestOptions.timeout = this.connectionTimeoutSeconds * 1000;\n }\n\n if (queryParameters && Object.keys(queryParameters).length !== 0) {\n requestOptions.params = queryParameters;\n }\n\n if (this.sendApiKeyAsQueryParam) {\n requestOptions.params = requestOptions.params || {};\n requestOptions.params[\"x-typesense-api-key\"] = this.apiKey;\n }\n\n if (this.configuration.httpAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpAgent`,\n );\n requestOptions.httpAgent = this.configuration.httpAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling KeepAlive`);\n requestOptions.httpAgent = new HTTPAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.httpsAgent) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom httpsAgent`,\n );\n requestOptions.httpsAgent = this.configuration.httpsAgent;\n } else if (enableKeepAlive === true) {\n if (!isNodeJSEnvironment) {\n this.logger.warn(\n `Request #${requestNumber}: Cannot use custom httpAgent in a browser environment to enable keepAlive`,\n );\n } else {\n this.logger.debug(`Request #${requestNumber}: Enabling keepAlive`);\n requestOptions.httpsAgent = new HTTPSAgent({ keepAlive: true });\n }\n }\n\n if (this.configuration.paramsSerializer) {\n this.logger.debug(\n `Request #${requestNumber}: Using custom paramsSerializer`,\n );\n requestOptions.paramsSerializer = this.configuration.paramsSerializer;\n }\n\n if (\n bodyParameters &&\n ((typeof bodyParameters === \"string\" &&\n bodyParameters.length !== 0) ||\n (typeof bodyParameters === \"object\" &&\n Object.keys(bodyParameters).length !== 0))\n ) {\n requestOptions.data = bodyParameters;\n }\n\n // Translate from user-provided AbortController to the Axios request cancel mechanism.\n if (abortSignal) {\n const cancelToken = axios.CancelToken;\n const source = cancelToken.source();\n abortListener = () => source.cancel();\n abortSignal.addEventListener(\"abort\", abortListener);\n requestOptions.cancelToken = source.token;\n }\n\n const response = await axios(requestOptions);\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.setNodeHealthcheck(node, HEALTHY);\n }\n this.logger.debug(\n `Request #${requestNumber}: Request to Node ${node.index} was made. Response Code was ${response.status}.`,\n );\n\n if (response.status >= 200 && response.status < 300) {\n // If response is 2xx return a resolved promise\n return Promise.resolve(response.data);\n } else if (response.status < 500) {\n // Next, if response is anything but 5xx, don't retry, return a custom error\n return Promise.reject(\n this.customErrorForResponse(response, response.data?.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.customErrorForResponse(response, response.data?.message);\n }\n } catch (error: any) {\n // This block handles retries for HTTPStatus > 500 and network layer issues like connection timeouts\n this.setNodeHealthcheck(node, UNHEALTHY);\n lastException = error;\n this.logger.warn(\n `Request #${requestNumber}: Request to Node ${\n node.index\n } failed due to \"${error.code} ${error.message}${\n error.response == null\n ? \"\"\n : \" - \" + JSON.stringify(error.response?.data)\n }\"`,\n );\n // this.logger.debug(error.stack)\n this.logger.warn(\n `Request #${requestNumber}: Sleeping for ${this.retryIntervalSeconds}s and then retrying request...`,\n );\n await this.timer(this.retryIntervalSeconds);\n } finally {\n if (abortSignal && abortListener) {\n abortSignal.removeEventListener(\"abort\", abortListener);\n }\n }\n }\n this.logger.debug(\n `Request #${requestNumber}: No retries left. Raising last error`,\n );\n return Promise.reject(lastException);\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 getNextNode(requestNumber = 0): Node {\n // Check if nearestNode is set and is healthy, if so return it\n if (this.nearestNode != null) {\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: Node ${\n this.nearestNode.index\n } is ${this.nearestNode.isHealthy === true ? \"Healthy\" : \"Unhealthy\"}`,\n );\n if (\n this.nearestNode.isHealthy === true ||\n this.nodeDueForHealthcheck(this.nearestNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${this.nearestNode.index}`,\n );\n return this.nearestNode;\n }\n this.logger.debug(\n `Request #${requestNumber}: Falling back to individual nodes`,\n );\n }\n\n // Fallback to nodes as usual\n this.logger.debug(\n `Request #${requestNumber}: Nodes Health: ${this.nodes\n .map(\n (node) =>\n `Node ${node.index} is ${\n node.isHealthy === true ? \"Healthy\" : \"Unhealthy\"\n }`,\n )\n .join(\" || \")}`,\n );\n let candidateNode: Node = this.nodes[0];\n for (let i = 0; i <= this.nodes.length; i++) {\n this.currentNodeIndex = (this.currentNodeIndex + 1) % this.nodes.length;\n candidateNode = this.nodes[this.currentNodeIndex];\n if (\n candidateNode.isHealthy === true ||\n this.nodeDueForHealthcheck(candidateNode, requestNumber)\n ) {\n this.logger.debug(\n `Request #${requestNumber}: Updated current node to Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\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(\n `Request #${requestNumber}: No healthy nodes were found. Returning the next node, Node ${candidateNode.index}`,\n );\n return candidateNode;\n }\n\n nodeDueForHealthcheck(node, requestNumber = 0): boolean {\n const isDueForHealthcheck =\n Date.now() - node.lastAccessTimestamp >\n this.healthcheckIntervalSeconds * 1000;\n if (isDueForHealthcheck) {\n this.logger.debug(\n `Request #${requestNumber}: Node ${node.index} has exceeded healtcheckIntervalSeconds of ${this.healthcheckIntervalSeconds}. Adding it back into rotation.`,\n );\n }\n return isDueForHealthcheck;\n }\n\n initializeMetadataForNodes(): void {\n if (this.nearestNode != null) {\n this.nearestNode.index = \"nearestNode\";\n this.setNodeHealthcheck(this.nearestNode, HEALTHY);\n }\n\n this.nodes.forEach((node, i) => {\n node.index = i;\n this.setNodeHealthcheck(node, HEALTHY);\n });\n }\n\n setNodeHealthcheck(node, isHealthy): void {\n node.isHealthy = isHealthy;\n node.lastAccessTimestamp = Date.now();\n }\n\n uriFor(endpoint: string, node): string {\n if (node.url != null) {\n return `${node.url}${endpoint}`;\n }\n return `${node.protocol}://${node.host}:${node.port}${node.path}${endpoint}`;\n }\n\n defaultHeaders(): any {\n const defaultHeaders = {};\n if (!this.sendApiKeyAsQueryParam) {\n defaultHeaders[APIKEYHEADERNAME] = this.apiKey;\n }\n defaultHeaders[\"Content-Type\"] = \"application/json\";\n return defaultHeaders;\n }\n\n async timer(seconds): Promise {\n return new Promise((resolve) => setTimeout(resolve, seconds * 1000));\n }\n\n customErrorForResponse(\n response: AxiosResponse,\n messageFromServer: string,\n ): TypesenseError {\n let errorMessage = `Request failed with HTTP code ${response.status}`;\n if (\n typeof messageFromServer === \"string\" &&\n messageFromServer.trim() !== \"\"\n ) {\n errorMessage += ` | Server said: ${messageFromServer}`;\n }\n\n let error = new TypesenseError(errorMessage);\n\n if (response.status === 400) {\n error = new RequestMalformed(errorMessage);\n } else if (response.status === 401) {\n error = new RequestUnauthorized(errorMessage);\n } else if (response.status === 404) {\n error = new ObjectNotFound(errorMessage);\n } else if (response.status === 409) {\n error = new ObjectAlreadyExists(errorMessage);\n } else if (response.status === 422) {\n error = new ObjectUnprocessable(errorMessage);\n } else if (response.status >= 500 && response.status <= 599) {\n error = new ServerError(errorMessage);\n } else {\n error = new HTTPError(errorMessage);\n }\n\n error.httpStatus = response.status;\n\n return error;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { CollectionFieldSchema, CollectionSchema } from \"./Collection\";\n\nexport interface CollectionCreateSchema {\n name: string;\n default_sorting_field?: string;\n fields?: CollectionFieldSchema[];\n symbols_to_index?: string[];\n token_separators?: string[];\n enable_nested_fields?: boolean;\n metadata?: object;\n voice_query_model?: {\n model_name?: string;\n };\n}\n\nexport interface CollectionCreateOptions {\n src_name?: string;\n}\n\nexport interface CollectionsRetrieveOptions {\n exclude_fields?: string;\n}\n\nconst RESOURCEPATH = \"/collections\";\n\nexport default class Collections {\n constructor(private apiCall: ApiCall) {}\n\n async create(\n schema: CollectionCreateSchema,\n options: CollectionCreateOptions = {},\n ): Promise {\n return this.apiCall.post(RESOURCEPATH, schema, options);\n }\n\n async retrieve(\n options: CollectionsRetrieveOptions = {},\n ): Promise {\n return this.apiCall.get(RESOURCEPATH, options);\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import TypesenseError from \"./TypesenseError\";\nimport { ImportResponse } from \"../Documents\";\n\nexport default class ImportError extends TypesenseError {\n importResults: ImportResponse[];\n constructor(message: string, importResults: ImportResponse[]) {\n super(message);\n this.importResults = importResults;\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 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}","const defaultCacheResponseForSeconds = 2 * 60;\nconst defaultMaxSize = 100;\n\nexport default class RequestWithCache {\n private responseCache: Map = new Map();\n private responsePromiseCache: Map = new Map();\n\n clearCache() {\n this.responseCache = new Map();\n this.responsePromiseCache = new Map();\n }\n\n // Todo: should probably be passed a callback instead, or an apiCall instance. Types are messy this way\n async perform(\n requestContext: any,\n requestFunction: (...params: any) => unknown,\n requestFunctionArguments: any[],\n cacheOptions: CacheOptions\n ): Promise {\n const {\n cacheResponseForSeconds = defaultCacheResponseForSeconds,\n maxSize = defaultMaxSize,\n } = cacheOptions;\n const isCacheDisabled = cacheResponseForSeconds <= 0 || maxSize <= 0;\n\n if (isCacheDisabled) {\n return requestFunction.call(requestContext, ...requestFunctionArguments);\n }\n\n const requestFunctionArgumentsJSON = JSON.stringify(\n requestFunctionArguments\n );\n const cacheEntry = this.responseCache.get(requestFunctionArgumentsJSON);\n const now = Date.now();\n\n if (cacheEntry) {\n const isEntryValid =\n now - cacheEntry.requestTimestamp < cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n this.responseCache.set(requestFunctionArgumentsJSON, cacheEntry);\n return Promise.resolve(cacheEntry.response);\n } else {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n\n const cachePromiseEntry = this.responsePromiseCache.get(\n requestFunctionArgumentsJSON\n );\n\n if (cachePromiseEntry) {\n const isEntryValid =\n now - cachePromiseEntry.requestTimestamp <\n cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n this.responsePromiseCache.set(\n requestFunctionArgumentsJSON,\n cachePromiseEntry\n );\n return cachePromiseEntry.responsePromise;\n } else {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n\n const responsePromise = requestFunction.call(\n requestContext,\n ...requestFunctionArguments\n );\n this.responsePromiseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n responsePromise,\n });\n\n const response = await responsePromise;\n this.responseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n response,\n });\n\n const isCacheOverMaxSize = this.responseCache.size > maxSize;\n if (isCacheOverMaxSize) {\n const oldestEntry = this.responseCache.keys().next().value;\n this.responseCache.delete(oldestEntry);\n }\n const isResponsePromiseCacheOverMaxSize =\n this.responsePromiseCache.size > maxSize;\n if (isResponsePromiseCacheOverMaxSize) {\n const oldestEntry = this.responsePromiseCache.keys().next().value;\n this.responsePromiseCache.delete(oldestEntry);\n }\n return response as T;\n }\n}\n\ninterface CacheOptions {\n cacheResponseForSeconds?: number;\n maxSize?: number;\n}\n","import RequestWithCache from \"./RequestWithCache\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport Collections from \"./Collections\";\nimport type {\n DocumentSchema,\n SearchableDocuments,\n SearchOptions,\n SearchParams,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\n\nconst RESOURCEPATH = \"/documents\";\n\nexport class SearchOnlyDocuments\n implements SearchableDocuments\n{\n protected requestWithCache: RequestWithCache = new RequestWithCache();\n\n constructor(\n protected collectionName: string,\n protected apiCall: ApiCall,\n protected configuration: Configuration\n ) {}\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n abortSignal = null,\n }: SearchOptions = {}\n ): Promise> {\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n for (const key in searchParameters) {\n if (Array.isArray(searchParameters[key])) {\n additionalQueryParams[key] = searchParameters[key].join(\",\");\n }\n }\n const queryParams = Object.assign(\n {},\n searchParameters,\n additionalQueryParams\n );\n\n return this.requestWithCache.perform(\n this.apiCall,\n this.apiCall.get,\n [this.endpointPath(\"search\"), queryParams, { abortSignal }],\n {\n cacheResponseForSeconds: cacheSearchResultsForSeconds,\n }\n ) as Promise>;\n }\n\n protected endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + operation\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import type { ReadStream } from \"fs\";\nimport ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport { ImportError } from \"./Errors\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\n// Todo: use generic to extract filter_by values\nexport interface DeleteQuery {\n filter_by?: string;\n batch_size?: number;\n ignore_not_found?: boolean;\n}\n\nexport interface DeleteResponse {\n num_deleted: number;\n}\n\ninterface ImportResponseSuccess {\n success: true;\n}\n\nexport interface ImportResponseFail {\n success: false;\n error: string;\n document: DocumentSchema;\n code: number;\n}\n\nexport type ImportResponse = ImportResponseSuccess | ImportResponseFail;\n\nexport type DocumentSchema = Record;\n\nexport interface SearchParamsWithPreset extends Partial {\n preset: string;\n}\n\ntype DropTokensMode =\n | \"right_to_left\"\n | \"left_to_right\"\n | \"both_sides:3\";\n\ntype OperationMode = \"off\" | \"always\" | \"fallback\";\nexport interface SearchParams {\n // From https://typesense.org/docs/latest/api/documents.html#arguments\n q?: string;\n query_by?: string | string[];\n query_by_weights?: string | number[];\n prefix?: string | boolean | boolean[]; // default: true\n filter_by?: string;\n enable_lazy_filter?: boolean; // default: false\n sort_by?: string | string[]; // default: text match desc\n facet_by?: string | string[];\n max_facet_values?: number;\n facet_sample_threshold?: number;\n facet_sample_percent?: number;\n facet_query?: string;\n facet_query_num_typos?: number;\n facet_return_parent?: string;\n page?: number; // default: 1\n per_page?: number; // default: 10, max 250\n group_by?: string | string[];\n group_limit?: number; // default:\n group_missing_values?: boolean;\n include_fields?: string | string[];\n exclude_fields?: string | string[];\n highlight_fields?: string | string[]; // default: all queried fields\n highlight_full_fields?: string | string[]; // default: all fields\n highlight_affix_num_tokens?: number; // default: 4\n highlight_start_tag?: string; // default: \n highlight_end_tag?: string; // default: \n enable_highlight_v1?: boolean;\n snippet_threshold?: number; // default: 30\n num_typos?: string | number | number[]; // default: 2\n min_len_1typo?: number;\n min_len_2typo?: number;\n split_join_tokens?: OperationMode;\n exhaustive_search?: boolean;\n drop_tokens_threshold?: number; // default: 10\n drop_tokens_mode?: DropTokensMode;\n typo_tokens_threshold?: number; // default: 100\n pinned_hits?: string | string[];\n hidden_hits?: string | string[];\n limit_hits?: number; // default: no limit\n pre_segmented_query?: boolean;\n enable_overrides?: boolean;\n override_tags?: string | string[];\n prioritize_exact_match?: boolean; // default: true\n prioritize_token_position?: boolean;\n prioritize_num_matching_fields?: boolean;\n search_cutoff_ms?: number;\n use_cache?: boolean;\n max_candidates?: number;\n infix?: OperationMode | OperationMode[];\n preset?: string;\n text_match_type?: \"max_score\" | \"max_weight\";\n vector_query?: string;\n \"x-typesense-api-key\"?: string;\n \"x-typesense-user-id\"?: string;\n offset?: number;\n limit?: number;\n stopwords?: string;\n conversation?: boolean;\n conversation_model_id?: string;\n conversation_id?: string;\n voice_query?: string;\n}\n\ntype SearchResponseHighlightObject = {\n matched_tokens?: string[];\n snippet?: string;\n value?: string;\n};\n\nexport type SearchResponseHighlight = T extends string | number\n ? SearchResponseHighlightObject\n : {\n [TAttribute in keyof T]?: SearchResponseHighlight;\n };\n\nexport interface SearchResponseHit {\n curated?: true;\n highlights?: [\n {\n field: keyof T;\n snippet?: string;\n value?: string;\n snippets?: string[];\n indices?: number[];\n matched_tokens: string[][] | string[];\n },\n ];\n highlight: SearchResponseHighlight;\n document: T;\n text_match: number;\n text_match_info?: {\n best_field_score: string; // To prevent scores from being truncated by JSON spec\n best_field_weight: number;\n fields_matched: number;\n score: string; // To prevent scores from being truncated by JSON spec\n tokens_matched: number;\n };\n}\n\nexport interface SearchResponseFacetCountSchema {\n counts: {\n count: number;\n highlighted: string;\n value: string;\n }[];\n field_name: keyof T;\n stats: {\n avg?: number;\n max?: number;\n min?: number;\n sum?: number;\n };\n}\n\nexport interface SearchResponseRequestParams {\n collection_name?: string;\n q?: string;\n page?: number;\n per_page?: number;\n first_q?: string;\n voice_query?: {\n transcribed_query?: string;\n };\n}\n\n// Todo: we could infer whether this is a grouped response by adding the search params as a generic\nexport interface SearchResponse {\n facet_counts?: SearchResponseFacetCountSchema[];\n found: number;\n found_docs?: number;\n out_of: number;\n page: number;\n request_params: SearchResponseRequestParams;\n search_time_ms: number;\n search_cutoff?: boolean;\n hits?: SearchResponseHit[];\n grouped_hits?: {\n group_key: string[];\n hits: SearchResponseHit[];\n found?: number;\n }[];\n conversation?: {\n answer: string;\n conversation_history: {\n conversation: object[];\n id: string;\n last_updated: number;\n ttl: number;\n };\n conversation_id: string;\n query: string;\n };\n error?: string;\n code?: number;\n}\n\nexport interface DocumentWriteParameters {\n dirty_values?: \"coerce_or_reject\" | \"coerce_or_drop\" | \"drop\" | \"reject\";\n action?: \"create\" | \"update\" | \"upsert\" | \"emplace\";\n}\n\nexport interface UpdateByFilterParameters {\n filter_by?: string;\n}\n\nexport interface UpdateByFilterResponse {\n num_updated: number;\n}\n\nexport interface DocumentImportParameters extends DocumentWriteParameters {\n batch_size?: number;\n return_doc?: boolean;\n return_id?: boolean;\n}\n\nexport interface DocumentsExportParameters {\n filter_by?: string;\n include_fields?: string;\n exclude_fields?: string;\n}\n\nexport interface SearchableDocuments {\n search(\n searchParameters: SearchParams | SearchParamsWithPreset,\n options: SearchOptions,\n ): Promise>;\n clearCache(): void;\n}\n\nexport interface WriteableDocuments {\n create(document: T, options: DocumentWriteParameters): Promise;\n upsert(document: T, options: DocumentWriteParameters): Promise;\n update(document: T, options: DocumentWriteParameters): Promise;\n delete(query: DeleteQuery): Promise;\n import(\n documents: T[] | string,\n options: DocumentWriteParameters,\n ): Promise;\n export(options: DocumentsExportParameters): Promise;\n}\n\nexport interface SearchOptions {\n cacheSearchResultsForSeconds?: number;\n abortSignal?: AbortSignal | null;\n}\n\nconst isNodeJSEnvironment =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nexport default class Documents\n extends SearchOnlyDocuments\n implements WriteableDocuments\n{\n constructor(\n collectionName: string,\n apiCall: ApiCall,\n configuration: Configuration,\n ) {\n super(collectionName, apiCall, configuration);\n }\n\n async create(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(this.endpointPath(), document, options);\n }\n\n async upsert(document: T, options: DocumentWriteParameters = {}): Promise {\n if (!document) throw new Error(\"No document provided\");\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"upsert\" }),\n );\n }\n\n async update(\n document: T,\n options: UpdateByFilterParameters,\n ): Promise;\n async update(document: T, options: DocumentWriteParameters): Promise;\n async update(\n document: T,\n options: DocumentWriteParameters | UpdateByFilterParameters = {},\n ): Promise {\n if (!document) throw new Error(\"No document provided\");\n\n if (options[\"filter_by\"] != null) {\n return this.apiCall.patch(\n this.endpointPath(),\n document,\n Object.assign({}, options),\n );\n } else {\n return this.apiCall.post(\n this.endpointPath(),\n document,\n Object.assign({}, options, { action: \"update\" }),\n );\n }\n }\n\n async delete(\n query: DeleteQuery = {} as DeleteQuery,\n ): Promise {\n return this.apiCall.delete(this.endpointPath(), query);\n }\n\n async createMany(documents: T[], options: DocumentImportParameters = {}) {\n this.configuration.logger.warn(\n \"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 );\n return this.import(documents, options);\n }\n\n /**\n * Import a set of documents in a batch.\n * @param {string|Array} documents - Can be a JSONL string of documents or an array of document objects.\n * @param options\n * @return {string|Array} Returns a JSONL string if the input was a JSONL string, otherwise it returns an array of results.\n */\n async import(\n documents: string,\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[],\n options?: DocumentImportParameters,\n ): Promise;\n async import(\n documents: T[] | string,\n options: DocumentImportParameters = {},\n ): Promise {\n let documentsInJSONLFormat;\n if (Array.isArray(documents)) {\n try {\n documentsInJSONLFormat = documents\n .map((document) => JSON.stringify(document))\n .join(\"\\n\");\n } catch (error: any) {\n // if rangeerror, throw custom error message\n if (\n error instanceof RangeError &&\n error.message.includes(\"Too many properties to enumerate\")\n ) {\n throw new Error(`${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\n // else, throw the non-range error anyways\n throw new Error(error);\n }\n } else {\n documentsInJSONLFormat = documents;\n }\n\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n if (Array.isArray(documents)) {\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter(\n (r) => r.success === false,\n );\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n } else {\n return resultsInJSONLFormat as string;\n }\n }\n /**\n * Imports documents from a NodeJS readable stream of JSONL.\n */\n async importStream(\n readableStream: ReadStream,\n options: DocumentImportParameters = {},\n ): Promise {\n const resultsInJSONLFormat = await this.apiCall.performRequest(\n \"post\",\n this.endpointPath(\"import\"),\n {\n queryParameters: options,\n bodyParameters: readableStream,\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 enableKeepAlive: isNodeJSEnvironment ? true : false, // This is to prevent ECONNRESET socket hang up errors. Reference: https://github.com/axios/axios/issues/2936#issuecomment-779439991\n },\n );\n\n const resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map((r) => JSON.parse(r)) as ImportResponse[];\n const failedItems = resultsInJSONFormat.filter((r) => r.success === false);\n if (failedItems.length > 0) {\n throw new ImportError(\n `${\n resultsInJSONFormat.length - failedItems.length\n } documents imported successfully, ${\n failedItems.length\n } documents failed during import. Use \\`error.importResults\\` from the raised exception to get a detailed error reason for each document.`,\n resultsInJSONFormat,\n );\n } else {\n return resultsInJSONFormat;\n }\n }\n\n /**\n * Returns a JSONL string for all the documents in this collection\n */\n async export(options: DocumentsExportParameters = {}): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options);\n }\n\n /**\n * Returns a NodeJS readable stream of JSONL for all the documents in this collection.\n */\n async exportStream(\n options: DocumentsExportParameters = {},\n ): Promise {\n return this.apiCall.get(this.endpointPath(\"export\"), options, {\n responseType: \"stream\",\n });\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { OverrideSchema } from \"./Override\";\n\nconst RESOURCEPATH = \"/overrides\";\n\nexport interface OverrideRuleQuerySchema {\n query?: string;\n match?: \"exact\" | \"contains\";\n}\n\nexport interface OverrideRuleFilterSchema {\n filter_by?: string;\n}\n\nexport interface OverrideRuleTagsSchema {\n tags?: string[];\n}\n\nexport interface OverrideCreateSchema {\n rule: OverrideRuleQuerySchema &\n OverrideRuleFilterSchema &\n OverrideRuleTagsSchema;\n filter_by?: string;\n sort_by?: string;\n remove_matched_tokens?: boolean;\n replace_query?: string;\n includes?: Array<{\n id: string;\n position: number;\n }>;\n excludes?: Array<{ id: string }>;\n filter_curated_hits?: boolean;\n effective_from_ts?: number;\n effective_to_ts?: number;\n stop_processing?: boolean;\n metadata?: object;\n}\n\nexport interface OverridesRetrieveSchema {\n overrides: OverrideSchema[];\n}\n\nexport default class Overrides {\n constructor(\n private collectionName: string,\n private apiCall: ApiCall,\n ) {}\n\n async upsert(\n overrideId: string,\n params: OverrideCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(overrideId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Collections.RESOURCEPATH}/${this.collectionName}${\n Overrides.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Overrides, { OverrideCreateSchema } from \"./Overrides\";\n\nexport interface OverrideSchema extends OverrideCreateSchema {\n id: string;\n}\n\nexport interface OverrideDeleteSchema {\n id: string;\n}\n\nexport default class Override {\n constructor(\n private collectionName: string,\n private overrideId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Overrides.RESOURCEPATH}/${encodeURIComponent(this.overrideId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport { SynonymSchema } from \"./Synonym\";\n\nconst RESOURCEPATH = \"/synonyms\";\n\nexport interface SynonymCreateSchema {\n synonyms: string[];\n root?: string;\n locale?: string;\n symbols_to_index?: string[];\n}\n\nexport interface SynonymsRetrieveSchema {\n synonyms: SynonymSchema[];\n}\n\nexport default class Synonyms {\n constructor(private collectionName: string, private apiCall: ApiCall) {}\n\n async upsert(\n synonymId: string,\n params: SynonymCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(synonymId),\n params\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string) {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${\n Synonyms.RESOURCEPATH\n }${operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Synonyms, { SynonymCreateSchema } from \"./Synonyms\";\n\nexport interface SynonymSchema extends SynonymCreateSchema {\n id: string;\n}\n\nexport interface SynonymDeleteSchema {\n id: string;\n}\n\nexport default class Synonym {\n constructor(\n private collectionName: string,\n private synonymId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Synonyms.RESOURCEPATH}/${encodeURIComponent(this.synonymId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Documents, {\n DeleteQuery,\n DocumentSchema,\n DocumentWriteParameters,\n} from \"./Documents\";\n\nexport class Document {\n constructor(\n private collectionName: string,\n private documentId: string,\n private apiCall: ApiCall\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(options?: DeleteQuery): Promise {\n return this.apiCall.delete(this.endpointPath(), options);\n }\n\n async update(\n partialDocument: Partial,\n options: DocumentWriteParameters = {}\n ): Promise {\n return this.apiCall.patch(this.endpointPath(), partialDocument, options);\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.collectionName)}${Documents.RESOURCEPATH}/${encodeURIComponent(this.documentId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Collections, { CollectionCreateSchema } from \"./Collections\";\nimport Documents, { DocumentSchema } from \"./Documents\";\nimport { ObjectNotFound } from \"./Errors\";\nimport Overrides from \"./Overrides\";\nimport Override from \"./Override\";\nimport Synonyms from \"./Synonyms\";\nimport Synonym from \"./Synonym\";\nimport { Document } from \"./Document\";\n\nexport type FieldType =\n | \"string\"\n | \"int32\"\n | \"int64\"\n | \"float\"\n | \"bool\"\n | \"geopoint\"\n | \"geopoint[]\"\n | \"string[]\"\n | \"int32[]\"\n | \"int64[]\"\n | \"float[]\"\n | \"bool[]\"\n | \"object\"\n | \"object[]\"\n | \"auto\"\n | \"string*\"\n | \"image\";\n\nexport interface CollectionFieldSchema {\n name: string;\n type: FieldType;\n optional?: boolean;\n facet?: boolean;\n index?: boolean;\n sort?: boolean;\n locale?: string;\n infix?: boolean;\n stem?: boolean;\n num_dim?: number;\n store?: boolean;\n [t: string]: unknown;\n}\n\nexport interface CollectionSchema extends CollectionCreateSchema {\n created_at: number;\n num_documents: number;\n num_memory_shards: number;\n}\n\nexport interface CollectionDropFieldSchema {\n name: string;\n drop: true;\n}\n\nexport interface CollectionUpdateSchema\n extends Partial> {\n fields?: (CollectionFieldSchema | CollectionDropFieldSchema)[];\n}\n\nexport default class Collection {\n private readonly _documents: Documents;\n private individualDocuments: Record> = {};\n private readonly _overrides: Overrides;\n private individualOverrides: Record = {};\n private readonly _synonyms: Synonyms;\n private individualSynonyms: Record = {};\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any,\n ) {\n this.name = name;\n this.apiCall = apiCall;\n this.configuration = configuration;\n\n this._documents = new Documents(\n this.name,\n this.apiCall,\n this.configuration,\n );\n this._overrides = new Overrides(this.name, this.apiCall);\n this._synonyms = new Synonyms(this.name, this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(schema: CollectionUpdateSchema): Promise {\n return this.apiCall.patch(this.endpointPath(), schema);\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n async exists(): Promise {\n try {\n await this.retrieve();\n return true;\n } catch (e) {\n if (e instanceof ObjectNotFound) return false;\n throw e;\n }\n }\n\n documents(): Documents;\n documents(documentId: string): Document;\n documents(documentId?: string): Document | Documents {\n if (!documentId) {\n return this._documents;\n } else {\n if (this.individualDocuments[documentId] === undefined) {\n this.individualDocuments[documentId] = new Document(\n this.name,\n documentId,\n this.apiCall,\n );\n }\n return this.individualDocuments[documentId];\n }\n }\n\n overrides(): Overrides;\n overrides(overrideId: string): Override;\n overrides(overrideId?: string): Overrides | Override {\n if (overrideId === undefined) {\n return this._overrides;\n } else {\n if (this.individualOverrides[overrideId] === undefined) {\n this.individualOverrides[overrideId] = new Override(\n this.name,\n overrideId,\n this.apiCall,\n );\n }\n return this.individualOverrides[overrideId];\n }\n }\n\n synonyms(): Synonyms;\n synonyms(synonymId: string): Synonym;\n synonyms(synonymId?: string): Synonyms | Synonym {\n if (synonymId === undefined) {\n return this._synonyms;\n } else {\n if (this.individualSynonyms[synonymId] === undefined) {\n this.individualSynonyms[synonymId] = new Synonym(\n this.name,\n synonymId,\n this.apiCall,\n );\n }\n return this.individualSynonyms[synonymId];\n }\n }\n\n private endpointPath(): string {\n return `${Collections.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/aliases\";\n\nexport interface CollectionAliasCreateSchema {\n collection_name: string;\n}\n\nexport interface CollectionAliasSchema extends CollectionAliasCreateSchema {\n name: string;\n}\n\nexport interface CollectionAliasesResponseSchema {\n aliases: CollectionAliasSchema[];\n}\n\nexport default class Aliases {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n name: string,\n mapping: CollectionAliasCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(name),\n mapping\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n private endpointPath(aliasName): string {\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(aliasName)}`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import Aliases, { CollectionAliasSchema } from \"./Aliases\";\nimport ApiCall from \"./ApiCall\";\n\nexport default class Alias {\n constructor(private name: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Aliases.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import { createHmac } from \"crypto\";\nimport ApiCall from \"./ApiCall\";\nimport { KeyCreateSchema, KeySchema } from \"./Key\";\nimport { SearchParams } from \"./Documents\";\n\nconst RESOURCEPATH = \"/keys\";\n\nexport interface KeysRetrieveSchema {\n keys: KeySchema[];\n}\n\nexport interface GenerateScopedSearchKeyParams extends Partial {\n expires_at?: number;\n cache_ttl?: number;\n limit_multi_searches?: number;\n}\n\nexport default class Keys {\n constructor(private apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(params: KeyCreateSchema): Promise {\n return this.apiCall.post(Keys.RESOURCEPATH, params);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n generateScopedSearchKey(\n searchKey: string,\n parameters: GenerateScopedSearchKeyParams\n ): string {\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 const paramsJSON = JSON.stringify(parameters);\n const digest = Buffer.from(\n createHmac(\"sha256\", searchKey).update(paramsJSON).digest(\"base64\")\n );\n const keyPrefix = searchKey.substr(0, 4);\n const rawScopedKey = `${digest}${keyPrefix}${paramsJSON}`;\n\n return Buffer.from(rawScopedKey).toString(\"base64\");\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Keys from \"./Keys\";\n\nexport interface KeyCreateSchema {\n actions: string[];\n collections: string[];\n description?: string;\n value?: string;\n value_prefix?: string;\n expires_at?: number;\n}\n\nexport interface KeyDeleteSchema {\n id: number;\n}\n\nexport interface KeySchema extends KeyCreateSchema {\n id: number;\n}\n\nexport default class Key {\n constructor(private id: number, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Keys.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/debug\";\n\nexport interface DebugResponseSchema {\n state: number;\n version: string;\n}\n\nexport default class Debug {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/metrics.json\";\n\nexport interface MetricsResponse {\n [key: `system_cpu${number}_active_percentage`]: string;\n system_cpu_active_percentage: string;\n system_disk_total_bytes: string;\n system_disk_used_bytes: string;\n system_memory_total_bytes: string;\n system_memory_total_swap_bytes?: string;\n system_memory_used_bytes: string;\n system_memory_used_swap_bytes?: string;\n system_network_received_bytes: string;\n system_network_sent_bytes: string;\n typesense_memory_active_bytes: string;\n typesense_memory_allocated_bytes: string;\n typesense_memory_fragmentation_ratio: string;\n typesense_memory_mapped_bytes: string;\n typesense_memory_metadata_bytes: string;\n typesense_memory_resident_bytes: string;\n typesense_memory_retained_bytes: string;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/stats.json\";\n\nexport interface EndpointStats {\n [endpoint: string]: number;\n}\n\nexport interface StatsResponse {\n delete_latency_ms?: number;\n delete_requests_per_second?: number;\n import_latency_ms?: number;\n import_requests_per_second?: number;\n latency_ms?: EndpointStats;\n overloaded_requests_per_second?: number;\n pending_write_batches?: number;\n requests_per_second?: EndpointStats;\n search_latency_ms?: number;\n search_requests_per_second?: number;\n total_requests_per_second?: number;\n write_latency_ms?: number;\n write_requests_per_second?: number;\n}\n\nexport default class Metrics {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/health\";\n\nexport interface HealthResponse {\n ok: boolean;\n}\n\nexport default class Health {\n constructor(private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n}\n","import ApiCall from \"./ApiCall\";\n\nconst RESOURCEPATH = \"/operations\";\n\nexport default class Operations {\n constructor(private apiCall: ApiCall) {}\n\n async perform(\n operationName: \"vote\" | \"snapshot\" | \"cache/clear\" | string,\n queryParameters: Record = {}\n ): Promise {\n return this.apiCall.post(\n `${RESOURCEPATH}/${operationName}`,\n {},\n queryParameters\n );\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Configuration from \"./Configuration\";\nimport RequestWithCache from \"./RequestWithCache\";\nimport {\n DocumentSchema,\n SearchParams,\n SearchParamsWithPreset,\n SearchResponse,\n} from \"./Documents\";\n\nconst RESOURCEPATH = \"/multi_search\";\n\nexport interface MultiSearchRequestSchema extends SearchParams {\n collection?: string;\n \"x-typesense-api-key\"?: string;\n}\n\nexport interface MultiSearchRequestWithPresetSchema\n extends SearchParamsWithPreset {\n collection?: string;\n \"x-typesense-api-key\"?: string;\n}\n\nexport interface MultiSearchRequestsSchema {\n searches: (MultiSearchRequestSchema | MultiSearchRequestWithPresetSchema)[];\n}\n\nexport interface MultiSearchResponse {\n results: { [Index in keyof T]: SearchResponse } & {\n length: T[\"length\"];\n };\n}\n\nexport default class MultiSearch {\n private requestWithCache: RequestWithCache;\n\n constructor(\n private apiCall: ApiCall,\n private configuration: Configuration,\n private useTextContentType: boolean = false\n ) {\n this.requestWithCache = new RequestWithCache();\n }\n\n clearCache() {\n this.requestWithCache.clearCache();\n }\n\n async perform(\n searchRequests: MultiSearchRequestsSchema,\n commonParams: Partial = {},\n {\n cacheSearchResultsForSeconds = this.configuration\n .cacheSearchResultsForSeconds,\n }: { cacheSearchResultsForSeconds?: number } = {}\n ): Promise> {\n const additionalHeaders = {};\n if (this.useTextContentType) {\n additionalHeaders[\"content-type\"] = \"text/plain\";\n }\n\n const additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n const queryParams = Object.assign({}, commonParams, additionalQueryParams);\n\n return this.requestWithCache.perform(\n this.apiCall,\n this.apiCall.post,\n [RESOURCEPATH, searchRequests, queryParams, additionalHeaders],\n { cacheResponseForSeconds: cacheSearchResultsForSeconds }\n ) as Promise>;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { PresetSchema } from \"./Preset\";\nimport { SearchParams } from \"./Documents\";\nimport { MultiSearchRequestsSchema } from \"./MultiSearch\";\n\nconst RESOURCEPATH = \"/presets\";\n\nexport interface PresetCreateSchema {\n value: SearchParams | MultiSearchRequestsSchema;\n}\n\nexport interface PresetsRetrieveSchema {\n presets: PresetSchema[];\n}\n\nexport default class Presets {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n presetId: string,\n params: PresetCreateSchema\n ): Promise {\n return this.apiCall.put(this.endpointPath(presetId), params);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Presets.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Presets, { PresetCreateSchema } from \"./Presets\";\n\nexport interface PresetSchema extends PresetCreateSchema {\n name: string;\n}\n\nexport interface PresetDeleteSchema {\n name: string;\n}\n\nexport default class Preset {\n constructor(private presetId: string, private apiCall: ApiCall) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Presets.RESOURCEPATH}/${encodeURIComponent(this.presetId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n AnalyticsRuleCreateSchema,\n AnalyticsRuleSchema,\n} from \"./AnalyticsRule\";\n\nexport interface AnalyticsRulesRetrieveSchema {\n rules: AnalyticsRuleSchema[];\n}\n\nconst RESOURCEPATH = \"/analytics/rules\";\n\nexport default class AnalyticsRules {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async upsert(\n name: string,\n params: AnalyticsRuleCreateSchema\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(name),\n params\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsRules.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\n\nexport interface AnalyticsRuleCreateSchema {\n type: \"popular_queries\" | \"nohits_queries\" | \"counter\";\n params: {\n source: {\n collections: string[];\n events?: Array<{\n type: string;\n weight: number;\n name: string;\n }>;\n };\n expand_query?: boolean;\n destination: {\n collection: string;\n counter_field?: string;\n };\n limit?: number;\n };\n}\n\nexport interface AnalyticsRuleDeleteSchema {\n name: string;\n}\n\nexport interface AnalyticsRuleSchema extends AnalyticsRuleCreateSchema {\n name: string;\n}\n\nexport default class AnalyticsRule {\n constructor(\n private name: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${AnalyticsRules.RESOURCEPATH}/${encodeURIComponent(this.name)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { AnalyticsEventCreateSchema } from \"./AnalyticsEvent\";\n\nconst RESOURCEPATH = \"/analytics/events\";\n\nexport default class AnalyticsEvents {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: AnalyticsEventCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${AnalyticsEvents.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport AnalyticsRules from \"./AnalyticsRules\";\nimport AnalyticsRule from \"./AnalyticsRule\";\nimport AnalyticsEvents from \"./AnalyticsEvents\";\n\nconst RESOURCEPATH = \"/analytics\";\n\nexport default class Analytics {\n private readonly _analyticsRules: AnalyticsRules;\n private readonly individualAnalyticsRules: Record = {};\n private readonly _analyticsEvents: AnalyticsEvents;\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._analyticsRules = new AnalyticsRules(this.apiCall);\n this._analyticsEvents = new AnalyticsEvents(this.apiCall);\n }\n\n rules(id?: string): AnalyticsRules | AnalyticsRule {\n if (id === undefined) {\n return this._analyticsRules;\n } else {\n if (this.individualAnalyticsRules[id] === undefined) {\n this.individualAnalyticsRules[id] = new AnalyticsRule(id, this.apiCall);\n }\n return this.individualAnalyticsRules[id];\n }\n }\n\n events(): AnalyticsEvents {\n return this._analyticsEvents;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport { StopwordSchema } from \"./Stopword\";\n\nconst RESOURCEPATH = \"/stopwords\";\n\nexport interface StopwordCreateSchema {\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordsRetrieveSchema {\n stopwords: StopwordSchema[];\n}\n\nexport default class Stopwords {\n constructor(private apiCall: ApiCall) {}\n\n async upsert(\n stopwordId: string,\n params: StopwordCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(stopwordId),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n private endpointPath(operation?: string): string {\n return `${Stopwords.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH(): string {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Stopwords, { StopwordCreateSchema } from \"./Stopwords\";\n\nexport interface StopwordSchema extends StopwordCreateSchema {\n id: string;\n stopwords: string[];\n locale?: string;\n}\n\nexport interface StopwordDeleteSchema {\n id: string;\n}\n\nexport default class Stopword {\n constructor(\n private stopwordId: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Stopwords.RESOURCEPATH}/${encodeURIComponent(this.stopwordId)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport {\n ConversationModelCreateSchema,\n ConversationModelSchema,\n} from \"./ConversationModel\";\n\nconst RESOURCEPATH = \"/conversations/models\";\n\nexport default class ConversationModels {\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n }\n\n async create(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.post(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(\n this.endpointPath(),\n );\n }\n\n private endpointPath(operation?: string): string {\n return `${ConversationModels.RESOURCEPATH}${\n operation === undefined ? \"\" : \"/\" + encodeURIComponent(operation)\n }`;\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\n\nexport interface ConversationModelCreateSchema {\n id?: string;\n model_name: string;\n api_key?: string;\n system_prompt?: string;\n max_bytes: number;\n history_collection?: string;\n}\n\nexport interface ConversationModelDeleteSchema {\n id: string;\n}\n\nexport interface ConversationModelSchema extends ConversationModelCreateSchema {\n id: string;\n}\n\nexport default class ConversationModel {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async update(\n params: ConversationModelCreateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async delete(): Promise {\n return this.apiCall.delete(\n this.endpointPath(),\n );\n }\n\n private endpointPath(): string {\n return `${ConversationModels.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport ConversationModels from \"./ConversationModels\";\nimport ConversationModel from \"./ConversationModel\";\nimport { ConversationSchema } from \"./Conversation\";\n\nconst RESOURCEPATH = \"/conversations\";\n\nexport interface ConversationsRetrieveSchema {\n conversations: ConversationSchema[];\n}\n\nexport default class Conversations {\n private readonly _conversationsModels: ConversationModels;\n private readonly individualConversationModels: Record<\n string,\n ConversationModel\n > = {};\n\n constructor(private readonly apiCall: ApiCall) {\n this.apiCall = apiCall;\n this._conversationsModels = new ConversationModels(this.apiCall);\n }\n\n async retrieve(): Promise {\n return this.apiCall.get(RESOURCEPATH);\n }\n\n models(): ConversationModels;\n models(id: string): ConversationModel;\n models(id?: string): ConversationModels | ConversationModel {\n if (id === undefined) {\n return this._conversationsModels;\n } else {\n if (this.individualConversationModels[id] === undefined) {\n this.individualConversationModels[id] = new ConversationModel(\n id,\n this.apiCall,\n );\n }\n return this.individualConversationModels[id];\n }\n }\n\n static get RESOURCEPATH() {\n return RESOURCEPATH;\n }\n}\n","import ApiCall from \"./ApiCall\";\nimport Conversations from \"./Conversations\";\n\nexport interface ConversationDeleteSchema {\n id: number;\n}\n\nexport interface ConversationUpdateSchema {\n ttl: number;\n}\n\nexport interface ConversationSchema {\n id: number;\n conversation: object[];\n last_updated: number;\n ttl: number;\n}\n\nexport default class Conversation {\n constructor(\n private id: string,\n private apiCall: ApiCall,\n ) {}\n\n async retrieve(): Promise {\n return this.apiCall.get(this.endpointPath());\n }\n\n async update(\n params: ConversationUpdateSchema,\n ): Promise {\n return this.apiCall.put(\n this.endpointPath(),\n params,\n );\n }\n\n async delete(): Promise {\n return this.apiCall.delete(this.endpointPath());\n }\n\n private endpointPath(): string {\n return `${Conversations.RESOURCEPATH}/${encodeURIComponent(this.id)}`;\n }\n}\n","/* eslint-disable no-dupe-class-members */\n\nimport Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport Collections from \"./Collections\";\nimport Collection from \"./Collection\";\nimport Aliases from \"./Aliases\";\nimport Alias from \"./Alias\";\nimport Keys from \"./Keys\";\nimport Key from \"./Key\";\nimport Debug from \"./Debug\";\nimport Metrics from \"./Metrics\";\nimport Stats from \"./Stats\";\nimport Health from \"./Health\";\nimport Operations from \"./Operations\";\nimport MultiSearch from \"./MultiSearch\";\nimport Presets from \"./Presets\";\nimport Preset from \"./Preset\";\nimport Analytics from \"./Analytics\";\nimport Stopwords from \"./Stopwords\";\nimport Stopword from \"./Stopword\";\nimport Conversations from \"./Conversations\";\nimport Conversation from \"./Conversation\";\n\nexport default class Client {\n configuration: Configuration;\n apiCall: ApiCall;\n debug: Debug;\n metrics: Metrics;\n stats: Stats;\n health: Health;\n operations: Operations;\n multiSearch: MultiSearch;\n analytics: Analytics;\n private readonly _collections: Collections;\n private readonly individualCollections: Record;\n private readonly _aliases: Aliases;\n private readonly individualAliases: Record;\n private readonly _keys: Keys;\n private readonly individualKeys: Record;\n private readonly _presets: Presets;\n private readonly individualPresets: Record;\n private readonly _stopwords: Stopwords;\n private readonly individualStopwords: Record;\n private readonly _conversations: Conversations;\n private readonly individualConversations: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? false;\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.debug = new Debug(this.apiCall);\n this.metrics = new Metrics(this.apiCall);\n this.stats = new Stats(this.apiCall);\n this.health = new Health(this.apiCall);\n this.operations = new Operations(this.apiCall);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration);\n this._collections = new Collections(this.apiCall);\n this.individualCollections = {};\n this._aliases = new Aliases(this.apiCall);\n this.individualAliases = {};\n this._keys = new Keys(this.apiCall);\n this.individualKeys = {};\n this._presets = new Presets(this.apiCall);\n this.individualPresets = {};\n this._stopwords = new Stopwords(this.apiCall);\n this.individualStopwords = {};\n this.analytics = new Analytics(this.apiCall);\n this._conversations = new Conversations(this.apiCall);\n this.individualConversations = {};\n }\n\n collections(): Collections;\n collections = object>(\n collectionName: string,\n ): Collection;\n collections(collectionName?: string): Collections | Collection {\n if (collectionName === undefined) {\n return this._collections;\n } else {\n if (this.individualCollections[collectionName] === undefined) {\n this.individualCollections[collectionName] = new Collection(\n collectionName,\n this.apiCall,\n this.configuration,\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n\n aliases(): Aliases;\n aliases(aliasName: string): Alias;\n aliases(aliasName?: string): Aliases | Alias {\n if (aliasName === undefined) {\n return this._aliases;\n } else {\n if (this.individualAliases[aliasName] === undefined) {\n this.individualAliases[aliasName] = new Alias(aliasName, this.apiCall);\n }\n return this.individualAliases[aliasName];\n }\n }\n\n keys(): Keys;\n keys(id: number): Key;\n keys(id?: number): Keys | Key {\n if (id === undefined) {\n return this._keys;\n } else {\n if (this.individualKeys[id] === undefined) {\n this.individualKeys[id] = new Key(id, this.apiCall);\n }\n return this.individualKeys[id];\n }\n }\n\n presets(): Presets;\n presets(id: string): Preset;\n presets(id?: string): Presets | Preset {\n if (id === undefined) {\n return this._presets;\n } else {\n if (this.individualPresets[id] === undefined) {\n this.individualPresets[id] = new Preset(id, this.apiCall);\n }\n return this.individualPresets[id];\n }\n }\n\n stopwords(): Stopwords;\n stopwords(id: string): Stopword;\n stopwords(id?: string): Stopwords | Stopword {\n if (id === undefined) {\n return this._stopwords;\n } else {\n if (this.individualStopwords[id] === undefined) {\n this.individualStopwords[id] = new Stopword(id, this.apiCall);\n }\n return this.individualStopwords[id];\n }\n }\n\n conversations(): Conversations;\n conversations(id: string): Conversation;\n conversations(id?: string): Conversations | Conversation {\n if (id === undefined) {\n return this._conversations;\n } else {\n if (this.individualConversations[id] === undefined) {\n this.individualConversations[id] = new Conversation(id, this.apiCall);\n }\n return this.individualConversations[id];\n }\n }\n}\n","import { DocumentSchema, SearchableDocuments } from \"./Documents\";\nimport ApiCall from \"./ApiCall\";\nimport { SearchOnlyDocuments } from \"./SearchOnlyDocuments\";\n\nexport class SearchOnlyCollection {\n private readonly _documents: SearchableDocuments;\n\n constructor(\n private readonly name: string,\n private readonly apiCall: ApiCall,\n private readonly configuration: any\n ) {\n this._documents = new SearchOnlyDocuments(\n this.name,\n this.apiCall,\n this.configuration\n );\n }\n\n documents(): SearchableDocuments {\n return this._documents;\n }\n}\n","import Configuration, { ConfigurationOptions } from \"./Configuration\";\nimport ApiCall from \"./ApiCall\";\nimport MultiSearch from \"./MultiSearch\";\nimport { DocumentSchema } from \"./Documents\";\nimport { SearchOnlyCollection } from \"./SearchOnlyCollection\";\n\nexport default class SearchClient {\n public readonly multiSearch: MultiSearch;\n private readonly configuration: Configuration;\n private readonly apiCall: ApiCall;\n private readonly individualCollections: Record;\n\n constructor(options: ConfigurationOptions) {\n options.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam ?? true;\n if (\n options.sendApiKeyAsQueryParam === true &&\n (options.apiKey || \"\").length > 2000\n ) {\n console.warn(\n \"[typesense] API Key is longer than 2000 characters which is over the allowed limit, so disabling sending it as a query parameter.\"\n );\n options.sendApiKeyAsQueryParam = false;\n }\n\n this.configuration = new Configuration(options);\n this.apiCall = new ApiCall(this.configuration);\n this.multiSearch = new MultiSearch(this.apiCall, this.configuration, true);\n this.individualCollections = {};\n }\n\n clearCache() {\n this.multiSearch.clearCache();\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Object.entries(this.individualCollections).forEach(([_, collection]) => {\n collection.documents().clearCache();\n });\n }\n\n collections(\n collectionName: string\n ): SearchOnlyCollection | SearchOnlyCollection {\n if (!collectionName) {\n throw new Error(\n \"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(\n collectionName,\n this.apiCall,\n this.configuration\n );\n }\n return this.individualCollections[collectionName];\n }\n }\n}\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(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\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}","import Client from \"./Typesense/Client\";\nimport SearchClient from \"./Typesense/SearchClient\";\nimport * as Errors from \"./Typesense/Errors\";\n\nexport { Client, SearchClient, Errors };\nexport default { Client, SearchClient, Errors };\n"],"names":["root","definition","noop","undefinedType","isIE","window","navigator","test","userAgent","logMethods","_loggersByName","defaultLogger","bindMethod","obj","methodName","method","bind","Function","prototype","call","e","apply","arguments","traceForIE","console","log","trace","replaceLoggingMethods","level","this","getLevel","i","length","methodFactory","name","debug","levels","SILENT","enableLoggingWhenConsoleArrives","defaultMethodFactory","_level","_loggerName","undefined","realMethod","Logger","factory","inheritedLevel","defaultLevel","userLevel","self","storageKey","getPersistedLevel","storedLevel","localStorage","ignore","cookie","document","cookieName","encodeURIComponent","location","indexOf","exec","slice","normalizeLevel","input","toUpperCase","TypeError","setLevel","persist","levelNum","levelName","persistLevelIfPossible","setDefaultLevel","resetLevel","removeItem","clearPersistedLevel","enableAll","TRACE","disableAll","rebuild","childName","initialLevel","getLogger","logger","_log","noConflict","getLoggers","_typeof","_regeneratorRuntime","module","exports","__esModule","t","r","Object","n","hasOwnProperty","o","defineProperty","value","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","constructor","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","stop","rval","handle","complete","finish","delegateYield","runtime","regeneratorRuntime","accidentalStrictMode","globalThis","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","key","get","prop","_classCallCheck","instance","Constructor","toPropertyKey","toPrimitive","String","_defineProperties","target","props","descriptor","_createClass","protoProps","staticProps","_defineProperty","_assertThisInitialized","ReferenceError","_possibleConstructorReturn","_getPrototypeOf","_setPrototypeOf","_inherits","subClass","superClass","_isNativeReflectConstruct","Boolean","valueOf","Reflect","construct","_wrapNativeSuper","Class","_cache","Map","fn","toString","has","set","Wrapper","TypesenseError","_Error","message","_this","_callSuper","MissingConfigurationError","_TypesenseError","Configuration","options","nodes","map","node","setDefaultPathInNode","setDefaultPortInNode","_objectSpread","randomizeNodes","shuffleArray","nearestNode","connectionTimeoutSeconds","timeoutSeconds","healthcheckIntervalSeconds","numRetries","retryIntervalSeconds","apiKey","sendApiKeyAsQueryParam","cacheSearchResultsForSeconds","useServerSideSearchCache","logLevel","additionalHeaders","httpAgent","httpsAgent","paramsSerializer","showDeprecationWarnings","validate","validateNodes","isNodeMissingAnyParameters","_this2","some","every","warn","masterNode","readReplicaNodes","array","j","Math","floor","random","_ref","asyncGeneratorStep","gen","reject","_next","_throw","info","error","_asyncToGenerator","args","err","thisArg","kindOf","cache","thing","str","toLowerCase","kindOfTest","typeOfTest","isArray","Array","isUndefined","isArrayBuffer","isString","isFunction","isNumber","isObject","isPlainObject","val","isDate","isFile","isBlob","isFileList","isURLSearchParams","isReadableStream","isRequest","isResponse","isHeaders","allOwnKeys","getOwnPropertyNames","len","findKey","_key","_global","global","isContextDefined","context","isTypedArray","TypedArray","Uint8Array","isHTMLForm","isRegExp","reduceDescriptors","reducer","descriptors","getOwnPropertyDescriptors","reducedDescriptors","ret","defineProperties","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","isAsyncFn","_setImmediate","setImmediateSupported","setImmediate","postMessageSupported","postMessage","token","callbacks","addEventListener","source","data","shift","cb","setTimeout","asap","queueMicrotask","process","nextTick","isBuffer","isFormData","kind","FormData","append","isArrayBufferView","result","ArrayBuffer","isView","buffer","isBoolean","isStream","pipe","merge","caseless","assignValue","targetKey","extend","b","trim","replace","stripBOM","content","charCodeAt","inherits","superConstructor","assign","toFlatObject","sourceObj","destObj","filter","propFilter","merged","endsWith","searchString","position","lastIndex","toArray","arr","forEachEntry","pair","matchAll","regExp","matches","hasOwnProp","freezeMethods","toObjectSet","arrayOrString","delimiter","split","toCamelCase","m","p1","p2","toFiniteNumber","defaultValue","Number","isFinite","generateString","size","alphabet","isSpecCompliantForm","toJSONObject","stack","visit","reducedValue","isThenable","catch","AxiosError","code","config","request","response","captureStackTrace","status","utils","toJSON","description","number","fileName","lineNumber","columnNumber","from","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","path","dots","concat","join","predicates","formData","metaTokens","indexes","option","visitor","defaultVisitor","useBlob","Blob","convertValue","toISOString","Buffer","JSON","stringify","isFlatArray","el","index","exposedHelpers","build","encode","charMap","match","AxiosURLSearchParams","params","_pairs","encoder","_encode","buildURL","url","serializeFn","serialize","serializedParams","hashmarkIndex","handlers","use","fulfilled","rejected","synchronous","runWhen","eject","id","clear","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","isBrowser","classes","URLSearchParams","protocols","hasBrowserEnv","_navigator","hasStandardBrowserEnv","product","hasStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","origin","href","buildPath","isNumericKey","isLast","arrayToObject","entries","parsePropPath","defaults","transitional","adapter","transformRequest","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","setContentType","platform","helpers","isNode","toURLEncodedForm","formSerializer","_FormData","env","rawValue","parser","parse","stringifySafely","transformResponse","JSONRequested","responseType","strictJSONParsing","ERR_BAD_RESPONSE","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","ignoreDuplicateOf","$internals","normalizeHeader","header","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","rawHeaders","parsed","line","substring","parseHeaders","tokens","tokensRE","parseTokens","matcher","deleted","deleteHeader","normalize","format","normalized","w","char","formatHeader","targets","asStrings","first","computed","accessor","accessors","defineAccessor","accessorName","arg1","arg2","arg3","buildAccessors","mapped","headerValue","transformData","fns","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","settle","ERR_BAD_REQUEST","progressEventReducer","listener","isDownloadStream","freq","bytesNotified","_speedometer","samplesCount","min","bytes","timestamps","firstSampleTS","head","tail","chunkLength","now","Date","startedAt","bytesCount","passed","round","lastArgs","timer","timestamp","threshold","clearTimeout","loaded","total","lengthComputable","progressBytes","rate","progress","estimated","event","progressEventDecorator","throttled","asyncDecorator","msie","urlParsingNode","createElement","originURL","resolveURL","setAttribute","protocol","host","search","hash","hostname","port","pathname","requestURL","write","expires","domain","secure","toGMTString","read","RegExp","decodeURIComponent","remove","buildFullPath","baseURL","requestedURL","relativeURL","combineURLs","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","withCredentials","withXSRFToken","onUploadProgress","onDownloadProgress","decompress","beforeRedirect","transport","cancelToken","socketPath","responseEncoding","configValue","newConfig","auth","btoa","username","password","unescape","isURLSameOrigin","xsrfValue","cookies","XMLHttpRequest","_config","resolveConfig","requestData","requestHeaders","onCanceled","uploadThrottled","downloadThrottled","flushUpload","flushDownload","unsubscribe","signal","removeEventListener","onloadend","responseHeaders","getAllResponseHeaders","responseText","statusText","open","onreadystatechange","readyState","responseURL","onabort","ECONNABORTED","onerror","ERR_NETWORK","ontimeout","timeoutErrorMessage","ETIMEDOUT","setRequestHeader","upload","cancel","abort","subscribe","aborted","parseProtocol","send","signals","controller","AbortController","reason","streamChunk","chunk","chunkSize","byteLength","end","pos","trackStream","stream","onProgress","onFinish","iterable","readBytes","_onFinish","ReadableStream","pull","close","loadedBytes","enqueue","return","highWaterMark","isFetchSupported","fetch","Request","Response","isReadableStreamSupported","encodeText","TextEncoder","arrayBuffer","supportsRequestStream","duplexAccessed","hasContentType","body","duplex","supportsResponseStream","resolvers","res","_","ERR_NOT_SUPPORT","knownAdapters","http","xhr","fetchOptions","finished","composedSignal","stopTimeout","requestContentLength","getContentLength","getBodyLength","resolveBodyLength","contentTypeHeader","_request","flush","isCredentialsSupported","credentials","isStreamResponse","responseContentLength","responseData","renderReason","isResolvedHandle","adapters","nameOrAdapter","rejectedReasons","reasons","state","throwIfCancellationRequested","throwIfRequested","dispatchRequest","validators","deprecatedWarnings","validator","version","formatMessage","opt","desc","opts","ERR_DEPRECATED","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","Axios","instanceConfig","interceptors","configOrUrl","dummy","boolean","function","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","unshift","responseInterceptorChain","promise","chain","onFulfilled","onRejected","getUri","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","splice","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","axios","createInstance","defaultConfig","VERSION","toFormData","Cancel","all","promises","spread","callback","isAxiosError","payload","formToJSON","getAdapter","default","RequestMalformed","RequestUnauthorized","ObjectNotFound","ObjectAlreadyExists","ObjectUnprocessable","ServerError","HTTPError","HEALTHY","isNodeJSEnvironment","versions","ApiCall","configuration","numRetriesPerRequest","additionalUserHeaders","initializeMetadataForNodes","currentNodeIndex","_timer","_performRequest","_patch","_put","_post","_delete2","_get","_callee","endpoint","queryParameters","_ref$abortSignal","abortSignal","_ref$responseType","_args","_context","performRequest","_x","_callee2","_args2","_context2","_x2","_callee3","bodyParameters","_args3","_context3","_x3","_callee4","_args4","_context4","_x4","_callee5","_args5","_context5","_x5","_callee6","requestType","_ref2","_ref2$queryParameters","_ref2$bodyParameters","_ref2$additionalHeade","_ref2$abortSignal","_ref2$responseType","_ref2$skipConnectionT","skipConnectionTimeout","_ref2$enableKeepAlive","enableKeepAlive","requestNumber","lastException","_loop","_ret","numTries","_context7","abortListener","requestOptions","_response$data","_response$data2","_error$response","_context6","getNextNode","uriFor","defaultHeaders","Infinity","transformedData","startsWith","HTTPAgent","keepAlive","HTTPSAgent","setNodeHealthcheck","customErrorForResponse","t0","_x6","_x7","_x8","isHealthy","nodeDueForHealthcheck","candidateNode","isDueForHealthcheck","lastAccessTimestamp","_callee7","seconds","_context8","_x9","messageFromServer","errorMessage","httpStatus","RESOURCEPATH","Collections","apiCall","_retrieve","_create","post","ImportError","importResults","_arrayLikeToArray","arr2","_unsupportedIterableToArray","minLen","_toConsumableArray","iter","RequestWithCache","_perform","responseCache","responsePromiseCache","requestContext","requestFunction","requestFunctionArguments","cacheOptions","_cacheOptions$cacheRe","cacheResponseForSeconds","_cacheOptions$maxSize","maxSize","requestFunctionArgumentsJSON","cacheEntry","cachePromiseEntry","responsePromise","oldestEntry","_oldestEntry","requestTimestamp","delete","SearchOnlyDocuments","collectionName","_search","requestWithCache","clearCache","searchParameters","_ref$cacheSearchResul","additionalQueryParams","queryParams","perform","endpointPath","operation","Documents","_exportStream","_export2","_importStream","_import2","_createMany","_update","_upsert","action","patch","query","documents","import","documentsInJSONLFormat","resultsInJSONLFormat","resultsInJSONFormat","failedItems","_args6","RangeError","includes","success","readableStream","_args7","_callee8","_args8","_callee9","_args9","_context9","Overrides","overrideId","put","Override","Synonyms","synonymId","Synonym","Document","documentId","partialDocument","Collection","_documents","_overrides","_synonyms","_exists","retrieve","individualDocuments","individualOverrides","individualSynonyms","Aliases","mapping","aliasName","Alias","Keys","searchKey","parameters","paramsJSON","digest","createHmac","update","keyPrefix","substr","rawScopedKey","Key","Debug","Metrics","Health","Operations","operationName","MultiSearch","useTextContentType","searchRequests","commonParams","Presets","presetId","Preset","AnalyticsRules","AnalyticsRule","AnalyticsEvents","Analytics","_analyticsRules","_analyticsEvents","individualAnalyticsRules","Stopwords","stopwordId","Stopword","ConversationModels","ConversationModel","Conversations","_conversationsModels","individualConversationModels","Conversation","Client","_options$sendApiKeyAs","metrics","stats","Stats","health","operations","multiSearch","_collections","individualCollections","_aliases","individualAliases","_keys","individualKeys","_presets","individualPresets","_stopwords","individualStopwords","analytics","_conversations","individualConversations","SearchOnlyCollection","SearchClient","Errors"],"sourceRoot":""} \ No newline at end of file diff --git a/lib/Typesense/Alias.js b/lib/Typesense/Alias.js deleted file mode 100644 index 08cb130a..00000000 --- a/lib/Typesense/Alias.js +++ /dev/null @@ -1,30 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var Aliases_1 = tslib_1.__importDefault(require("./Aliases")); -var Alias = /** @class */ (function () { - function Alias(name, apiCall) { - this.name = name; - this.apiCall = apiCall; - } - Alias.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - Alias.prototype.delete = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.delete(this.endpointPath())]; - }); - }); - }; - Alias.prototype.endpointPath = function () { - return "".concat(Aliases_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.name)); - }; - return Alias; -}()); -exports.default = Alias; -//# sourceMappingURL=Alias.js.map \ No newline at end of file diff --git a/lib/Typesense/Alias.js.map b/lib/Typesense/Alias.js.map deleted file mode 100644 index 03fa9442..00000000 --- a/lib/Typesense/Alias.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Alias.js","sourceRoot":"","sources":["../../src/Typesense/Alias.ts"],"names":[],"mappings":";;;AAAA,8DAA2D;AAG3D;IACE,eAAoB,IAAY,EAAU,OAAgB;QAAtC,SAAI,GAAJ,IAAI,CAAQ;QAAU,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAExD,wBAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAwB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACrE;IAEK,sBAAM,GAAZ;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAwB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACxE;IAEO,4BAAY,GAApB;QACE,OAAO,UAAG,iBAAO,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAE,CAAC;IACpE,CAAC;IACH,YAAC;AAAD,CAAC,AAdD,IAcC"} \ No newline at end of file diff --git a/lib/Typesense/Aliases.js b/lib/Typesense/Aliases.js deleted file mode 100644 index ac647bc9..00000000 --- a/lib/Typesense/Aliases.js +++ /dev/null @@ -1,36 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var RESOURCEPATH = "/aliases"; -var Aliases = /** @class */ (function () { - function Aliases(apiCall) { - this.apiCall = apiCall; - } - Aliases.prototype.upsert = function (name, mapping) { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.put(this.endpointPath(name), mapping)]; - }); - }); - }; - Aliases.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(RESOURCEPATH)]; - }); - }); - }; - Aliases.prototype.endpointPath = function (aliasName) { - return "".concat(Aliases.RESOURCEPATH, "/").concat(encodeURIComponent(aliasName)); - }; - Object.defineProperty(Aliases, "RESOURCEPATH", { - get: function () { - return RESOURCEPATH; - }, - enumerable: false, - configurable: true - }); - return Aliases; -}()); -exports.default = Aliases; -//# sourceMappingURL=Aliases.js.map \ No newline at end of file diff --git a/lib/Typesense/Aliases.js.map b/lib/Typesense/Aliases.js.map deleted file mode 100644 index 9b3a301a..00000000 --- a/lib/Typesense/Aliases.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Aliases.js","sourceRoot":"","sources":["../../src/Typesense/Aliases.ts"],"names":[],"mappings":";;;AAEA,IAAM,YAAY,GAAG,UAAU,CAAC;AAchC;IACE,iBAAoB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAElC,wBAAM,GAAZ,UACE,IAAY,EACZ,OAAoC;;;gBAEpC,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CACrB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EACvB,OAAO,CACR,EAAC;;;KACH;IAEK,0BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAkC,YAAY,CAAC,EAAC;;;KACxE;IAEO,8BAAY,GAApB,UAAqB,SAAS;QAC5B,OAAO,UAAG,OAAO,CAAC,YAAY,cAAI,kBAAkB,CAAC,SAAS,CAAC,CAAE,CAAC;IACpE,CAAC;IAED,sBAAW,uBAAY;aAAvB;YACE,OAAO,YAAY,CAAC;QACtB,CAAC;;;OAAA;IACH,cAAC;AAAD,CAAC,AAxBD,IAwBC"} \ No newline at end of file diff --git a/lib/Typesense/AnalyticsEvents.js b/lib/Typesense/AnalyticsEvents.js deleted file mode 100644 index 9f8691a7..00000000 --- a/lib/Typesense/AnalyticsEvents.js +++ /dev/null @@ -1,30 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var RESOURCEPATH = "/analytics/events"; -var AnalyticsEvents = /** @class */ (function () { - function AnalyticsEvents(apiCall) { - this.apiCall = apiCall; - this.apiCall = apiCall; - } - AnalyticsEvents.prototype.create = function (params) { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.post(this.endpointPath(), params)]; - }); - }); - }; - AnalyticsEvents.prototype.endpointPath = function (operation) { - return "".concat(AnalyticsEvents.RESOURCEPATH).concat(operation === undefined ? "" : "/" + encodeURIComponent(operation)); - }; - Object.defineProperty(AnalyticsEvents, "RESOURCEPATH", { - get: function () { - return RESOURCEPATH; - }, - enumerable: false, - configurable: true - }); - return AnalyticsEvents; -}()); -exports.default = AnalyticsEvents; -//# sourceMappingURL=AnalyticsEvents.js.map \ No newline at end of file diff --git a/lib/Typesense/AnalyticsEvents.js.map b/lib/Typesense/AnalyticsEvents.js.map deleted file mode 100644 index 12348751..00000000 --- a/lib/Typesense/AnalyticsEvents.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AnalyticsEvents.js","sourceRoot":"","sources":["../../src/Typesense/AnalyticsEvents.ts"],"names":[],"mappings":";;;AAGA,IAAM,YAAY,GAAG,mBAAmB,CAAC;AAEzC;IACE,yBAA6B,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;QAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEK,gCAAM,GAAZ,UACE,MAAkC;;;gBAElC,sBAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CACtB,IAAI,CAAC,YAAY,EAAE,EACnB,MAAM,CACP,EAAC;;;KACH;IAEO,sCAAY,GAApB,UAAqB,SAAkB;QACrC,OAAO,UAAG,eAAe,CAAC,YAAY,SACpC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAClE,CAAC;IACL,CAAC;IAED,sBAAW,+BAAY;aAAvB;YACE,OAAO,YAAY,CAAC;QACtB,CAAC;;;OAAA;IACH,sBAAC;AAAD,CAAC,AAvBD,IAuBC"} \ No newline at end of file diff --git a/lib/Typesense/AnalyticsRule.js b/lib/Typesense/AnalyticsRule.js deleted file mode 100644 index 7155fe00..00000000 --- a/lib/Typesense/AnalyticsRule.js +++ /dev/null @@ -1,30 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var AnalyticsRules_1 = tslib_1.__importDefault(require("./AnalyticsRules")); -var AnalyticsRule = /** @class */ (function () { - function AnalyticsRule(name, apiCall) { - this.name = name; - this.apiCall = apiCall; - } - AnalyticsRule.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - AnalyticsRule.prototype.delete = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.delete(this.endpointPath())]; - }); - }); - }; - AnalyticsRule.prototype.endpointPath = function () { - return "".concat(AnalyticsRules_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.name)); - }; - return AnalyticsRule; -}()); -exports.default = AnalyticsRule; -//# sourceMappingURL=AnalyticsRule.js.map \ No newline at end of file diff --git a/lib/Typesense/AnalyticsRule.js.map b/lib/Typesense/AnalyticsRule.js.map deleted file mode 100644 index b2ea540f..00000000 --- a/lib/Typesense/AnalyticsRule.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AnalyticsRule.js","sourceRoot":"","sources":["../../src/Typesense/AnalyticsRule.ts"],"names":[],"mappings":";;;AACA,4EAA8C;AA8B9C;IACE,uBACU,IAAY,EACZ,OAAgB;QADhB,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAS;IACvB,CAAC;IAEE,gCAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAsB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACnE;IAEK,8BAAM,GAAZ;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAA4B,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KAC5E;IAEO,oCAAY,GAApB;QACE,OAAO,UAAG,wBAAc,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAE,CAAC;IAC3E,CAAC;IACH,oBAAC;AAAD,CAAC,AAjBD,IAiBC"} \ No newline at end of file diff --git a/lib/Typesense/AnalyticsRules.js b/lib/Typesense/AnalyticsRules.js deleted file mode 100644 index a4d8b9d4..00000000 --- a/lib/Typesense/AnalyticsRules.js +++ /dev/null @@ -1,37 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var RESOURCEPATH = "/analytics/rules"; -var AnalyticsRules = /** @class */ (function () { - function AnalyticsRules(apiCall) { - this.apiCall = apiCall; - this.apiCall = apiCall; - } - AnalyticsRules.prototype.upsert = function (name, params) { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.put(this.endpointPath(name), params)]; - }); - }); - }; - AnalyticsRules.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - AnalyticsRules.prototype.endpointPath = function (operation) { - return "".concat(AnalyticsRules.RESOURCEPATH).concat(operation === undefined ? "" : "/" + encodeURIComponent(operation)); - }; - Object.defineProperty(AnalyticsRules, "RESOURCEPATH", { - get: function () { - return RESOURCEPATH; - }, - enumerable: false, - configurable: true - }); - return AnalyticsRules; -}()); -exports.default = AnalyticsRules; -//# sourceMappingURL=AnalyticsRules.js.map \ No newline at end of file diff --git a/lib/Typesense/AnalyticsRules.js.map b/lib/Typesense/AnalyticsRules.js.map deleted file mode 100644 index b18a8b68..00000000 --- a/lib/Typesense/AnalyticsRules.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AnalyticsRules.js","sourceRoot":"","sources":["../../src/Typesense/AnalyticsRules.ts"],"names":[],"mappings":";;;AAUA,IAAM,YAAY,GAAG,kBAAkB,CAAC;AAExC;IACE,wBAA6B,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;QAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEK,+BAAM,GAAZ,UACE,IAAY,EACZ,MAAiC;;;gBAEjC,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CACrB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EACvB,MAAM,CACP,EAAC;;;KACH;IAEK,iCAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAA+B,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KAC5E;IAEO,qCAAY,GAApB,UAAqB,SAAkB;QACrC,OAAO,UAAG,cAAc,CAAC,YAAY,SACnC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAClE,CAAC;IACL,CAAC;IAED,sBAAW,8BAAY;aAAvB;YACE,OAAO,YAAY,CAAC;QACtB,CAAC;;;OAAA;IACH,qBAAC;AAAD,CAAC,AA5BD,IA4BC"} \ No newline at end of file diff --git a/lib/Typesense/Collection.js b/lib/Typesense/Collection.js deleted file mode 100644 index 81ae1a96..00000000 --- a/lib/Typesense/Collection.js +++ /dev/null @@ -1,108 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var Collections_1 = tslib_1.__importDefault(require("./Collections")); -var Documents_1 = tslib_1.__importDefault(require("./Documents")); -var Errors_1 = require("./Errors"); -var Overrides_1 = tslib_1.__importDefault(require("./Overrides")); -var Override_1 = tslib_1.__importDefault(require("./Override")); -var Synonyms_1 = tslib_1.__importDefault(require("./Synonyms")); -var Synonym_1 = tslib_1.__importDefault(require("./Synonym")); -var Document_1 = require("./Document"); -var Collection = /** @class */ (function () { - function Collection(name, apiCall, configuration) { - this.name = name; - this.apiCall = apiCall; - this.configuration = configuration; - this.individualDocuments = {}; - this.individualOverrides = {}; - this.individualSynonyms = {}; - this.name = name; - this.apiCall = apiCall; - this.configuration = configuration; - this._documents = new Documents_1.default(this.name, this.apiCall, this.configuration); - this._overrides = new Overrides_1.default(this.name, this.apiCall); - this._synonyms = new Synonyms_1.default(this.name, this.apiCall); - } - Collection.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - Collection.prototype.update = function (schema) { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.patch(this.endpointPath(), schema)]; - }); - }); - }; - Collection.prototype.delete = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.delete(this.endpointPath())]; - }); - }); - }; - Collection.prototype.exists = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - var e_1; - return tslib_1.__generator(this, function (_a) { - switch (_a.label) { - case 0: - _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.retrieve()]; - case 1: - _a.sent(); - return [2 /*return*/, true]; - case 2: - e_1 = _a.sent(); - if (e_1 instanceof Errors_1.ObjectNotFound) - return [2 /*return*/, false]; - throw e_1; - case 3: return [2 /*return*/]; - } - }); - }); - }; - Collection.prototype.documents = function (documentId) { - if (!documentId) { - return this._documents; - } - else { - if (this.individualDocuments[documentId] === undefined) { - this.individualDocuments[documentId] = new Document_1.Document(this.name, documentId, this.apiCall); - } - return this.individualDocuments[documentId]; - } - }; - Collection.prototype.overrides = function (overrideId) { - if (overrideId === undefined) { - return this._overrides; - } - else { - if (this.individualOverrides[overrideId] === undefined) { - this.individualOverrides[overrideId] = new Override_1.default(this.name, overrideId, this.apiCall); - } - return this.individualOverrides[overrideId]; - } - }; - Collection.prototype.synonyms = function (synonymId) { - if (synonymId === undefined) { - return this._synonyms; - } - else { - if (this.individualSynonyms[synonymId] === undefined) { - this.individualSynonyms[synonymId] = new Synonym_1.default(this.name, synonymId, this.apiCall); - } - return this.individualSynonyms[synonymId]; - } - }; - Collection.prototype.endpointPath = function () { - return "".concat(Collections_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.name)); - }; - return Collection; -}()); -exports.default = Collection; -//# sourceMappingURL=Collection.js.map \ No newline at end of file diff --git a/lib/Typesense/Collection.js.map b/lib/Typesense/Collection.js.map deleted file mode 100644 index 5a42b40c..00000000 --- a/lib/Typesense/Collection.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Collection.js","sourceRoot":"","sources":["../../src/Typesense/Collection.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/Typesense/Conversation.js b/lib/Typesense/Conversation.js deleted file mode 100644 index b0891aed..00000000 --- a/lib/Typesense/Conversation.js +++ /dev/null @@ -1,37 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var Conversations_1 = tslib_1.__importDefault(require("./Conversations")); -var Conversation = /** @class */ (function () { - function Conversation(id, apiCall) { - this.id = id; - this.apiCall = apiCall; - } - Conversation.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - Conversation.prototype.update = function (params) { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.put(this.endpointPath(), params)]; - }); - }); - }; - Conversation.prototype.delete = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.delete(this.endpointPath())]; - }); - }); - }; - Conversation.prototype.endpointPath = function () { - return "".concat(Conversations_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.id)); - }; - return Conversation; -}()); -exports.default = Conversation; -//# sourceMappingURL=Conversation.js.map \ No newline at end of file diff --git a/lib/Typesense/Conversation.js.map b/lib/Typesense/Conversation.js.map deleted file mode 100644 index 0a9646b7..00000000 --- a/lib/Typesense/Conversation.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Conversation.js","sourceRoot":"","sources":["../../src/Typesense/Conversation.ts"],"names":[],"mappings":";;;AACA,0EAA4C;AAiB5C;IACE,sBACU,EAAU,EACV,OAAgB;QADhB,OAAE,GAAF,EAAE,CAAQ;QACV,YAAO,GAAP,OAAO,CAAS;IACvB,CAAC;IAEE,+BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAuB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACpE;IAEK,6BAAM,GAAZ,UACE,MAAgC;;;gBAEhC,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CACrB,IAAI,CAAC,YAAY,EAAE,EACnB,MAAM,CACP,EAAC;;;KACH;IAEK,6BAAM,GAAZ;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAA2B,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KAC3E;IAEO,mCAAY,GAApB;QACE,OAAO,UAAG,uBAAa,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAE,CAAC;IACxE,CAAC;IACH,mBAAC;AAAD,CAAC,AA1BD,IA0BC"} \ No newline at end of file diff --git a/lib/Typesense/ConversationModel.js b/lib/Typesense/ConversationModel.js deleted file mode 100644 index 2da74c2d..00000000 --- a/lib/Typesense/ConversationModel.js +++ /dev/null @@ -1,37 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var ConversationModels_1 = tslib_1.__importDefault(require("./ConversationModels")); -var ConversationModel = /** @class */ (function () { - function ConversationModel(id, apiCall) { - this.id = id; - this.apiCall = apiCall; - } - ConversationModel.prototype.update = function (params) { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.put(this.endpointPath(), params)]; - }); - }); - }; - ConversationModel.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - ConversationModel.prototype.delete = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.delete(this.endpointPath())]; - }); - }); - }; - ConversationModel.prototype.endpointPath = function () { - return "".concat(ConversationModels_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.id)); - }; - return ConversationModel; -}()); -exports.default = ConversationModel; -//# sourceMappingURL=ConversationModel.js.map \ No newline at end of file diff --git a/lib/Typesense/ConversationModel.js.map b/lib/Typesense/ConversationModel.js.map deleted file mode 100644 index c9b6a197..00000000 --- a/lib/Typesense/ConversationModel.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ConversationModel.js","sourceRoot":"","sources":["../../src/Typesense/ConversationModel.ts"],"names":[],"mappings":";;;AACA,oFAAsD;AAmBtD;IACE,2BACU,EAAU,EACV,OAAgB;QADhB,OAAE,GAAF,EAAE,CAAQ;QACV,YAAO,GAAP,OAAO,CAAS;IACvB,CAAC;IAEE,kCAAM,GAAZ,UACE,MAAqC;;;gBAErC,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CACrB,IAAI,CAAC,YAAY,EAAE,EACnB,MAAM,CACP,EAAC;;;KACH;IAEK,oCAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAA0B,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACvE;IAEK,kCAAM,GAAZ;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CACxB,IAAI,CAAC,YAAY,EAAE,CACpB,EAAC;;;KACH;IAEO,wCAAY,GAApB;QACE,OAAO,UAAG,4BAAkB,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAE,CAAC;IAC7E,CAAC;IACH,wBAAC;AAAD,CAAC,AA5BD,IA4BC"} \ No newline at end of file diff --git a/lib/Typesense/ConversationModels.js b/lib/Typesense/ConversationModels.js deleted file mode 100644 index 29563fc5..00000000 --- a/lib/Typesense/ConversationModels.js +++ /dev/null @@ -1,37 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var RESOURCEPATH = "/conversations/models"; -var ConversationModels = /** @class */ (function () { - function ConversationModels(apiCall) { - this.apiCall = apiCall; - this.apiCall = apiCall; - } - ConversationModels.prototype.create = function (params) { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.post(this.endpointPath(), params)]; - }); - }); - }; - ConversationModels.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - ConversationModels.prototype.endpointPath = function (operation) { - return "".concat(ConversationModels.RESOURCEPATH).concat(operation === undefined ? "" : "/" + encodeURIComponent(operation)); - }; - Object.defineProperty(ConversationModels, "RESOURCEPATH", { - get: function () { - return RESOURCEPATH; - }, - enumerable: false, - configurable: true - }); - return ConversationModels; -}()); -exports.default = ConversationModels; -//# sourceMappingURL=ConversationModels.js.map \ No newline at end of file diff --git a/lib/Typesense/ConversationModels.js.map b/lib/Typesense/ConversationModels.js.map deleted file mode 100644 index 3c3b1bc0..00000000 --- a/lib/Typesense/ConversationModels.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ConversationModels.js","sourceRoot":"","sources":["../../src/Typesense/ConversationModels.ts"],"names":[],"mappings":";;;AAMA,IAAM,YAAY,GAAG,uBAAuB,CAAC;AAE7C;IACE,4BAA6B,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;QAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEK,mCAAM,GAAZ,UACE,MAAqC;;;gBAErC,sBAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CACtB,IAAI,CAAC,YAAY,EAAE,EACnB,MAAM,CACP,EAAC;;;KACH;IAEK,qCAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CACrB,IAAI,CAAC,YAAY,EAAE,CACpB,EAAC;;;KACH;IAEO,yCAAY,GAApB,UAAqB,SAAkB;QACrC,OAAO,UAAG,kBAAkB,CAAC,YAAY,SACvC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAClE,CAAC;IACL,CAAC;IAED,sBAAW,kCAAY;aAAvB;YACE,OAAO,YAAY,CAAC;QACtB,CAAC;;;OAAA;IACH,yBAAC;AAAD,CAAC,AA7BD,IA6BC"} \ No newline at end of file diff --git a/lib/Typesense/Document.js b/lib/Typesense/Document.js deleted file mode 100644 index 222c16ca..00000000 --- a/lib/Typesense/Document.js +++ /dev/null @@ -1,41 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Document = void 0; -var tslib_1 = require("tslib"); -var Collections_1 = tslib_1.__importDefault(require("./Collections")); -var Documents_1 = tslib_1.__importDefault(require("./Documents")); -var Document = /** @class */ (function () { - function Document(collectionName, documentId, apiCall) { - this.collectionName = collectionName; - this.documentId = documentId; - this.apiCall = apiCall; - } - Document.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - Document.prototype.delete = function (options) { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.delete(this.endpointPath(), options)]; - }); - }); - }; - Document.prototype.update = function (partialDocument, options) { - if (options === void 0) { options = {}; } - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.patch(this.endpointPath(), partialDocument, options)]; - }); - }); - }; - Document.prototype.endpointPath = function () { - return "".concat(Collections_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.collectionName)).concat(Documents_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.documentId)); - }; - return Document; -}()); -exports.Document = Document; -//# sourceMappingURL=Document.js.map \ No newline at end of file diff --git a/lib/Typesense/Document.js.map b/lib/Typesense/Document.js.map deleted file mode 100644 index b697d67b..00000000 --- a/lib/Typesense/Document.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Document.js","sourceRoot":"","sources":["../../src/Typesense/Document.ts"],"names":[],"mappings":";;;;AACA,sEAAwC;AACxC,kEAIqB;AAErB;IACE,kBACU,cAAsB,EACtB,UAAkB,EAClB,OAAgB;QAFhB,mBAAc,GAAd,cAAc,CAAQ;QACtB,eAAU,GAAV,UAAU,CAAQ;QAClB,YAAO,GAAP,OAAO,CAAS;IACvB,CAAC;IAEE,2BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAI,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACjD;IAEK,yBAAM,GAAZ,UAAa,OAAqB;;;gBAChC,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAI,IAAI,CAAC,YAAY,EAAE,EAAE,OAAO,CAAC,EAAC;;;KAC7D;IAEK,yBAAM,GAAZ,UACE,eAA2B,EAC3B,OAAqC;QAArC,wBAAA,EAAA,YAAqC;;;gBAErC,sBAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAI,IAAI,CAAC,YAAY,EAAE,EAAE,eAAe,EAAE,OAAO,CAAC,EAAC;;;KAC7E;IAEO,+BAAY,GAApB;QACE,OAAO,UAAG,qBAAW,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,SAAG,mBAAS,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAE,CAAC;IAClJ,CAAC;IACH,eAAC;AAAD,CAAC,AAzBD,IAyBC;AAzBY,4BAAQ"} \ No newline at end of file diff --git a/lib/Typesense/Documents.d.ts b/lib/Typesense/Documents.d.ts deleted file mode 100644 index 88c14b70..00000000 --- a/lib/Typesense/Documents.d.ts +++ /dev/null @@ -1,242 +0,0 @@ -/// -import type { ReadStream } from "fs"; -import ApiCall from "./ApiCall"; -import Configuration from "./Configuration"; -import { SearchOnlyDocuments } from "./SearchOnlyDocuments"; -export interface DeleteQuery { - filter_by?: string; - batch_size?: number; - ignore_not_found?: boolean; -} -export interface DeleteResponse { - num_deleted: number; -} -interface ImportResponseSuccess { - success: true; -} -export interface ImportResponseFail { - success: false; - error: string; - document: DocumentSchema; - code: number; -} -export type ImportResponse = ImportResponseSuccess | ImportResponseFail; -export type DocumentSchema = Record; -export interface SearchParamsWithPreset extends Partial { - preset: string; -} -type DropTokensMode = "right_to_left" | "left_to_right" | "both_sides:3"; -type OperationMode = "off" | "always" | "fallback"; -export interface SearchParams { - q?: string; - query_by?: string | string[]; - query_by_weights?: string | number[]; - prefix?: string | boolean | boolean[]; - filter_by?: string; - enable_lazy_filter?: boolean; - sort_by?: string | string[]; - facet_by?: string | string[]; - max_facet_values?: number; - facet_sample_threshold?: number; - facet_sample_percent?: number; - facet_query?: string; - facet_query_num_typos?: number; - facet_return_parent?: string; - page?: number; - per_page?: number; - group_by?: string | string[]; - group_limit?: number; - group_missing_values?: boolean; - include_fields?: string | string[]; - exclude_fields?: string | string[]; - highlight_fields?: string | string[]; - highlight_full_fields?: string | string[]; - highlight_affix_num_tokens?: number; - highlight_start_tag?: string; - highlight_end_tag?: string; - enable_highlight_v1?: boolean; - snippet_threshold?: number; - num_typos?: string | number | number[]; - min_len_1typo?: number; - min_len_2typo?: number; - split_join_tokens?: OperationMode; - exhaustive_search?: boolean; - drop_tokens_threshold?: number; - drop_tokens_mode?: DropTokensMode; - typo_tokens_threshold?: number; - pinned_hits?: string | string[]; - hidden_hits?: string | string[]; - limit_hits?: number; - pre_segmented_query?: boolean; - enable_overrides?: boolean; - override_tags?: string | string[]; - prioritize_exact_match?: boolean; - prioritize_token_position?: boolean; - prioritize_num_matching_fields?: boolean; - search_cutoff_ms?: number; - use_cache?: boolean; - max_candidates?: number; - infix?: OperationMode | OperationMode[]; - preset?: string; - text_match_type?: "max_score" | "max_weight"; - vector_query?: string; - "x-typesense-api-key"?: string; - "x-typesense-user-id"?: string; - offset?: number; - limit?: number; - stopwords?: string; - conversation?: boolean; - conversation_model_id?: string; - conversation_id?: string; - voice_query?: string; -} -type SearchResponseHighlightObject = { - matched_tokens?: string[]; - snippet?: string; - value?: string; -}; -export type SearchResponseHighlight = T extends string | number ? SearchResponseHighlightObject : { - [TAttribute in keyof T]?: SearchResponseHighlight; -}; -export interface SearchResponseHit { - curated?: true; - highlights?: [ - { - field: keyof T; - snippet?: string; - value?: string; - snippets?: string[]; - indices?: number[]; - matched_tokens: string[][] | string[]; - } - ]; - highlight: SearchResponseHighlight; - document: T; - text_match: number; - text_match_info?: { - best_field_score: string; - best_field_weight: number; - fields_matched: number; - score: string; - tokens_matched: number; - }; -} -export interface SearchResponseFacetCountSchema { - counts: { - count: number; - highlighted: string; - value: string; - }[]; - field_name: keyof T; - stats: { - avg?: number; - max?: number; - min?: number; - sum?: number; - }; -} -export interface SearchResponseRequestParams { - collection_name?: string; - q?: string; - page?: number; - per_page?: number; - first_q?: string; - voice_query?: { - transcribed_query?: string; - }; -} -export interface SearchResponse { - facet_counts?: SearchResponseFacetCountSchema[]; - found: number; - found_docs?: number; - out_of: number; - page: number; - request_params: SearchResponseRequestParams; - search_time_ms: number; - search_cutoff?: boolean; - hits?: SearchResponseHit[]; - grouped_hits?: { - group_key: string[]; - hits: SearchResponseHit[]; - found?: number; - }[]; - conversation?: { - answer: string; - conversation_history: { - conversation: object[]; - id: string; - last_updated: number; - ttl: number; - }; - conversation_id: string; - query: string; - }; - error?: string; - code?: number; -} -export interface DocumentWriteParameters { - dirty_values?: "coerce_or_reject" | "coerce_or_drop" | "drop" | "reject"; - action?: "create" | "update" | "upsert" | "emplace"; -} -export interface UpdateByFilterParameters { - filter_by?: string; -} -export interface UpdateByFilterResponse { - num_updated: number; -} -export interface DocumentImportParameters extends DocumentWriteParameters { - batch_size?: number; - return_doc?: boolean; - return_id?: boolean; -} -export interface DocumentsExportParameters { - filter_by?: string; - include_fields?: string; - exclude_fields?: string; -} -export interface SearchableDocuments { - search(searchParameters: SearchParams | SearchParamsWithPreset, options: SearchOptions): Promise>; - clearCache(): void; -} -export interface WriteableDocuments { - create(document: T, options: DocumentWriteParameters): Promise; - upsert(document: T, options: DocumentWriteParameters): Promise; - update(document: T, options: DocumentWriteParameters): Promise; - delete(query: DeleteQuery): Promise; - import(documents: T[] | string, options: DocumentWriteParameters): Promise; - export(options: DocumentsExportParameters): Promise; -} -export interface SearchOptions { - cacheSearchResultsForSeconds?: number; - abortSignal?: AbortSignal | null; -} -export default class Documents extends SearchOnlyDocuments implements WriteableDocuments { - constructor(collectionName: string, apiCall: ApiCall, configuration: Configuration); - create(document: T, options?: DocumentWriteParameters): Promise; - upsert(document: T, options?: DocumentWriteParameters): Promise; - update(document: T, options: UpdateByFilterParameters): Promise; - update(document: T, options: DocumentWriteParameters): Promise; - delete(query?: DeleteQuery): Promise; - createMany(documents: T[], options?: DocumentImportParameters): Promise; - /** - * Import a set of documents in a batch. - * @param {string|Array} documents - Can be a JSONL string of documents or an array of document objects. - * @param options - * @return {string|Array} Returns a JSONL string if the input was a JSONL string, otherwise it returns an array of results. - */ - import(documents: string, options?: DocumentImportParameters): Promise; - import(documents: T[], options?: DocumentImportParameters): Promise; - /** - * Imports documents from a NodeJS readable stream of JSONL. - */ - importStream(readableStream: ReadStream, options?: DocumentImportParameters): Promise; - /** - * Returns a JSONL string for all the documents in this collection - */ - export(options?: DocumentsExportParameters): Promise; - /** - * Returns a NodeJS readable stream of JSONL for all the documents in this collection. - */ - exportStream(options?: DocumentsExportParameters): Promise; -} -export {}; diff --git a/lib/Typesense/Documents.js.map b/lib/Typesense/Documents.js.map deleted file mode 100644 index 847e5aa7..00000000 --- a/lib/Typesense/Documents.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Documents.js","sourceRoot":"","sources":["../../src/Typesense/Documents.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/Typesense/Key.js b/lib/Typesense/Key.js deleted file mode 100644 index 27538455..00000000 --- a/lib/Typesense/Key.js +++ /dev/null @@ -1,30 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var Keys_1 = tslib_1.__importDefault(require("./Keys")); -var Key = /** @class */ (function () { - function Key(id, apiCall) { - this.id = id; - this.apiCall = apiCall; - } - Key.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - Key.prototype.delete = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.delete(this.endpointPath())]; - }); - }); - }; - Key.prototype.endpointPath = function () { - return "".concat(Keys_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.id)); - }; - return Key; -}()); -exports.default = Key; -//# sourceMappingURL=Key.js.map \ No newline at end of file diff --git a/lib/Typesense/Key.js.map b/lib/Typesense/Key.js.map deleted file mode 100644 index 0c2ca229..00000000 --- a/lib/Typesense/Key.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Key.js","sourceRoot":"","sources":["../../src/Typesense/Key.ts"],"names":[],"mappings":";;;AACA,wDAA0B;AAmB1B;IACE,aAAoB,EAAU,EAAU,OAAgB;QAApC,OAAE,GAAF,EAAE,CAAQ;QAAU,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAEtD,sBAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAY,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACzD;IAEK,oBAAM,GAAZ;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAkB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KAClE;IAEO,0BAAY,GAApB;QACE,OAAO,UAAG,cAAI,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAE,CAAC;IAC/D,CAAC;IACH,UAAC;AAAD,CAAC,AAdD,IAcC"} \ No newline at end of file diff --git a/lib/Typesense/Override.js b/lib/Typesense/Override.js deleted file mode 100644 index a2e07e2f..00000000 --- a/lib/Typesense/Override.js +++ /dev/null @@ -1,32 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var Collections_1 = tslib_1.__importDefault(require("./Collections")); -var Overrides_1 = tslib_1.__importDefault(require("./Overrides")); -var Override = /** @class */ (function () { - function Override(collectionName, overrideId, apiCall) { - this.collectionName = collectionName; - this.overrideId = overrideId; - this.apiCall = apiCall; - } - Override.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - Override.prototype.delete = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.delete(this.endpointPath())]; - }); - }); - }; - Override.prototype.endpointPath = function () { - return "".concat(Collections_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.collectionName)).concat(Overrides_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.overrideId)); - }; - return Override; -}()); -exports.default = Override; -//# sourceMappingURL=Override.js.map \ No newline at end of file diff --git a/lib/Typesense/Override.js.map b/lib/Typesense/Override.js.map deleted file mode 100644 index 43ae48f8..00000000 --- a/lib/Typesense/Override.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Override.js","sourceRoot":"","sources":["../../src/Typesense/Override.ts"],"names":[],"mappings":";;;AACA,sEAAwC;AACxC,kEAA8D;AAU9D;IACE,kBACU,cAAsB,EACtB,UAAkB,EAClB,OAAgB;QAFhB,mBAAc,GAAd,cAAc,CAAQ;QACtB,eAAU,GAAV,UAAU,CAAQ;QAClB,YAAO,GAAP,OAAO,CAAS;IACvB,CAAC;IAEE,2BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAiB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KAC9D;IAEK,yBAAM,GAAZ;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAuB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACvE;IAEO,+BAAY,GAApB;QACE,OAAO,UAAG,qBAAW,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,SAAG,mBAAS,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAE,CAAC;IAClJ,CAAC;IACH,eAAC;AAAD,CAAC,AAlBD,IAkBC"} \ No newline at end of file diff --git a/lib/Typesense/Overrides.js b/lib/Typesense/Overrides.js deleted file mode 100644 index 503c47c1..00000000 --- a/lib/Typesense/Overrides.js +++ /dev/null @@ -1,38 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var Collections_1 = tslib_1.__importDefault(require("./Collections")); -var RESOURCEPATH = "/overrides"; -var Overrides = /** @class */ (function () { - function Overrides(collectionName, apiCall) { - this.collectionName = collectionName; - this.apiCall = apiCall; - } - Overrides.prototype.upsert = function (overrideId, params) { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.put(this.endpointPath(overrideId), params)]; - }); - }); - }; - Overrides.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - Overrides.prototype.endpointPath = function (operation) { - return "".concat(Collections_1.default.RESOURCEPATH, "/").concat(this.collectionName).concat(Overrides.RESOURCEPATH).concat(operation === undefined ? "" : "/" + encodeURIComponent(operation)); - }; - Object.defineProperty(Overrides, "RESOURCEPATH", { - get: function () { - return RESOURCEPATH; - }, - enumerable: false, - configurable: true - }); - return Overrides; -}()); -exports.default = Overrides; -//# sourceMappingURL=Overrides.js.map \ No newline at end of file diff --git a/lib/Typesense/Overrides.js.map b/lib/Typesense/Overrides.js.map deleted file mode 100644 index a7ac0700..00000000 --- a/lib/Typesense/Overrides.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Overrides.js","sourceRoot":"","sources":["../../src/Typesense/Overrides.ts"],"names":[],"mappings":";;;AACA,sEAAwC;AAGxC,IAAM,YAAY,GAAG,YAAY,CAAC;AAuClC;IACE,mBACU,cAAsB,EACtB,OAAgB;QADhB,mBAAc,GAAd,cAAc,CAAQ;QACtB,YAAO,GAAP,OAAO,CAAS;IACvB,CAAC;IAEE,0BAAM,GAAZ,UACE,UAAkB,EAClB,MAA4B;;;gBAE5B,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CACrB,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAC7B,MAAM,CACP,EAAC;;;KACH;IAEK,4BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAA0B,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACvE;IAEO,gCAAY,GAApB,UAAqB,SAAkB;QACrC,OAAO,UAAG,qBAAW,CAAC,YAAY,cAAI,IAAI,CAAC,cAAc,SACvD,SAAS,CAAC,YAAY,SACrB,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAE,CAAC;IAC1E,CAAC;IAED,sBAAW,yBAAY;aAAvB;YACE,OAAO,YAAY,CAAC;QACtB,CAAC;;;OAAA;IACH,gBAAC;AAAD,CAAC,AA7BD,IA6BC"} \ No newline at end of file diff --git a/lib/Typesense/Preset.js b/lib/Typesense/Preset.js deleted file mode 100644 index 1f9f7d84..00000000 --- a/lib/Typesense/Preset.js +++ /dev/null @@ -1,30 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var Presets_1 = tslib_1.__importDefault(require("./Presets")); -var Preset = /** @class */ (function () { - function Preset(presetId, apiCall) { - this.presetId = presetId; - this.apiCall = apiCall; - } - Preset.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - Preset.prototype.delete = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.delete(this.endpointPath())]; - }); - }); - }; - Preset.prototype.endpointPath = function () { - return "".concat(Presets_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.presetId)); - }; - return Preset; -}()); -exports.default = Preset; -//# sourceMappingURL=Preset.js.map \ No newline at end of file diff --git a/lib/Typesense/Preset.js.map b/lib/Typesense/Preset.js.map deleted file mode 100644 index a1d77dcb..00000000 --- a/lib/Typesense/Preset.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Preset.js","sourceRoot":"","sources":["../../src/Typesense/Preset.ts"],"names":[],"mappings":";;;AACA,8DAAwD;AAUxD;IACE,gBAAoB,QAAgB,EAAU,OAAgB;QAA1C,aAAQ,GAAR,QAAQ,CAAQ;QAAU,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAE5D,yBAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAe,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KAC5D;IAEK,uBAAM,GAAZ;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAqB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACrE;IAEO,6BAAY,GAApB;QACE,OAAO,UAAG,iBAAO,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAE,CAAC;IACxE,CAAC;IACH,aAAC;AAAD,CAAC,AAdD,IAcC"} \ No newline at end of file diff --git a/lib/Typesense/Presets.js b/lib/Typesense/Presets.js deleted file mode 100644 index 47195e85..00000000 --- a/lib/Typesense/Presets.js +++ /dev/null @@ -1,36 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var RESOURCEPATH = "/presets"; -var Presets = /** @class */ (function () { - function Presets(apiCall) { - this.apiCall = apiCall; - } - Presets.prototype.upsert = function (presetId, params) { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.put(this.endpointPath(presetId), params)]; - }); - }); - }; - Presets.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - Presets.prototype.endpointPath = function (operation) { - return "".concat(Presets.RESOURCEPATH).concat(operation === undefined ? "" : "/" + encodeURIComponent(operation)); - }; - Object.defineProperty(Presets, "RESOURCEPATH", { - get: function () { - return RESOURCEPATH; - }, - enumerable: false, - configurable: true - }); - return Presets; -}()); -exports.default = Presets; -//# sourceMappingURL=Presets.js.map \ No newline at end of file diff --git a/lib/Typesense/Presets.js.map b/lib/Typesense/Presets.js.map deleted file mode 100644 index 43db42d6..00000000 --- a/lib/Typesense/Presets.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Presets.js","sourceRoot":"","sources":["../../src/Typesense/Presets.ts"],"names":[],"mappings":";;;AAKA,IAAM,YAAY,GAAG,UAAU,CAAC;AAUhC;IACE,iBAAoB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAElC,wBAAM,GAAZ,UACE,QAAgB,EAChB,MAA0B;;;gBAE1B,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAe,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,EAAC;;;KAC5E;IAEK,0BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAwB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACrE;IAEO,8BAAY,GAApB,UAAqB,SAAkB;QACrC,OAAO,UAAG,OAAO,CAAC,YAAY,SAC5B,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAClE,CAAC;IACL,CAAC;IAED,sBAAW,uBAAY;aAAvB;YACE,OAAO,YAAY,CAAC;QACtB,CAAC;;;OAAA;IACH,cAAC;AAAD,CAAC,AAvBD,IAuBC"} \ No newline at end of file diff --git a/lib/Typesense/Stopword.js b/lib/Typesense/Stopword.js deleted file mode 100644 index 83547225..00000000 --- a/lib/Typesense/Stopword.js +++ /dev/null @@ -1,30 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var Stopwords_1 = tslib_1.__importDefault(require("./Stopwords")); -var Stopword = /** @class */ (function () { - function Stopword(stopwordId, apiCall) { - this.stopwordId = stopwordId; - this.apiCall = apiCall; - } - Stopword.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - Stopword.prototype.delete = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.delete(this.endpointPath())]; - }); - }); - }; - Stopword.prototype.endpointPath = function () { - return "".concat(Stopwords_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.stopwordId)); - }; - return Stopword; -}()); -exports.default = Stopword; -//# sourceMappingURL=Stopword.js.map \ No newline at end of file diff --git a/lib/Typesense/Stopword.js.map b/lib/Typesense/Stopword.js.map deleted file mode 100644 index 9523cdce..00000000 --- a/lib/Typesense/Stopword.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Stopword.js","sourceRoot":"","sources":["../../src/Typesense/Stopword.ts"],"names":[],"mappings":";;;AACA,kEAA8D;AAY9D;IACE,kBACU,UAAkB,EAClB,OAAgB;QADhB,eAAU,GAAV,UAAU,CAAQ;QAClB,YAAO,GAAP,OAAO,CAAS;IACvB,CAAC;IAEE,2BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAiB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KAC9D;IAEK,yBAAM,GAAZ;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAuB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACvE;IAEO,+BAAY,GAApB;QACE,OAAO,UAAG,mBAAS,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAE,CAAC;IAC5E,CAAC;IACH,eAAC;AAAD,CAAC,AAjBD,IAiBC"} \ No newline at end of file diff --git a/lib/Typesense/Stopwords.js b/lib/Typesense/Stopwords.js deleted file mode 100644 index 6caff949..00000000 --- a/lib/Typesense/Stopwords.js +++ /dev/null @@ -1,36 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var RESOURCEPATH = "/stopwords"; -var Stopwords = /** @class */ (function () { - function Stopwords(apiCall) { - this.apiCall = apiCall; - } - Stopwords.prototype.upsert = function (stopwordId, params) { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.put(this.endpointPath(stopwordId), params)]; - }); - }); - }; - Stopwords.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - Stopwords.prototype.endpointPath = function (operation) { - return "".concat(Stopwords.RESOURCEPATH).concat(operation === undefined ? "" : "/" + encodeURIComponent(operation)); - }; - Object.defineProperty(Stopwords, "RESOURCEPATH", { - get: function () { - return RESOURCEPATH; - }, - enumerable: false, - configurable: true - }); - return Stopwords; -}()); -exports.default = Stopwords; -//# sourceMappingURL=Stopwords.js.map \ No newline at end of file diff --git a/lib/Typesense/Stopwords.js.map b/lib/Typesense/Stopwords.js.map deleted file mode 100644 index f02de760..00000000 --- a/lib/Typesense/Stopwords.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Stopwords.js","sourceRoot":"","sources":["../../src/Typesense/Stopwords.ts"],"names":[],"mappings":";;;AAGA,IAAM,YAAY,GAAG,YAAY,CAAC;AAWlC;IACE,mBAAoB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAElC,0BAAM,GAAZ,UACE,UAAkB,EAClB,MAA4B;;;gBAE5B,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CACrB,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAC7B,MAAM,CACP,EAAC;;;KACH;IAEK,4BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAA0B,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACvE;IAEO,gCAAY,GAApB,UAAqB,SAAkB;QACrC,OAAO,UAAG,SAAS,CAAC,YAAY,SAC9B,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAClE,CAAC;IACL,CAAC;IAED,sBAAW,yBAAY;aAAvB;YACE,OAAO,YAAY,CAAC;QACtB,CAAC;;;OAAA;IACH,gBAAC;AAAD,CAAC,AA1BD,IA0BC"} \ No newline at end of file diff --git a/lib/Typesense/Synonym.js b/lib/Typesense/Synonym.js deleted file mode 100644 index fb4830a7..00000000 --- a/lib/Typesense/Synonym.js +++ /dev/null @@ -1,32 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var Collections_1 = tslib_1.__importDefault(require("./Collections")); -var Synonyms_1 = tslib_1.__importDefault(require("./Synonyms")); -var Synonym = /** @class */ (function () { - function Synonym(collectionName, synonymId, apiCall) { - this.collectionName = collectionName; - this.synonymId = synonymId; - this.apiCall = apiCall; - } - Synonym.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - Synonym.prototype.delete = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.delete(this.endpointPath())]; - }); - }); - }; - Synonym.prototype.endpointPath = function () { - return "".concat(Collections_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.collectionName)).concat(Synonyms_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.synonymId)); - }; - return Synonym; -}()); -exports.default = Synonym; -//# sourceMappingURL=Synonym.js.map \ No newline at end of file diff --git a/lib/Typesense/Synonym.js.map b/lib/Typesense/Synonym.js.map deleted file mode 100644 index 1278adf2..00000000 --- a/lib/Typesense/Synonym.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Synonym.js","sourceRoot":"","sources":["../../src/Typesense/Synonym.ts"],"names":[],"mappings":";;;AACA,sEAAwC;AACxC,gEAA2D;AAU3D;IACE,iBACU,cAAsB,EACtB,SAAiB,EACjB,OAAgB;QAFhB,mBAAc,GAAd,cAAc,CAAQ;QACtB,cAAS,GAAT,SAAS,CAAQ;QACjB,YAAO,GAAP,OAAO,CAAS;IACvB,CAAC;IAEE,0BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAgB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KAC7D;IAEK,wBAAM,GAAZ;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAsB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACtE;IAEO,8BAAY,GAApB;QACE,OAAO,UAAG,qBAAW,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,SAAG,kBAAQ,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAE,CAAC;IAChJ,CAAC;IACH,cAAC;AAAD,CAAC,AAlBD,IAkBC"} \ No newline at end of file diff --git a/lib/Typesense/Synonyms.js b/lib/Typesense/Synonyms.js deleted file mode 100644 index cef6cb72..00000000 --- a/lib/Typesense/Synonyms.js +++ /dev/null @@ -1,38 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var tslib_1 = require("tslib"); -var Collections_1 = tslib_1.__importDefault(require("./Collections")); -var RESOURCEPATH = "/synonyms"; -var Synonyms = /** @class */ (function () { - function Synonyms(collectionName, apiCall) { - this.collectionName = collectionName; - this.apiCall = apiCall; - } - Synonyms.prototype.upsert = function (synonymId, params) { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.put(this.endpointPath(synonymId), params)]; - }); - }); - }; - Synonyms.prototype.retrieve = function () { - return tslib_1.__awaiter(this, void 0, void 0, function () { - return tslib_1.__generator(this, function (_a) { - return [2 /*return*/, this.apiCall.get(this.endpointPath())]; - }); - }); - }; - Synonyms.prototype.endpointPath = function (operation) { - return "".concat(Collections_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.collectionName)).concat(Synonyms.RESOURCEPATH).concat(operation === undefined ? "" : "/" + encodeURIComponent(operation)); - }; - Object.defineProperty(Synonyms, "RESOURCEPATH", { - get: function () { - return RESOURCEPATH; - }, - enumerable: false, - configurable: true - }); - return Synonyms; -}()); -exports.default = Synonyms; -//# sourceMappingURL=Synonyms.js.map \ No newline at end of file diff --git a/lib/Typesense/Synonyms.js.map b/lib/Typesense/Synonyms.js.map deleted file mode 100644 index 08c256ac..00000000 --- a/lib/Typesense/Synonyms.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Synonyms.js","sourceRoot":"","sources":["../../src/Typesense/Synonyms.ts"],"names":[],"mappings":";;;AACA,sEAAwC;AAGxC,IAAM,YAAY,GAAG,WAAW,CAAC;AAajC;IACE,kBAAoB,cAAsB,EAAU,OAAgB;QAAhD,mBAAc,GAAd,cAAc,CAAQ;QAAU,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAElE,yBAAM,GAAZ,UACE,SAAiB,EACjB,MAA2B;;;gBAE3B,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CACrB,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAC5B,MAAM,CACP,EAAC;;;KACH;IAEK,2BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAyB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACtE;IAEO,+BAAY,GAApB,UAAqB,SAAkB;QACrC,OAAO,UAAG,qBAAW,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,SAC3E,QAAQ,CAAC,YAAY,SACpB,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAE,CAAC;IAC1E,CAAC;IAED,sBAAW,wBAAY;aAAvB;YACE,OAAO,YAAY,CAAC;QACtB,CAAC;;;OAAA;IACH,eAAC;AAAD,CAAC,AA1BD,IA0BC"} \ No newline at end of file