{"version":3,"file":"997.e74dbe3ddcc536ab.js","mappings":"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","names":["ForumsService","constructor","publicConfigService","dataService","this","ssoConfiguration","getCarrotSSOConfig","getForumsConfig","_this","forumsConfig","get","ssoBaseUrl","ssoClientId","toPromise","searchForumPosts","criteria","config","_this2","search","q","searchTerm","query_by","sort_by","sortExpresssion","per_page","pagination","pageSize","page","currentPage","filter_by","composeFilterByClause","getTypesenseClient","collections","data","typesense","collectionName","documents","_this3","_typesenseClient","Typesense","nodes","host","port","protocol","apiKey","connectionTimeoutSeconds","filterBy","undefined","createdBy","appendFilterByCondition","isHidden","isPinned","category","popular","condition","i0","factory","module","utils","require","settle","cookies","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","createError","transitionalDefaults","Cancel","exports","Promise","resolve","reject","onCanceled","requestData","requestHeaders","headers","responseType","done","cancelToken","unsubscribe","signal","removeEventListener","isFormData","request","XMLHttpRequest","auth","username","password","unescape","encodeURIComponent","Authorization","btoa","fullPath","baseURL","url","onloadend","responseHeaders","getAllResponseHeaders","value","err","response","responseText","status","statusText","open","method","toUpperCase","params","paramsSerializer","timeout","onreadystatechange","readyState","responseURL","indexOf","setTimeout","onabort","onerror","ontimeout","timeoutErrorMessage","transitional","clarifyTimeoutError","isStandardBrowserEnv","xsrfValue","withCredentials","xsrfCookieName","read","xsrfHeaderName","forEach","val","key","toLowerCase","setRequestHeader","isUndefined","onDownloadProgress","addEventListener","onUploadProgress","upload","cancel","type","abort","subscribe","aborted","send","bind","Axios","mergeConfig","axios","createInstance","defaultConfig","context","instance","prototype","extend","create","instanceConfig","CancelToken","isCancel","VERSION","all","promises","spread","isAxiosError","message","toString","__CANCEL__","executor","TypeError","resolvePromise","promise","token","then","_listeners","i","l","length","onfulfilled","_resolve","reason","throwIfRequested","listener","push","index","splice","source","c","InterceptorManager","dispatchRequest","validator","validators","defaults","interceptors","configOrUrl","assertOptions","silentJSONParsing","boolean","forcedJSONParsing","requestInterceptorChain","synchronousRequestInterceptors","interceptor","runWhen","synchronous","unshift","fulfilled","rejected","responseInterceptorChain","chain","Array","apply","concat","shift","newConfig","onFulfilled","onRejected","error","getUri","replace","handlers","use","options","eject","id","fn","h","isAbsoluteURL","combineURLs","requestedURL","enhanceError","code","Error","transformData","throwIfCancellationRequested","call","transformRequest","merge","common","adapter","transformResponse","toJSON","name","description","number","fileName","lineNumber","columnNumber","stack","config1","config2","getMergedValue","target","isPlainObject","isArray","slice","mergeDeepProperties","prop","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","decompress","maxContentLength","maxBodyLength","transport","httpAgent","httpsAgent","socketPath","responseEncoding","validateStatus","Object","keys","configValue","fns","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","getDefaultAdapter","process","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","buffer","isURLSearchParams","isObject","stringifySafely","rawValue","parser","encoder","isString","JSON","parse","trim","e","stringify","strictJSONParsing","Accept","version","thisArg","args","arguments","encode","serializedParams","parts","v","isDate","toISOString","join","hashmarkIndex","relativeURL","write","expires","path","domain","secure","cookie","isNumber","Date","toGMTString","document","match","RegExp","decodeURIComponent","remove","now","test","payload","originURL","msie","navigator","userAgent","urlParsingNode","createElement","resolveURL","href","setAttribute","hash","hostname","pathname","charAt","window","location","requestURL","parsed","normalizedName","ignoreDuplicateOf","split","line","substr","callback","arr","thing","deprecatedWarnings","formatMessage","opt","desc","opts","console","warn","schema","allowUnknown","result","getPrototypeOf","isFunction","obj","hasOwnProperty","ArrayBuffer","isView","pipe","product","assignValue","a","b","str","stripBOM","content","charCodeAt","root","definition","define","noop","undefinedType","isIE","logMethods","bindMethod","methodName","Function","traceForIE","log","trace","realMethod","replaceLoggingMethods","level","loggerName","methodFactory","debug","enableLoggingWhenConsoleArrives","defaultMethodFactory","Logger","defaultLevel","currentLevel","self","storageKey","getPersistedLevel","storedLevel","localStorage","exec","levels","TRACE","DEBUG","INFO","WARN","ERROR","SILENT","getLevel","setLevel","persist","persistLevelIfPossible","levelNum","levelName","setDefaultLevel","resetLevel","clearPersistedLevel","removeItem","enableAll","disableAll","initialLevel","defaultLogger","_loggersByName","getLogger","logger","_log","noConflict","getLoggers","default","__createBinding","o","m","k","k2","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","defineProperty","__setModuleDefault","__importStar","mod","__importDefault","Client_1","SearchClient_1","Errors","Client","SearchClient","__awaiter","_arguments","P","generator","step","next","throw","adopt","__generator","body","f","y","t","g","_","label","sent","trys","ops","verb","return","Symbol","iterator","n","op","pop","Aliases_1","Alias","apiCall","retrieve","_a","endpointPath","delete","RESOURCEPATH","Aliases","upsert","mapping","put","aliasName","axios_1","Errors_1","TypesenseError_1","HEALTHY","ApiCall","configuration","nearestNode","healthcheckIntervalSeconds","numRetriesPerRequest","numRetries","retryIntervalSeconds","sendApiKeyAsQueryParam","additionalUserHeaders","additionalHeaders","initializeMetadataForNodes","currentNodeIndex","endpoint","queryParameters","_b","_c","abortSignal","_d","_e","performRequest","post","bodyParameters","patch","requestType","_f","_g","_h","_j","requestNumber","lastException","_loop_1","this_1","numTries","state_1","_k","validate","node","abortListener","requestOptions","source_1","error_1","_l","getNextNode","uriFor","assign","defaultHeaders","Infinity","transformedData","startsWith","setNodeHealthcheck","customErrorForResponse","timer","isHealthy","nodeDueForHealthcheck","map","candidateNode","isDueForHealthcheck","lastAccessTimestamp","seconds","messageFromServer","errorMessage","RequestMalformed","RequestUnauthorized","ObjectNotFound","ObjectAlreadyExists","ObjectUnprocessable","ServerError","HTTPError","httpStatus","Configuration_1","ApiCall_1","Collections_1","Collection_1","Alias_1","Keys_1","Key_1","Debug_1","Metrics_1","Health_1","Operations_1","MultiSearch_1","Presets_1","Preset_1","metrics","health","operations","multiSearch","_collections","individualCollections","_aliases","individualAliases","_keys","individualKeys","_presets","individualPresets","aliases","presets","Documents_1","Overrides_1","Override_1","Synonyms_1","Synonym_1","Document_1","Collection","individualDocuments","individualOverrides","individualSynonyms","_documents","_overrides","_synonyms","update","exists","e_1","documentId","Document","overrides","overrideId","synonyms","synonymId","Collections","__assign","s","p","Configuration","setDefaultPathInNode","setDefaultPortInNode","randomizeNodes","shuffleArray","timeoutSeconds","cacheSearchResultsForSeconds","useServerSideSearchCache","logLevel","showDeprecationWarnings","validateNodes","MissingConfigurationError","isNodeMissingAnyParameters","some","every","masterNode","readReplicaNodes","array","j","Math","floor","random","Debug","partialDocument","extendStatics","__extends","d","setPrototypeOf","__proto__","String","__","Documents","_super","action","idOrQuery","createMany","import","documentsInJSONLFormat","resultsInJSONLFormat","resultsInJSONFormat","failedItems","RangeError","includes","r","filter","success","ImportError","export","exportStream","SearchOnlyDocuments","importResults","TypesenseError","_newTarget","HTTPError_1","MissingConfigurationError_1","ObjectAlreadyExists_1","ObjectNotFound_1","ObjectUnprocessable_1","RequestMalformed_1","RequestUnauthorized_1","ServerError_1","ImportError_1","Health","Key","crypto_1","Keys","generateScopedSearchKey","searchKey","parameters","paramsJSON","digest","Buffer","from","createHmac","keyPrefix","rawScopedKey","Metrics","RequestWithCache_1","MultiSearch","useTextContentType","requestWithCache","clearCache","perform","searchRequests","commonParams","additionalQueryParams","queryParams","use_cache","cacheResponseForSeconds","Operations","operationName","Override","Overrides","operation","Preset","presetId","Presets","__spreadArray","to","pack","ar","RequestWithCache","responseCache","Map","requestContext","requestFunction","requestFunctionArguments","cacheOptions","maxSize","requestFunctionArgumentsJSON","cacheEntry","oldestEntry","requestTimestamp","set","size","SearchOnlyCollection_1","entries","SearchOnlyCollection","SearchOnlyDocuments_1","searchParameters","Synonym","Synonyms"],"sourceRoot":"webpack:///","sources":["./src/app/forums/forums.service.ts","./node_modules/axios/index.js","./node_modules/axios/lib/adapters/xhr.js","./node_modules/axios/lib/axios.js","./node_modules/axios/lib/cancel/Cancel.js","./node_modules/axios/lib/cancel/CancelToken.js","./node_modules/axios/lib/cancel/isCancel.js","./node_modules/axios/lib/core/Axios.js","./node_modules/axios/lib/core/InterceptorManager.js","./node_modules/axios/lib/core/buildFullPath.js","./node_modules/axios/lib/core/createError.js","./node_modules/axios/lib/core/dispatchRequest.js","./node_modules/axios/lib/core/enhanceError.js","./node_modules/axios/lib/core/mergeConfig.js","./node_modules/axios/lib/core/settle.js","./node_modules/axios/lib/core/transformData.js","./node_modules/axios/lib/defaults/index.js","./node_modules/axios/lib/defaults/transitional.js","./node_modules/axios/lib/env/data.js","./node_modules/axios/lib/helpers/bind.js","./node_modules/axios/lib/helpers/buildURL.js","./node_modules/axios/lib/helpers/combineURLs.js","./node_modules/axios/lib/helpers/cookies.js","./node_modules/axios/lib/helpers/isAbsoluteURL.js","./node_modules/axios/lib/helpers/isAxiosError.js","./node_modules/axios/lib/helpers/isURLSameOrigin.js","./node_modules/axios/lib/helpers/normalizeHeaderName.js","./node_modules/axios/lib/helpers/parseHeaders.js","./node_modules/axios/lib/helpers/spread.js","./node_modules/axios/lib/helpers/validator.js","./node_modules/axios/lib/utils.js","./node_modules/loglevel/lib/loglevel.js","./node_modules/typesense/lib/Typesense.js","./node_modules/typesense/lib/Typesense/Alias.js","./node_modules/typesense/lib/Typesense/Aliases.js","./node_modules/typesense/lib/Typesense/ApiCall.js","./node_modules/typesense/lib/Typesense/Client.js","./node_modules/typesense/lib/Typesense/Collection.js","./node_modules/typesense/lib/Typesense/Collections.js","./node_modules/typesense/lib/Typesense/Configuration.js","./node_modules/typesense/lib/Typesense/Debug.js","./node_modules/typesense/lib/Typesense/Document.js","./node_modules/typesense/lib/Typesense/Documents.js","./node_modules/typesense/lib/Typesense/Errors/HTTPError.js","./node_modules/typesense/lib/Typesense/Errors/ImportError.js","./node_modules/typesense/lib/Typesense/Errors/MissingConfigurationError.js","./node_modules/typesense/lib/Typesense/Errors/ObjectAlreadyExists.js","./node_modules/typesense/lib/Typesense/Errors/ObjectNotFound.js","./node_modules/typesense/lib/Typesense/Errors/ObjectUnprocessable.js","./node_modules/typesense/lib/Typesense/Errors/RequestMalformed.js","./node_modules/typesense/lib/Typesense/Errors/RequestUnauthorized.js","./node_modules/typesense/lib/Typesense/Errors/ServerError.js","./node_modules/typesense/lib/Typesense/Errors/TypesenseError.js","./node_modules/typesense/lib/Typesense/Errors/index.js","./node_modules/typesense/lib/Typesense/Health.js","./node_modules/typesense/lib/Typesense/Key.js","./node_modules/typesense/lib/Typesense/Keys.js","./node_modules/typesense/lib/Typesense/Metrics.js","./node_modules/typesense/lib/Typesense/MultiSearch.js","./node_modules/typesense/lib/Typesense/Operations.js","./node_modules/typesense/lib/Typesense/Override.js","./node_modules/typesense/lib/Typesense/Overrides.js","./node_modules/typesense/lib/Typesense/Preset.js","./node_modules/typesense/lib/Typesense/Presets.js","./node_modules/typesense/lib/Typesense/RequestWithCache.js","./node_modules/typesense/lib/Typesense/SearchClient.js","./node_modules/typesense/lib/Typesense/SearchOnlyCollection.js","./node_modules/typesense/lib/Typesense/SearchOnlyDocuments.js","./node_modules/typesense/lib/Typesense/Synonym.js","./node_modules/typesense/lib/Typesense/Synonyms.js"],"sourcesContent":["import { Injectable } from \"@angular/core\";\r\nimport {\r\n CarrotSSOConfiguration,\r\n PublicConfigService,\r\n} from \"../shared/services/public.config.service\";\r\nimport { DataService } from \"../shared/services/data.service\";\r\nimport Typesense, { Client } from \"typesense\";\r\n\r\nexport interface SearchForumsCriteria {\r\n searchTerm?: string,\r\n category?: string,\r\n isHidden?: boolean,\r\n createdBy?: string,\r\n isPinned?: boolean,\r\n popular?: boolean,\r\n sortExpresssion?: string, // \"createdAt.asc\", \"createdAt.desc\", etc...\r\n pagination: {\r\n pageSize: number,\r\n lastItem?: any,\r\n currentPage?: number\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class ForumsService {\r\n private ssoConfiguration: CarrotSSOConfiguration;\r\n private forumsConfig = null;\r\n _typesenseClient: Client;\r\n\r\n constructor(\r\n publicConfigService: PublicConfigService,\r\n private dataService: DataService\r\n ) {\r\n this.ssoConfiguration = publicConfigService.getCarrotSSOConfig();\r\n }\r\n\r\n async getForumsConfig() {\r\n if (!this.forumsConfig) {\r\n this.forumsConfig = await this.dataService\r\n .get(\r\n this.ssoConfiguration.ssoBaseUrl +\r\n `/api/v1/config/client/${this.ssoConfiguration.ssoClientId}/forum`\r\n )\r\n .toPromise();\r\n }\r\n return this.forumsConfig;\r\n }\r\n\r\n async searchForumPosts(criteria: SearchForumsCriteria) {\r\n const config = await this.getForumsConfig();\r\n let search = {\r\n q: criteria.searchTerm,\r\n query_by: \"title,descriptionPlain\",\r\n sort_by: criteria.sortExpresssion,\r\n per_page: criteria.pagination.pageSize,\r\n page: criteria.pagination.currentPage + 1,\r\n };\r\n const filter_by = this.composeFilterByClause(criteria);\r\n if (filter_by) {\r\n search[\"filter_by\"] = filter_by;\r\n }\r\n const typesenseClient = await this.getTypesenseClient();\r\n let searchResults = await typesenseClient\r\n .collections(config.data.typesense.collectionName)\r\n .documents()\r\n .search(search);\r\n\r\n return searchResults;\r\n }\r\n\r\n async getTypesenseClient(): Promise {\r\n if (!this._typesenseClient) {\r\n const config = await this.getForumsConfig();\r\n this._typesenseClient = new Typesense.Client({\r\n nodes: [\r\n {\r\n host: config.data.typesense.host,\r\n port: 443,\r\n protocol: \"https\",\r\n },\r\n ],\r\n apiKey: config.data.typesense.apiKey,\r\n connectionTimeoutSeconds: 60,\r\n });\r\n }\r\n return this._typesenseClient;\r\n }\r\n\r\n public composeFilterByClause(criteria: SearchForumsCriteria): string {\r\n let filterBy = \"\";\r\n\r\n if (criteria.createdBy !== undefined) {\r\n filterBy = this.appendFilterByCondition(\r\n filterBy,\r\n \"createdBy:=\" + criteria.createdBy\r\n );\r\n }\r\n\r\n if (criteria.isHidden !== undefined) {\r\n filterBy = this.appendFilterByCondition(\r\n filterBy,\r\n \"isHidden:=\" + criteria.isHidden\r\n );\r\n }\r\n\r\n if (criteria.isPinned !== undefined) {\r\n filterBy = this.appendFilterByCondition(\r\n filterBy,\r\n \"isPinned:=\" + criteria.isPinned\r\n );\r\n }\r\n\r\n if (criteria.category !== undefined) {\r\n filterBy = this.appendFilterByCondition(\r\n filterBy,\r\n \"category:=\" + criteria.category\r\n );\r\n }\r\n\r\n if (criteria.category !== undefined) {\r\n filterBy = this.appendFilterByCondition(\r\n filterBy,\r\n \"category:=\" + criteria.category\r\n );\r\n }\r\n\r\n if (criteria.popular !== undefined) {\r\n filterBy = this.appendFilterByCondition(\r\n filterBy,\r\n \"seenCount:>0\"\r\n );\r\n }\r\n\r\n return filterBy;\r\n }\r\n\r\n public appendFilterByCondition(filterBy: string, condition: string): string {\r\n if (filterBy !== \"\") {\r\n filterBy += \" && \";\r\n }\r\n filterBy += condition;\r\n return filterBy;\r\n }\r\n}\r\n","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\nvar transitionalDefaults = require('../defaults/transitional');\nvar Cancel = require('../cancel/Cancel');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(\n timeoutErrorMessage,\n config,\n transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || (cancel && cancel.type) ? new Cancel('canceled') : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(function(cancel) {\n if (!token._listeners) return;\n\n var i;\n var l = token._listeners.length;\n\n for (i = 0; i < l; i++) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = function(onfulfilled) {\n var _resolve;\n // eslint-disable-next-line func-names\n var promise = new Promise(function(resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n\n/**\n * Unsubscribe from the cancel signal\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar Cancel = require('../cancel/Cancel');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new Cancel('canceled');\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar normalizeHeaderName = require('../helpers/normalizeHeaderName');\nvar enhanceError = require('../core/enhanceError');\nvar transitionalDefaults = require('./transitional');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('../adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('../adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw enhanceError(e, this, 'E_JSON_PARSE');\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nmodule.exports = {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","module.exports = {\n \"version\": \"0.26.1\"\n};","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar VERSION = require('../env/data').version;\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new Error(formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')));\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new TypeError('options must be an object');\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new TypeError('option ' + opt + ' must be ' + result);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw Error('Unknown option ' + opt);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return Array.isArray(val);\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return toString.call(val) === '[object FormData]';\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return toString.call(val) === '[object URLSearchParams]';\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","/*\n* loglevel - https://github.com/pimterry/loglevel\n*\n* Copyright (c) 2013 Tim Perry\n* Licensed under the MIT license.\n*/\n(function (root, definition) {\n \"use strict\";\n if (typeof define === 'function' && define.amd) {\n define(definition);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = definition();\n } else {\n root.log = definition();\n }\n}(this, function () {\n \"use strict\";\n\n // Slightly dubious tricks to cut down minimized file size\n var noop = function() {};\n var undefinedType = \"undefined\";\n var isIE = (typeof window !== undefinedType) && (typeof window.navigator !== undefinedType) && (\n /Trident\\/|MSIE /.test(window.navigator.userAgent)\n );\n\n var logMethods = [\n \"trace\",\n \"debug\",\n \"info\",\n \"warn\",\n \"error\"\n ];\n\n // Cross-browser bind equivalent that works at least back to IE6\n function bindMethod(obj, methodName) {\n var method = obj[methodName];\n if (typeof method.bind === 'function') {\n return method.bind(obj);\n } else {\n try {\n return Function.prototype.bind.call(method, obj);\n } catch (e) {\n // Missing bind shim or IE8 + Modernizr, fallback to wrapping\n return function() {\n return Function.prototype.apply.apply(method, [obj, arguments]);\n };\n }\n }\n }\n\n // Trace() doesn't print the message in IE, so for that case we need to wrap it\n function traceForIE() {\n if (console.log) {\n if (console.log.apply) {\n console.log.apply(console, arguments);\n } else {\n // In old IE, native console methods themselves don't have apply().\n Function.prototype.apply.apply(console.log, [console, arguments]);\n }\n }\n if (console.trace) console.trace();\n }\n\n // Build the best logging method possible for this env\n // Wherever possible we want to bind, not wrap, to preserve stack traces\n function realMethod(methodName) {\n if (methodName === 'debug') {\n methodName = 'log';\n }\n\n if (typeof console === undefinedType) {\n return false; // No method possible, for now - fixed later by enableLoggingWhenConsoleArrives\n } else if (methodName === 'trace' && isIE) {\n return traceForIE;\n } else if (console[methodName] !== undefined) {\n return bindMethod(console, methodName);\n } else if (console.log !== undefined) {\n return bindMethod(console, 'log');\n } else {\n return noop;\n }\n }\n\n // These private functions always need `this` to be set properly\n\n function replaceLoggingMethods(level, loggerName) {\n /*jshint validthis:true */\n for (var i = 0; i < logMethods.length; i++) {\n var methodName = logMethods[i];\n this[methodName] = (i < level) ?\n noop :\n this.methodFactory(methodName, level, loggerName);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n }\n\n // In old IE versions, the console isn't present until you first open it.\n // We build realMethod() replacements here that regenerate logging methods\n function enableLoggingWhenConsoleArrives(methodName, level, loggerName) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this, level, loggerName);\n this[methodName].apply(this, arguments);\n }\n };\n }\n\n // By default, we use closely bound real methods wherever possible, and\n // otherwise we wait for a console to appear, and then try again.\n function defaultMethodFactory(methodName, level, loggerName) {\n /*jshint validthis:true */\n return realMethod(methodName) ||\n enableLoggingWhenConsoleArrives.apply(this, arguments);\n }\n\n function Logger(name, defaultLevel, factory) {\n var self = this;\n var currentLevel;\n defaultLevel = defaultLevel == null ? \"WARN\" : defaultLevel;\n\n var storageKey = \"loglevel\";\n if (typeof name === \"string\") {\n storageKey += \":\" + name;\n } else if (typeof name === \"symbol\") {\n storageKey = undefined;\n }\n\n function persistLevelIfPossible(levelNum) {\n var levelName = (logMethods[levelNum] || 'silent').toUpperCase();\n\n if (typeof window === undefinedType || !storageKey) return;\n\n // Use localStorage if available\n try {\n window.localStorage[storageKey] = levelName;\n return;\n } catch (ignore) {}\n\n // Use session cookie as fallback\n try {\n window.document.cookie =\n encodeURIComponent(storageKey) + \"=\" + levelName + \";\";\n } catch (ignore) {}\n }\n\n function getPersistedLevel() {\n var storedLevel;\n\n if (typeof window === undefinedType || !storageKey) return;\n\n try {\n storedLevel = window.localStorage[storageKey];\n } catch (ignore) {}\n\n // Fallback to cookies if local storage gives us nothing\n if (typeof storedLevel === undefinedType) {\n try {\n var cookie = window.document.cookie;\n var location = cookie.indexOf(\n encodeURIComponent(storageKey) + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(cookie.slice(location))[1];\n }\n } catch (ignore) {}\n }\n\n // If the stored level is not valid, treat it as if nothing was stored.\n if (self.levels[storedLevel] === undefined) {\n storedLevel = undefined;\n }\n\n return storedLevel;\n }\n\n function clearPersistedLevel() {\n if (typeof window === undefinedType || !storageKey) return;\n\n // Use localStorage if available\n try {\n window.localStorage.removeItem(storageKey);\n return;\n } catch (ignore) {}\n\n // Use session cookie as fallback\n try {\n window.document.cookie =\n encodeURIComponent(storageKey) + \"=; expires=Thu, 01 Jan 1970 00:00:00 UTC\";\n } catch (ignore) {}\n }\n\n /*\n *\n * Public logger API - see https://github.com/pimterry/loglevel for details\n *\n */\n\n self.name = name;\n\n self.levels = { \"TRACE\": 0, \"DEBUG\": 1, \"INFO\": 2, \"WARN\": 3,\n \"ERROR\": 4, \"SILENT\": 5};\n\n self.methodFactory = factory || defaultMethodFactory;\n\n self.getLevel = function () {\n return currentLevel;\n };\n\n self.setLevel = function (level, persist) {\n if (typeof level === \"string\" && self.levels[level.toUpperCase()] !== undefined) {\n level = self.levels[level.toUpperCase()];\n }\n if (typeof level === \"number\" && level >= 0 && level <= self.levels.SILENT) {\n currentLevel = level;\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(level);\n }\n replaceLoggingMethods.call(self, level, name);\n if (typeof console === undefinedType && level < self.levels.SILENT) {\n return \"No console available for logging\";\n }\n } else {\n throw \"log.setLevel() called with invalid level: \" + level;\n }\n };\n\n self.setDefaultLevel = function (level) {\n defaultLevel = level;\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.resetLevel = function () {\n self.setLevel(defaultLevel, false);\n clearPersistedLevel();\n };\n\n self.enableAll = function(persist) {\n self.setLevel(self.levels.TRACE, persist);\n };\n\n self.disableAll = function(persist) {\n self.setLevel(self.levels.SILENT, persist);\n };\n\n // Initialize with the right level\n var initialLevel = getPersistedLevel();\n if (initialLevel == null) {\n initialLevel = defaultLevel;\n }\n self.setLevel(initialLevel, false);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n var defaultLogger = new Logger();\n\n var _loggersByName = {};\n defaultLogger.getLogger = function getLogger(name) {\n if ((typeof name !== \"symbol\" && typeof name !== \"string\") || name === \"\") {\n throw new TypeError(\"You must supply a name when creating a logger.\");\n }\n\n var logger = _loggersByName[name];\n if (!logger) {\n logger = _loggersByName[name] = new Logger(\n name, defaultLogger.getLevel(), defaultLogger.methodFactory);\n }\n return logger;\n };\n\n // Grab the current global log variable in case of overwrite\n var _log = (typeof window !== undefinedType) ? window.log : undefined;\n defaultLogger.noConflict = function() {\n if (typeof window !== undefinedType &&\n window.log === defaultLogger) {\n window.log = _log;\n }\n\n return defaultLogger;\n };\n\n defaultLogger.getLoggers = function getLoggers() {\n return _loggersByName;\n };\n\n // ES6 default export, for compatibility\n defaultLogger['default'] = defaultLogger;\n\n return defaultLogger;\n}));\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Errors = exports.SearchClient = exports.Client = void 0;\nvar Client_1 = __importDefault(require(\"./Typesense/Client\"));\nexports.Client = Client_1.default;\nvar SearchClient_1 = __importDefault(require(\"./Typesense/SearchClient\"));\nexports.SearchClient = SearchClient_1.default;\nvar Errors = __importStar(require(\"./Typesense/Errors\"));\nexports.Errors = Errors;\nexports.default = { Client: Client_1.default, SearchClient: SearchClient_1.default, Errors: Errors };\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Aliases_1 = __importDefault(require(\"./Aliases\"));\nvar Alias = /** @class */ (function () {\n function Alias(name, apiCall) {\n this.name = name;\n this.apiCall = apiCall;\n }\n Alias.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Alias.prototype.delete = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath())];\n });\n });\n };\n Alias.prototype.endpointPath = function () {\n return \"\".concat(Aliases_1.default.RESOURCEPATH, \"/\").concat(this.name);\n };\n return Alias;\n}());\nexports.default = Alias;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RESOURCEPATH = '/aliases';\nvar Aliases = /** @class */ (function () {\n function Aliases(apiCall) {\n this.apiCall = apiCall;\n }\n Aliases.prototype.upsert = function (name, mapping) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.put(this.endpointPath(name), mapping)];\n });\n });\n };\n Aliases.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(RESOURCEPATH)];\n });\n });\n };\n Aliases.prototype.endpointPath = function (aliasName) {\n return \"\".concat(Aliases.RESOURCEPATH, \"/\").concat(aliasName);\n };\n Object.defineProperty(Aliases, \"RESOURCEPATH\", {\n get: function () {\n return RESOURCEPATH;\n },\n enumerable: false,\n configurable: true\n });\n return Aliases;\n}());\nexports.default = Aliases;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar axios_1 = __importDefault(require(\"axios\"));\nvar Errors_1 = require(\"./Errors\");\nvar TypesenseError_1 = __importDefault(require(\"./Errors/TypesenseError\"));\nvar APIKEYHEADERNAME = 'X-TYPESENSE-API-KEY';\nvar HEALTHY = true;\nvar UNHEALTHY = false;\nvar ApiCall = /** @class */ (function () {\n function ApiCall(configuration) {\n this.configuration = configuration;\n this.apiKey = this.configuration.apiKey;\n this.nodes =\n this.configuration.nodes == null ? this.configuration.nodes : 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 = this.configuration.healthcheckIntervalSeconds;\n this.numRetriesPerRequest = this.configuration.numRetries;\n this.retryIntervalSeconds = this.configuration.retryIntervalSeconds;\n this.sendApiKeyAsQueryParam = this.configuration.sendApiKeyAsQueryParam;\n this.additionalUserHeaders = this.configuration.additionalHeaders;\n this.logger = this.configuration.logger;\n this.initializeMetadataForNodes();\n this.currentNodeIndex = -1;\n }\n ApiCall.prototype.get = function (endpoint, queryParameters, _a) {\n if (queryParameters === void 0) { queryParameters = {}; }\n var _b = _a === void 0 ? {} : _a, _c = _b.abortSignal, abortSignal = _c === void 0 ? null : _c, _d = _b.responseType, responseType = _d === void 0 ? undefined : _d;\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_e) {\n return [2 /*return*/, this.performRequest('get', endpoint, { queryParameters: queryParameters, abortSignal: abortSignal, responseType: responseType })];\n });\n });\n };\n ApiCall.prototype.delete = function (endpoint, queryParameters) {\n if (queryParameters === void 0) { queryParameters = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.performRequest('delete', endpoint, { queryParameters: queryParameters })];\n });\n });\n };\n ApiCall.prototype.post = function (endpoint, bodyParameters, queryParameters, additionalHeaders) {\n if (bodyParameters === void 0) { bodyParameters = {}; }\n if (queryParameters === void 0) { queryParameters = {}; }\n if (additionalHeaders === void 0) { additionalHeaders = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.performRequest('post', endpoint, { queryParameters: queryParameters, bodyParameters: bodyParameters, additionalHeaders: additionalHeaders })];\n });\n });\n };\n ApiCall.prototype.put = function (endpoint, bodyParameters, queryParameters) {\n if (bodyParameters === void 0) { bodyParameters = {}; }\n if (queryParameters === void 0) { queryParameters = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.performRequest('put', endpoint, { queryParameters: queryParameters, bodyParameters: bodyParameters })];\n });\n });\n };\n ApiCall.prototype.patch = function (endpoint, bodyParameters, queryParameters) {\n if (bodyParameters === void 0) { bodyParameters = {}; }\n if (queryParameters === void 0) { queryParameters = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.performRequest('patch', endpoint, { queryParameters: queryParameters, bodyParameters: bodyParameters })];\n });\n });\n };\n ApiCall.prototype.performRequest = function (requestType, endpoint, _a) {\n var _b, _c, _d;\n var _e = _a.queryParameters, queryParameters = _e === void 0 ? null : _e, _f = _a.bodyParameters, bodyParameters = _f === void 0 ? null : _f, _g = _a.additionalHeaders, additionalHeaders = _g === void 0 ? {} : _g, _h = _a.abortSignal, abortSignal = _h === void 0 ? null : _h, _j = _a.responseType, responseType = _j === void 0 ? undefined : _j;\n return __awaiter(this, void 0, void 0, function () {\n var requestNumber, lastException, _loop_1, this_1, numTries, state_1;\n return __generator(this, function (_k) {\n switch (_k.label) {\n case 0:\n this.configuration.validate();\n requestNumber = Date.now();\n this.logger.debug(\"Request #\".concat(requestNumber, \": Performing \").concat(requestType.toUpperCase(), \" request: \").concat(endpoint));\n _loop_1 = function (numTries) {\n var node, abortListener, requestOptions, cancelToken, source_1, response, error_1;\n return __generator(this, function (_l) {\n switch (_l.label) {\n case 0:\n node = this_1.getNextNode(requestNumber);\n this_1.logger.debug(\"Request #\".concat(requestNumber, \": Attempting \").concat(requestType.toUpperCase(), \" request Try #\").concat(numTries, \" to Node \").concat(node.index));\n if (abortSignal && abortSignal.aborted) {\n return [2 /*return*/, { value: Promise.reject(new Error('Request aborted by caller.')) }];\n }\n abortListener = void 0;\n _l.label = 1;\n case 1:\n _l.trys.push([1, 3, 5, 6]);\n requestOptions = {\n method: requestType,\n url: this_1.uriFor(endpoint, node),\n headers: Object.assign({}, this_1.defaultHeaders(), additionalHeaders, this_1.additionalUserHeaders),\n timeout: this_1.connectionTimeoutSeconds * 1000,\n maxContentLength: Infinity,\n maxBodyLength: Infinity,\n responseType: responseType,\n validateStatus: function (status) {\n /* Override default validateStatus, which only considers 2xx a success.\n In our case, if the server returns any HTTP code, we will handle it below.\n We do this to be able to raise custom errors based on response code.\n */\n return status > 0;\n },\n transformResponse: [\n function (data, headers) {\n var transformedData = data;\n if (headers !== undefined &&\n typeof data === 'string' &&\n headers['content-type'] &&\n headers['content-type'].startsWith('application/json')) {\n transformedData = JSON.parse(data);\n }\n return transformedData;\n }\n ]\n };\n if (queryParameters && Object.keys(queryParameters).length !== 0) {\n requestOptions.params = queryParameters;\n }\n if (this_1.sendApiKeyAsQueryParam) {\n requestOptions.params = requestOptions.params || {};\n requestOptions.params['x-typesense-api-key'] = this_1.apiKey;\n }\n if (bodyParameters &&\n ((typeof bodyParameters === 'string' && bodyParameters.length !== 0) ||\n (typeof bodyParameters === 'object' && Object.keys(bodyParameters).length !== 0))) {\n requestOptions.data = bodyParameters;\n }\n // Translate from user-provided AbortController to the Axios request cancel mechanism.\n if (abortSignal) {\n cancelToken = axios_1.default.CancelToken;\n source_1 = cancelToken.source();\n abortListener = function () { return source_1.cancel(); };\n abortSignal.addEventListener('abort', abortListener);\n requestOptions.cancelToken = source_1.token;\n }\n return [4 /*yield*/, (0, axios_1.default)(requestOptions)];\n case 2:\n response = _l.sent();\n if (response.status >= 1 && response.status <= 499) {\n // Treat any status code > 0 and < 500 to be an indication that node is healthy\n // We exclude 0 since some clients return 0 when request fails\n this_1.setNodeHealthcheck(node, HEALTHY);\n }\n this_1.logger.debug(\"Request #\".concat(requestNumber, \": Request to Node \").concat(node.index, \" was made. Response Code was \").concat(response.status, \".\"));\n if (response.status >= 200 && response.status < 300) {\n return [2 /*return*/, { value: Promise.resolve(response.data) }];\n }\n else if (response.status < 500) {\n return [2 /*return*/, { value: Promise.reject(this_1.customErrorForResponse(response, (_b = response.data) === null || _b === void 0 ? void 0 : _b.message)) }];\n }\n else {\n // Retry all other HTTP errors (HTTPStatus > 500)\n // This will get caught by the catch block below\n throw this_1.customErrorForResponse(response, (_c = response.data) === null || _c === void 0 ? void 0 : _c.message);\n }\n return [3 /*break*/, 6];\n case 3:\n error_1 = _l.sent();\n // This block handles retries for HTTPStatus > 500 and network layer issues like connection timeouts\n this_1.setNodeHealthcheck(node, UNHEALTHY);\n lastException = error_1;\n this_1.logger.warn(\"Request #\".concat(requestNumber, \": Request to Node \").concat(node.index, \" failed due to \\\"\").concat(error_1.code, \" \").concat(error_1.message).concat(error_1.response == null ? '' : ' - ' + JSON.stringify((_d = error_1.response) === null || _d === void 0 ? void 0 : _d.data), \"\\\"\"));\n // this.logger.debug(error.stack)\n this_1.logger.warn(\"Request #\".concat(requestNumber, \": Sleeping for \").concat(this_1.retryIntervalSeconds, \"s and then retrying request...\"));\n return [4 /*yield*/, this_1.timer(this_1.retryIntervalSeconds)];\n case 4:\n _l.sent();\n return [3 /*break*/, 6];\n case 5:\n if (abortSignal && abortListener) {\n abortSignal.removeEventListener('abort', abortListener);\n }\n return [7 /*endfinally*/];\n case 6: return [2 /*return*/];\n }\n });\n };\n this_1 = this;\n numTries = 1;\n _k.label = 1;\n case 1:\n if (!(numTries <= this.numRetriesPerRequest + 1)) return [3 /*break*/, 4];\n return [5 /*yield**/, _loop_1(numTries)];\n case 2:\n state_1 = _k.sent();\n if (typeof state_1 === \"object\")\n return [2 /*return*/, state_1.value];\n _k.label = 3;\n case 3:\n numTries++;\n return [3 /*break*/, 1];\n case 4:\n this.logger.debug(\"Request #\".concat(requestNumber, \": No retries left. Raising last error\"));\n return [2 /*return*/, Promise.reject(lastException)];\n }\n });\n });\n };\n // Attempts to find the next healthy node, looping through the list of nodes once.\n // But if no healthy nodes are found, it will just return the next node, even if it's unhealthy\n // so we can try the request for good measure, in case that node has become healthy since\n ApiCall.prototype.getNextNode = function (requestNumber) {\n if (requestNumber === void 0) { requestNumber = 0; }\n // Check if nearestNode is set and is healthy, if so return it\n if (this.nearestNode != null) {\n this.logger.debug(\"Request #\".concat(requestNumber, \": Nodes Health: Node \").concat(this.nearestNode.index, \" is \").concat(this.nearestNode.isHealthy === true ? 'Healthy' : 'Unhealthy'));\n if (this.nearestNode.isHealthy === true || this.nodeDueForHealthcheck(this.nearestNode, requestNumber)) {\n this.logger.debug(\"Request #\".concat(requestNumber, \": Updated current node to Node \").concat(this.nearestNode.index));\n return this.nearestNode;\n }\n this.logger.debug(\"Request #\".concat(requestNumber, \": Falling back to individual nodes\"));\n }\n // Fallback to nodes as usual\n this.logger.debug(\"Request #\".concat(requestNumber, \": Nodes Health: \").concat(this.nodes\n .map(function (node) { return \"Node \".concat(node.index, \" is \").concat(node.isHealthy === true ? 'Healthy' : 'Unhealthy'); })\n .join(' || ')));\n var candidateNode = this.nodes[0];\n for (var i = 0; i <= this.nodes.length; i++) {\n this.currentNodeIndex = (this.currentNodeIndex + 1) % this.nodes.length;\n candidateNode = this.nodes[this.currentNodeIndex];\n if (candidateNode.isHealthy === true || this.nodeDueForHealthcheck(candidateNode, requestNumber)) {\n this.logger.debug(\"Request #\".concat(requestNumber, \": Updated current node to Node \").concat(candidateNode.index));\n return candidateNode;\n }\n }\n // None of the nodes are marked healthy, but some of them could have become healthy since last health check.\n // So we will just return the next node.\n this.logger.debug(\"Request #\".concat(requestNumber, \": No healthy nodes were found. Returning the next node, Node \").concat(candidateNode.index));\n return candidateNode;\n };\n ApiCall.prototype.nodeDueForHealthcheck = function (node, requestNumber) {\n if (requestNumber === void 0) { requestNumber = 0; }\n var isDueForHealthcheck = Date.now() - node.lastAccessTimestamp > this.healthcheckIntervalSeconds * 1000;\n if (isDueForHealthcheck) {\n this.logger.debug(\"Request #\".concat(requestNumber, \": Node \").concat(node.index, \" has exceeded healtcheckIntervalSeconds of \").concat(this.healthcheckIntervalSeconds, \". Adding it back into rotation.\"));\n }\n return isDueForHealthcheck;\n };\n ApiCall.prototype.initializeMetadataForNodes = function () {\n var _this = this;\n if (this.nearestNode != null) {\n this.nearestNode.index = 'nearestNode';\n this.setNodeHealthcheck(this.nearestNode, HEALTHY);\n }\n this.nodes.forEach(function (node, i) {\n node.index = i;\n _this.setNodeHealthcheck(node, HEALTHY);\n });\n };\n ApiCall.prototype.setNodeHealthcheck = function (node, isHealthy) {\n node.isHealthy = isHealthy;\n node.lastAccessTimestamp = Date.now();\n };\n ApiCall.prototype.uriFor = function (endpoint, node) {\n if (node.url != null) {\n return \"\".concat(node.url).concat(endpoint);\n }\n return \"\".concat(node.protocol, \"://\").concat(node.host, \":\").concat(node.port).concat(node.path).concat(endpoint);\n };\n ApiCall.prototype.defaultHeaders = function () {\n var defaultHeaders = {};\n if (!this.sendApiKeyAsQueryParam) {\n defaultHeaders[APIKEYHEADERNAME] = this.apiKey;\n }\n defaultHeaders['Content-Type'] = 'application/json';\n return defaultHeaders;\n };\n ApiCall.prototype.timer = function (seconds) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, new Promise(function (resolve) { return setTimeout(resolve, seconds * 1000); })];\n });\n });\n };\n ApiCall.prototype.customErrorForResponse = function (response, messageFromServer) {\n var errorMessage = \"Request failed with HTTP code \".concat(response.status);\n if (typeof messageFromServer === 'string' && messageFromServer.trim() !== '') {\n errorMessage += \" | Server said: \".concat(messageFromServer);\n }\n var error = new TypesenseError_1.default(errorMessage);\n if (response.status === 400) {\n error = new Errors_1.RequestMalformed(errorMessage);\n }\n else if (response.status === 401) {\n error = new Errors_1.RequestUnauthorized(errorMessage);\n }\n else if (response.status === 404) {\n error = new Errors_1.ObjectNotFound(errorMessage);\n }\n else if (response.status === 409) {\n error = new Errors_1.ObjectAlreadyExists(errorMessage);\n }\n else if (response.status === 422) {\n error = new Errors_1.ObjectUnprocessable(errorMessage);\n }\n else if (response.status >= 500 && response.status <= 599) {\n error = new Errors_1.ServerError(errorMessage);\n }\n else {\n error = new Errors_1.HTTPError(errorMessage);\n }\n error.httpStatus = response.status;\n return error;\n };\n return ApiCall;\n}());\nexports.default = ApiCall;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Configuration_1 = __importDefault(require(\"./Configuration\"));\nvar ApiCall_1 = __importDefault(require(\"./ApiCall\"));\nvar Collections_1 = __importDefault(require(\"./Collections\"));\nvar Collection_1 = __importDefault(require(\"./Collection\"));\nvar Aliases_1 = __importDefault(require(\"./Aliases\"));\nvar Alias_1 = __importDefault(require(\"./Alias\"));\nvar Keys_1 = __importDefault(require(\"./Keys\"));\nvar Key_1 = __importDefault(require(\"./Key\"));\nvar Debug_1 = __importDefault(require(\"./Debug\"));\nvar Metrics_1 = __importDefault(require(\"./Metrics\"));\nvar Health_1 = __importDefault(require(\"./Health\"));\nvar Operations_1 = __importDefault(require(\"./Operations\"));\nvar MultiSearch_1 = __importDefault(require(\"./MultiSearch\"));\nvar Presets_1 = __importDefault(require(\"./Presets\"));\nvar Preset_1 = __importDefault(require(\"./Preset\"));\nvar Client = /** @class */ (function () {\n function Client(options) {\n var _a;\n options.sendApiKeyAsQueryParam = (_a = options.sendApiKeyAsQueryParam) !== null && _a !== void 0 ? _a : false;\n this.configuration = new Configuration_1.default(options);\n this.apiCall = new ApiCall_1.default(this.configuration);\n this.debug = new Debug_1.default(this.apiCall);\n this.metrics = new Metrics_1.default(this.apiCall);\n this.health = new Health_1.default(this.apiCall);\n this.operations = new Operations_1.default(this.apiCall);\n this.multiSearch = new MultiSearch_1.default(this.apiCall, this.configuration);\n this._collections = new Collections_1.default(this.apiCall);\n this.individualCollections = {};\n this._aliases = new Aliases_1.default(this.apiCall);\n this.individualAliases = {};\n this._keys = new Keys_1.default(this.apiCall);\n this.individualKeys = {};\n this._presets = new Presets_1.default(this.apiCall);\n this.individualPresets = {};\n }\n Client.prototype.collections = function (collectionName) {\n if (collectionName === undefined) {\n return this._collections;\n }\n else {\n if (this.individualCollections[collectionName] === undefined) {\n this.individualCollections[collectionName] = new Collection_1.default(collectionName, this.apiCall, this.configuration);\n }\n return this.individualCollections[collectionName];\n }\n };\n Client.prototype.aliases = function (aliasName) {\n if (aliasName === undefined) {\n return this._aliases;\n }\n else {\n if (this.individualAliases[aliasName] === undefined) {\n this.individualAliases[aliasName] = new Alias_1.default(aliasName, this.apiCall);\n }\n return this.individualAliases[aliasName];\n }\n };\n Client.prototype.keys = function (id) {\n if (id === undefined) {\n return this._keys;\n }\n else {\n if (this.individualKeys[id] === undefined) {\n this.individualKeys[id] = new Key_1.default(id, this.apiCall);\n }\n return this.individualKeys[id];\n }\n };\n Client.prototype.presets = function (id) {\n if (id === undefined) {\n return this._presets;\n }\n else {\n if (this.individualPresets[id] === undefined) {\n this.individualPresets[id] = new Preset_1.default(id, this.apiCall);\n }\n return this.individualPresets[id];\n }\n };\n return Client;\n}());\nexports.default = Client;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Collections_1 = __importDefault(require(\"./Collections\"));\nvar Documents_1 = __importDefault(require(\"./Documents\"));\nvar Errors_1 = require(\"./Errors\");\nvar Overrides_1 = __importDefault(require(\"./Overrides\"));\nvar Override_1 = __importDefault(require(\"./Override\"));\nvar Synonyms_1 = __importDefault(require(\"./Synonyms\"));\nvar Synonym_1 = __importDefault(require(\"./Synonym\"));\nvar Document_1 = require(\"./Document\");\nvar Collection = /** @class */ (function () {\n function Collection(name, apiCall, configuration) {\n this.name = name;\n this.apiCall = apiCall;\n this.configuration = configuration;\n this.individualDocuments = {};\n this.individualOverrides = {};\n this.individualSynonyms = {};\n this.name = name;\n this.apiCall = apiCall;\n this.configuration = configuration;\n this._documents = new Documents_1.default(this.name, this.apiCall, this.configuration);\n this._overrides = new Overrides_1.default(this.name, this.apiCall);\n this._synonyms = new Synonyms_1.default(this.name, this.apiCall);\n }\n Collection.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Collection.prototype.update = function (schema) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.patch(this.endpointPath(), schema)];\n });\n });\n };\n Collection.prototype.delete = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath())];\n });\n });\n };\n Collection.prototype.exists = function () {\n return __awaiter(this, void 0, void 0, function () {\n var e_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.retrieve()];\n case 1:\n _a.sent();\n return [2 /*return*/, true];\n case 2:\n e_1 = _a.sent();\n if (e_1 instanceof Errors_1.ObjectNotFound)\n return [2 /*return*/, false];\n throw e_1;\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n Collection.prototype.documents = function (documentId) {\n if (!documentId) {\n return this._documents;\n }\n else {\n if (this.individualDocuments[documentId] === undefined) {\n this.individualDocuments[documentId] = new Document_1.Document(this.name, documentId, this.apiCall);\n }\n return this.individualDocuments[documentId];\n }\n };\n Collection.prototype.overrides = function (overrideId) {\n if (overrideId === undefined) {\n return this._overrides;\n }\n else {\n if (this.individualOverrides[overrideId] === undefined) {\n this.individualOverrides[overrideId] = new Override_1.default(this.name, overrideId, this.apiCall);\n }\n return this.individualOverrides[overrideId];\n }\n };\n Collection.prototype.synonyms = function (synonymId) {\n if (synonymId === undefined) {\n return this._synonyms;\n }\n else {\n if (this.individualSynonyms[synonymId] === undefined) {\n this.individualSynonyms[synonymId] = new Synonym_1.default(this.name, synonymId, this.apiCall);\n }\n return this.individualSynonyms[synonymId];\n }\n };\n Collection.prototype.endpointPath = function () {\n return \"\".concat(Collections_1.default.RESOURCEPATH, \"/\").concat(this.name);\n };\n return Collection;\n}());\nexports.default = Collection;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RESOURCEPATH = '/collections';\nvar Collections = /** @class */ (function () {\n function Collections(apiCall) {\n this.apiCall = apiCall;\n }\n Collections.prototype.create = function (schema, options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.post(RESOURCEPATH, schema, options)];\n });\n });\n };\n Collections.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(RESOURCEPATH)];\n });\n });\n };\n Object.defineProperty(Collections, \"RESOURCEPATH\", {\n get: function () {\n return RESOURCEPATH;\n },\n enumerable: false,\n configurable: true\n });\n return Collections;\n}());\nexports.default = Collections;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar logger = __importStar(require(\"loglevel\"));\nvar Errors_1 = require(\"./Errors\");\nvar Configuration = /** @class */ (function () {\n function Configuration(options) {\n var _this = this;\n this.nodes = options.nodes || [];\n this.nodes = this.nodes\n .map(function (node) { return _this.setDefaultPathInNode(node); })\n .map(function (node) { return _this.setDefaultPortInNode(node); })\n .map(function (node) { return (__assign({}, node)); }); // Make a deep copy\n if (options.randomizeNodes == null) {\n options.randomizeNodes = true;\n }\n if (options.randomizeNodes === true) {\n this.shuffleArray(this.nodes);\n }\n this.nearestNode = options.nearestNode;\n this.nearestNode = this.setDefaultPathInNode(this.nearestNode);\n this.nearestNode = this.setDefaultPortInNode(this.nearestNode);\n this.connectionTimeoutSeconds = options.connectionTimeoutSeconds || options.timeoutSeconds || 5;\n this.healthcheckIntervalSeconds = options.healthcheckIntervalSeconds || 60;\n this.numRetries = options.numRetries || this.nodes.length + (this.nearestNode == null ? 0 : 1) || 3;\n this.retryIntervalSeconds = options.retryIntervalSeconds || 0.1;\n this.apiKey = options.apiKey;\n this.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam; // We will set a default for this in Client and SearchClient\n this.cacheSearchResultsForSeconds = options.cacheSearchResultsForSeconds || 0; // Disable client-side cache by default\n this.useServerSideSearchCache = options.useServerSideSearchCache || false;\n this.logger = options.logger || logger;\n this.logLevel = options.logLevel || 'warn';\n this.logger.setLevel(this.logLevel);\n this.additionalHeaders = options.additionalHeaders;\n this.showDeprecationWarnings(options);\n this.validate();\n }\n Configuration.prototype.validate = function () {\n if (this.nodes == null || this.nodes.length === 0 || this.validateNodes()) {\n throw new Errors_1.MissingConfigurationError('Ensure that nodes[].protocol, nodes[].host and nodes[].port are set');\n }\n if (this.nearestNode != null && this.isNodeMissingAnyParameters(this.nearestNode)) {\n throw new Errors_1.MissingConfigurationError('Ensure that nearestNodes.protocol, nearestNodes.host and nearestNodes.port are set');\n }\n if (this.apiKey == null) {\n throw new Errors_1.MissingConfigurationError('Ensure that apiKey is set');\n }\n return true;\n };\n Configuration.prototype.validateNodes = function () {\n var _this = this;\n return this.nodes.some(function (node) {\n return _this.isNodeMissingAnyParameters(node);\n });\n };\n Configuration.prototype.isNodeMissingAnyParameters = function (node) {\n return (!['protocol', 'host', 'port', 'path'].every(function (key) {\n return node.hasOwnProperty(key);\n }) && node['url'] == null);\n };\n Configuration.prototype.setDefaultPathInNode = function (node) {\n if (node != null && !node.hasOwnProperty('path')) {\n node['path'] = '';\n }\n return node;\n };\n Configuration.prototype.setDefaultPortInNode = function (node) {\n if (node != null && !node.hasOwnProperty('port') && node.hasOwnProperty('protocol')) {\n switch (node['protocol']) {\n case 'https':\n node['port'] = 443;\n break;\n case 'http':\n node['port'] = 80;\n break;\n }\n }\n return node;\n };\n Configuration.prototype.showDeprecationWarnings = function (options) {\n if (options.timeoutSeconds) {\n this.logger.warn('Deprecation warning: timeoutSeconds is now renamed to connectionTimeoutSeconds');\n }\n if (options.masterNode) {\n this.logger.warn('Deprecation warning: masterNode is now consolidated to nodes, starting with Typesense Server v0.12');\n }\n if (options.readReplicaNodes) {\n this.logger.warn('Deprecation warning: readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12');\n }\n };\n Configuration.prototype.shuffleArray = function (array) {\n var _a;\n for (var i = array.length - 1; i > 0; i--) {\n var j = Math.floor(Math.random() * (i + 1));\n _a = [array[j], array[i]], array[i] = _a[0], array[j] = _a[1];\n }\n };\n return Configuration;\n}());\nexports.default = Configuration;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RESOURCEPATH = '/debug';\nvar Debug = /** @class */ (function () {\n function Debug(apiCall) {\n this.apiCall = apiCall;\n }\n Debug.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(RESOURCEPATH)];\n });\n });\n };\n return Debug;\n}());\nexports.default = Debug;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Document = void 0;\nvar Collections_1 = __importDefault(require(\"./Collections\"));\nvar Documents_1 = __importDefault(require(\"./Documents\"));\nvar Document = /** @class */ (function () {\n function Document(collectionName, documentId, apiCall) {\n this.collectionName = collectionName;\n this.documentId = documentId;\n this.apiCall = apiCall;\n }\n Document.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Document.prototype.delete = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath())];\n });\n });\n };\n Document.prototype.update = function (partialDocument, options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.patch(this.endpointPath(), partialDocument, options)];\n });\n });\n };\n Document.prototype.endpointPath = function () {\n return \"\".concat(Collections_1.default.RESOURCEPATH, \"/\").concat(this.collectionName).concat(Documents_1.default.RESOURCEPATH, \"/\").concat(this.documentId);\n };\n return Document;\n}());\nexports.Document = Document;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Errors_1 = require(\"./Errors\");\nvar SearchOnlyDocuments_1 = require(\"./SearchOnlyDocuments\");\nvar Documents = /** @class */ (function (_super) {\n __extends(Documents, _super);\n function Documents(collectionName, apiCall, configuration) {\n return _super.call(this, collectionName, apiCall, configuration) || this;\n }\n Documents.prototype.create = function (document, options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (!document)\n throw new Error('No document provided');\n return [2 /*return*/, this.apiCall.post(this.endpointPath(), document, options)];\n });\n });\n };\n Documents.prototype.upsert = function (document, options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (!document)\n throw new Error('No document provided');\n return [2 /*return*/, this.apiCall.post(this.endpointPath(), document, Object.assign({}, options, { action: 'upsert' }))];\n });\n });\n };\n Documents.prototype.update = function (document, options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (!document)\n throw new Error('No document provided');\n return [2 /*return*/, this.apiCall.post(this.endpointPath(), document, Object.assign({}, options, { action: 'update' }))];\n });\n });\n };\n Documents.prototype.delete = function (idOrQuery) {\n if (idOrQuery === void 0) { idOrQuery = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (typeof idOrQuery === 'string') {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath(idOrQuery), idOrQuery)];\n }\n else {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath(), idOrQuery)];\n }\n return [2 /*return*/];\n });\n });\n };\n Documents.prototype.createMany = function (documents, options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n this.configuration.logger.warn('createMany is deprecated and will be removed in a future version. Use import instead, which now takes both an array of documents or a JSONL string of documents');\n return [2 /*return*/, this.import(documents, options)];\n });\n });\n };\n Documents.prototype.import = function (documents, options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n var documentsInJSONLFormat, resultsInJSONLFormat, resultsInJSONFormat, failedItems;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (Array.isArray(documents)) {\n try {\n documentsInJSONLFormat = documents.map(function (document) { return JSON.stringify(document); }).join('\\n');\n }\n catch (error) {\n // if rangeerror, throw custom error message\n if (RangeError instanceof error && (error === null || error === void 0 ? void 0 : error.includes('Too many properties to enumerate'))) {\n throw new Error(\"\".concat(error, \"\\n It looks like you have reached a Node.js limit that restricts the number of keys in an Object: https://stackoverflow.com/questions/9282869/are-there-limits-to-the-number-of-properties-in-a-javascript-object\\n\\n Please try reducing the number of keys in your document, or using CURL to import your data.\\n \"));\n }\n // else, throw the non-range error anyways\n throw new Error(error);\n }\n }\n else {\n documentsInJSONLFormat = documents;\n }\n return [4 /*yield*/, this.apiCall.performRequest('post', this.endpointPath('import'), {\n queryParameters: options,\n bodyParameters: documentsInJSONLFormat,\n additionalHeaders: { 'Content-Type': 'text/plain' }\n })];\n case 1:\n resultsInJSONLFormat = _a.sent();\n if (Array.isArray(documents)) {\n resultsInJSONFormat = resultsInJSONLFormat.split('\\n').map(function (r) { return JSON.parse(r); });\n failedItems = resultsInJSONFormat.filter(function (r) { return r.success === false; });\n if (failedItems.length > 0) {\n throw new Errors_1.ImportError(\"\".concat(resultsInJSONFormat.length - failedItems.length, \" documents imported successfully, \").concat(failedItems.length, \" documents failed during import. Use `error.importResults` from the raised exception to get a detailed error reason for each document.\"), resultsInJSONFormat);\n }\n else {\n return [2 /*return*/, resultsInJSONFormat];\n }\n }\n else {\n return [2 /*return*/, resultsInJSONLFormat];\n }\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Returns a JSONL string for all the documents in this collection\n */\n Documents.prototype.export = function (options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath('export'), options)];\n });\n });\n };\n /**\n * Returns a NodeJS readable stream of JSONL for all the documents in this collection.\n */\n Documents.prototype.exportStream = function (options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath('export'), options, { responseType: 'stream' })];\n });\n });\n };\n return Documents;\n}(SearchOnlyDocuments_1.SearchOnlyDocuments));\nexports.default = Documents;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar HTTPError = /** @class */ (function (_super) {\n __extends(HTTPError, _super);\n function HTTPError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return HTTPError;\n}(TypesenseError_1.default));\nexports.default = HTTPError;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar ImportError = /** @class */ (function (_super) {\n __extends(ImportError, _super);\n function ImportError(message, importResults) {\n var _this = _super.call(this, message) || this;\n _this.importResults = importResults;\n return _this;\n }\n return ImportError;\n}(TypesenseError_1.default));\nexports.default = ImportError;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar MissingConfigurationError = /** @class */ (function (_super) {\n __extends(MissingConfigurationError, _super);\n function MissingConfigurationError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return MissingConfigurationError;\n}(TypesenseError_1.default));\nexports.default = MissingConfigurationError;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar ObjectAlreadyExists = /** @class */ (function (_super) {\n __extends(ObjectAlreadyExists, _super);\n function ObjectAlreadyExists() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ObjectAlreadyExists;\n}(TypesenseError_1.default));\nexports.default = ObjectAlreadyExists;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar ObjectNotFound = /** @class */ (function (_super) {\n __extends(ObjectNotFound, _super);\n function ObjectNotFound() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ObjectNotFound;\n}(TypesenseError_1.default));\nexports.default = ObjectNotFound;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar ObjectUnprocessable = /** @class */ (function (_super) {\n __extends(ObjectUnprocessable, _super);\n function ObjectUnprocessable() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ObjectUnprocessable;\n}(TypesenseError_1.default));\nexports.default = ObjectUnprocessable;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar RequestMalformed = /** @class */ (function (_super) {\n __extends(RequestMalformed, _super);\n function RequestMalformed() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return RequestMalformed;\n}(TypesenseError_1.default));\nexports.default = RequestMalformed;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar RequestUnauthorized = /** @class */ (function (_super) {\n __extends(RequestUnauthorized, _super);\n function RequestUnauthorized() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return RequestUnauthorized;\n}(TypesenseError_1.default));\nexports.default = RequestUnauthorized;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar ServerError = /** @class */ (function (_super) {\n __extends(ServerError, _super);\n function ServerError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ServerError;\n}(TypesenseError_1.default));\nexports.default = ServerError;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError = /** @class */ (function (_super) {\n __extends(TypesenseError, _super);\n // Source: https://stackoverflow.com/a/58417721/123545\n function TypesenseError(message) {\n var _newTarget = this.constructor;\n var _this = _super.call(this, message) || this;\n _this.name = _newTarget.name;\n Object.setPrototypeOf(_this, _newTarget.prototype);\n return _this;\n }\n return TypesenseError;\n}(Error));\nexports.default = TypesenseError;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ImportError = exports.TypesenseError = exports.ServerError = exports.RequestUnauthorized = exports.RequestMalformed = exports.ObjectUnprocessable = exports.ObjectNotFound = exports.ObjectAlreadyExists = exports.MissingConfigurationError = exports.HTTPError = void 0;\nvar HTTPError_1 = __importDefault(require(\"./HTTPError\"));\nexports.HTTPError = HTTPError_1.default;\nvar MissingConfigurationError_1 = __importDefault(require(\"./MissingConfigurationError\"));\nexports.MissingConfigurationError = MissingConfigurationError_1.default;\nvar ObjectAlreadyExists_1 = __importDefault(require(\"./ObjectAlreadyExists\"));\nexports.ObjectAlreadyExists = ObjectAlreadyExists_1.default;\nvar ObjectNotFound_1 = __importDefault(require(\"./ObjectNotFound\"));\nexports.ObjectNotFound = ObjectNotFound_1.default;\nvar ObjectUnprocessable_1 = __importDefault(require(\"./ObjectUnprocessable\"));\nexports.ObjectUnprocessable = ObjectUnprocessable_1.default;\nvar RequestMalformed_1 = __importDefault(require(\"./RequestMalformed\"));\nexports.RequestMalformed = RequestMalformed_1.default;\nvar RequestUnauthorized_1 = __importDefault(require(\"./RequestUnauthorized\"));\nexports.RequestUnauthorized = RequestUnauthorized_1.default;\nvar ServerError_1 = __importDefault(require(\"./ServerError\"));\nexports.ServerError = ServerError_1.default;\nvar ImportError_1 = __importDefault(require(\"./ImportError\"));\nexports.ImportError = ImportError_1.default;\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nexports.TypesenseError = TypesenseError_1.default;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RESOURCEPATH = '/health';\nvar Health = /** @class */ (function () {\n function Health(apiCall) {\n this.apiCall = apiCall;\n }\n Health.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(RESOURCEPATH)];\n });\n });\n };\n return Health;\n}());\nexports.default = Health;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Keys_1 = __importDefault(require(\"./Keys\"));\nvar Key = /** @class */ (function () {\n function Key(id, apiCall) {\n this.id = id;\n this.apiCall = apiCall;\n }\n Key.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Key.prototype.delete = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath())];\n });\n });\n };\n Key.prototype.endpointPath = function () {\n return \"\".concat(Keys_1.default.RESOURCEPATH, \"/\").concat(this.id);\n };\n return Key;\n}());\nexports.default = Key;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar crypto_1 = require(\"crypto\");\nvar RESOURCEPATH = '/keys';\nvar Keys = /** @class */ (function () {\n function Keys(apiCall) {\n this.apiCall = apiCall;\n this.apiCall = apiCall;\n }\n Keys.prototype.create = function (params) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.post(Keys.RESOURCEPATH, params)];\n });\n });\n };\n Keys.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(RESOURCEPATH)];\n });\n });\n };\n Keys.prototype.generateScopedSearchKey = function (searchKey, parameters) {\n // Note: only a key generated with the `documents:search` action will be\n // accepted by the server, when usined with the search endpoint.\n var paramsJSON = JSON.stringify(parameters);\n var digest = Buffer.from((0, crypto_1.createHmac)('sha256', searchKey).update(paramsJSON).digest('base64'));\n var keyPrefix = searchKey.substr(0, 4);\n var rawScopedKey = \"\".concat(digest).concat(keyPrefix).concat(paramsJSON);\n return Buffer.from(rawScopedKey).toString('base64');\n };\n Object.defineProperty(Keys, \"RESOURCEPATH\", {\n get: function () {\n return RESOURCEPATH;\n },\n enumerable: false,\n configurable: true\n });\n return Keys;\n}());\nexports.default = Keys;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RESOURCEPATH = '/metrics.json';\nvar Metrics = /** @class */ (function () {\n function Metrics(apiCall) {\n this.apiCall = apiCall;\n }\n Metrics.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(RESOURCEPATH)];\n });\n });\n };\n return Metrics;\n}());\nexports.default = Metrics;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RequestWithCache_1 = __importDefault(require(\"./RequestWithCache\"));\nvar RESOURCEPATH = '/multi_search';\nvar MultiSearch = /** @class */ (function () {\n function MultiSearch(apiCall, configuration, useTextContentType) {\n if (useTextContentType === void 0) { useTextContentType = false; }\n this.apiCall = apiCall;\n this.configuration = configuration;\n this.useTextContentType = useTextContentType;\n this.requestWithCache = new RequestWithCache_1.default();\n }\n MultiSearch.prototype.clearCache = function () {\n this.requestWithCache.clearCache();\n };\n MultiSearch.prototype.perform = function (searchRequests, commonParams, _a) {\n if (commonParams === void 0) { commonParams = {}; }\n var _b = _a === void 0 ? {} : _a, _c = _b.cacheSearchResultsForSeconds, cacheSearchResultsForSeconds = _c === void 0 ? this.configuration.cacheSearchResultsForSeconds : _c;\n return __awaiter(this, void 0, void 0, function () {\n var additionalHeaders, additionalQueryParams, queryParams;\n return __generator(this, function (_d) {\n additionalHeaders = {};\n if (this.useTextContentType) {\n additionalHeaders['content-type'] = 'text/plain';\n }\n additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams['use_cache'] = true;\n }\n queryParams = Object.assign({}, commonParams, additionalQueryParams);\n return [2 /*return*/, this.requestWithCache.perform(this.apiCall, this.apiCall.post, [RESOURCEPATH, searchRequests, queryParams, additionalHeaders], { cacheResponseForSeconds: cacheSearchResultsForSeconds })];\n });\n });\n };\n return MultiSearch;\n}());\nexports.default = MultiSearch;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RESOURCEPATH = '/operations';\nvar Operations = /** @class */ (function () {\n function Operations(apiCall) {\n this.apiCall = apiCall;\n }\n Operations.prototype.perform = function (operationName, queryParameters) {\n if (queryParameters === void 0) { queryParameters = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.post(\"\".concat(RESOURCEPATH, \"/\").concat(operationName), {}, queryParameters)];\n });\n });\n };\n return Operations;\n}());\nexports.default = Operations;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Collections_1 = __importDefault(require(\"./Collections\"));\nvar Overrides_1 = __importDefault(require(\"./Overrides\"));\nvar Override = /** @class */ (function () {\n function Override(collectionName, overrideId, apiCall) {\n this.collectionName = collectionName;\n this.overrideId = overrideId;\n this.apiCall = apiCall;\n }\n Override.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Override.prototype.delete = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath())];\n });\n });\n };\n Override.prototype.endpointPath = function () {\n return \"\".concat(Collections_1.default.RESOURCEPATH, \"/\").concat(this.collectionName).concat(Overrides_1.default.RESOURCEPATH, \"/\").concat(this.overrideId);\n };\n return Override;\n}());\nexports.default = Override;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Collections_1 = __importDefault(require(\"./Collections\"));\nvar RESOURCEPATH = '/overrides';\nvar Overrides = /** @class */ (function () {\n function Overrides(collectionName, apiCall) {\n this.collectionName = collectionName;\n this.apiCall = apiCall;\n }\n Overrides.prototype.upsert = function (overrideId, params) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.put(this.endpointPath(overrideId), params)];\n });\n });\n };\n Overrides.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Overrides.prototype.endpointPath = function (operation) {\n return \"\".concat(Collections_1.default.RESOURCEPATH, \"/\").concat(this.collectionName).concat(Overrides.RESOURCEPATH).concat(operation === undefined ? '' : '/' + operation);\n };\n Object.defineProperty(Overrides, \"RESOURCEPATH\", {\n get: function () {\n return RESOURCEPATH;\n },\n enumerable: false,\n configurable: true\n });\n return Overrides;\n}());\nexports.default = Overrides;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Presets_1 = __importDefault(require(\"./Presets\"));\nvar Preset = /** @class */ (function () {\n function Preset(presetId, apiCall) {\n this.presetId = presetId;\n this.apiCall = apiCall;\n }\n Preset.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Preset.prototype.delete = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath())];\n });\n });\n };\n Preset.prototype.endpointPath = function () {\n return \"\".concat(Presets_1.default.RESOURCEPATH, \"/\").concat(this.presetId);\n };\n return Preset;\n}());\nexports.default = Preset;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RESOURCEPATH = '/presets';\nvar Presets = /** @class */ (function () {\n function Presets(apiCall) {\n this.apiCall = apiCall;\n }\n Presets.prototype.upsert = function (presetId, params) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.put(this.endpointPath(presetId), params)];\n });\n });\n };\n Presets.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Presets.prototype.endpointPath = function (operation) {\n return \"\".concat(Presets.RESOURCEPATH).concat(operation === undefined ? '' : '/' + operation);\n };\n Object.defineProperty(Presets, \"RESOURCEPATH\", {\n get: function () {\n return RESOURCEPATH;\n },\n enumerable: false,\n configurable: true\n });\n return Presets;\n}());\nexports.default = Presets;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar defaultCacheResponseForSeconds = 2 * 60;\nvar defaultMaxSize = 100;\nvar RequestWithCache = /** @class */ (function () {\n function RequestWithCache() {\n this.responseCache = new Map();\n }\n RequestWithCache.prototype.clearCache = function () {\n this.responseCache = new Map();\n };\n // Todo: should probably be passed a callback instead, or an apiCall instance. Types are messy this way\n RequestWithCache.prototype.perform = function (requestContext, requestFunction, requestFunctionArguments, cacheOptions) {\n return __awaiter(this, void 0, void 0, function () {\n var _a, cacheResponseForSeconds, _b, maxSize, isCacheDisabled, requestFunctionArgumentsJSON, cacheEntry, now, isEntryValid, response, isCacheOverMaxSize, oldestEntry;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = cacheOptions.cacheResponseForSeconds, cacheResponseForSeconds = _a === void 0 ? defaultCacheResponseForSeconds : _a, _b = cacheOptions.maxSize, maxSize = _b === void 0 ? defaultMaxSize : _b;\n isCacheDisabled = cacheResponseForSeconds <= 0 || maxSize <= 0;\n if (isCacheDisabled) {\n return [2 /*return*/, requestFunction.call.apply(requestFunction, __spreadArray([requestContext], requestFunctionArguments, false))];\n }\n requestFunctionArgumentsJSON = JSON.stringify(requestFunctionArguments);\n cacheEntry = this.responseCache.get(requestFunctionArgumentsJSON);\n now = Date.now();\n if (cacheEntry) {\n isEntryValid = now - cacheEntry.requestTimestamp < cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n this.responseCache.set(requestFunctionArgumentsJSON, cacheEntry);\n return [2 /*return*/, Promise.resolve(cacheEntry.response)];\n }\n else {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n return [4 /*yield*/, requestFunction.call.apply(requestFunction, __spreadArray([requestContext], requestFunctionArguments, false))];\n case 1:\n response = _c.sent();\n this.responseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n response: response\n });\n isCacheOverMaxSize = this.responseCache.size > maxSize;\n if (isCacheOverMaxSize) {\n oldestEntry = this.responseCache.keys().next().value;\n this.responseCache.delete(oldestEntry);\n }\n return [2 /*return*/, response];\n }\n });\n });\n };\n return RequestWithCache;\n}());\nexports.default = RequestWithCache;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Configuration_1 = __importDefault(require(\"./Configuration\"));\nvar ApiCall_1 = __importDefault(require(\"./ApiCall\"));\nvar MultiSearch_1 = __importDefault(require(\"./MultiSearch\"));\nvar SearchOnlyCollection_1 = require(\"./SearchOnlyCollection\");\nvar SearchClient = /** @class */ (function () {\n function SearchClient(options) {\n var _a;\n options.sendApiKeyAsQueryParam = (_a = options.sendApiKeyAsQueryParam) !== null && _a !== void 0 ? _a : true;\n if (options.sendApiKeyAsQueryParam === true && (options.apiKey || '').length > 2000) {\n console.warn('[typesense] API Key is longer than 2000 characters which is over the allowed limit, so disabling sending it as a query parameter.');\n options.sendApiKeyAsQueryParam = false;\n }\n this.configuration = new Configuration_1.default(options);\n this.apiCall = new ApiCall_1.default(this.configuration);\n this.multiSearch = new MultiSearch_1.default(this.apiCall, this.configuration, true);\n this.individualCollections = {};\n }\n SearchClient.prototype.clearCache = function () {\n this.multiSearch.clearCache();\n Object.entries(this.individualCollections).forEach(function (_a) {\n var _ = _a[0], collection = _a[1];\n collection.documents().clearCache();\n });\n };\n SearchClient.prototype.collections = function (collectionName) {\n if (!collectionName) {\n throw new Error('Typesense.SearchClient only supports search operations, so the collectionName that needs to ' +\n 'be searched must be specified. Use Typesense.Client if you need to access the collection object.');\n }\n else {\n if (this.individualCollections[collectionName] === undefined) {\n this.individualCollections[collectionName] = new SearchOnlyCollection_1.SearchOnlyCollection(collectionName, this.apiCall, this.configuration);\n }\n return this.individualCollections[collectionName];\n }\n };\n return SearchClient;\n}());\nexports.default = SearchClient;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SearchOnlyCollection = void 0;\nvar SearchOnlyDocuments_1 = require(\"./SearchOnlyDocuments\");\nvar SearchOnlyCollection = /** @class */ (function () {\n function SearchOnlyCollection(name, apiCall, configuration) {\n this.name = name;\n this.apiCall = apiCall;\n this.configuration = configuration;\n this._documents = new SearchOnlyDocuments_1.SearchOnlyDocuments(this.name, this.apiCall, this.configuration);\n }\n SearchOnlyCollection.prototype.documents = function () {\n return this._documents;\n };\n return SearchOnlyCollection;\n}());\nexports.SearchOnlyCollection = SearchOnlyCollection;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SearchOnlyDocuments = void 0;\nvar RequestWithCache_1 = __importDefault(require(\"./RequestWithCache\"));\nvar Collections_1 = __importDefault(require(\"./Collections\"));\nvar RESOURCEPATH = '/documents';\nvar SearchOnlyDocuments = /** @class */ (function () {\n function SearchOnlyDocuments(collectionName, apiCall, configuration) {\n this.collectionName = collectionName;\n this.apiCall = apiCall;\n this.configuration = configuration;\n this.requestWithCache = new RequestWithCache_1.default();\n }\n SearchOnlyDocuments.prototype.clearCache = function () {\n this.requestWithCache.clearCache();\n };\n SearchOnlyDocuments.prototype.search = function (searchParameters, _a) {\n var _b = _a === void 0 ? {} : _a, _c = _b.cacheSearchResultsForSeconds, cacheSearchResultsForSeconds = _c === void 0 ? this.configuration.cacheSearchResultsForSeconds : _c, _d = _b.abortSignal, abortSignal = _d === void 0 ? null : _d;\n return __awaiter(this, void 0, void 0, function () {\n var additionalQueryParams, queryParams;\n return __generator(this, function (_e) {\n additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams['use_cache'] = true;\n }\n queryParams = Object.assign({}, searchParameters, additionalQueryParams);\n return [2 /*return*/, this.requestWithCache.perform(this.apiCall, this.apiCall.get, [this.endpointPath('search'), queryParams, { abortSignal: abortSignal }], {\n cacheResponseForSeconds: cacheSearchResultsForSeconds\n })];\n });\n });\n };\n SearchOnlyDocuments.prototype.endpointPath = function (operation) {\n return \"\".concat(Collections_1.default.RESOURCEPATH, \"/\").concat(this.collectionName).concat(RESOURCEPATH).concat(operation === undefined ? '' : '/' + operation);\n };\n Object.defineProperty(SearchOnlyDocuments, \"RESOURCEPATH\", {\n get: function () {\n return RESOURCEPATH;\n },\n enumerable: false,\n configurable: true\n });\n return SearchOnlyDocuments;\n}());\nexports.SearchOnlyDocuments = SearchOnlyDocuments;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Collections_1 = __importDefault(require(\"./Collections\"));\nvar Synonyms_1 = __importDefault(require(\"./Synonyms\"));\nvar Synonym = /** @class */ (function () {\n function Synonym(collectionName, synonymId, apiCall) {\n this.collectionName = collectionName;\n this.synonymId = synonymId;\n this.apiCall = apiCall;\n }\n Synonym.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Synonym.prototype.delete = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath())];\n });\n });\n };\n Synonym.prototype.endpointPath = function () {\n return \"\".concat(Collections_1.default.RESOURCEPATH, \"/\").concat(this.collectionName).concat(Synonyms_1.default.RESOURCEPATH, \"/\").concat(this.synonymId);\n };\n return Synonym;\n}());\nexports.default = Synonym;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Collections_1 = __importDefault(require(\"./Collections\"));\nvar RESOURCEPATH = '/synonyms';\nvar Synonyms = /** @class */ (function () {\n function Synonyms(collectionName, apiCall) {\n this.collectionName = collectionName;\n this.apiCall = apiCall;\n }\n Synonyms.prototype.upsert = function (synonymId, params) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.put(this.endpointPath(synonymId), params)];\n });\n });\n };\n Synonyms.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Synonyms.prototype.endpointPath = function (operation) {\n return \"\".concat(Collections_1.default.RESOURCEPATH, \"/\").concat(this.collectionName).concat(Synonyms.RESOURCEPATH).concat(operation === undefined ? '' : '/' + operation);\n };\n Object.defineProperty(Synonyms, \"RESOURCEPATH\", {\n get: function () {\n return RESOURCEPATH;\n },\n enumerable: false,\n configurable: true\n });\n return Synonyms;\n}());\nexports.default = Synonyms;\n"],"x_google_ignoreList":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69]}