git-truck 3.3.0 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +47 -28
- package/build/client/assets/ChevronButton-ANoRM4oe.js +1 -0
- package/build/client/assets/CollapsibleHeader-Bu4p-oqI.js +1 -0
- package/build/client/assets/Tooltip-DRu0grUy.js +5 -0
- package/build/client/assets/api.abort-CX5xkHwa.js +1 -0
- package/build/client/assets/api.abort-DxAkeS-W.js +1 -0
- package/build/client/assets/api.commits-DAF4WH2m.js +1 -0
- package/build/client/assets/api.commits-iEgBtL-A.js +1 -0
- package/build/client/assets/api.progress-BENNzkFW.js +1 -0
- package/build/client/assets/api.progress-DICNnGq5.js +1 -0
- package/build/client/assets/browse-DGrdg-dm.js +1 -0
- package/build/client/assets/browse-Mvd04mK4.js +1 -0
- package/build/client/assets/clear-cache-BTEuD7P-.js +1 -0
- package/build/client/assets/clear-cache-BdU23_cx.js +1 -0
- package/build/client/assets/crashedTruck_48x-DZ8PrkDC.gif +0 -0
- package/build/client/assets/dist-QDdB6dtJ.js +2 -0
- package/build/client/assets/drivingTruck_32x-C9OqTj6H.gif +0 -0
- package/build/client/assets/drivingTruck_48x-CILwQUl6.gif +0 -0
- package/build/client/assets/{entry.client-Ci1gLbyI.js → entry.client-GhdqqEEy.js} +4 -4
- package/build/client/assets/jsx-runtime-GK6fC0y1.js +26 -0
- package/build/client/assets/loadingTruck_48x-ClwSXdP8.gif +0 -0
- package/build/client/assets/manifest-a38e366c.js +1 -0
- package/build/client/assets/react-YTRJEZSD.js +1 -0
- package/build/client/assets/react-dom-QjzVRb79.js +1 -0
- package/build/client/assets/root-CA2KruPD.js +3 -0
- package/build/client/assets/root-CV-2KSQa.css +2 -0
- package/build/client/assets/ui-HOyuwkxV.js +1 -0
- package/build/client/assets/unloadingTruck_48x-stS0XDD5.gif +0 -0
- package/build/client/assets/util-CPW5oMgy.js +44 -0
- package/build/client/assets/view-Cwcd1vTK.js +4 -0
- package/build/client/assets/viewParams-BaE5Z0S4.js +1 -0
- package/build/server/assets/dist-Cm7_4uo5.js +6716 -0
- package/build/server/assets/server-build-D8iMgYfe.js +65279 -0
- package/build/server/index.js +23040 -4
- package/cli.mjs +795 -2428
- package/package.json +122 -99
- package/build/client/assets/GitTruckInfo-DSTHQLpb.js +0 -2
- package/build/client/assets/RepoTabs-CAVKlzaP.js +0 -1
- package/build/client/assets/browse-BPS_2Q2o.js +0 -1
- package/build/client/assets/browse-DtF-O2nh.js +0 -9
- package/build/client/assets/clear-cache-C8-c8bzY.js +0 -1
- package/build/client/assets/clear-cache-DczfzTH1.js +0 -1
- package/build/client/assets/jsx-runtime-s_YwNCZb.js +0 -26
- package/build/client/assets/manifest-708752f7.js +0 -1
- package/build/client/assets/react-dom-B9ui1jR3.js +0 -1
- package/build/client/assets/root-BBgpPS0e.js +0 -3
- package/build/client/assets/root-BDi1Y-Zk.css +0 -1
- package/build/client/assets/truck-BgAoc4Gr.gif +0 -0
- package/build/client/assets/ui-mrRo7bBy.js +0 -1
- package/build/client/assets/view-tqZGjwcM.js +0 -1
- package/build/client/assets/view._index-jmCCN9mA.js +0 -1
- package/build/client/assets/view.commits-CsXn1fsk.js +0 -1
- package/build/client/assets/view.details-DurbDplo.js +0 -1
- package/build/server/assets/server-build-v6Kp-efC.js +0 -16049
- /package/build/client/assets/{_-CT17qCl3.js → _-BvRk9kiK.js} +0 -0
- /package/build/client/assets/{_._well-known._-8QUD84tm.js → _._well-known._-BvRk9kiK.js} +0 -0
- /package/build/client/assets/{_index-VLoUE117.js → _index-BvRk9kiK.js} +0 -0
- /package/build/client/assets/{_path-DzSNgPJP.js → _path-BvRk9kiK.js} +0 -0
- /package/build/client/assets/{commitcount-B_3CeIvr.js → api.commit-intervals-BvRk9kiK.js} +0 -0
- /package/build/client/assets/{commits-DDIAHyHU.js → api.contributor-distribution-BvRk9kiK.js} +0 -0
- /package/build/client/assets/{view.progress-CEmcNaLe.js → api.metrics-BvRk9kiK.js} +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as e,t}from"./react-YTRJEZSD.js";var n=e(t(),1),r=s();function i(e,...t){if(!r)return;let n=o(e,...t);performance.mark(n);try{console.log(e,...t)}catch{console.log(n)}}function a(e,...t){r&&console.warn(e,...t)}function o(e,...t){return e.replace(/%[sfdO]/g,e=>{let n=t.shift();return e===`%O`&&n?JSON.stringify(n).replace(/"([^"]+)":/g,`$1:`):String(n)})}function s(){if(typeof window>`u`)return({}.DEBUG||``).includes(`nuqs`);try{let e=`nuqs-localStorage-test`;if(typeof localStorage>`u`)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}}var c={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 l(e){return`[nuqs] ${c[e]}
|
|
2
|
+
See https://nuqs.dev/NUQS-${e}`}function u(e){if(e.size===0)return``;let t=[];for(let[n,r]of e.entries()){let e=n.replace(/#/g,`%23`).replace(/&/g,`%26`).replace(/\+/g,`%2B`).replace(/=/g,`%3D`).replace(/\?/g,`%3F`);t.push(`${e}=${d(r)}`)}return`?`+t.join(`&`)}function d(e){return e.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))}var f=(0,n.createContext)({useAdapter(){throw Error(l(404))}});f.displayName=`NuqsAdapterContext`,r&&typeof window<`u`&&(window.__NuqsAdapterContext&&window.__NuqsAdapterContext!==f&&console.error(l(303)),window.__NuqsAdapterContext=f);function p(e){return({children:t,defaultOptions:r,processUrlSearchParams:i,...a})=>(0,n.createElement)(f.Provider,{...a,value:{useAdapter:e,defaultOptions:r,processUrlSearchParams:i}},t)}function m(e){let t=(0,n.useContext)(f);if(!(`useAdapter`in t))throw Error(l(404));return t.useAdapter(e)}var h=()=>(0,n.useContext)(f).defaultOptions,g=()=>(0,n.useContext)(f).processUrlSearchParams;function _(){if(typeof window>`u`||!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 v(e){return{method:`throttle`,timeMs:e}}var y=v(_());function b(e){return e===null||Array.isArray(e)&&e.length===0}function x(e,t,n){if(typeof e==`string`)n.set(t,e);else{n.delete(t);for(let r of e)n.append(t,r);n.has(t)||n.set(t,``)}return n}function S(){let e=new Map;return{on(t,n){let r=e.get(t)||[];return r.push(n),e.set(t,r),()=>this.off(t,n)},off(t,n){let r=e.get(t);r&&e.set(t,r.filter(e=>e!==n))},emit(t,n){e.get(t)?.forEach(e=>e(n))}}}function C(e,t,n){function r(){e(),n.removeEventListener(`abort`,a)}let i=setTimeout(r,t);function a(){clearTimeout(i),n.removeEventListener(`abort`,a)}n.addEventListener(`abort`,a)}function w(){let e=Promise;if(Promise.hasOwnProperty(`withResolvers`))return Promise.withResolvers();let t=()=>{},n=()=>{};return{promise:new e((e,r)=>{t=e,n=r}),resolve:t,reject:n}}function T(e,t){let n=t;for(let t=e.length-1;t>=0;t--){let r=e[t];if(!r)continue;let i=n;n=()=>r(i)}n()}function E(){return new URLSearchParams(location.search)}var D=class{updateMap=new Map;options={history:`replace`,scroll:!1,shallow:!0};timeMs=y.timeMs;transitions=new Set;resolvers=null;controller=null;lastFlushedAt=0;resetQueueOnNextPush=!1;push({key:e,query:t,options:n},r=y.timeMs){this.resetQueueOnNextPush&&=(this.reset(),!1),i(`[nuqs gtq] Enqueueing %s=%s %O`,e,t,n),this.updateMap.set(e,t),n.history===`push`&&(this.options.history=`push`),n.scroll&&(this.options.scroll=!0),n.shallow===!1&&(this.options.shallow=!1),n.startTransition&&this.transitions.add(n.startTransition),(!Number.isFinite(this.timeMs)||r>this.timeMs)&&(this.timeMs=r)}getQueuedQuery(e){return this.updateMap.get(e)}getPendingPromise({getSearchParamsSnapshot:e=E}){return this.resolvers?.promise??Promise.resolve(e())}flush({getSearchParamsSnapshot:e=E,rateLimitFactor:t=1,...n},r){if(this.controller??=new AbortController,!Number.isFinite(this.timeMs))return i(`[nuqs gtq] Skipping flush due to throttleMs=Infinity`),Promise.resolve(e());if(this.resolvers)return this.resolvers.promise;this.resolvers=w();let a=()=>{this.lastFlushedAt=performance.now();let[t,i]=this.applyPendingUpdates({...n,autoResetQueueOnUpdate:n.autoResetQueueOnUpdate??!0,getSearchParamsSnapshot:e},r);i===null?(this.resolvers.resolve(t),this.resetQueueOnNextPush=!0):this.resolvers.reject(t),this.resolvers=null};return C(()=>{let e=performance.now()-this.lastFlushedAt,n=this.timeMs,r=t*Math.max(0,n-e);i(`[nuqs gtq] Scheduling flush in %f ms. Throttled at %f ms (x%f)`,r,n,t),r===0?a():C(a,r,this.controller.signal)},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 i(`[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=y.timeMs,e}applyPendingUpdates(e,t){let{updateUrl:n,getSearchParamsSnapshot:r}=e,a=r();if(i(`[nuqs gtq] Applying %d pending update(s) on top of %s`,this.updateMap.size,a.toString()),this.updateMap.size===0)return[a,null];let o=Array.from(this.updateMap.entries()),s={...this.options},c=Array.from(this.transitions);e.autoResetQueueOnUpdate&&this.reset(),i(`[nuqs gtq] Flushing queue %O with options %O`,o,s);for(let[e,t]of o)t===null?a.delete(e):a=x(t,e,a);t&&(a=t(a));try{return T(c,()=>{n(a,s)}),[a,null]}catch(e){return console.error(l(429),o.map(([e])=>e).join(),e),[a,e]}}},O=new D;function k(e,t,r){let i=(0,n.useCallback)(()=>{let t=Object.fromEntries(e.map(e=>[e,r(e)]));return[JSON.stringify(t),t]},[e.join(`,`),r]),a=(0,n.useRef)(null);return a.current===null&&(a.current=i()),(0,n.useSyncExternalStore)((0,n.useCallback)(n=>{let r=e.map(e=>t(e,n));return()=>r.forEach(e=>e())},[e.join(`,`),t]),()=>{let[e,t]=i();return a.current[0]===e?a.current[1]:(a.current=[e,t],t)},()=>a.current[1])}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,C(()=>{let t=this.resolvers;try{i(`[nuqs dq] Flushing debounce queue`,e);let n=this.callback(e);i(`[nuqs dq] Reset debounce queue %O`,this.queuedValue),this.queuedValue=void 0,this.resolvers=w(),n.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}},j=new class{throttleQueue;queues=new Map;queuedQuerySync=S();constructor(e=new D){this.throttleQueue=e}useQueuedQueries(e){return k(e,(e,t)=>this.queuedQuerySync.on(e,t),e=>this.getQueuedQuery(e))}push(e,t,n,r){if(!Number.isFinite(t)){let e=n.getSearchParamsSnapshot??E;return Promise.resolve(e())}let a=e.key;if(!this.queues.has(a)){i("[nuqs dqc] Creating debounce queue for `%s`",a);let e=new A(e=>(this.throttleQueue.push(e),this.throttleQueue.flush(n,r).finally(()=>{this.queues.get(e.key)?.queuedValue===void 0&&(i("[nuqs dqc] Cleaning up empty queue for `%s`",e.key),this.queues.delete(e.key)),this.queuedQuerySync.emit(e.key)})));this.queues.set(a,e)}i(`[nuqs dqc] Enqueueing debounce update %O`,e);let o=this.queues.get(a).push(e,t);return this.queuedQuerySync.emit(a),o}abort(e){let t=this.queues.get(e);return t?(i(`[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())i(`[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 t===void 0?this.throttleQueue.getQueuedQuery(e):t}}(O);function M(e,t){return e===t?!0:e===null||t===null||typeof e==`string`||typeof t==`string`||e.length!==t.length?!1:e.every((e,n)=>e===t[n])}function N(e,t,n){try{return e(t)}catch(e){return a("[nuqs] Error while parsing value `%s`: %O"+(n?" (for key `%s`)":``),t,e,n),null}}function P(e){function t(t){if(t===void 0)return null;let n=``;if(Array.isArray(t)){if(t[0]===void 0)return null;n=t[0]}return typeof t==`string`&&(n=t),N(e.parse,n)}return{type:`single`,eq:(e,t)=>e===t,...e,parseServerSide:t,withDefault(e){return{...this,defaultValue:e,parseServerSide(n){return t(n)??e}}},withOptions(e){return{...this,...e}}}}var F=P({parse:e=>e,serialize:String}),I=P({parse:e=>{let t=parseInt(e);return t==t?t:null},serialize:e=>``+Math.round(e)});P({parse:e=>{let t=parseInt(e);return t==t?t-1:null},serialize:e=>``+Math.round(e+1)}),P({parse:e=>{let t=parseInt(e,16);return t==t?t:null},serialize:e=>{let t=Math.round(e).toString(16);return(t.length&1?`0`:``)+t}}),P({parse:e=>{let t=parseFloat(e);return t==t?t:null},serialize:String});var L=P({parse:e=>e.toLowerCase()===`true`,serialize:String});function R(e,t){return e.valueOf()===t.valueOf()}P({parse:e=>{let t=parseInt(e);return t==t?new Date(t):null},serialize:e=>``+e.valueOf(),eq:R}),P({parse:e=>{let t=new Date(e);return t.valueOf()==t.valueOf()?t:null},serialize:e=>e.toISOString(),eq:R}),P({parse:e=>{let t=new Date(e.slice(0,10));return t.valueOf()==t.valueOf()?t:null},serialize:e=>e.toISOString().slice(0,10),eq:R});function z(e){return P({parse:t=>{let n=parseFloat(t);return e.includes(n)?n:null},serialize:String})}function B(e,{clearOnDefault:t=!0,urlKeys:n={},processUrlSearchParams:r}={}){function i(i,a={}){let[o,s]=V(i)?H(i):[``,new URLSearchParams],c=V(i)?a:i;if(c===null){for(let t in e){let e=n[t]??t;s.delete(e)}return r&&(s=r(s)),o+u(s)}for(let r in e){let i=e[r],a=c[r];if(!i||a===void 0)continue;let o=n[r]??r,l=i.defaultValue!==void 0&&a!==null&&(i.eq??((e,t)=>e===t))(a,i.defaultValue);a===null||(i.clearOnDefault??t??!0)&&l?s.delete(o):s=x(i.serialize(a),o,s)}return r&&(s=r(s)),o+u(s)}return i}function V(e){return typeof e==`string`||e instanceof URLSearchParams||e instanceof URL}function H(e){if(typeof e==`string`){let[t=``,...n]=e.split(`?`);return[t,new URLSearchParams(n.join(`?`))]}else if(e instanceof URLSearchParams)return[``,new URLSearchParams(e)];else return[e.origin+e.pathname,new URLSearchParams(e.searchParams)]}var U=S(),W={};function G(e,t={}){let r=(0,n.useId)(),a=h(),o=g(),{history:s=`replace`,scroll:c=a?.scroll??!1,shallow:u=a?.shallow??!0,throttleMs:d=y.timeMs,limitUrlUpdates:f=a?.limitUrlUpdates,clearOnDefault:p=a?.clearOnDefault??!0,startTransition:_,urlKeys:v=W}=t,b=Object.keys(e).join(`,`),x=(0,n.useMemo)(()=>Object.fromEntries(Object.keys(e).map(e=>[e,v[e]??e])),[b,JSON.stringify(v)]),S=m(Object.values(x)),C=S.searchParams,w=(0,n.useRef)({}),T=(0,n.useMemo)(()=>Object.fromEntries(Object.keys(e).map(t=>[t,e[t].defaultValue??null])),[Object.values(e).map(({defaultValue:e})=>e).join(`,`)]),E=j.useQueuedQueries(Object.values(x)),[D,k]=(0,n.useState)(()=>K(e,v,C??new URLSearchParams,E).state),A=(0,n.useRef)(D);if(i("[nuq+ %s `%s`] render - state: %O, iSP: %s",r,b,D,C),Object.keys(w.current).join(`&`)!==Object.values(x).join(`&`)){let{state:t,hasChanged:n}=K(e,v,C,E,w.current,A.current);n&&(i("[nuq+ %s `%s`] State changed: %O",r,b,{state:t,initialSearchParams:C,queuedQueries:E,queryRef:w.current,stateRef:A.current}),A.current=t,k(t)),w.current=Object.fromEntries(Object.entries(x).map(([t,n])=>[n,e[t]?.type===`multi`?C?.getAll(n):C?.get(n)??null]))}(0,n.useEffect)(()=>{let{state:t,hasChanged:n}=K(e,v,C,E,w.current,A.current);n&&(i("[nuq+ %s `%s`] State changed: %O",r,b,{state:t,initialSearchParams:C,queuedQueries:E,queryRef:w.current,stateRef:A.current}),A.current=t,k(t))},[Object.values(x).map(e=>`${e}=${C?.getAll(e)}`).join(`&`),JSON.stringify(E)]),(0,n.useEffect)(()=>{let t=Object.keys(e).reduce((t,n)=>(t[n]=({state:t,query:a})=>{k(o=>{let{defaultValue:s}=e[n],c=x[n],l=t??s??null,u=o[n]??s??null;return Object.is(u,l)?(i("[nuq+ %s `%s`] Cross-hook key sync %s: %O (default: %O). no change, skipping, resolved: %O",r,b,c,t,s,A.current),o):(A.current={...A.current,[n]:l},w.current[c]=a,i("[nuq+ %s `%s`] Cross-hook key sync %s: %O (default: %O). updateInternalState, resolved: %O",r,b,c,t,s,A.current),A.current)})},t),{});for(let n of Object.keys(e)){let e=x[n];i("[nuq+ %s `%s`] Subscribing to sync for `%s`",r,e,b),U.on(e,t[n])}return()=>{for(let n of Object.keys(e)){let e=x[n];i("[nuq+ %s `%s`] Unsubscribing to sync for `%s`",r,e,b),U.off(e,t[n])}}},[b,x]);let M=(0,n.useCallback)((t,n={})=>{let a=Object.fromEntries(Object.keys(e).map(e=>[e,null])),m=typeof t==`function`?t(q(A.current,T))??a:t??a;i("[nuq+ %s `%s`] setState: %O",r,b,m);let h,g=0,v=!1,C=[];for(let[t,r]of Object.entries(m)){let i=e[t],a=x[t];if(!i||r===void 0)continue;(n.clearOnDefault??i.clearOnDefault??p)&&r!==null&&i.defaultValue!==void 0&&(i.eq??((e,t)=>e===t))(r,i.defaultValue)&&(r=null);let m=r===null?null:(i.serialize??String)(r);U.emit(a,{state:r,query:m});let b={key:a,query:m,options:{history:n.history??i.history??s,shallow:n.shallow??i.shallow??u,scroll:n.scroll??i.scroll??c,startTransition:n.startTransition??i.startTransition??_}};if(n?.limitUrlUpdates?.method===`debounce`||f?.method===`debounce`||i.limitUrlUpdates?.method===`debounce`){b.options.shallow===!0&&console.warn(l(422));let e=n?.limitUrlUpdates?.timeMs??f?.timeMs??i.limitUrlUpdates?.timeMs??y.timeMs,t=j.push(b,e,S,o);g<e&&(h=t,g=e)}else{let e=n?.limitUrlUpdates?.timeMs??i?.limitUrlUpdates?.timeMs??f?.timeMs??n.throttleMs??i.throttleMs??d;C.push(j.abort(a)),O.push(b,e),v=!0}}let w=C.reduce((e,t)=>t(e),v?O.flush(S,o):O.getPendingPromise(S));return h??w},[b,s,u,c,d,f?.method,f?.timeMs,_,x,S.updateUrl,S.getSearchParamsSnapshot,S.rateLimitFactor,o,T]);return[(0,n.useMemo)(()=>q(D,T),[D,T]),M]}function K(e,t,n,r,i,a){let o=!1,s=Object.entries(e).reduce((e,[s,c])=>{let l=t?.[s]??s,u=r[l],d=c.type===`multi`?[]:null,f=u===void 0?(c.type===`multi`?n?.getAll(l):n?.get(l))??d:u;return i&&a&&M(i[l]??d,f)?(e[s]=a[s]??null,e):(o=!0,e[s]=(b(f)?null:N(c.parse,f,l))??null,i&&(i[l]=f),e)},{});if(!o){let t=Object.keys(e),n=Object.keys(a??{});o=t.length!==n.length||t.some(e=>!n.includes(e))}return{state:s,hasChanged:o}}function q(e,t){return Object.fromEntries(Object.keys(e).map(n=>[n,e[n]??t[n]??null]))}function J(e,t={}){let{parse:r,type:i,serialize:a,eq:o,defaultValue:s,...c}=t,[{[e]:l},u]=G({[e]:{parse:r??(e=>e),type:i,serialize:a,eq:o,defaultValue:s}},c);return[l,(0,n.useCallback)((t,n={})=>u(n=>({[e]:typeof t==`function`?t(n[e]):t}),n),[e,u])]}export{F as a,M as c,O as d,p as f,u as h,z as i,S as l,l as m,L as n,J as o,i as p,I as r,G as s,B as t,j as u};
|
|
Binary file
|
|
Binary file
|