gemi 0.124.0 → 0.125.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/dist/ai/AgentController.d.ts +185 -3
- package/dist/ai/AgentController.d.ts.map +1 -1
- package/dist/ai/client/index.d.ts +1 -1
- package/dist/ai/client/index.d.ts.map +1 -1
- package/dist/ai/client/index.js +38 -9
- package/dist/ai/client/index.js.map +1 -1
- package/dist/ai/client/reducer.d.ts.map +1 -1
- package/dist/ai/index.d.ts +2 -2
- package/dist/ai/index.d.ts.map +1 -1
- package/dist/ai/index.js +31 -48
- package/dist/ai/index.js.map +6 -15
- package/dist/ai/types.d.ts +26 -0
- package/dist/ai/types.d.ts.map +1 -1
- package/dist/ai/useChat.d.ts +35 -2
- package/dist/ai/useChat.d.ts.map +1 -1
- package/dist/app/index.js +1 -1
- package/dist/auth/AuthController.d.ts.map +1 -1
- package/dist/auth/AuthManager.d.ts +11 -0
- package/dist/auth/AuthManager.d.ts.map +1 -1
- package/dist/auth/AuthServiceProvider.d.ts +2 -0
- package/dist/auth/AuthServiceProvider.d.ts.map +1 -1
- package/dist/auth/config.d.ts +71 -2
- package/dist/auth/config.d.ts.map +1 -1
- package/dist/auth/oauth/providers.d.ts +10 -0
- package/dist/auth/oauth/providers.d.ts.map +1 -0
- package/dist/bun/plugin.js +1 -1
- package/dist/bun/preload.js +1 -1
- package/dist/{chunk-a3g7y70h.js → chunk-0x1s02r1.js} +3 -3
- package/dist/{chunk-a3g7y70h.js.map → chunk-0x1s02r1.js.map} +1 -1
- package/dist/{chunk-yzhv93b0.js → chunk-1jcngq6w.js} +3 -3
- package/dist/{chunk-yzhv93b0.js.map → chunk-1jcngq6w.js.map} +1 -1
- package/dist/{chunk-mrswc6qw.js → chunk-1mxb44n9.js} +2 -2
- package/dist/{chunk-mrswc6qw.js.map → chunk-1mxb44n9.js.map} +1 -1
- package/dist/{chunk-9tr92nwy.js → chunk-1n40bdxf.js} +2 -2
- package/dist/{chunk-9tr92nwy.js.map → chunk-1n40bdxf.js.map} +1 -1
- package/dist/chunk-1xmh61fg.js +5 -0
- package/dist/{chunk-70nnh0y7.js.map → chunk-1xmh61fg.js.map} +1 -1
- package/dist/{chunk-bt9qv2jj.js → chunk-3br5zr7a.js} +3 -3
- package/dist/{chunk-bt9qv2jj.js.map → chunk-3br5zr7a.js.map} +1 -1
- package/dist/{chunk-w61sphn5.js → chunk-3kxe9geg.js} +3 -3
- package/dist/{chunk-w61sphn5.js.map → chunk-3kxe9geg.js.map} +1 -1
- package/dist/{chunk-bnt8kx6x.js → chunk-5fh4pvyt.js} +2 -2
- package/dist/{chunk-bnt8kx6x.js.map → chunk-5fh4pvyt.js.map} +1 -1
- package/dist/{chunk-rpyczdta.js → chunk-6gwxvmjv.js} +3 -3
- package/dist/{chunk-rpyczdta.js.map → chunk-6gwxvmjv.js.map} +1 -1
- package/dist/{chunk-65s834td.js → chunk-6q6bhkyf.js} +1 -1
- package/dist/{chunk-fn2qfwgx.js → chunk-6vz75swk.js} +2 -2
- package/dist/{chunk-fn2qfwgx.js.map → chunk-6vz75swk.js.map} +1 -1
- package/dist/chunk-6wgh7nk6.js +15 -0
- package/dist/{chunk-n0r5xyk2.js.map → chunk-6wgh7nk6.js.map} +6 -5
- package/dist/chunk-7vrrgxwm.js +22 -0
- package/dist/chunk-7vrrgxwm.js.map +21 -0
- package/dist/{chunk-kzsjyvvc.js → chunk-7zj6bk9a.js} +2 -2
- package/dist/{chunk-kzsjyvvc.js.map → chunk-7zj6bk9a.js.map} +1 -1
- package/dist/{chunk-3hqwz48c.js → chunk-8tvfmy1a.js} +4 -4
- package/dist/{chunk-3hqwz48c.js.map → chunk-8tvfmy1a.js.map} +1 -1
- package/dist/{chunk-6bgb1nhq.js → chunk-910p6ne6.js} +2 -2
- package/dist/{chunk-6bgb1nhq.js.map → chunk-910p6ne6.js.map} +1 -1
- package/dist/{chunk-96a1459v.js → chunk-ap3g6rbw.js} +2 -2
- package/dist/{chunk-96a1459v.js.map → chunk-ap3g6rbw.js.map} +1 -1
- package/dist/{chunk-3j6s5bmx.js → chunk-ayfjjgv2.js} +1 -1
- package/dist/chunk-b4x1dt3s.js +10 -0
- package/dist/chunk-b4x1dt3s.js.map +43 -0
- package/dist/{chunk-f29pktad.js → chunk-b7a22evs.js} +3 -3
- package/dist/{chunk-f29pktad.js.map → chunk-b7a22evs.js.map} +1 -1
- package/dist/{chunk-qdj8ek8z.js → chunk-bny9s44t.js} +2 -2
- package/dist/{chunk-qdj8ek8z.js.map → chunk-bny9s44t.js.map} +1 -1
- package/dist/{chunk-1rnh9qrp.js → chunk-by5gwr8x.js} +2 -2
- package/dist/{chunk-1rnh9qrp.js.map → chunk-by5gwr8x.js.map} +1 -1
- package/dist/{chunk-nn2jeat2.js → chunk-c0qpv8x7.js} +2 -2
- package/dist/{chunk-17dndh5z.js.map → chunk-c0qpv8x7.js.map} +1 -1
- package/dist/{chunk-f4cmz31h.js → chunk-cpem1j1x.js} +2 -2
- package/dist/{chunk-f4cmz31h.js.map → chunk-cpem1j1x.js.map} +1 -1
- package/dist/{chunk-019wz697.js → chunk-crnfxn9n.js} +2 -2
- package/dist/{chunk-019wz697.js.map → chunk-crnfxn9n.js.map} +1 -1
- package/dist/{chunk-s5jxc63j.js → chunk-cwt8e782.js} +3 -3
- package/dist/{chunk-s5jxc63j.js.map → chunk-cwt8e782.js.map} +1 -1
- package/dist/{chunk-fw7ds23a.js → chunk-dxyxd7b3.js} +2 -2
- package/dist/{chunk-fw7ds23a.js.map → chunk-dxyxd7b3.js.map} +1 -1
- package/dist/{chunk-qhz0x97z.js → chunk-dy58aztm.js} +2 -2
- package/dist/{chunk-qhz0x97z.js.map → chunk-dy58aztm.js.map} +1 -1
- package/dist/{chunk-skf89vrv.js → chunk-entpqjyn.js} +2 -2
- package/dist/{chunk-skf89vrv.js.map → chunk-entpqjyn.js.map} +1 -1
- package/dist/{chunk-7gfdts60.js → chunk-eq5svwca.js} +2 -2
- package/dist/{chunk-7gfdts60.js.map → chunk-eq5svwca.js.map} +1 -1
- package/dist/{chunk-n1a2zj5z.js → chunk-erzfs4t2.js} +2 -2
- package/dist/{chunk-n1a2zj5z.js.map → chunk-erzfs4t2.js.map} +3 -3
- package/dist/{chunk-3y294mb8.js → chunk-ex41d03h.js} +2 -2
- package/dist/{chunk-3y294mb8.js.map → chunk-ex41d03h.js.map} +1 -1
- package/dist/{chunk-v2ggafz1.js → chunk-ey1xrbaz.js} +2 -2
- package/dist/{chunk-v2ggafz1.js.map → chunk-ey1xrbaz.js.map} +1 -1
- package/dist/chunk-eyptwf54.js +57 -0
- package/dist/{chunk-5j50q4g8.js.map → chunk-eyptwf54.js.map} +22 -19
- package/dist/{chunk-zsfwcdqn.js → chunk-g52fcwca.js} +2 -2
- package/dist/{chunk-zsfwcdqn.js.map → chunk-g52fcwca.js.map} +1 -1
- package/dist/{chunk-rttrpjqk.js → chunk-ghcvztxn.js} +2 -2
- package/dist/{chunk-rttrpjqk.js.map → chunk-ghcvztxn.js.map} +1 -1
- package/dist/{chunk-wbg2tza5.js → chunk-gp00enrk.js} +1 -1
- package/dist/{chunk-92sk56n0.js → chunk-h8w9mzjj.js} +6 -6
- package/dist/{chunk-92sk56n0.js.map → chunk-h8w9mzjj.js.map} +7 -7
- package/dist/{chunk-cfdwsvtx.js → chunk-hff9w6rt.js} +2 -2
- package/dist/{chunk-cfdwsvtx.js.map → chunk-hff9w6rt.js.map} +1 -1
- package/dist/{chunk-17dndh5z.js → chunk-hxn0s3zh.js} +2 -2
- package/dist/{chunk-nn2jeat2.js.map → chunk-hxn0s3zh.js.map} +1 -1
- package/dist/{chunk-8m2htvjn.js → chunk-hzen9gh4.js} +2 -2
- package/dist/{chunk-8m2htvjn.js.map → chunk-hzen9gh4.js.map} +1 -1
- package/dist/{chunk-c4jnxmf2.js → chunk-j10a0m7q.js} +1 -1
- package/dist/{chunk-5e22tm7m.js → chunk-j12hpdxk.js} +1 -1
- package/dist/{chunk-ykz38t0t.js → chunk-j5rwv09s.js} +2 -2
- package/dist/{chunk-ykz38t0t.js.map → chunk-j5rwv09s.js.map} +1 -1
- package/dist/{chunk-w4z6x54b.js → chunk-jykkqwcy.js} +3 -3
- package/dist/{chunk-w4z6x54b.js.map → chunk-jykkqwcy.js.map} +1 -1
- package/dist/{chunk-w3812s34.js → chunk-k1ebt28j.js} +2 -2
- package/dist/{chunk-w3812s34.js.map → chunk-k1ebt28j.js.map} +1 -1
- package/dist/{chunk-h3p8qzft.js → chunk-kcsa57km.js} +2 -2
- package/dist/{chunk-h3p8qzft.js.map → chunk-kcsa57km.js.map} +1 -1
- package/dist/{chunk-1qwhty9p.js → chunk-khdkrfxp.js} +2 -2
- package/dist/{chunk-1qwhty9p.js.map → chunk-khdkrfxp.js.map} +1 -1
- package/dist/{chunk-b5afy6k9.js → chunk-knq4ack4.js} +2 -2
- package/dist/{chunk-b5afy6k9.js.map → chunk-knq4ack4.js.map} +1 -1
- package/dist/{chunk-121p4g9j.js → chunk-m7pghdcy.js} +2 -2
- package/dist/{chunk-121p4g9j.js.map → chunk-m7pghdcy.js.map} +1 -1
- package/dist/{chunk-rtawbqec.js → chunk-mmqnq1qh.js} +3 -3
- package/dist/{chunk-rtawbqec.js.map → chunk-mmqnq1qh.js.map} +1 -1
- package/dist/{chunk-34fkx6kb.js → chunk-n3z83qhq.js} +2 -2
- package/dist/{chunk-34fkx6kb.js.map → chunk-n3z83qhq.js.map} +1 -1
- package/dist/{chunk-mvkz22p4.js → chunk-npbf06c1.js} +2 -2
- package/dist/{chunk-mvkz22p4.js.map → chunk-npbf06c1.js.map} +1 -1
- package/dist/{chunk-2affxmkn.js → chunk-p5df4pn7.js} +2 -2
- package/dist/{chunk-2affxmkn.js.map → chunk-p5df4pn7.js.map} +1 -1
- package/dist/{chunk-y434jc1c.js → chunk-p6jbmcrg.js} +2 -2
- package/dist/{chunk-y434jc1c.js.map → chunk-p6jbmcrg.js.map} +1 -1
- package/dist/{chunk-jctb7v53.js → chunk-p7mvp5nf.js} +2 -2
- package/dist/{chunk-jctb7v53.js.map → chunk-p7mvp5nf.js.map} +1 -1
- package/dist/{chunk-jys8y39p.js → chunk-q6ah4yjg.js} +2 -2
- package/dist/{chunk-jys8y39p.js.map → chunk-q6ah4yjg.js.map} +1 -1
- package/dist/{chunk-pmyh33v5.js → chunk-r923001x.js} +2 -2
- package/dist/{chunk-pmyh33v5.js.map → chunk-r923001x.js.map} +1 -1
- package/dist/{chunk-mqtfaqx5.js → chunk-rany5zgk.js} +2 -2
- package/dist/{chunk-mqtfaqx5.js.map → chunk-rany5zgk.js.map} +1 -1
- package/dist/{chunk-30xxc6r7.js → chunk-rmgkc3a2.js} +2 -2
- package/dist/{chunk-30xxc6r7.js.map → chunk-rmgkc3a2.js.map} +1 -1
- package/dist/{chunk-v8v5qfnh.js → chunk-rvspb96n.js} +3 -3
- package/dist/{chunk-v8v5qfnh.js.map → chunk-rvspb96n.js.map} +1 -1
- package/dist/{chunk-zsvav1dk.js → chunk-rwmja4zs.js} +2 -2
- package/dist/{chunk-zsvav1dk.js.map → chunk-rwmja4zs.js.map} +1 -1
- package/dist/{chunk-j7v7dft7.js → chunk-s4semb89.js} +1 -1
- package/dist/{chunk-szn2n976.js → chunk-s4xg69r9.js} +2 -2
- package/dist/{chunk-szn2n976.js.map → chunk-s4xg69r9.js.map} +1 -1
- package/dist/{chunk-4drnyymm.js → chunk-stn0a56e.js} +2 -2
- package/dist/{chunk-4drnyymm.js.map → chunk-stn0a56e.js.map} +1 -1
- package/dist/{chunk-pe46a5a5.js → chunk-sv125fqq.js} +2 -2
- package/dist/{chunk-pe46a5a5.js.map → chunk-sv125fqq.js.map} +1 -1
- package/dist/{chunk-dxfhhw5h.js → chunk-t2t63wa0.js} +2 -2
- package/dist/{chunk-dxfhhw5h.js.map → chunk-t2t63wa0.js.map} +1 -1
- package/dist/{chunk-675kzd7z.js → chunk-t6qpm2j7.js} +2 -2
- package/dist/{chunk-675kzd7z.js.map → chunk-t6qpm2j7.js.map} +1 -1
- package/dist/chunk-tabsxzg9.js +5 -0
- package/dist/chunk-tabsxzg9.js.map +13 -0
- package/dist/{chunk-qycwjzsv.js → chunk-vhvvjaj3.js} +3 -3
- package/dist/{chunk-qycwjzsv.js.map → chunk-vhvvjaj3.js.map} +1 -1
- package/dist/{chunk-sd0c2001.js → chunk-x2j84d06.js} +2 -2
- package/dist/{chunk-sd0c2001.js.map → chunk-x2j84d06.js.map} +1 -1
- package/dist/{chunk-75ewjc4a.js → chunk-xe2pm36q.js} +2 -2
- package/dist/{chunk-75ewjc4a.js.map → chunk-xe2pm36q.js.map} +1 -1
- package/dist/{chunk-z5jydj5r.js → chunk-xfvegbxn.js} +2 -2
- package/dist/{chunk-z5jydj5r.js.map → chunk-xfvegbxn.js.map} +1 -1
- package/dist/{chunk-2n4490pk.js → chunk-y9f2see3.js} +3 -3
- package/dist/{chunk-2n4490pk.js.map → chunk-y9f2see3.js.map} +1 -1
- package/dist/{chunk-nkzmk7v3.js → chunk-yhht1j7f.js} +2 -2
- package/dist/{chunk-nkzmk7v3.js.map → chunk-yhht1j7f.js.map} +1 -1
- package/dist/{chunk-nnarmbjv.js → chunk-z5nfve1k.js} +2 -2
- package/dist/chunk-z5nfve1k.js.map +10 -0
- package/dist/{chunk-fvrmptd0.js → chunk-zq5375wd.js} +3 -3
- package/dist/{chunk-fvrmptd0.js.map → chunk-zq5375wd.js.map} +1 -1
- package/dist/chunks/{ThemeProvider-CbOx8IRl.js → ThemeProvider-CS2a1snV.js} +27 -1
- package/dist/chunks/ThemeProvider-CS2a1snV.js.map +1 -0
- package/dist/client/Mutation.d.ts +7 -6
- package/dist/client/Mutation.d.ts.map +1 -1
- package/dist/client/MutationError.d.ts +53 -1
- package/dist/client/MutationError.d.ts.map +1 -1
- package/dist/client/QueryResource.d.ts +9 -0
- package/dist/client/QueryResource.d.ts.map +1 -1
- package/dist/client/auth/useEmailCode.d.ts +3 -3
- package/dist/client/auth/useForgotPassword.d.ts +1 -1
- package/dist/client/auth/useResetPassword.d.ts +1 -1
- package/dist/client/auth/useSignIn.d.ts +1 -1
- package/dist/client/auth/useSignOut.d.ts +1 -1
- package/dist/client/auth/useSignUp.d.ts +1 -1
- package/dist/client/index.d.ts +4 -2
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +136 -9
- package/dist/client/index.js.map +1 -1
- package/dist/client/useMutation.d.ts +18 -8
- package/dist/client/useMutation.d.ts.map +1 -1
- package/dist/client/useSetQueryData.d.ts +69 -0
- package/dist/client/useSetQueryData.d.ts.map +1 -0
- package/dist/config/index.js +1 -1
- package/dist/console/run.js +2 -2
- package/dist/console/run.js.map +1 -1
- package/dist/container/index.js +2 -2
- package/dist/container/index.js.map +1 -1
- package/dist/database/index.js +2 -2
- package/dist/database/index.js.map +1 -1
- package/dist/email/index.js +2 -2
- package/dist/email/index.js.map +1 -1
- package/dist/facades/Auth.d.ts +29 -2
- package/dist/facades/Auth.d.ts.map +1 -1
- package/dist/facades/RateLimiter.d.ts +16 -1
- package/dist/facades/RateLimiter.d.ts.map +1 -1
- package/dist/facades/index.js +2 -2
- package/dist/facades/index.js.map +1 -1
- package/dist/foundation/index.js +2 -2
- package/dist/foundation/index.js.map +1 -1
- package/dist/http/HttpRequest.d.ts +14 -0
- package/dist/http/HttpRequest.d.ts.map +1 -1
- package/dist/http/McpRouter.d.ts +121 -2
- package/dist/http/McpRouter.d.ts.map +1 -1
- package/dist/http/RateLimitExceededError.d.ts +24 -0
- package/dist/http/RateLimitExceededError.d.ts.map +1 -0
- package/dist/http/RateLimitMiddleware.d.ts +2 -5
- package/dist/http/RateLimitMiddleware.d.ts.map +1 -1
- package/dist/http/index.d.ts +2 -1
- package/dist/http/index.d.ts.map +1 -1
- package/dist/http/index.js +2 -2
- package/dist/http/index.js.map +1 -1
- package/dist/http/refusal.d.ts +6 -1
- package/dist/http/refusal.d.ts.map +1 -1
- package/dist/http/requestContext.d.ts +3 -1
- package/dist/http/requestContext.d.ts.map +1 -1
- package/dist/http/requestState.d.ts +57 -0
- package/dist/http/requestState.d.ts.map +1 -0
- package/dist/i18n/dictionaryRuntime.js +2 -2
- package/dist/i18n/dictionaryRuntime.js.map +1 -1
- package/dist/i18n/index.js +2 -2
- package/dist/i18n/index.js.map +1 -1
- package/dist/kernel/index.js +2 -2
- package/dist/kernel/index.js.map +1 -1
- package/dist/orm/index.js +2 -2
- package/dist/orm/index.js.map +1 -1
- package/dist/server/Server.d.ts.map +1 -1
- package/dist/server/health.d.ts +67 -0
- package/dist/server/health.d.ts.map +1 -0
- package/dist/server/index.d.ts +1 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +2 -2
- package/dist/server/index.js.map +5 -4
- package/dist/server/shutdown.d.ts +3 -4
- package/dist/server/shutdown.d.ts.map +1 -1
- package/dist/services/features/gate.d.ts +11 -0
- package/dist/services/features/gate.d.ts.map +1 -0
- package/dist/services/index.d.ts +4 -4
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +3 -3
- package/dist/services/index.js.map +2 -2
- package/dist/services/logging/LogManager.d.ts +1 -0
- package/dist/services/logging/LogManager.d.ts.map +1 -1
- package/dist/services/logging/config.d.ts +23 -1
- package/dist/services/logging/config.d.ts.map +1 -1
- package/dist/services/logging/consoleSink.d.ts +25 -0
- package/dist/services/logging/consoleSink.d.ts.map +1 -0
- package/dist/services/mcp/McpRegistry.d.ts +106 -14
- package/dist/services/mcp/McpRegistry.d.ts.map +1 -1
- package/dist/services/mcp/http/McpHttpServer.d.ts +41 -2
- package/dist/services/mcp/http/McpHttpServer.d.ts.map +1 -1
- package/dist/services/mcp/toAgentTools.d.ts +21 -3
- package/dist/services/mcp/toAgentTools.d.ts.map +1 -1
- package/dist/services/queue/work.js +2 -2
- package/dist/services/queue/work.js.map +1 -1
- package/dist/services/rate-limiter/RateLimiter.d.ts +12 -0
- package/dist/services/rate-limiter/RateLimiter.d.ts.map +1 -1
- package/dist/services/router/globalMiddleware.d.ts +4 -3
- package/dist/services/router/globalMiddleware.d.ts.map +1 -1
- package/dist/stats/route-table.js +1 -1
- package/dist/support/index.js +2 -2
- package/dist/support/index.js.map +1 -1
- package/dist/testing/index.js +1 -1
- package/dist/vitest/index.js +1 -1
- package/package.json +1 -1
- package/skills/gemi-react-best-practices/SKILL.md +1 -1
- package/skills/gemi-react-best-practices/rules/query-mutate-over-refetch.md +14 -0
- package/skills/gemi-react-best-practices/rules/routing-middleware-dsl.md +2 -1
- package/dist/chunk-5j50q4g8.js +0 -57
- package/dist/chunk-70nnh0y7.js +0 -5
- package/dist/chunk-kc924zjz.js +0 -5
- package/dist/chunk-kc924zjz.js.map +0 -12
- package/dist/chunk-n0r5xyk2.js +0 -14
- package/dist/chunk-nnarmbjv.js.map +0 -10
- package/dist/chunk-pya4rqm2.js +0 -5
- package/dist/chunk-pya4rqm2.js.map +0 -12
- package/dist/chunk-zmf3vhex.js +0 -10
- package/dist/chunk-zmf3vhex.js.map +0 -43
- package/dist/chunks/ThemeProvider-CbOx8IRl.js.map +0 -1
- /package/dist/{chunk-65s834td.js.map → chunk-6q6bhkyf.js.map} +0 -0
- /package/dist/{chunk-3j6s5bmx.js.map → chunk-ayfjjgv2.js.map} +0 -0
- /package/dist/{chunk-wbg2tza5.js.map → chunk-gp00enrk.js.map} +0 -0
- /package/dist/{chunk-c4jnxmf2.js.map → chunk-j10a0m7q.js.map} +0 -0
- /package/dist/{chunk-5e22tm7m.js.map → chunk-j12hpdxk.js.map} +0 -0
- /package/dist/{chunk-j7v7dft7.js.map → chunk-s4semb89.js.map} +0 -0
|
@@ -3,7 +3,7 @@ import type { RPC } from "./rpc";
|
|
|
3
3
|
import type { ApiRouterHandler } from "../http/ApiRouter";
|
|
4
4
|
import type { UnwrapPromise } from "../utils/type";
|
|
5
5
|
import type { UrlParser } from "./types";
|
|
6
|
-
import { type MutationError } from "./MutationError";
|
|
6
|
+
import { type MutationError, type WithMutationErrorHelpers } from "./MutationError";
|
|
7
7
|
type Any = any;
|
|
8
8
|
type GetResult<T> = T extends ApiRouterHandler<Any, infer Result, Any> ? UnwrapPromise<Result> : never;
|
|
9
9
|
type PostRequests = {
|
|
@@ -31,7 +31,7 @@ type Methods = {
|
|
|
31
31
|
DELETE: DeleteRequests;
|
|
32
32
|
PATCH: PatchRequests;
|
|
33
33
|
};
|
|
34
|
-
interface FormProps<M extends keyof Methods, K extends keyof Methods[M]> extends Omit<ComponentProps<"form">, "action" | "onError"> {
|
|
34
|
+
interface FormProps<M extends keyof Methods, K extends keyof Methods[M], E = ErrorMethods[M][K & keyof ErrorMethods[M]]> extends Omit<ComponentProps<"form">, "action" | "onError"> {
|
|
35
35
|
method?: M;
|
|
36
36
|
action: K;
|
|
37
37
|
onSuccess?: (result: Methods[M][K], form: HTMLFormElement) => void;
|
|
@@ -40,10 +40,11 @@ interface FormProps<M extends keyof Methods, K extends keyof Methods[M]> extends
|
|
|
40
40
|
* the route's typed errors (the bodies its handler answers with
|
|
41
41
|
* `HttpResponse.error` / `httpError`); narrow it with `isValidationError`,
|
|
42
42
|
* `isPermissionError`, `isHttpError` and the other guards from
|
|
43
|
-
* `gemi/client
|
|
44
|
-
*
|
|
43
|
+
* `gemi/client`, or read it with `error.list()` / `error.field(name)`.
|
|
44
|
+
* Validation and form errors are already rendered by `<ValidationErrors>`
|
|
45
|
+
* and `<FormError>`.
|
|
45
46
|
*/
|
|
46
|
-
onError?(error: MutationError |
|
|
47
|
+
onError?(error: WithMutationErrorHelpers<MutationError | E>, form: HTMLFormElement): void;
|
|
47
48
|
/**
|
|
48
49
|
* Called when a submit is about to send its request, with the exact
|
|
49
50
|
* `FormData` that will be sent (after `dynamicInputs`). Return `false` to
|
|
@@ -57,7 +58,7 @@ interface FormProps<M extends keyof Methods, K extends keyof Methods[M]> extends
|
|
|
57
58
|
search?: Record<string, string>;
|
|
58
59
|
dynamicInputs?: (formData: FormData) => Record<string, any>;
|
|
59
60
|
}
|
|
60
|
-
export declare function Form<K extends keyof Methods[T], T extends keyof Methods = "POST">(props: FormProps<T, K>): import("react/jsx-runtime").JSX.Element;
|
|
61
|
+
export declare function Form<K extends keyof Methods[T], T extends keyof Methods = "POST", E = ErrorMethods[T][K & keyof ErrorMethods[T]]>(props: FormProps<T, K, E>): import("react/jsx-runtime").JSX.Element;
|
|
61
62
|
export declare function useMutationStatus(): {
|
|
62
63
|
isPending: boolean;
|
|
63
64
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Mutation.d.ts","sourceRoot":"","sources":["../../client/Mutation.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EAMpB,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAIzC,OAAO,EAGL,KAAK,aAAa,
|
|
1
|
+
{"version":3,"file":"Mutation.d.ts","sourceRoot":"","sources":["../../client/Mutation.tsx"],"names":[],"mappings":"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"}
|
|
@@ -55,6 +55,11 @@ export interface MutationRefusal<K extends MutationRefusalKind = MutationRefusal
|
|
|
55
55
|
kind: K;
|
|
56
56
|
message: string;
|
|
57
57
|
status: number;
|
|
58
|
+
/**
|
|
59
|
+
* `rate_limit` only: milliseconds until a retry can succeed, when the
|
|
60
|
+
* server's limiter knew (the `rate-limit` middleware, `RateLimiter.enforce`).
|
|
61
|
+
*/
|
|
62
|
+
retryAfter?: number;
|
|
58
63
|
}
|
|
59
64
|
/**
|
|
60
65
|
* @deprecated A `{ message }` body is wrapped into a `MutationRefusal` or
|
|
@@ -119,7 +124,10 @@ export declare function isPermissionError(error: unknown): error is MutationRefu
|
|
|
119
124
|
export declare function isCsrfError(error: unknown): error is MutationRefusal<"csrf">;
|
|
120
125
|
/** A missing record, file or route (404). */
|
|
121
126
|
export declare function isNotFoundError(error: unknown): error is MutationRefusal<"not_found">;
|
|
122
|
-
/**
|
|
127
|
+
/**
|
|
128
|
+
* `RateLimitMiddleware` or `RateLimiter.enforce` refused the request (429).
|
|
129
|
+
* `retryAfter` (ms) says when to try again, when the server sent it.
|
|
130
|
+
*/
|
|
123
131
|
export declare function isRateLimitError(error: unknown): error is MutationRefusal<"rate_limit">;
|
|
124
132
|
/**
|
|
125
133
|
* The server failed (a 500, under `gemi dev` too), or answered something that
|
|
@@ -161,4 +169,48 @@ export type HttpErrorWithStatus<E, S extends number> = [Extract<E, {
|
|
|
161
169
|
* status gemi does not use for its own errors, or check `kind` after it.
|
|
162
170
|
*/
|
|
163
171
|
export declare function isHttpError<E, S extends number>(error: E, status: S): error is HttpErrorWithStatus<E, S>;
|
|
172
|
+
/**
|
|
173
|
+
* What every error the mutation hooks hand over carries (issue #890): the
|
|
174
|
+
* messages to show a person, without flattening `messages` by hand.
|
|
175
|
+
*/
|
|
176
|
+
export interface MutationErrorHelpers {
|
|
177
|
+
/**
|
|
178
|
+
* The failure in words, as a flat list that is never empty: a validation
|
|
179
|
+
* error's messages, every field's in the order the server sent them; the
|
|
180
|
+
* `message` of any other error the server meant for a person (a form error,
|
|
181
|
+
* a refusal, a route's typed error); else `[fallback]` — for a server error,
|
|
182
|
+
* whose message is an exception's under `gemi dev`, and for the browser's
|
|
183
|
+
* own errors (no answer, an answer that was not JSON).
|
|
184
|
+
*
|
|
185
|
+
* `fallback` defaults to `"Something went wrong. Try again."`.
|
|
186
|
+
*/
|
|
187
|
+
list(fallback?: string): string[];
|
|
188
|
+
/** A validation error's messages for the field `name`; `[]` otherwise. */
|
|
189
|
+
field(name: string): string[];
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* `T` with the helpers, member by member. A member that has a `list` or
|
|
193
|
+
* `field` of its own — a route's typed error body with a `field` key — keeps
|
|
194
|
+
* it, and does not get that helper.
|
|
195
|
+
*/
|
|
196
|
+
export type WithMutationErrorHelpers<T> = T extends object ? T & Omit<MutationErrorHelpers, keyof T> : T;
|
|
197
|
+
/**
|
|
198
|
+
* `error.list(fallback)` for any value: an error kept from a mutation, a
|
|
199
|
+
* `useQuery` `QueryError` (its body is read), or anything else.
|
|
200
|
+
*/
|
|
201
|
+
export declare function mutationErrorList(error: unknown, fallback?: string): string[];
|
|
202
|
+
/**
|
|
203
|
+
* `error.field(name)` for any value: a validation error's messages for
|
|
204
|
+
* `name` (a `QueryError`'s body is read), `[]` for anything else.
|
|
205
|
+
*/
|
|
206
|
+
export declare function mutationErrorField(error: unknown, name: string): string[];
|
|
207
|
+
/**
|
|
208
|
+
* Puts `list` and `field` on an error the hooks hand over, as non-enumerable
|
|
209
|
+
* properties, so `toEqual`, a spread and `JSON.stringify` see the same object
|
|
210
|
+
* as before. A key the error already has is left alone; a primitive or a
|
|
211
|
+
* frozen value is returned as it is.
|
|
212
|
+
*
|
|
213
|
+
* @internal
|
|
214
|
+
*/
|
|
215
|
+
export declare function withMutationErrorHelpers<T>(error: T): WithMutationErrorHelpers<T>;
|
|
164
216
|
//# sourceMappingURL=MutationError.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MutationError.d.ts","sourceRoot":"","sources":["../../client/MutationError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEzE;;;;;;;;;;;;;;;;;;GAkBG;AAEH,sEAAsE;AACtE,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,kBAAkB,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,+CAA+C;AAC/C,MAAM,MAAM,mBAAmB,GAAG,OAAO,CACvC,WAAW,EACX,kBAAkB,GAAG,YAAY,GAAG,cAAc,CACnD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,mBAAmB,GAAG,mBAAmB;IAClF,IAAI,EAAE,CAAC,CAAC;IACR,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"MutationError.d.ts","sourceRoot":"","sources":["../../client/MutationError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEzE;;;;;;;;;;;;;;;;;;GAkBG;AAEH,sEAAsE;AACtE,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,kBAAkB,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,+CAA+C;AAC/C,MAAM,MAAM,mBAAmB,GAAG,OAAO,CACvC,WAAW,EACX,kBAAkB,GAAG,YAAY,GAAG,cAAc,CACnD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,mBAAmB,GAAG,mBAAmB;IAClF,IAAI,EAAE,CAAC,CAAC;IACR,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,aAAa,GACrB,uBAAuB,GACvB,iBAAiB,GACjB,mBAAmB,GACnB,eAAe,GACf,KAAK,CAAC;AAEV,6DAA6D;AAC7D,MAAM,MAAM,iBAAiB,GACzB,YAAY,GACZ,MAAM,GACN,gBAAgB,GAChB,YAAY,GACZ,MAAM,GACN,WAAW,GACX,YAAY,GACZ,QAAQ,GACR,SAAS,GACT,SAAS,CAAC;AA8Bd;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,CAyBlF;AAkBD,4DAA4D;AAC5D,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,uBAAuB,CAElC;AAED,yDAAyD;AACzD,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CAEtE;AAED,sDAAsD;AACtD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,eAAe,CAAC,gBAAgB,CAAC,CAE5C;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,eAAe,CAAC,YAAY,GAAG,eAAe,CAAC,CAG1D;AAED,oEAAoE;AACpE,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAAC,MAAM,CAAC,CAE5E;AAED,6CAA6C;AAC7C,wBAAgB,eAAe,CAC7B,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,eAAe,CAAC,WAAW,CAAC,CAEvC;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,eAAe,CAAC,YAAY,CAAC,CAExC;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,mBAAmB,GAAG,WAAW,CAE5C;AAED,2EAA2E;AAC3E,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAEjE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,CAWnE;AAED;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE;IAAE,MAAM,EAAE,CAAC,CAAA;CAAE,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAC9F,CAAC,GAAG;IAAE,MAAM,EAAE,CAAC,CAAA;CAAE,GACjB,OAAO,CAAC,CAAC,EAAE;IAAE,MAAM,EAAE,CAAC,CAAA;CAAE,CAAC,CAAC;AAE9B;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EAC7C,KAAK,EAAE,CAAC,EACR,MAAM,EAAE,CAAC,GACR,KAAK,IAAI,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAEpC;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;;;;;;OASG;IACH,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAClC,0EAA0E;IAC1E,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC/B;AAED;;;;GAIG;AACH,MAAM,MAAM,wBAAwB,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GACtD,CAAC,GAAG,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC,GACvC,CAAC,CAAC;AAcN;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,EACd,QAAQ,GAAE,MAAyB,GAClC,MAAM,EAAE,CAkBV;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAKzE;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,wBAAwB,CAAC,CAAC,CAAC,CAkBjF"}
|
|
@@ -174,6 +174,15 @@ export declare class QueryResource {
|
|
|
174
174
|
invalidate(variantKey: string, fn?: (data: any) => any): void;
|
|
175
175
|
private dropHttpCache;
|
|
176
176
|
mutate(variantKey: string, fn?: (data: any) => any): void;
|
|
177
|
+
/**
|
|
178
|
+
* Write data the server just produced (a mutation's answer) into a
|
|
179
|
+
* variant, with no refetch: unlike `mutate`, the value is not a guess to
|
|
180
|
+
* reconcile. The variant counts as freshly fetched, so its `staleTime`
|
|
181
|
+
* starts again, and a GET already on the wire for it is dropped when it
|
|
182
|
+
* lands, since it may carry the data from before the write. A reader
|
|
183
|
+
* suspended on the variant wakes up with it (#897).
|
|
184
|
+
*/
|
|
185
|
+
set(variantKey: string, data: any): void;
|
|
177
186
|
refetch(variantKey: string): void;
|
|
178
187
|
/** Supersede every request for this variant that is already on the wire. */
|
|
179
188
|
private markApplied;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryResource.d.ts","sourceRoot":"","sources":["../../client/QueryResource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAI3C,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,GAAG,CAAC;IACV;;;;;;OAMG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,GAAG,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAIF,eAAO,MAAM,kBAAkB,OAAO,CAAC;AAGvC,qBAAa,aAAa;IACxB,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IACnC,aAAa,cAAqB;IAClC,eAAe,sBAA6B;IAC5C,GAAG,EAAE,MAAM,CAAC;IACZ;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAqB;IACrC;;;;;OAKG;IACH,OAAO,CAAC,OAAO,CAA+B;IAC9C;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAA6B;IAC7C;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAA6B;IAC7C;;;OAGG;IACH,OAAO,CAAC,WAAW,CAAoD;IACvE;;;;;;;;OAQG;IACH,OAAO,CAAC,GAAG,CAAK;IAChB,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,OAAO,CAA6B;IAC5C;;;;;OAKG;IACH,OAAO,CAAC,WAAW,CAA2C;gBAElD,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAM1D;;;;;;;OAOG;IACH,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS;IAwC5D,OAAO,CAAC,UAAU;IAalB,OAAO,CAAC,MAAM;IAQd,OAAO,CAAC,OAAO;IAQf;;;;;;;;;;OAUG;IACH,IAAI,CAAC,UAAU,EAAE,MAAM;IAIvB;;;;;;;;OAQG;IACH,IAAI,CACF,UAAU,EAAE,MAAM,EAClB,SAAS,GAAE,MAA2B,GACrC;QAAE,KAAK,CAAC,EAAE,KAAK,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE;IA+B7C,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,GAAE,MAA2B;IA2BrE;;;;;;;;;;OAUG;IACH,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,GAAE,MAA2B;IAcrE;;;;OAIG;IACH,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM;IAe9B;;;;OAIG;IACH,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,IAAI;IAkBtC;;;;;;;;;OASG;IACH,OAAO,CAAC,aAAa;IAQrB,wDAAwD;IACxD,OAAO,CAAC,KAAK;IASb,iFAAiF;IACjF,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAIxC;;;;;OAKG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAqB/C,WAAW,CAAC,UAAU,EAAE,MAAM;IAQ9B;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM;IAQ3B,2EAA2E;IAC3E,WAAW,IAAI,MAAM,EAAE;IAIvB;;;;;OAKG;IACH,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG;IAgBtD,OAAO,CAAC,aAAa;IAiBrB,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,GAAE,CAAC,IAAI,EAAE,GAAG,KAAK,GAAoB;IA8BlE,OAAO,CAAC,UAAU,EAAE,MAAM;IAI1B,4EAA4E;IAC5E,OAAO,CAAC,WAAW;YAIL,cAAc;CAsK7B"}
|
|
1
|
+
{"version":3,"file":"QueryResource.d.ts","sourceRoot":"","sources":["../../client/QueryResource.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,9 +34,9 @@ export declare function useEmailCode(args?: UseEmailCodeArgs): {
|
|
|
34
34
|
isNewUser: boolean;
|
|
35
35
|
}>;
|
|
36
36
|
isPending: boolean;
|
|
37
|
-
error: import("gemi/client").MutationError
|
|
38
|
-
requestError: import("gemi/client").MutationError
|
|
39
|
-
verifyError: import("gemi/client").MutationError
|
|
37
|
+
error: import("gemi/client").WithMutationErrorHelpers<import("gemi/client").MutationError>;
|
|
38
|
+
requestError: import("gemi/client").WithMutationErrorHelpers<import("gemi/client").MutationError>;
|
|
39
|
+
verifyError: import("gemi/client").WithMutationErrorHelpers<import("gemi/client").MutationError>;
|
|
40
40
|
};
|
|
41
41
|
export {};
|
|
42
42
|
//# sourceMappingURL=useEmailCode.d.ts.map
|
|
@@ -3,7 +3,7 @@ interface UseForgotPasswordArgs {
|
|
|
3
3
|
}
|
|
4
4
|
export declare function useForgotPassword(args?: UseForgotPasswordArgs): {
|
|
5
5
|
data: {};
|
|
6
|
-
error: import("gemi/client").MutationError
|
|
6
|
+
error: import("gemi/client").WithMutationErrorHelpers<import("gemi/client").MutationError>;
|
|
7
7
|
loading: boolean;
|
|
8
8
|
pending: number;
|
|
9
9
|
formData: FormData;
|
|
@@ -3,7 +3,7 @@ interface UseResetPasswordArgs {
|
|
|
3
3
|
}
|
|
4
4
|
export declare function useResetPassword(args?: UseResetPasswordArgs): {
|
|
5
5
|
data: {};
|
|
6
|
-
error: import("gemi/client").MutationError
|
|
6
|
+
error: import("gemi/client").WithMutationErrorHelpers<import("gemi/client").MutationError>;
|
|
7
7
|
loading: boolean;
|
|
8
8
|
pending: number;
|
|
9
9
|
formData: FormData;
|
|
@@ -12,7 +12,7 @@ export declare function useSignIn(args?: UseSignInArgs): {
|
|
|
12
12
|
accounts: import("../../auth/types").Account[];
|
|
13
13
|
extension: Record<string, any>;
|
|
14
14
|
};
|
|
15
|
-
error: import("gemi/client").MutationError
|
|
15
|
+
error: import("gemi/client").WithMutationErrorHelpers<import("gemi/client").MutationError>;
|
|
16
16
|
loading: boolean;
|
|
17
17
|
pending: number;
|
|
18
18
|
formData: FormData;
|
|
@@ -3,7 +3,7 @@ interface UseSignOutArgs {
|
|
|
3
3
|
}
|
|
4
4
|
export declare function useSignOut(args?: UseSignOutArgs): {
|
|
5
5
|
data: {};
|
|
6
|
-
error: import("gemi/client").MutationError
|
|
6
|
+
error: import("gemi/client").WithMutationErrorHelpers<import("gemi/client").MutationError>;
|
|
7
7
|
loading: boolean;
|
|
8
8
|
pending: number;
|
|
9
9
|
formData: FormData;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export declare function useSignUp(): {
|
|
2
2
|
data: import("../../auth/types").User;
|
|
3
|
-
error: import("gemi/client").MutationError
|
|
3
|
+
error: import("gemi/client").WithMutationErrorHelpers<import("gemi/client").MutationError>;
|
|
4
4
|
loading: boolean;
|
|
5
5
|
pending: number;
|
|
6
6
|
formData: FormData;
|
package/dist/client/index.d.ts
CHANGED
|
@@ -9,14 +9,16 @@ export type { QueryFailure, RetryOption, RetryDelayOption, } from "./retryPolicy
|
|
|
9
9
|
export { useMutation, useDelete, usePatch, usePost, usePut, useUpload } from "./useMutation";
|
|
10
10
|
export type { MutationCallConfig, MutationConcurrency } from "./useMutation";
|
|
11
11
|
export { useMutate } from "./useMutate";
|
|
12
|
+
export { useSetQueryData } from "./useSetQueryData";
|
|
13
|
+
export type { QueryTarget, QueryUpdate } from "./useSetQueryData";
|
|
12
14
|
export { useSubscription } from "./useSubscription";
|
|
13
15
|
export { useChannel, useChannelInvalidate } from "./useChannel";
|
|
14
16
|
export type { ChannelPattern, ChannelParamsFor, ChannelEventsFor, ChannelState, ChannelStatus, InvalidatePath, LiveChannel, UseChannelConfig, UseChannelOptions, } from "./useChannel";
|
|
15
17
|
export { configureRealtime } from "./realtime/RealtimeClient";
|
|
16
18
|
export type { RealtimeOptions } from "./realtime/RealtimeClient";
|
|
17
19
|
export type { SubscriptionConfig, SubscriptionData, SubscriptionOptions, SubscriptionStatus, } from "./useSubscription";
|
|
18
|
-
export { isValidationError, isFormError, isAuthenticationError, isPermissionError, isCsrfError, isNotFoundError, isRateLimitError, isServerError, isNetworkError, isHttpError, mutationErrorKind, } from "./MutationError";
|
|
19
|
-
export type { MutationError, MutationErrorKind, MutationValidationError, MutationFormError, MutationServerError, MutationRefusal, MutationRefusalKind, MutationMessageError, HttpErrorWithStatus, } from "./MutationError";
|
|
20
|
+
export { isValidationError, isFormError, isAuthenticationError, isPermissionError, isCsrfError, isNotFoundError, isRateLimitError, isServerError, isNetworkError, isHttpError, mutationErrorKind, mutationErrorList, mutationErrorField, } from "./MutationError";
|
|
21
|
+
export type { MutationError, MutationErrorKind, MutationValidationError, MutationFormError, MutationServerError, MutationRefusal, MutationRefusalKind, MutationMessageError, HttpErrorWithStatus, MutationErrorHelpers, WithMutationErrorHelpers, } from "./MutationError";
|
|
20
22
|
export type { RefusalKind } from "../http/refusal";
|
|
21
23
|
export { Form, FormError, useMutationStatus, useFormStatus, useFormData, FormFieldContainer, ValidationErrors, } from "./Mutation";
|
|
22
24
|
export { QueryManagerProvider } from "./QueryManagerContext";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../client/index.ts"],"names":[],"mappings":";AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EACV,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,YAAY,EACV,YAAY,EACZ,WAAW,EACX,gBAAgB,GACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC7F,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAChE,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,YAAY,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,qBAAqB,EACrB,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,WAAW,EACX,iBAAiB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../client/index.ts"],"names":[],"mappings":"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"}
|
package/dist/client/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $ as shouldRetryQuery, A as useLocation, B as getRealtimeClient, C as useRoute, D as I18nProvider, E as I18nContext, G as QueryConfigContext, H as SOCKET_ID_HEADER, I as RealtimeContext, J as USER_QUERY_CONFIG_KEYS, K as QueryManagerContext, L as channelKey, M as isAbsoluteUrl, O as ServerDataContext, P as Action, Q as retryDelayFor, R as configureRealtime, S as routeDataUrl, T as useNavigate, U as toVariantKey, V as reconnectRealtime, W as applyParams$1, X as DEFAULT_STALE_TIME, Y as pickDefined, Z as isRetryableQueryError, _ as loadDictionary, a as useRouteTransition, b as setActiveLocale, c as ComponentsContext, d as loadViewModule, et as QueryError, f as subscribeViewModules, g as recoverFromChunkLoadError, h as isChunkLoadError, i as RouteTransitionProvider, j as domainUrl, k as ServerDataProvider, l as ComponentsProvider, m as configureChunkLoadRecovery, n as useTheme, o as ClientRouterContext, p as CHUNK_RELOAD_MARKER, q as QueryManagerProvider, r as m, s as ClientRouterProvider, t as ThemeProvider, tt as Subject, u as initialViewModulesReady, v as loadDictionaryForRender, w as useSearchParams, x as readRoutePayload, y as registerDictionary, z as currentSocketId } from "../chunks/ThemeProvider-
|
|
1
|
+
import { $ as shouldRetryQuery, A as useLocation, B as getRealtimeClient, C as useRoute, D as I18nProvider, E as I18nContext, G as QueryConfigContext, H as SOCKET_ID_HEADER, I as RealtimeContext, J as USER_QUERY_CONFIG_KEYS, K as QueryManagerContext, L as channelKey, M as isAbsoluteUrl, O as ServerDataContext, P as Action, Q as retryDelayFor, R as configureRealtime, S as routeDataUrl, T as useNavigate, U as toVariantKey, V as reconnectRealtime, W as applyParams$1, X as DEFAULT_STALE_TIME, Y as pickDefined, Z as isRetryableQueryError, _ as loadDictionary, a as useRouteTransition, b as setActiveLocale, c as ComponentsContext, d as loadViewModule, et as QueryError, f as subscribeViewModules, g as recoverFromChunkLoadError, h as isChunkLoadError, i as RouteTransitionProvider, j as domainUrl, k as ServerDataProvider, l as ComponentsProvider, m as configureChunkLoadRecovery, n as useTheme, o as ClientRouterContext, p as CHUNK_RELOAD_MARKER, q as QueryManagerProvider, r as m, s as ClientRouterProvider, t as ThemeProvider, tt as Subject, u as initialViewModulesReady, v as loadDictionaryForRender, w as useSearchParams, x as readRoutePayload, y as registerDictionary, z as currentSocketId } from "../chunks/ThemeProvider-CS2a1snV.js";
|
|
2
2
|
import { n as RouteStateContext, r as RouteStateProvider, t as useParams } from "../chunks/useParams-BN3XXfmG.js";
|
|
3
3
|
import { Fragment, StrictMode, Suspense, createContext, createElement, isValidElement, lazy, memo, use, useCallback, useContext, useDeferredValue, useEffect, useMemo, useRef, useState, useSyncExternalStore, useTransition } from "react";
|
|
4
4
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -793,7 +793,10 @@ function isCsrfError(error) {
|
|
|
793
793
|
function isNotFoundError(error) {
|
|
794
794
|
return kindOf(error) === "not_found";
|
|
795
795
|
}
|
|
796
|
-
/**
|
|
796
|
+
/**
|
|
797
|
+
* `RateLimitMiddleware` or `RateLimiter.enforce` refused the request (429).
|
|
798
|
+
* `retryAfter` (ms) says when to try again, when the server sent it.
|
|
799
|
+
*/
|
|
797
800
|
function isRateLimitError(error) {
|
|
798
801
|
return kindOf(error) === "rate_limit";
|
|
799
802
|
}
|
|
@@ -842,6 +845,125 @@ function mutationErrorKind(error) {
|
|
|
842
845
|
function isHttpError(error, status) {
|
|
843
846
|
return isObject(error) && !(error instanceof Error) && error.status === status;
|
|
844
847
|
}
|
|
848
|
+
var FALLBACK_MESSAGE = "Something went wrong. Try again.";
|
|
849
|
+
function unwrapQueryError(error) {
|
|
850
|
+
if (error instanceof Error && error.name === "QueryError" && "body" in error) {
|
|
851
|
+
const { body, status } = error;
|
|
852
|
+
return body == null ? error : mutationErrorFromBody(body, status);
|
|
853
|
+
}
|
|
854
|
+
return error;
|
|
855
|
+
}
|
|
856
|
+
/**
|
|
857
|
+
* `error.list(fallback)` for any value: an error kept from a mutation, a
|
|
858
|
+
* `useQuery` `QueryError` (its body is read), or anything else.
|
|
859
|
+
*/
|
|
860
|
+
function mutationErrorList(error, fallback = FALLBACK_MESSAGE) {
|
|
861
|
+
const value = unwrapQueryError(error);
|
|
862
|
+
if (isValidationError(value)) {
|
|
863
|
+
const messages = Object.values(value.messages ?? {}).flat().filter((message) => typeof message === "string" && message !== "");
|
|
864
|
+
return messages.length > 0 ? messages : [fallback];
|
|
865
|
+
}
|
|
866
|
+
if (isObject(value) && !(value instanceof Error) && value.kind !== "server_error" && typeof value.message === "string" && value.message !== "") return [value.message];
|
|
867
|
+
return [fallback];
|
|
868
|
+
}
|
|
869
|
+
/**
|
|
870
|
+
* `error.field(name)` for any value: a validation error's messages for
|
|
871
|
+
* `name` (a `QueryError`'s body is read), `[]` for anything else.
|
|
872
|
+
*/
|
|
873
|
+
function mutationErrorField(error, name) {
|
|
874
|
+
const value = unwrapQueryError(error);
|
|
875
|
+
if (!isValidationError(value)) return [];
|
|
876
|
+
const messages = value.messages?.[name];
|
|
877
|
+
return Array.isArray(messages) ? [...messages] : [];
|
|
878
|
+
}
|
|
879
|
+
/**
|
|
880
|
+
* Puts `list` and `field` on an error the hooks hand over, as non-enumerable
|
|
881
|
+
* properties, so `toEqual`, a spread and `JSON.stringify` see the same object
|
|
882
|
+
* as before. A key the error already has is left alone; a primitive or a
|
|
883
|
+
* frozen value is returned as it is.
|
|
884
|
+
*
|
|
885
|
+
* @internal
|
|
886
|
+
*/
|
|
887
|
+
function withMutationErrorHelpers(error) {
|
|
888
|
+
if (!isObject(error) || !Object.isExtensible(error)) return error;
|
|
889
|
+
const helpers = {
|
|
890
|
+
list: (fallback) => mutationErrorList(error, fallback),
|
|
891
|
+
field: (name) => mutationErrorField(error, name)
|
|
892
|
+
};
|
|
893
|
+
for (const key of ["list", "field"]) {
|
|
894
|
+
if (key in error) continue;
|
|
895
|
+
Object.defineProperty(error, key, {
|
|
896
|
+
value: helpers[key],
|
|
897
|
+
configurable: true,
|
|
898
|
+
writable: true,
|
|
899
|
+
enumerable: false
|
|
900
|
+
});
|
|
901
|
+
}
|
|
902
|
+
return error;
|
|
903
|
+
}
|
|
904
|
+
//#endregion
|
|
905
|
+
//#region client/useSetQueryData.ts
|
|
906
|
+
/**
|
|
907
|
+
* Write into every variant `target` names. `next` is the value to write, or
|
|
908
|
+
* a function of the cached value; a function skips a variant with nothing
|
|
909
|
+
* cached. A value seeds a single variant that is not cached yet; a predicate
|
|
910
|
+
* only ever reaches variants that are.
|
|
911
|
+
*/
|
|
912
|
+
function writeQueryData(getResource, routeParams, target, next) {
|
|
913
|
+
const { path, params = {}, search = {} } = target;
|
|
914
|
+
const resource = getResource(applyParams$1(String(path), {
|
|
915
|
+
...routeParams,
|
|
916
|
+
...params
|
|
917
|
+
}));
|
|
918
|
+
const write = (variantKey) => {
|
|
919
|
+
if ("value" in next) {
|
|
920
|
+
resource.set(variantKey, next.value);
|
|
921
|
+
return;
|
|
922
|
+
}
|
|
923
|
+
const state = resource.peek(variantKey);
|
|
924
|
+
if (!state?.hasData) return;
|
|
925
|
+
resource.set(variantKey, next.update(state.data));
|
|
926
|
+
};
|
|
927
|
+
if (typeof search === "function") {
|
|
928
|
+
for (const variantKey of resource.variantKeys()) {
|
|
929
|
+
if (!resource.peek(variantKey)?.hasData) continue;
|
|
930
|
+
if (search(new URLSearchParams(variantKey))) write(variantKey);
|
|
931
|
+
}
|
|
932
|
+
return;
|
|
933
|
+
}
|
|
934
|
+
write(toVariantKey(search));
|
|
935
|
+
}
|
|
936
|
+
/**
|
|
937
|
+
* Write a mutation's `updates` with its answer.
|
|
938
|
+
*/
|
|
939
|
+
function applyQueryUpdates(getResource, routeParams, updates, answer) {
|
|
940
|
+
for (const update of updates ?? []) {
|
|
941
|
+
const { data } = update;
|
|
942
|
+
writeQueryData(getResource, routeParams, update, data ? { update: (current) => data(answer, current) } : { value: answer });
|
|
943
|
+
}
|
|
944
|
+
}
|
|
945
|
+
/**
|
|
946
|
+
* Returns a function that writes into any query's cache by path, with no
|
|
947
|
+
* refetch: for data the server already answered with. `useMutate` is the
|
|
948
|
+
* optimistic counterpart, which refetches to reconcile.
|
|
949
|
+
*
|
|
950
|
+
* ```ts
|
|
951
|
+
* const setQueryData = useSetQueryData();
|
|
952
|
+
* setQueryData({ path: "/pages/:pageId/assets", params: { pageId } }, assets);
|
|
953
|
+
* setQueryData({ path: "/todos", search: () => true }, (todos) => todos.slice(1));
|
|
954
|
+
* ```
|
|
955
|
+
*
|
|
956
|
+
* A value replaces the variant's data, and seeds it when nothing is cached
|
|
957
|
+
* yet. A function updates what is cached and skips a variant with nothing
|
|
958
|
+
* cached. A predicate `search` reaches every cached variant it accepts.
|
|
959
|
+
*/
|
|
960
|
+
function useSetQueryData() {
|
|
961
|
+
const { getResource } = useContext(QueryManagerContext);
|
|
962
|
+
const routeParams = useParams();
|
|
963
|
+
return useCallback(function setQueryData(target, next) {
|
|
964
|
+
writeQueryData(getResource, routeParams, target, typeof next === "function" ? { update: next } : { value: next });
|
|
965
|
+
}, [getResource, routeParams]);
|
|
966
|
+
}
|
|
845
967
|
//#endregion
|
|
846
968
|
//#region client/useMutation.ts
|
|
847
969
|
function applyParams(url, params = {}) {
|
|
@@ -858,6 +980,7 @@ var defaultOptions = {
|
|
|
858
980
|
function useMutation(method, url, ...args) {
|
|
859
981
|
const _params = useParams();
|
|
860
982
|
const { clearPrefetchCache } = useContext(ClientRouterContext);
|
|
983
|
+
const { getResource } = useContext(QueryManagerContext);
|
|
861
984
|
const [state, setState] = useState({
|
|
862
985
|
data: null,
|
|
863
986
|
error: null,
|
|
@@ -933,7 +1056,7 @@ function useMutation(method, url, ...args) {
|
|
|
933
1056
|
}
|
|
934
1057
|
resetFormData();
|
|
935
1058
|
if (!response.ok) {
|
|
936
|
-
const error = mutationErrorFromBody(data, response.status);
|
|
1059
|
+
const error = withMutationErrorHelpers(mutationErrorFromBody(data, response.status));
|
|
937
1060
|
settle((prev) => ({
|
|
938
1061
|
data: prev.data,
|
|
939
1062
|
error
|
|
@@ -943,6 +1066,7 @@ function useMutation(method, url, ...args) {
|
|
|
943
1066
|
return;
|
|
944
1067
|
}
|
|
945
1068
|
clearPrefetchCache?.();
|
|
1069
|
+
applyQueryUpdates(getResource, _params, options.updates, data);
|
|
946
1070
|
options.onSuccess(data);
|
|
947
1071
|
call.onSuccess?.(data);
|
|
948
1072
|
settle(() => ({
|
|
@@ -960,11 +1084,12 @@ function useMutation(method, url, ...args) {
|
|
|
960
1084
|
settle((prev) => prev);
|
|
961
1085
|
return;
|
|
962
1086
|
}
|
|
963
|
-
|
|
964
|
-
|
|
1087
|
+
const failure = withMutationErrorHelpers(error);
|
|
1088
|
+
options.onError(failure);
|
|
1089
|
+
call.onError?.(failure);
|
|
965
1090
|
settle((prev) => ({
|
|
966
1091
|
data: parallel ? prev.data : null,
|
|
967
|
-
error
|
|
1092
|
+
error: failure
|
|
968
1093
|
}));
|
|
969
1094
|
}
|
|
970
1095
|
}
|
|
@@ -1009,6 +1134,7 @@ function useUpload(url, ...args) {
|
|
|
1009
1134
|
const [progress, setProgress] = useState(0);
|
|
1010
1135
|
const _params = useParams();
|
|
1011
1136
|
const { clearPrefetchCache } = useContext(ClientRouterContext);
|
|
1137
|
+
const { getResource } = useContext(QueryManagerContext);
|
|
1012
1138
|
const abortRef = useRef(null);
|
|
1013
1139
|
const [inputs = {}, options = defaultOptions] = args ?? [];
|
|
1014
1140
|
const cancel = () => {
|
|
@@ -1081,18 +1207,19 @@ function useUpload(url, ...args) {
|
|
|
1081
1207
|
error = mutationErrorFromBody(JSON.parse(outcome.body), outcome.status);
|
|
1082
1208
|
} catch {}
|
|
1083
1209
|
setState("error");
|
|
1084
|
-
options?.onError?.(error);
|
|
1210
|
+
options?.onError?.(withMutationErrorHelpers(error));
|
|
1085
1211
|
return;
|
|
1086
1212
|
}
|
|
1087
1213
|
const json = JSON.parse(outcome.body);
|
|
1088
1214
|
clearPrefetchCache?.();
|
|
1215
|
+
applyQueryUpdates(getResource, _params, options?.updates, json);
|
|
1089
1216
|
options?.onSuccess?.(json);
|
|
1090
1217
|
setState("done");
|
|
1091
1218
|
return json;
|
|
1092
1219
|
} catch (error) {
|
|
1093
1220
|
release();
|
|
1094
1221
|
setState("error");
|
|
1095
|
-
options?.onError?.(error);
|
|
1222
|
+
options?.onError?.(withMutationErrorHelpers(error));
|
|
1096
1223
|
return;
|
|
1097
1224
|
}
|
|
1098
1225
|
};
|
|
@@ -3360,6 +3487,6 @@ function onStaticNavigate(callback) {
|
|
|
3360
3487
|
return () => document.removeEventListener("gemi:page-load", listener);
|
|
3361
3488
|
}
|
|
3362
3489
|
//#endregion
|
|
3363
|
-
export { CHUNK_RELOAD_MARKER, Form, FormError, FormFieldContainer, Head, Image, Link, OpenGraphImage, QueryError, QueryManagerProvider, Redirect, ValidationErrors, configureRealtime, create, createRoot, defineDictionary, init, isAuthenticationError, isChunkLoadError, isCsrfError, isFormError, isHttpError, isNetworkError, isNotFoundError, isPermissionError, isRateLimitError, isRetryableQueryError, isServerError, isValidationError, island, mutationErrorKind, onStaticNavigate, recoverFromChunkLoadError, textDirection, useAppIdMissmatch, useBreadcrumbs, useChannel, useChannelInvalidate, useDelete, useDictionary, useDomain, useEmailCode, useFeature, useFeatures, useForgotPassword, useFormData, useFormStatus, useFormatter, useInfiniteQuery, useIntendedUrl, useIsNavigationPending, useLocale, useLocation, useMutate, useMutation, useMutationStatus, useNavigate, useNavigationProgress, useParams, usePatch, usePost, usePrefetch, usePut, useQuery, useResetPassword, useRoute, useRouteTransition, useSearchParams, useSignIn, useSignOut, useSignUp, useSubscription, useTheme, useTranslator, useUpload, useUser };
|
|
3490
|
+
export { CHUNK_RELOAD_MARKER, Form, FormError, FormFieldContainer, Head, Image, Link, OpenGraphImage, QueryError, QueryManagerProvider, Redirect, ValidationErrors, configureRealtime, create, createRoot, defineDictionary, init, isAuthenticationError, isChunkLoadError, isCsrfError, isFormError, isHttpError, isNetworkError, isNotFoundError, isPermissionError, isRateLimitError, isRetryableQueryError, isServerError, isValidationError, island, mutationErrorField, mutationErrorKind, mutationErrorList, onStaticNavigate, recoverFromChunkLoadError, textDirection, useAppIdMissmatch, useBreadcrumbs, useChannel, useChannelInvalidate, useDelete, useDictionary, useDomain, useEmailCode, useFeature, useFeatures, useForgotPassword, useFormData, useFormStatus, useFormatter, useInfiniteQuery, useIntendedUrl, useIsNavigationPending, useLocale, useLocation, useMutate, useMutation, useMutationStatus, useNavigate, useNavigationProgress, useParams, usePatch, usePost, usePrefetch, usePut, useQuery, useResetPassword, useRoute, useRouteTransition, useSearchParams, useSetQueryData, useSignIn, useSignOut, useSignUp, useSubscription, useTheme, useTranslator, useUpload, useUser };
|
|
3364
3491
|
|
|
3365
3492
|
//# sourceMappingURL=index.js.map
|