13 lines
12 KiB
JavaScript
13 lines
12 KiB
JavaScript
|
|
(function (global, factory) {
|
||
|
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
|
||
|
|
typeof define === 'function' && define.amd ? define(['exports'], factory) :
|
||
|
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["@algolia/client-query-suggestions"] = {}));
|
||
|
|
})(this, (function (exports) { 'use strict';
|
||
|
|
|
||
|
|
function F(r){let e,s=`algolia-client-js-${r.key}`;function t(){return e===void 0&&(e=r.localStorage||window.localStorage),e}function i(){return JSON.parse(t().getItem(s)||"{}")}function c(a){t().setItem(s,JSON.stringify(a));}function h(){let a=r.timeToLive?r.timeToLive*1e3:null,o=i(),n=Object.fromEntries(Object.entries(o).filter(([,m])=>m.timestamp!==void 0));if(c(n),!a)return;let u=Object.fromEntries(Object.entries(n).filter(([,m])=>{let f=new Date().getTime();return !(m.timestamp+a<f)}));c(u);}return {get(a,o,n={miss:()=>Promise.resolve()}){return Promise.resolve().then(()=>(h(),i()[JSON.stringify(a)])).then(u=>Promise.all([u?u.value:o(),u!==void 0])).then(([u,m])=>Promise.all([u,m||n.miss(u)])).then(([u])=>u)},set(a,o){return Promise.resolve().then(()=>{let n=i();return n[JSON.stringify(a)]={timestamp:new Date().getTime(),value:o},t().setItem(s,JSON.stringify(n)),o})},delete(a){return Promise.resolve().then(()=>{let o=i();delete o[JSON.stringify(a)],t().setItem(s,JSON.stringify(o));})},clear(){return Promise.resolve().then(()=>{t().removeItem(s);})}}}function te(){return {get(r,e,s={miss:()=>Promise.resolve()}){return e().then(i=>Promise.all([i,s.miss(i)])).then(([i])=>i)},set(r,e){return Promise.resolve(e)},delete(r){return Promise.resolve()},clear(){return Promise.resolve()}}}function v(r){let e=[...r.caches],s=e.shift();return s===void 0?te():{get(t,i,c={miss:()=>Promise.resolve()}){return s.get(t,i,c).catch(()=>v({caches:e}).get(t,i,c))},set(t,i){return s.set(t,i).catch(()=>v({caches:e}).set(t,i))},delete(t){return s.delete(t).catch(()=>v({caches:e}).delete(t))},clear(){return s.clear().catch(()=>v({caches:e}).clear())}}}function S(r={serializable:true}){let e={};return {get(s,t,i={miss:()=>Promise.resolve()}){let c=JSON.stringify(s);if(c in e)return Promise.resolve(r.serializable?JSON.parse(e[c]):e[c]);let h=t();return h.then(a=>i.miss(a)).then(()=>h)},set(s,t){return e[JSON.stringify(s)]=r.serializable?JSON.stringify(t):t,Promise.resolve(t)},delete(s){return delete e[JSON.stringify(s)],Promise.resolve()},clear(){return e={},Promise.resolve()}}}function se(r){let e={value:`Algolia for JavaScript (${r})`,add(s){let t=`; ${s.segment}${s.version!==void 0?` (${s.version})`:""}`;return e.value.indexOf(t)===-1&&(e.value=`${e.value}${t}`),e}};return e}function z(r,e,s="WithinHeaders"){let t={"x-algolia-api-key":e,"x-algolia-application-id":r};return {headers(){return s==="WithinHeaders"?t:{}},queryParameters(){return s==="WithinQueryParameters"?t:{}}}}function J({algoliaAgents:r,client:e,version:s}){let t=se(s).add({segment:e,version:s});return r.forEach(i=>t.add(i)),t}function M(){return {debug(r,e){return Promise.resolve()},info(r,e){return Promise.resolve()},error(r,e){return Promise.resolve()}}}var oe=750,$=120*1e3;function j(r,e="up"){let s=Date.now();function t(){return e==="up"||Date.now()-s>$}function i(){return e==="timed out"&&Date.now()-s<=$}return {...r,status:e,lastUpdate:s,isUp:t,isTimedOut:i}}var B=class extends Error{name="AlgoliaError";constructor(r,e){super(r),e&&(this.name=e);}};var X=class extends B{stackTrace;constructor(r,e,s){super(r,s),this.stackTrace=e;}},ne=class extends X{constructor(r){super("Unreachable hosts - your application id may be incorrect. If the error persists, please visit our help center https://alg.li/support-unreachable-hosts or reach out to the Algolia Support team: https://alg.li/support",r,"RetryError");}},_=class extends X{status;constructor(r,e,s,t="ApiError"){super(r,s,t),this.status=e;}},ae=class extends B{response;constructor(r,e){super(r,"DeserializationError"),this.response=e;}},ie=class extends _{error;constructor(r,e,s,t){super(r,e,t,"DetailedApiError"),this.error=s;}};function ue(r,e,s){let t=ce(s),i=`${r.protocol}://${r.url}${r.port?`:${r.port}`:""}/${e.charAt(0)==="/"?e.substring(1):e}`;return t.length&&(i+=`?${t}`),i}function ce(r){return Object.keys(r).filter(e=>r[e]!==void 0).sort().map(e=>`${e}=${encodeURIComponent(Object.prototype.toString.call(r[e])==="[object Array]"?r[e].join(","):r[e]).replace(/\+/g,"%20")}`).join("&")}function le(r,e){if(r.method==="
|
||
|
|
|
||
|
|
exports.apiClientVersion = A;
|
||
|
|
exports.querySuggestionsClient = Je;
|
||
|
|
|
||
|
|
}));
|