db-studio 1.7.2 → 1.7.3

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.
Files changed (23) hide show
  1. package/dist/core-dist/assets/{_pathlessLayout-CrtbzsyH.js → _pathlessLayout-C4T813nc.js} +1 -1
  2. package/dist/core-dist/assets/_queryId-CzDXQjlo.js +1 -0
  3. package/dist/core-dist/assets/_table-Bu3xLCnw.js +39 -0
  4. package/dist/core-dist/assets/{_table-ai9HDUf8.js → _table-CxQw9Zgt.js} +1 -1
  5. package/dist/core-dist/assets/{cdoe-editor-Ct5sUeyy.js → cdoe-editor-Cez2GFq-.js} +1 -1
  6. package/dist/core-dist/assets/{dialog-BQZ4z_3G.js → dialog-DR7r4hKq.js} +1 -1
  7. package/dist/core-dist/assets/index-B1s9iEHF.js +1 -0
  8. package/dist/core-dist/assets/index-YjvhQnuu.js +1 -0
  9. package/dist/core-dist/assets/index-xtX-qDgL.js +57 -0
  10. package/dist/core-dist/assets/{queries.store-QV4hp8zS.js → queries.store-DGrjGe-g.js} +1 -1
  11. package/dist/core-dist/assets/{runner-tab-942uJn7n.js → runner-tab-CsEKHazt.js} +3 -3
  12. package/dist/core-dist/assets/{scroll-area-CPCU4NOC.js → scroll-area-B80EsjFm.js} +1 -1
  13. package/dist/core-dist/assets/{tooltip-4I9-F957.js → tooltip-DBQw-B98.js} +1 -1
  14. package/dist/core-dist/assets/{use-delete-column-VjacPbPI.js → use-delete-column-c-7ogRF5.js} +1 -1
  15. package/dist/core-dist/index.html +1 -1
  16. package/dist/index.js +1 -1
  17. package/dist/index.js.map +1 -1
  18. package/package.json +1 -1
  19. package/dist/core-dist/assets/_queryId-D6O1_Xvj.js +0 -1
  20. package/dist/core-dist/assets/_table-5eHqhTIv.js +0 -39
  21. package/dist/core-dist/assets/index-BZAznU-i.js +0 -57
  22. package/dist/core-dist/assets/index-Bxi6VqMh.js +0 -1
  23. package/dist/core-dist/assets/index-Xsj_t9Zu.js +0 -1
