PageSourceSearch

https://sapo.pt/assets/requests.js?v=a9f961072

js sapo.pt collected 2026-10-01 07:11:26 UTC 1,454 bytes, 1 lines download raw bytes

1import{r as e}from"./config.js?v=a9f961072";import{rand as t,write as n}from"./utils.js?v=a9f961072";import{tt as r}from"./client.js?v=a9f961072";import{error as i,log as a,warn as o}from"./debug.js?v=a9f961072";var s={results:{}},c=localStorage.getItem(e.req);if(c)try{s.data=JSON.parse(c)}catch{}if(s.data)for(let e in s.data)s.data[e]?.[1]&&(s.results[e]=s.data[e][1]);var l,u={},d=s.data||{},f={},p={},m=r(s.results),h=()=>{let t=[],r={...d};if(Object.keys(r).length>e.limit)for(let e in r)(!t?.[0]||t[0]>r[e][0])&&!r[e][2]&&(t=[r[e][0],e]);t?.[1]&&delete r[t[1]],clearTimeout(l),l=setTimeout(()=>n(e.req,r),500)},g=async(e,t)=>(a(`fetcher`,e),f[e]||(f[e]=new Promise(async n=>{let r,s;o(`fetcher fetch`,e);try{r=await fetch(e)}catch(e){i(e)}try{s=r.ok?await r.json():null}catch(e){i(e)}a(`fetcher done`,e),s?(e.includes(`sports`)&&s.updated&&delete s.updated,d[e]=[Date.now(),s],t&&(d[e][2]=1),m[e]=s,n(s),h()):i(`ERROR`,e,r?.status,r?.statusText)}),f[e].finally(()=>{a(`fetcher destroy`,e),delete f[e]})),f[e]),_=(e,n)=>{u[e]||(u[e]={});let r=t();return u[e][r]=n,()=>delete u?.[e]?.[r]},v=async(t,n)=>{if(t)return a(`requests`,t),p[t]||(p[t]=new Promise(async r=>{if(!d[t]?.[0]||!d[t]?.[1]||d[t][0]+e.duration<Date.now()?await g(t,n):m[t]||(m[t]=d[t][1]),u[t])for(let e in u[t])u[t][e]?.(m?.[t]);r(m?.[t])}),p[t].finally(()=>{a(`requests destroy`,t),delete p[t]})),p[t]},y={results:m,on:_,get:v};export{y as default,v as get,_ as on,m as results};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.