PageSourceSearch

https://www.homofaber.com/assets/index-DKUJs7YE.js

js homofaber.com collected 2026-09-24 08:39:24 UTC 7,349 bytes, 1 lines download raw bytes

1import{u as se,a as ue,d as te,b as oe,c as G,e as v,f as le,g as H,h as ie,i as ce,j as ae,w as fe}from"./compare-Br3z3FUS-O-m47EFq.js";import{r as j}from"./i18n-vendor-CgdUv56d.js";function x(e,r,t){try{return e(r)}catch(n){return fe("[nuqs] Error while parsing value `%s`: %O"+(t?" (for key `%s`)":""),r,n,t),null}}function q(e){function r(t){if(typeof t>"u")return null;let n="";if(Array.isArray(t)){if(t[0]===void 0)return null;n=t[0]}return typeof t=="string"&&(n=t),x(e.parse,n)}return{type:"single",eq:(t,n)=>t===n,...e,parseServerSide:r,withDefault(t){return{...this,defaultValue:t,parseServerSide(n){return r(n)??t}}},withOptions(t){return{...this,...t}}}}function de(e){function r(t){return typeof t>"u"?null:x(e.parse,Array.isArray(t)?t:[t])}return{type:"multi",eq:(t,n)=>t===n,...e,parseServerSide:r,withDefault(t){return{...this,defaultValue:t,parseServerSide(n){return r(n)??t}}},withOptions(t){return{...this,...t}}}}const me=q({parse:e=>e,serialize:String}),Se=q({parse:e=>{const r=parseInt(e);return r==r?r:null},serialize:e=>""+Math.round(e)});q({parse:e=>{const r=parseInt(e);return r==r?r-1:null},serialize:e=>""+Math.round(e+1)});q({parse:e=>{const r=parseInt(e,16);return r==r?r:null},serialize:e=>{const r=Math.round(e).toString(16);return(r.length&1?"0":"")+r}});const je=q({parse:e=>{const r=parseFloat(e);return r==r?r:null},serialize:String});q({parse:e=>e.toLowerCase()==="true",serialize:String});function X(e,r){return e.valueOf()===r.valueOf()}q({parse:e=>{const r=parseInt(e);return r==r?new Date(r):null},serialize:e=>""+e.valueOf(),eq:X});q({parse:e=>{const r=new Date(e);return r.valueOf()==r.valueOf()?r:null},serialize:e=>e.toISOString(),eq:X});q({parse:e=>{const r=new Date(e.slice(0,10));return r.valueOf()==r.valueOf()?r:null},serialize:e=>e.toISOString().slice(0,10),eq:X});function Oe(e,r=","){const t=e.eq??((s,u)=>s===u),n=encodeURIComponent(r);return q({parse:s=>s===""?[]:s.split(r).map((u,g)=>x(e.parse,u.replaceAll(n,r),`[${g}]`)).filter(u=>u!=null),serialize:s=>s.map(u=>(e.serialize?e.serialize(u):String(u)).replaceAll(r,n)).join(r),eq(s,u){return s===u?!0:s.length!==u.length?!1:s.every((g,w)=>t(g,u[w]))}})}function ye(e){const r=e.eq??((t,n)=>t===n);return de({parse:t=>{const n=t.map((s,u)=>x(e.parse,s,`[${u}]`)).filter(s=>s!=null);return n.length===0?null:n},serialize:t=>(Array.isArray(t)?t:[t]).flatMap(n=>{var u;const s=((u=e.serialize)==null?void 0:u.call(e,n))??String(n);return typeof s=="string"?[s]:[...s]}),eq(t,n){return t===n?!0:t.length!==n.length?!1:t.every((s,u)=>r(s,n[u]))}}).withDefault([])}const K=ae(),he={};function ge(e,r={}){const t=j.useId(),n=se(),s=ue(),{history:u="replace",scroll:g=(n==null?void 0:n.scroll)??!1,shallow:w=(n==null?void 0:n.shallow)??!0,throttleMs:p=te.timeMs,limitUrlUpdates:l=n==null?void 0:n.limitUrlUpdates,clearOnDefault:b=(n==null?void 0:n.clearOnDefault)??!0,startTransition:S,urlKeys:O=he}=r,h=Object.keys(e).join(","),c=j.useMemo(()=>Object.fromEntries(Object.keys(e).map(i=>[i,O[i]??i])),[h,JSON.stringify(O)]),z=oe(Object.values(c)),d=z.searchParams,D=j.useRef({}),F=j.useMemo(()=>Object.fromEntries(Object.keys(e).map(i=>[i,e[i].defaultValue??null])),[Object.values(e).map(({defaultValue:i})=>i).join(",")]),C=G.useQueuedQueries(Object.values(c)),[N,$]=j.useState(()=>W(e,O,d??new URLSearchParams,C).state),m=j.useRef(N);if(v("[nuq+ %s `%s`] render - state: %O, iSP: %s",t,h,N,d),Object.keys(D.current).join("&")!==Object.values(c).join("&")){const{state:i,hasChanged:o}=W(e,O,d,C,D.current,m.current);o&&(v("[nuq+ %s `%s`] State changed: %O",t,h,{state:i,initialSearchParams:d,queuedQueries:C,queryRef:D.current,stateRef:m.current}),m.current=i,$(i)),D.current=Object.fromEntries(Object.entries(c).map(([a,y])=>{var E;return[y,((E=e[a])==null?void 0:E.type)==="multi"?d==null?void 0:d.getAll(y):(d==null?void 0:d.get(y))??null]}))}j.useEffect(()=>{const{state:i,hasChanged:o}=W(e,O,d,C,D.current,m.current);o&&(v("[nuq+ %s `%s`] State changed: %O",t,h,{state:i,initialSearchParams:d,queuedQueries:C,queryRef:D.current,stateRef:m.current}),m.current=i,$(i))},[Object.values(c).map(i=>`${i}=${d==null?void 0:d.getAll(i)}`).join("&"),JSON.stringify(C)]),j.useEffect(()=>{const i=Object.keys(e).reduce((o,a)=>(o[a]=({state:y,query:E}
1)=>{$(T=>{const{defaultValue:I}=e[a],M=c[a],Q=y??I??null,L=T[a]??I??null;return Object.is(L,Q)?(v("[nuq+ %s `%s`] Cross-hook key sync %s: %O (default: %O). no change, skipping, resolved: %O",t,h,M,y,I,m.current),T):(m.current={...m.current,[a]:Q},D.current[M]=E,v("[nuq+ %s `%s`] Cross-hook key sync %s: %O (default: %O). updateInternalState, resolved: %O",t,h,M,y,I,m.current),m.current)})},o),{});for(const o of Object.keys(e)){const a=c[o];v("[nuq+ %s `%s`] Subscribing to sync for `%s`",t,a,h),K.on(a,i[o])}return()=>{for(const o of Object.keys(e)){const a=c[o];v("[nuq+ %s `%s`] Unsubscribing to sync for `%s`",t,a,h),K.off(a,i[o])}}},[h,c]);const ne=j.useCallback((i,o={})=>{var L,Y,Z,_,k,P;const a=Object.fromEntries(Object.keys(e).map(V=>[V,null])),y=typeof i=="function"?i(re(m.current,F))??a:i??a;v("[nuq+ %s `%s`] setState: %O",t,h,y);let E,T=0,I=!1;const M=[];for(let[V,A]of Object.entries(y)){const f=e[V],J=c[V];if(!f||A===void 0)continue;(o.clearOnDefault??f.clearOnDefault??b)&&A!==null&&f.defaultValue!==void 0&&(f.eq??((R,B)=>R===B))(A,f.defaultValue)&&(A=null);const ee=A===null?null:(f.serialize??String)(A);K.emit(J,{state:A,query:ee});const U={key:J,query:ee,options:{history:o.history??f.history??u,shallow:o.shallow??f.shallow??w,scroll:o.scroll??f.scroll??g,startTransition:o.startTransition??f.startTransition??S}};if(((L=o==null?void 0:o.limitUrlUpdates)==null?void 0:L.method)==="debounce"||(l==null?void 0:l.method)==="debounce"||((Y=f.limitUrlUpdates)==null?void 0:Y.method)==="debounce"){U.options.shallow===!0&&console.warn(le(422));const R=((Z=o==null?void 0:o.limitUrlUpdates)==null?void 0:Z.timeMs)??(l==null?void 0:l.timeMs)??((_=f.limitUrlUpdates)==null?void 0:_.timeMs)??te.timeMs,B=G.push(U,R,z,s);T<R&&(E=B,T=R)}else{const R=((k=o==null?void 0:o.limitUrlUpdates)==null?void 0:k.timeMs)??((P=f==null?void 0:f.limitUrlUpdates)==null?void 0:P.timeMs)??(l==null?void 0:l.timeMs)??o.throttleMs??f.throttleMs??p;M.push(G.abort(J)),H.push(U,R),I=!0}}const Q=M.reduce((V,A)=>A(V),I?H.flush(z,s):H.getPendingPromise(z));return E??Q},[h,u,w,g,p,l==null?void 0:l.method,l==null?void 0:l.timeMs,S,c,z.updateUrl,z.getSearchParamsSnapshot,z.rateLimitFactor,s,F]);return[j.useMemo(()=>re(N,F),[N,F]),ne]}function W(e,r,t,n,s,u){let g=!1;const w=Object.entries(e).reduce((p,[l,b])=>{const S=(r==null?void 0:r[l])??l,O=n[S],h=b.type==="multi"?[]:null,c=O===void 0?(b.type==="multi"?t==null?void 0:t.getAll(S):t==null?void 0:t.get(S))??h:O;return s&&u&&ie(s[S]??h,c)?(p[l]=u[l]??null,p):(g=!0,p[l]=(ce(c)?null:x(b.parse,c,S))??null,s&&(s[S]=c),p)},{});if(!g){const p=Object.keys(e),l=Object.keys(u??{});g=p.length!==l.length||p.some(b=>!l.includes(b))}return{state:w,hasChanged:g}}function re(e,r){return Object.fromEntries(Object.keys(e).map(t=>[t,e[t]??r[t]??null]))}function qe(e,r={}){const{parse:t,type:n,serialize:s,eq:u,defaultValue:g,...w}=r,[{[e]:p},l]=ge({[e]:{parse:t??(b=>b),type:n,serialize:s,eq:u,defaultValue:g}},w);return[p,j.useCallback((b,S={})=>l(O=>({[e]:typeof b=="function"?b(O[e]):b}),S),[e,l])]}export{me as a,ge as b,Oe as c,je as d,Se as e,ye as p,qe as u};

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.