Files

2 lines
32 KiB
JavaScript
Raw Permalink Normal View History

2025-07-26 16:40:29 +08:00
function G(){function a(o){return new Promise(d=>{let c=new XMLHttpRequest;c.open(o.method,o.url,!0),Object.keys(o.headers).forEach(i=>c.setRequestHeader(i,o.headers[i]));let f=(i,e)=>setTimeout(()=>{c.abort(),d({status:0,content:e,isTimedOut:!0})},i),w=f(o.connectTimeout,"Connection timeout"),T;c.onreadystatechange=()=>{c.readyState>c.OPENED&&T===void 0&&(clearTimeout(w),T=f(o.responseTimeout,"Socket timeout"))},c.onerror=()=>{c.status===0&&(clearTimeout(w),clearTimeout(T),d({content:c.responseText||"Network request failed",status:c.status,isTimedOut:!1}))},c.onload=()=>{clearTimeout(w),clearTimeout(T),d({content:c.responseText,status:c.status,isTimedOut:!1})},c.send(o.data)})}return{send:a}}function W(a){let o,d=`algolia-client-js-${a.key}`;function c(){return o===void 0&&(o=a.localStorage||window.localStorage),o}function f(){return JSON.parse(c().getItem(d)||"{}")}function w(i){c().setItem(d,JSON.stringify(i))}function T(){let i=a.timeToLive?a.timeToLive*1e3:null,e=f(),r=Object.fromEntries(Object.entries(e).filter(([,n])=>n.timestamp!==void 0));if(w(r),!i)return;let s=Object.fromEntries(Object.entries(r).filter(([,n])=>{let u=new Date().getTime();return!(n.timestamp+i<u)}));w(s)}return{get(i,e,r={miss:()=>Promise.resolve()}){return Promise.resolve().then(()=>(T(),f()[JSON.stringify(i)])).then(s=>Promise.all([s?s.value:e(),s!==void 0])).then(([s,n])=>Promise.all([s,n||r.miss(s)])).then(([s])=>s)},set(i,e){return Promise.resolve().then(()=>{let r=f();return r[JSON.stringify(i)]={timestamp:new Date().getTime(),value:e},c().setItem(d,JSON.stringify(r)),e})},delete(i){return Promise.resolve().then(()=>{let e=f();delete e[JSON.stringify(i)],c().setItem(d,JSON.stringify(e))})},clear(){return Promise.resolve().then(()=>{c().removeItem(d)})}}}function Y(){return{get(a,o,d={miss:()=>Promise.resolve()}){return o().then(f=>Promise.all([f,d.miss(f)])).then(([f])=>f)},set(a,o){return Promise.resolve(o)},delete(a){return Promise.resolve()},clear(){return Promise.resolve()}}}function x(a){let o=[...a.caches],d=o.shift();return d===void 0?Y():{get(c,f,w={miss:()=>Promise.resolve()}){return d.get(c,f,w).catch(()=>x({caches:o}).get(c,f,w))},set(c,f){return d.set(c,f).catch(()=>x({caches:o}).set(c,f))},delete(c){return d.delete(c).catch(()=>x({caches:o}).delete(c))},clear(){return d.clear().catch(()=>x({caches:o}).clear())}}}function O(a={serializable:!0}){let o={};return{get(d,c,f={miss:()=>Promise.resolve()}){let w=JSON.stringify(d);if(w in o)return Promise.resolve(a.serializable?JSON.parse(o[w]):o[w]);let T=c();return T.then(i=>f.miss(i)).then(()=>T)},set(d,c){return o[JSON.stringify(d)]=a.serializable?JSON.stringify(c):c,Promise.resolve(c)},delete(d){return delete o[JSON.stringify(d)],Promise.resolve()},clear(){return o={},Promise.resolve()}}}function Z(a){let o={value:`Algolia for JavaScript (${a})`,add(d){let c=`; ${d.segment}${d.version!==void 0?` (${d.version})`:""}`;return o.value.indexOf(c)===-1&&(o.value=`${o.value}${c}`),o}};return o}function $(a,o,d="WithinHeaders"){let c={"x-algolia-api-key":o,"x-algolia-application-id":a};return{headers(){return d==="WithinHeaders"?c:{}},queryParameters(){return d==="WithinQueryParameters"?c:{}}}}function j({func:a,validate:o,aggregator:d,error:c,timeout:f=()=>0}){let w=T=>new Promise((i,e)=>{a(T).then(async r=>(d&&await d(r),await o(r)?i(r):c&&await c.validate(r)?e(new Error(await c.message(r))):setTimeout(()=>{w(r).then(i).catch(e)},await f()))).catch(r=>{e(r)})});return w()}function B({algoliaAgents:a,client:o,version:d}){let c=Z(d).add({segment:o,version:d});return a.forEach(f=>c.add(f)),c}function J(){return{debug(a,o){return Promise.resolve()},info(a,o){return Promise.resolve()},error(a,o){return Promise.resolve()}}}var N=2*60*1e3;function _(a,o="up"){let d=Date.now();function c(){return o==="up"||Date.now()-d>N}function f(){return o==="timed out"&&Date.now()-d<=N}return{...a,status:o,lastUpdate:d,isUp:c,isTimedOut:f}}var M=class extends Error{name="AlgoliaError";constructor(a,o){super(a),o&&(this.name=o)}};var z=class extends M{stackTrace;constructor(a,o,d){super(a,d),this.stackTra
//# sourceMappingURL=browser.min.js.map