mirror of
https://github.com/exogen/t2-mapper.git
synced 2026-01-19 20:25:01 +00:00
2 lines
11 KiB
JavaScript
2 lines
11 KiB
JavaScript
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,50361,24540,e=>{"use strict";e.i(47167);var t=e.i(71645);let r=function(){try{let e="nuqs-localStorage-test";if("undefined"==typeof localStorage)return!1;localStorage.setItem(e,e);let t=localStorage.getItem(e)===e;return localStorage.removeItem(e),t&&(localStorage.getItem("debug")||"").includes("nuqs")}catch{return!1}}();function s(e,...t){if(!r)return;let n=function(e,...t){return e.replace(/%[sfdO]/g,e=>{let r=t.shift();return"%O"===e&&r?JSON.stringify(r).replace(/"([^"]+)":/g,"$1:"):String(r)})}(e,...t);performance.mark(n);try{console.log(e,...t)}catch{console.log(n)}}function n(e,...t){r&&console.warn(e,...t)}let u={303:"Multiple adapter contexts detected. This might happen in monorepos.",404:"nuqs requires an adapter to work with your framework.",409:"Multiple versions of the library are loaded. This may lead to unexpected behavior. Currently using `%s`, but `%s` (via the %s adapter) was about to load on top.",414:"Max safe URL length exceeded. Some browsers may not be able to accept this URL. Consider limiting the amount of state stored in the URL.",422:"Invalid options combination: `limitUrlUpdates: debounce` should be used in SSR scenarios, with `shallow: false`",429:"URL update rate-limited by the browser. Consider increasing `throttleMs` for key(s) `%s`. %O",500:"Empty search params cache. Search params can't be accessed in Layouts.",501:"Search params cache already populated. Have you called `parse` twice?"};function o(e){return`[nuqs] ${u[e]}
|
|
See https://nuqs.dev/NUQS-${e}`}function i(e){if(0===e.size)return"";let t=[];for(let[r,s]of e.entries()){let e=r.replace(/#/g,"%23").replace(/&/g,"%26").replace(/\+/g,"%2B").replace(/=/g,"%3D").replace(/\?/g,"%3F");t.push(`${e}=${s.replace(/%/g,"%25").replace(/\+/g,"%2B").replace(/ /g,"+").replace(/#/g,"%23").replace(/&/g,"%26").replace(/"/g,"%22").replace(/'/g,"%27").replace(/`/g,"%60").replace(/</g,"%3C").replace(/>/g,"%3E").replace(/[\x00-\x1F]/g,e=>encodeURIComponent(e))}`)}return"?"+t.join("&")}let l=(0,t.createContext)({useAdapter(){throw Error(o(404))}});function a(e){return({children:r,defaultOptions:s,processUrlSearchParams:n,...u})=>(0,t.createElement)(l.Provider,{...u,value:{useAdapter:e,defaultOptions:s,processUrlSearchParams:n}},r)}function c(e){let r=(0,t.useContext)(l);if(!("useAdapter"in r))throw Error(o(404));return r.useAdapter(e)}l.displayName="NuqsAdapterContext",r&&"undefined"!=typeof window&&(window.__NuqsAdapterContext&&window.__NuqsAdapterContext!==l&&console.error(o(303)),window.__NuqsAdapterContext=l);let h=()=>(0,t.useContext)(l).defaultOptions,p=()=>(0,t.useContext)(l).processUrlSearchParams;function d(e){return{method:"throttle",timeMs:e}}function f(e){return{method:"debounce",timeMs:e}}e.s(["a",()=>p,"c",()=>s,"i",()=>h,"l",()=>n,"n",()=>a,"o",()=>i,"r",()=>c,"s",()=>o],24540);let m=d(function(){if("undefined"==typeof window||!window.GestureEvent)return 50;try{let e=navigator.userAgent?.match(/version\/([\d\.]+) safari/i);return parseFloat(e[1])>=17?120:320}catch{return 320}}());function q(e){return null===e||Array.isArray(e)&&0===e.length}function y(e,t,r){if("string"==typeof e)r.set(t,e);else{for(let s of(r.delete(t),e))r.append(t,s);r.has(t)||r.set(t,"")}return r}function g(){let e=new Map;return{on(t,r){let s=e.get(t)||[];return s.push(r),e.set(t,s),()=>this.off(t,r)},off(t,r){let s=e.get(t);s&&e.set(t,s.filter(e=>e!==r))},emit(t,r){e.get(t)?.forEach(e=>e(r))}}}function v(e,t,r){let s=setTimeout(function(){e(),r.removeEventListener("abort",n)},t);function n(){clearTimeout(s),r.removeEventListener("abort",n)}r.addEventListener("abort",n)}function w(){let e=Promise;if(Promise.hasOwnProperty("withResolvers"))return Promise.withResolvers();let t=()=>{},r=()=>{};return{promise:new e((e,s)=>{t=e,r=s}),resolve:t,reject:r}}function b(){return new URLSearchParams(location.search)}var S=class{updateMap=new Map;options={history:"replace",scroll:!1,shallow:!0};timeMs=m.timeMs;transitions=new Set;resolvers=null;controller=null;lastFlushedAt=0;resetQueueOnNextPush=!1;push({key:e,query:t,options:r},n=m.timeMs){this.resetQueueOnNextPush&&(this.reset(),this.resetQueueOnNextPush=!1),s("[nuqs gtq] Enqueueing %s=%s %O",e,t,r),this.updateMap.set(e,t),"push"===r.history&&(this.options.history="push"),r.scroll&&(this.options.scroll=!0),!1===r.shallow&&(this.options.shallow=!1),r.startTransition&&this.transitions.add(r.startTransition),(!Number.isFinite(this.timeMs)||n>this.timeMs)&&(this.timeMs=n)}getQueuedQuery(e){return this.updateMap.get(e)}getPendingPromise({getSearchParamsSnapshot:e=b}){return this.resolvers?.promise??Promise.resolve(e())}flush({getSearchParamsSnapshot:e=b,rateLimitFactor:t=1,...r},n){if(this.controller??=new AbortController,!Number.isFinite(this.timeMs))return s("[nuqs gtq] Skipping flush due to throttleMs=Infinity"),Promise.resolve(e());if(this.resolvers)return this.resolvers.promise;this.resolvers=w();let u=()=>{this.lastFlushedAt=performance.now();let[t,s]=this.applyPendingUpdates({...r,autoResetQueueOnUpdate:r.autoResetQueueOnUpdate??!0,getSearchParamsSnapshot:e},n);null===s?(this.resolvers.resolve(t),this.resetQueueOnNextPush=!0):this.resolvers.reject(t),this.resolvers=null},o=()=>{let e=performance.now()-this.lastFlushedAt,r=this.timeMs,n=t*Math.max(0,r-e);s("[nuqs gtq] Scheduling flush in %f ms. Throttled at %f ms (x%f)",n,r,t),0===n?u():v(u,n,this.controller.signal)};return v(o,0,this.controller.signal),this.resolvers.promise}abort(){return this.controller?.abort(),this.controller=new AbortController,this.resolvers?.resolve(new URLSearchParams),this.resolvers=null,this.reset()}reset(){let e=Array.from(this.updateMap.keys());return s("[nuqs gtq] Resetting queue %s",JSON.stringify(Object.fromEntries(this.updateMap))),this.updateMap.clear(),this.transitions.clear(),this.options={history:"replace",scroll:!1,shallow:!0},this.timeMs=m.timeMs,e}applyPendingUpdates(e,t){let{updateUrl:r,getSearchParamsSnapshot:n}=e,u=n();if(s("[nuqs gtq] Applying %d pending update(s) on top of %s",this.updateMap.size,u.toString()),0===this.updateMap.size)return[u,null];let i=Array.from(this.updateMap.entries()),l={...this.options},a=Array.from(this.transitions);for(let[t,r]of(e.autoResetQueueOnUpdate&&this.reset(),s("[nuqs gtq] Flushing queue %O with options %O",i,l),i))null===r?u.delete(t):u=y(r,t,u);t&&(u=t(u));try{return!function(e,t){let r=t;for(let t=e.length-1;t>=0;t--){let s=e[t];if(!s)continue;let n=r;r=()=>s(n)}r()}(a,()=>{r(u,l)}),[u,null]}catch(e){return console.error(o(429),i.map(([e])=>e).join(),e),[u,e]}}};let Q=new S;var A=class{callback;resolvers=w();controller=new AbortController;queuedValue=void 0;constructor(e){this.callback=e}abort(){this.controller.abort(),this.queuedValue=void 0}push(e,t){return this.queuedValue=e,this.controller.abort(),this.controller=new AbortController,v(()=>{let t=this.resolvers;try{s("[nuqs dq] Flushing debounce queue",e);let r=this.callback(e);s("[nuqs dq] Reset debounce queue %O",this.queuedValue),this.queuedValue=void 0,this.resolvers=w(),r.then(e=>t.resolve(e)).catch(e=>t.reject(e))}catch(e){this.queuedValue=void 0,t.reject(e)}},t,this.controller.signal),this.resolvers.promise}};let M=new class{throttleQueue;queues=new Map;queuedQuerySync=g();constructor(e=new S){this.throttleQueue=e}useQueuedQueries(e){var r,s;let n,u;return r=(e,t)=>this.queuedQuerySync.on(e,t),s=e=>this.getQueuedQuery(e),n=(0,t.useCallback)(()=>{let t=Object.fromEntries(e.map(e=>[e,s(e)]));return[JSON.stringify(t),t]},[e.join(","),s]),null===(u=(0,t.useRef)(null)).current&&(u.current=n()),(0,t.useSyncExternalStore)((0,t.useCallback)(t=>{let s=e.map(e=>r(e,t));return()=>s.forEach(e=>e())},[e.join(","),r]),()=>{let[e,t]=n();return u.current[0]===e?u.current[1]:(u.current=[e,t],t)},()=>u.current[1])}push(e,t,r,n){if(!Number.isFinite(t))return Promise.resolve((r.getSearchParamsSnapshot??b)());let u=e.key;if(!this.queues.has(u)){s("[nuqs dqc] Creating debounce queue for `%s`",u);let e=new A(e=>(this.throttleQueue.push(e),this.throttleQueue.flush(r,n).finally(()=>{this.queues.get(e.key)?.queuedValue===void 0&&(s("[nuqs dqc] Cleaning up empty queue for `%s`",e.key),this.queues.delete(e.key)),this.queuedQuerySync.emit(e.key)})));this.queues.set(u,e)}s("[nuqs dqc] Enqueueing debounce update %O",e);let o=this.queues.get(u).push(e,t);return this.queuedQuerySync.emit(u),o}abort(e){let t=this.queues.get(e);return t?(s("[nuqs dqc] Aborting debounce queue %s=%s",e,t.queuedValue?.query),this.queues.delete(e),t.abort(),this.queuedQuerySync.emit(e),e=>(e.then(t.resolvers.resolve,t.resolvers.reject),e)):e=>e}abortAll(){for(let[e,t]of this.queues.entries())s("[nuqs dqc] Aborting debounce queue %s=%s",e,t.queuedValue?.query),t.abort(),t.resolvers.resolve(new URLSearchParams),this.queuedQuerySync.emit(e);this.queues.clear()}getQueuedQuery(e){let t=this.queues.get(e)?.queuedValue?.query;return void 0!==t?t:this.throttleQueue.getQueuedQuery(e)}}(Q);e.s(["a",()=>y,"c",()=>d,"i",()=>q,"n",()=>Q,"o",()=>f,"r",()=>g,"s",()=>m,"t",()=>M],50361)},18566,(e,t,r)=>{t.exports=e.r(76562)},12985,e=>{"use strict";var t=e.i(24540),r=e.i(50361);function s(){(0,t.c)("[nuqs] Aborting queues"),r.t.abortAll(),r.n.abort().forEach(e=>r.t.queuedQuerySync.emit(e))}var n=e.i(71645),u=e.i(18566);let o=0;function i(){o=0,s()}function l(){--o<=0&&(o=0,queueMicrotask(s))}function a(){return(0,n.useEffect)(()=>(!function(){var e;if(e="next/app","undefined"==typeof history||(history.nuqs?.version&&"2.8.6"!==history.nuqs.version?(console.error((0,t.s)(409),history.nuqs.version,"2.8.6",e),!0):!!history.nuqs?.adapters?.includes(e)))return;let r=history.replaceState,s=history.pushState;history.replaceState=function(e,t,s){return l(),r.call(history,e,t,s)},history.pushState=function(e,t,r){return l(),s.call(history,e,t,r)},history.nuqs=history.nuqs??{version:"2.8.6",adapters:[]},history.nuqs.adapters.push("next/app")}(),window.addEventListener("popstate",i),()=>window.removeEventListener("popstate",i)),[]),null}let c=(0,t.n)(function(){let e=(0,u.useRouter)(),[r,s]=(0,n.useOptimistic)((0,u.useSearchParams)());return{searchParams:r,updateUrl:(0,n.useCallback)((r,u)=>{(0,n.startTransition)(()=>{u.shallow||s(r);let n=function(e){let{origin:r,pathname:s,hash:n}=location;return r+s+(0,t.o)(e)+n}(r);(0,t.c)("[nuqs next/app] Updating url: %s",n);let i="push"===u.history?history.pushState:history.replaceState;o=3,i.call(history,null,"",n),u.scroll&&window.scrollTo(0,0),u.shallow||e.replace(n,{scroll:!1})})},[]),rateLimitFactor:3,autoResetQueueOnUpdate:!1}});function h({children:e,...t}){return(0,n.createElement)(c,{...t,children:[(0,n.createElement)(n.Suspense,{key:"nuqs-adapter-suspense-navspy",children:(0,n.createElement)(a)}),e]})}e.s(["NuqsAdapter",()=>h],12985)}]); |