@@ -1,4 +1,4 @@
1
- import{j as g}from"./radix-ui-c-7GrHMM.js";import{l as t,e as G,K as l,a as d}from"./monaco-editor-BMj4E99D.js";import{r as u}from"./icons-B2mES2Qq.js";import{t as p}from"./index-BZAznU-i.js";import"./react-dom-BcUZDRtY.js";import"./tanstack-BaWakKkc.js";const f=["SELECT","FROM","WHERE","INSERT","UPDATE","DELETE","CREATE","DROP","ALTER","TABLE","INDEX","VIEW","DATABASE","SCHEMA","FUNCTION","PROCEDURE","TRIGGER","AND","OR","NOT","IN","BETWEEN","LIKE","IS","NULL","JOIN","LEFT","RIGHT","INNER","OUTER","CROSS","ON","USING","GROUP","BY","HAVING","ORDER","ASC","DESC","LIMIT","OFFSET","UNION","INTERSECT","EXCEPT","AS","DISTINCT","ALL","EXISTS","CASE","WHEN","THEN","ELSE","END","WITH","RECURSIVE","PRIMARY","KEY","FOREIGN","REFERENCES","UNIQUE","CHECK","DEFAULT","CASCADE","RESTRICT","NO","ACTION","SET","CONSTRAINT","BEGIN","COMMIT","ROLLBACK","SAVEPOINT","TRANSACTION","GRANT","REVOKE","PRIVILEGES","TO","RETURNING"],U=["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%",">>","<<","+=","-=","*=","/=","&=","|=","^=","%="],b=["COUNT","SUM","AVG","MIN","MAX","COALESCE","NULLIF","CAST","CONCAT","SUBSTRING","LOWER","UPPER","TRIM","LENGTH","NOW","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","EXTRACT","DATE_TRUNC","AGE","ARRAY_AGG","JSON_BUILD_OBJECT","JSON_AGG","ROW_NUMBER","RANK","DENSE_RANK","LAG","LEAD","FIRST_VALUE","LAST_VALUE","STRING_AGG","GENERATE_SERIES"],D=["INTEGER","INT","SMALLINT","BIGINT","DECIMAL","NUMERIC","REAL","DOUBLE","PRECISION","SERIAL","BIGSERIAL","VARCHAR","CHAR","TEXT","BOOLEAN","BOOL","DATE","TIME","TIMESTAMP","TIMESTAMPTZ","INTERVAL","UUID","JSON","JSONB","ARRAY","BYTEA","INET","CIDR"],M=["SELECT","FROM","WHERE","INSERT INTO","UPDATE","DELETE FROM","CREATE TABLE","DROP TABLE","ALTER TABLE","JOIN","LEFT JOIN","RIGHT JOIN","INNER JOIN","GROUP BY","ORDER BY","HAVING","LIMIT"],x=["COUNT(*)","SUM()","AVG()","MIN()","MAX()","COALESCE()","CONCAT()","NOW()","CURRENT_DATE","CURRENT_TIMESTAMP","STRING_AGG()","ARRAY_AGG()","JSON_AGG()"],B=["INTEGER","VARCHAR","TEXT","BOOLEAN","TIMESTAMP","DATE","JSON","JSONB","UUID","SERIAL","BIGSERIAL"],K=({initialQuery:S,queryId:R,savedQuery:I,language:m,onQueryChange:a,onUnsavedChanges:s,onExecuteQuery:c,onSaveQuery:C})=>{const N=u.useRef(null),O=u.useRef(null);return u.useEffect(()=>{if(!N.current)return;const A=[];m==="pgsql"&&(t.register({id:"pgsql"}),A.push(t.registerDocumentFormattingEditProvider("pgsql",{provideDocumentFormattingEdits:e=>{const T=e.getValue().replace(/\s+/g," ").replace(/\s*,\s*/g,`,
1
+ import{j as g}from"./radix-ui-c-7GrHMM.js";import{l as t,e as G,K as l,a as d}from"./monaco-editor-BMj4E99D.js";import{r as u}from"./icons-B2mES2Qq.js";import{t as p}from"./index-xtX-qDgL.js";import"./react-dom-BcUZDRtY.js";import"./tanstack-BaWakKkc.js";const f=["SELECT","FROM","WHERE","INSERT","UPDATE","DELETE","CREATE","DROP","ALTER","TABLE","INDEX","VIEW","DATABASE","SCHEMA","FUNCTION","PROCEDURE","TRIGGER","AND","OR","NOT","IN","BETWEEN","LIKE","IS","NULL","JOIN","LEFT","RIGHT","INNER","OUTER","CROSS","ON","USING","GROUP","BY","HAVING","ORDER","ASC","DESC","LIMIT","OFFSET","UNION","INTERSECT","EXCEPT","AS","DISTINCT","ALL","EXISTS","CASE","WHEN","THEN","ELSE","END","WITH","RECURSIVE","PRIMARY","KEY","FOREIGN","REFERENCES","UNIQUE","CHECK","DEFAULT","CASCADE","RESTRICT","NO","ACTION","SET","CONSTRAINT","BEGIN","COMMIT","ROLLBACK","SAVEPOINT","TRANSACTION","GRANT","REVOKE","PRIVILEGES","TO","RETURNING"],U=["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%",">>","<<","+=","-=","*=","/=","&=","|=","^=","%="],b=["COUNT","SUM","AVG","MIN","MAX","COALESCE","NULLIF","CAST","CONCAT","SUBSTRING","LOWER","UPPER","TRIM","LENGTH","NOW","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","EXTRACT","DATE_TRUNC","AGE","ARRAY_AGG","JSON_BUILD_OBJECT","JSON_AGG","ROW_NUMBER","RANK","DENSE_RANK","LAG","LEAD","FIRST_VALUE","LAST_VALUE","STRING_AGG","GENERATE_SERIES"],D=["INTEGER","INT","SMALLINT","BIGINT","DECIMAL","NUMERIC","REAL","DOUBLE","PRECISION","SERIAL","BIGSERIAL","VARCHAR","CHAR","TEXT","BOOLEAN","BOOL","DATE","TIME","TIMESTAMP","TIMESTAMPTZ","INTERVAL","UUID","JSON","JSONB","ARRAY","BYTEA","INET","CIDR"],M=["SELECT","FROM","WHERE","INSERT INTO","UPDATE","DELETE FROM","CREATE TABLE","DROP TABLE","ALTER TABLE","JOIN","LEFT JOIN","RIGHT JOIN","INNER JOIN","GROUP BY","ORDER BY","HAVING","LIMIT"],x=["COUNT(*)","SUM()","AVG()","MIN()","MAX()","COALESCE()","CONCAT()","NOW()","CURRENT_DATE","CURRENT_TIMESTAMP","STRING_AGG()","ARRAY_AGG()","JSON_AGG()"],B=["INTEGER","VARCHAR","TEXT","BOOLEAN","TIMESTAMP","DATE","JSON","JSONB","UUID","SERIAL","BIGSERIAL"],K=({initialQuery:S,queryId:R,savedQuery:I,language:m,onQueryChange:a,onUnsavedChanges:s,onExecuteQuery:c,onSaveQuery:C})=>{const N=u.useRef(null),O=u.useRef(null);return u.useEffect(()=>{if(!N.current)return;const A=[];m==="pgsql"&&(t.register({id:"pgsql"}),A.push(t.registerDocumentFormattingEditProvider("pgsql",{provideDocumentFormattingEdits:e=>{const T=e.getValue().replace(/\s+/g," ").replace(/\s*,\s*/g,`,
2
2
  `).replace(/\b(SELECT|FROM|WHERE|JOIN|LEFT JOIN|RIGHT JOIN|INNER JOIN|GROUP BY|ORDER BY|HAVING|LIMIT|OFFSET)\b/gi,`
3
3
  $1`).replace(/\b(AND|OR)\b/gi,`
4
4
  $1`).trim().split(`
@@ -1 +1 @@
1
- import{j as a,R as i,a as d,C as n,T as c,D as u,P as x,O as f}from"./radix-ui-c-7GrHMM.js";import{c as o,B as r}from"./index-BZAznU-i.js";import{X as m}from"./icons-B2mES2Qq.js";function b({...t}){return a.jsx(i,{"data-slot":"dialog",...t})}function g({...t}){return a.jsx(x,{"data-slot":"dialog-portal",...t})}function p({className:t,...e}){return a.jsx(f,{"data-slot":"dialog-overlay",className:o("data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 bg-black/80 duration-100 supports-backdrop-filter:backdrop-blur-xs fixed inset-0 isolate z-50",t),...e})}function v({className:t,children:e,showCloseButton:s=!0,...l}){return a.jsxs(g,{children:[a.jsx(p,{}),a.jsxs(d,{"data-slot":"dialog-content",className:o("bg-background data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 ring-foreground/10 grid max-w-[calc(100%-2rem)] gap-4 rounded-xl p-4 text-xs/relaxed ring-1 duration-100 sm:max-w-sm fixed top-1/2 left-1/2 z-50 w-full -translate-x-1/2 -translate-y-1/2",t),...l,children:[e,s&&a.jsx(n,{"data-slot":"dialog-close",asChild:!0,children:a.jsxs(r,{variant:"ghost",className:"absolute top-2 right-2",size:"icon-sm",children:[a.jsx(m,{}),a.jsx("span",{className:"sr-only",children:"Close"})]})})]})]})}function C({className:t,...e}){return a.jsx("div",{"data-slot":"dialog-header",className:o("gap-1 flex flex-col",t),...e})}function N({className:t,showCloseButton:e=!1,children:s,...l}){return a.jsxs("div",{"data-slot":"dialog-footer",className:o("gap-2 flex flex-col-reverse sm:flex-row sm:justify-end",t),...l,children:[s,e&&a.jsx(n,{asChild:!0,children:a.jsx(r,{variant:"outline",children:"Close"})})]})}function y({className:t,...e}){return a.jsx(c,{"data-slot":"dialog-title",className:o("text-sm font-medium",t),...e})}function z({className:t,...e}){return a.jsx(u,{"data-slot":"dialog-description",className:o("text-muted-foreground *:[a]:hover:text-foreground text-xs/relaxed *:[a]:underline *:[a]:underline-offset-3",t),...e})}export{b as D,v as a,C as b,y as c,z as d,N as e};
1
+ import{j as a,R as i,a as d,C as n,T as c,D as u,P as x,O as f}from"./radix-ui-c-7GrHMM.js";import{c as o,B as r}from"./index-xtX-qDgL.js";import{X as m}from"./icons-B2mES2Qq.js";function b({...t}){return a.jsx(i,{"data-slot":"dialog",...t})}function g({...t}){return a.jsx(x,{"data-slot":"dialog-portal",...t})}function p({className:t,...e}){return a.jsx(f,{"data-slot":"dialog-overlay",className:o("data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 bg-black/80 duration-100 supports-backdrop-filter:backdrop-blur-xs fixed inset-0 isolate z-50",t),...e})}function v({className:t,children:e,showCloseButton:s=!0,...l}){return a.jsxs(g,{children:[a.jsx(p,{}),a.jsxs(d,{"data-slot":"dialog-content",className:o("bg-background data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 ring-foreground/10 grid max-w-[calc(100%-2rem)] gap-4 rounded-xl p-4 text-xs/relaxed ring-1 duration-100 sm:max-w-sm fixed top-1/2 left-1/2 z-50 w-full -translate-x-1/2 -translate-y-1/2",t),...l,children:[e,s&&a.jsx(n,{"data-slot":"dialog-close",asChild:!0,children:a.jsxs(r,{variant:"ghost",className:"absolute top-2 right-2",size:"icon-sm",children:[a.jsx(m,{}),a.jsx("span",{className:"sr-only",children:"Close"})]})})]})]})}function C({className:t,...e}){return a.jsx("div",{"data-slot":"dialog-header",className:o("gap-1 flex flex-col",t),...e})}function N({className:t,showCloseButton:e=!1,children:s,...l}){return a.jsxs("div",{"data-slot":"dialog-footer",className:o("gap-2 flex flex-col-reverse sm:flex-row sm:justify-end",t),...l,children:[s,e&&a.jsx(n,{asChild:!0,children:a.jsx(r,{variant:"outline",children:"Close"})})]})}function y({className:t,...e}){return a.jsx(c,{"data-slot":"dialog-title",className:o("text-sm font-medium",t),...e})}function z({className:t,...e}){return a.jsx(u,{"data-slot":"dialog-description",className:o("text-muted-foreground *:[a]:hover:text-foreground text-xs/relaxed *:[a]:underline *:[a]:underline-offset-3",t),...e})}export{b as D,v as a,C as b,y as c,z as d,N as e};
@@ -0,0 +1 @@
1
+ import{j as o}from"./radix-ui-c-7GrHMM.js";import{R as t}from"./runner-tab-CsEKHazt.js";import"./icons-B2mES2Qq.js";import"./react-dom-BcUZDRtY.js";import"./monaco-editor-BMj4E99D.js";import"./tanstack-BaWakKkc.js";import"./index-xtX-qDgL.js";import"./index-YjvhQnuu.js";import"./format-cell-value-Cn3RA9a1.js";import"./tooltip-DBQw-B98.js";import"./queries.store-DGrjGe-g.js";function f(){return o.jsx(t,{})}export{f as component};
@@ -0,0 +1 @@
1
+ import{ad as _,ae as k,af as W,ag as ee,ah as K,ai as w,aj as te,ak as re,al as L,am as se,an as ne,ao as ue}from"./index-xtX-qDgL.js";import{r as h}from"./icons-B2mES2Qq.js";function Y(e,t,r){try{return e(t)}catch(n){return ue("[nuqs] Error while parsing value `%s`: %O"+(r?" (for key `%s`)":""),t,n,r),null}}function g(e){function t(r){if(typeof r>"u")return null;let n="";if(Array.isArray(r)){if(r[0]===void 0)return null;n=r[0]}return typeof r=="string"&&(n=r),Y(e.parse,n)}return{type:"single",eq:(r,n)=>r===n,...e,parseServerSide:t,withDefault(r){return{...this,defaultValue:r,parseServerSide(n){return t(n)??r}}},withOptions(r){return{...this,...r}}}}g({parse:e=>e,serialize:String});g({parse:e=>{const t=parseInt(e);return t==t?t:null},serialize:e=>""+Math.round(e)});g({parse:e=>{const t=parseInt(e);return t==t?t-1:null},serialize:e=>""+Math.round(e+1)});g({parse:e=>{const t=parseInt(e,16);return t==t?t:null},serialize:e=>{const t=Math.round(e).toString(16);return(t.length&1?"0":"")+t}});g({parse:e=>{const t=parseFloat(e);return t==t?t:null},serialize:String});g({parse:e=>e.toLowerCase()==="true",serialize:String});function G(e,t){return e.valueOf()===t.valueOf()}g({parse:e=>{const t=parseInt(e);return t==t?new Date(t):null},serialize:e=>""+e.valueOf(),eq:G});g({parse:e=>{const t=new Date(e);return t.valueOf()==t.valueOf()?t:null},serialize:e=>e.toISOString(),eq:G});g({parse:e=>{const t=new Date(e.slice(0,10));return t.valueOf()==t.valueOf()?t:null},serialize:e=>e.toISOString().slice(0,10),eq:G});function ce(e){return g({parse:t=>{try{const r=JSON.parse(t);if("~standard"in e){const n=e["~standard"].validate(r);if(n instanceof Promise)throw new Error("[nuqs] Only synchronous Standard Schemas are supported in parseAsJson.");return n.issues?null:n.value}return e(r)}catch{return null}},serialize:t=>JSON.stringify(t),eq(t,r){return t===r||JSON.stringify(t)===JSON.stringify(r)}})}const $=te(),ae={};function le(e,t={}){const r=h.useId(),n=_(),O=k(),{history:U="replace",scroll:j=n?.scroll??!1,shallow:E=n?.shallow??!0,throttleMs:d=W.timeMs,limitUrlUpdates:a=n?.limitUrlUpdates,clearOnDefault:f=n?.clearOnDefault??!0,startTransition:p,urlKeys:b=ae}=t,i=Object.keys(e).join(","),l=h.useMemo(()=>Object.fromEntries(Object.keys(e).map(s=>[s,b[s]??s])),[i,JSON.stringify(b)]),P=ee(Object.values(l)),y=P.searchParams,z=h.useRef({}),V=h.useMemo(()=>Object.fromEntries(Object.keys(e).map(s=>[s,e[s].defaultValue??null])),[Object.values(e).map(({defaultValue:s})=>s).join(",")]),I=K.useQueuedQueries(Object.values(l)),[J,T]=h.useState(()=>B(e,b,y??new URLSearchParams,I).state),m=h.useRef(J);if(w("[nuq+ %s `%s`] render - state: %O, iSP: %s",r,i,J,y),Object.keys(z.current).join("&")!==Object.values(l).join("&")){const{state:s,hasChanged:u}=B(e,b,y,I,z.current,m.current);u&&(w("[nuq+ %s `%s`] State changed: %O",r,i,{state:s,initialSearchParams:y,queuedQueries:I,queryRef:z.current,stateRef:m.current}),m.current=s,T(s)),z.current=Object.fromEntries(Object.entries(l).map(([o,S])=>[S,e[o]?.type==="multi"?y?.getAll(S):y?.get(S)??null]))}h.useEffect(()=>{const{state:s,hasChanged:u}=B(e,b,y,I,z.current,m.current);u&&(w("[nuq+ %s `%s`] State changed: %O",r,i,{state:s,initialSearchParams:y,queuedQueries:I,queryRef:z.current,stateRef:m.current}),m.current=s,T(s))},[Object.values(l).map(s=>`${s}=${y?.getAll(s)}`).join("&"),JSON.stringify(I)]),h.useEffect(()=>{const s=Object.keys(e).reduce((u,o)=>(u[o]=({state:S,query:M})=>{T(C=>{const{defaultValue:A}=e[o],R=l[o],N=S??A??null,v=C[o]??A??null;return Object.is(v,N)?(w("[nuq+ %s `%s`] Cross-hook key sync %s: %O (default: %O). no change, skipping, resolved: %O",r,i,R,S,A,m.current),C):(m.current={...m.current,[o]:N},z.current[R]=M,w("[nuq+ %s `%s`] Cross-hook key sync %s: %O (default: %O). updateInternalState, resolved: %O",r,i,R,S,A,m.current),m.current)})},u),{});for(const u of Object.keys(e)){const o=l[u];w("[nuq+ %s `%s`] Subscribing to sync for `%s`",r,o,i),$.on(o,s[u])}return()=>{for(const u of Object.keys(e)){const o=l[u];w("[nuq+ %s `%s`] Unsubscribing to sync for `%s`",r,o,i),$.off(o,s[u])}}},[i,l]);const Z=h.useCallback((s,u={})=>{const o=Object.fromEntries(Object.keys(e).map(v=>[v,null])),S=typeof s=="function"?s(X(m.current,V))??o:s??o;w("[nuq+ %s `%s`] setState: %O",r,i,S);let M,C=0,A=!1;const R=[];for(let[v,q]of Object.entries(S)){const c=e[v],x=l[v];if(!c||q===void 0)continue;(u.clearOnDefault??c.clearOnDefault??f)&&q!==null&&c.defaultValue!==void 0&&(c.eq??((D,F)=>D===F))(q,c.defaultValue)&&(q=null);const H=q===null?null:(c.serialize??String)(q);$.emit(x,{state:q,query:H});const Q={key:x,query:H,options:{history:u.history??c.history??U,shallow:u.shallow??c.shallow??E,scroll:u.scroll??c.scroll??j,startTransition:u.startTransition??c.startTransition??p}};if(u?.limitUrlUpdates?.method==="debounce"||a?.method==="debounce"||c.limitUrlUpdates?.method==="debounce"){Q.options.shallow===!0&&console.warn(re(422));const D=u?.limitUrlUpdates?.timeMs??a?.timeMs??c.limitUrlUpdates?.timeMs??W.timeMs,F=K.push(Q,D,P,O);C<D&&(M=F,C=D)}else{const D=u?.limitUrlUpdates?.timeMs??c?.limitUrlUpdates?.timeMs??a?.timeMs??u.throttleMs??c.throttleMs??d;R.push(K.abort(x)),L.push(Q,D),A=!0}}const N=R.reduce((v,q)=>q(v),A?L.flush(P,O):L.getPendingPromise(P));return M??N},[i,U,E,j,d,a?.method,a?.timeMs,p,l,P.updateUrl,P.getSearchParamsSnapshot,P.rateLimitFactor,O,V]);return[h.useMemo(()=>X(J,V),[J,V]),Z]}function B(e,t,r,n,O,U){let j=!1;const E=Object.entries(e).reduce((d,[a,f])=>{const p=t?.[a]??a,b=n[p],i=f.type==="multi"?[]:null,l=b===void 0?(f.type==="multi"?r?.getAll(p):r?.get(p))??i:b;return O&&U&&se(O[p]??i,l)?(d[a]=U[a]??null,d):(j=!0,d[a]=(ne(l)?null:Y(f.parse,l,p))??null,O&&(O[p]=l),d)},{});if(!j){const d=Object.keys(e),a=Object.keys(U??{});j=d.length!==a.length||d.some(f=>!a.includes(f))}return{state:E,hasChanged:j}}function X(e,t){return Object.fromEntries(Object.keys(e).map(r=>[r,e[r]??t[r]??null]))}function fe(e,t={}){const{parse:r,type:n,serialize:O,eq:U,defaultValue:j,...E}=t,[{[e]:d},a]=le({[e]:{parse:r??(f=>f),type:n,serialize:O,eq:U,defaultValue:j}},E);return[d,h.useCallback((f,p={})=>a(b=>({[e]:typeof f=="function"?f(b[e]):f}),p),[e,a])]}export{ce as p,fe as u};