spiceflow 1.19.0 → 1.20.0-rsc.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.
Files changed (57) hide show
  1. package/README.md +117 -49
  2. package/dist/any-spiceflow-types.test.js +16 -8
  3. package/dist/any-spiceflow-types.test.js.map +1 -1
  4. package/dist/context.d.ts +13 -7
  5. package/dist/context.d.ts.map +1 -1
  6. package/dist/federation.default.d.ts +1 -0
  7. package/dist/federation.default.d.ts.map +1 -1
  8. package/dist/federation.default.js +1 -0
  9. package/dist/federation.default.js.map +1 -1
  10. package/dist/federation.rsc.d.ts +2 -0
  11. package/dist/federation.rsc.d.ts.map +1 -1
  12. package/dist/federation.rsc.js +10 -0
  13. package/dist/federation.rsc.js.map +1 -1
  14. package/dist/react/entry.ssr.d.ts +1 -1
  15. package/dist/react/errors.d.ts +1 -13
  16. package/dist/react/errors.d.ts.map +1 -1
  17. package/dist/react/errors.js.map +1 -1
  18. package/dist/react/link.d.ts +2 -2
  19. package/dist/react/link.d.ts.map +1 -1
  20. package/dist/react/router-ssr.test.js +1 -2
  21. package/dist/react/router-ssr.test.js.map +1 -1
  22. package/dist/react/router.d.ts.map +1 -1
  23. package/dist/react/router.js.map +1 -1
  24. package/dist/react/router.rsc.d.ts.map +1 -1
  25. package/dist/react/router.rsc.js +2 -1
  26. package/dist/react/router.rsc.js.map +1 -1
  27. package/dist/spiceflow.d.ts +9 -9
  28. package/dist/spiceflow.d.ts.map +1 -1
  29. package/dist/spiceflow.js.map +1 -1
  30. package/dist/type-repros/loader-data-context.test.d.ts +2 -0
  31. package/dist/type-repros/loader-data-context.test.d.ts.map +1 -0
  32. package/dist/type-repros/loader-data-context.test.js +86 -0
  33. package/dist/type-repros/loader-data-context.test.js.map +1 -0
  34. package/dist/type-repros/registered-app-circular.test.d.ts +2 -0
  35. package/dist/type-repros/registered-app-circular.test.d.ts.map +1 -0
  36. package/dist/type-repros/registered-app-circular.test.js +82 -0
  37. package/dist/type-repros/registered-app-circular.test.js.map +1 -0
  38. package/dist/types.d.ts +7 -3
  39. package/dist/types.d.ts.map +1 -1
  40. package/dist/vite.d.ts.map +1 -1
  41. package/dist/vite.js +0 -16
  42. package/dist/vite.js.map +1 -1
  43. package/package.json +2 -2
  44. package/src/any-spiceflow-types.test.ts +16 -8
  45. package/src/context.ts +38 -11
  46. package/src/federation.default.ts +1 -0
  47. package/src/federation.rsc.ts +20 -0
  48. package/src/react/errors.tsx +2 -50
  49. package/src/react/link.tsx +2 -2
  50. package/src/react/router-ssr.test.tsx +6 -5
  51. package/src/react/router.rsc.ts +4 -3
  52. package/src/react/router.tsx +2 -1
  53. package/src/spiceflow.tsx +47 -9
  54. package/src/type-repros/loader-data-context.test.ts +98 -0
  55. package/src/type-repros/registered-app-circular.test.ts +101 -0
  56. package/src/types.ts +9 -4
  57. package/src/vite.tsx +0 -16
package/README.md CHANGED
@@ -1261,12 +1261,15 @@ export function Counter() {
1261
1261
 
1262
1262
  Loaders run on the server before page and layout handlers. They solve a common problem: when you need the same data in both server components and client components, or in both a layout and a page, without prop drilling or React context.
1263
1263
 
1264
+ Prefer putting route data in loaders when that data is shared by more than one part of the route tree. This keeps fetching in one place, avoids fetching the same data once in a layout and again in a page, and lets React components read the current route data directly instead of receiving long prop chains.
1265
+
1264
1266
  Loaders only run for requests that also match a `.page()` or `.layout()`. They are not standalone endpoints. If you want to serve content without rendering a page or layout, use `.get()`, `.route()`, or another API handler instead.
1265
1267
 
1266
1268
  ```tsx
1267
1269
  export const app = new Spiceflow()
1268
- // Auth loader for all routes — wildcard pattern matches everything
1269
- .loader('/*', async ({ request }) => {
1270
+ .page('/login', async () => <Login />)
1271
+ // Auth loader for the dashboard route
1272
+ .loader('/dashboard', async ({ request, redirect }) => {
1270
1273
  const user = await getUser(request.headers.get('cookie'))
1271
1274
  if (!user) throw redirect('/login')
1272
1275
  return { user }
@@ -1276,8 +1279,8 @@ export const app = new Spiceflow()
1276
1279
  const stats = await getStats()
1277
1280
  return { stats }
1278
1281
  })
1279
- .layout('/*', async ({ loaderData, children }) => {
1280
- // loaderData.user is available here from the wildcard loader
1282
+ .layout('/dashboard', async ({ loaderData, children }) => {
1283
+ // loaderData.user is available here from the dashboard loader
1281
1284
  return (
1282
1285
  <html>
1283
1286
  <body>
@@ -1288,14 +1291,57 @@ export const app = new Spiceflow()
1288
1291
  )
1289
1292
  })
1290
1293
  .page('/dashboard', async ({ loaderData }) => {
1291
- // Both loaders matched data is merged by specificity
1294
+ // Both loaders matched, data is merged by specificity
1292
1295
  // loaderData = { user: ..., stats: ... }
1293
1296
  return <Dashboard user={loaderData.user} stats={loaderData.stats} />
1294
1297
  })
1295
1298
  ```
1296
1299
 
1300
+ A Remix-style dashboard can put shared shell data in a parent loader, then page data in loaders placed next to each page. The layout, page, and client components all read from the same request-scoped loader data:
1301
+
1302
+ ```tsx
1303
+ export const app = new Spiceflow()
1304
+ .loader('/dashboard/*', async ({ request }) => {
1305
+ const user = await getUser(request)
1306
+ const projects = await getProjects(user.id)
1307
+ return { user, projects }
1308
+ })
1309
+ .layout('/dashboard/*', async ({ children, loaderData }) => {
1310
+ return <DashboardShell user={loaderData.user}>{children}</DashboardShell>
1311
+ })
1312
+ .loader('/dashboard/projects/:id', async ({ params }) => {
1313
+ const project = await getProject(params.id)
1314
+ return { project }
1315
+ })
1316
+ .page('/dashboard/projects/:id', async () => {
1317
+ return <ProjectPage />
1318
+ })
1319
+
1320
+ declare module 'spiceflow/react' {
1321
+ interface SpiceflowRegister { app: typeof app }
1322
+ }
1323
+ ```
1324
+
1325
+ ```tsx
1326
+ 'use client'
1327
+
1328
+ import { useLoaderData } from 'spiceflow/react'
1329
+
1330
+ export function ProjectSwitcher() {
1331
+ const { projects } = useLoaderData('/dashboard/*')
1332
+ return projects.map((project) => <a href={project.href}>{project.name}</a>)
1333
+ }
1334
+
1335
+ export function ProjectHeader() {
1336
+ const { user, project } = useLoaderData('/dashboard/projects/:id')
1337
+ return <h1>{project.name} for {user.name}</h1>
1338
+ }
1339
+ ```
1340
+
1297
1341
  When multiple loaders match a route (e.g. `/*` and `/dashboard` both match `/dashboard`), their return values are merged into a single flat object. More specific loaders override less specific ones on key conflicts.
1298
1342
 
1343
+ Loader data is type safe when the app is registered globally with `SpiceflowRegister`. `useLoaderData('/dashboard/projects/:id')` and `router.getLoaderData('/dashboard/projects/:id')` infer the merged object returned by every matching loader, so renaming a loader field or removing it becomes a TypeScript error in every component that reads it.
1344
+
1299
1345
  **Serialization**: loader return values are serialized through the React RSC flight format, not JSON. You can return JSX (including server components and client component elements with their props), `Promise`, async iterators, `Map`, `Set`, `Date`, `BigInt`, typed arrays, and any client component reference — all deserialized faithfully on the client. This means a loader can return a fully rendered `<Sidebar user={user} />` element and another component can receive it as `loaderData.sidebar` and drop it into the tree.
1300
1346
 
1301
1347
  **Reading loader data in client components** uses the `useLoaderData` hook from `spiceflow/react`:
@@ -1364,11 +1410,33 @@ Spiceflow already parallelizes at the framework level — all matched loaders ru
1364
1410
 
1365
1411
  Forms use React 19's `<form action>` with server functions marked `"use server"`. They work before JavaScript loads (progressive enhancement).
1366
1412
 
1413
+ Forms also support normal browser submissions when `action` is a string URL. This is standard HTML behavior in Spiceflow: the browser submits the form to the URL and performs a full document navigation.
1414
+
1415
+ ```tsx
1416
+ .page('/search', async () => {
1417
+ return (
1418
+ <form method="get" action="/results">
1419
+ <input name="q" />
1420
+ <button type="submit">Search</button>
1421
+ </form>
1422
+ )
1423
+ })
1424
+ ```
1425
+
1426
+ Prefer a server or client action when the form should feel app-like. Passing a function to `action` lets React handle submission in a transition instead of doing a full browser reload. A server action can mutate data, then automatically re-render the current page with fresh server data or throw the handler context `redirect` to navigate. A client action can update local state, call APIs, or schedule a client navigation with `router.push()` / `router.replace()`.
1427
+
1428
+ ```tsx
1429
+ <form action={saveSettings}>
1430
+ <input name="name" />
1431
+ <Button type="submit">Save</Button>
1432
+ </form>
1433
+ ```
1434
+
1367
1435
  **Every server action call automatically re-renders the current page with fresh server data.** This applies to forms, client wrapper functions, and direct imported server action calls. The re-render happens via React reconciliation, so client component state is preserved. No manual `router.refresh()` needed after a server action.
1368
1436
 
1369
1437
  Every submit button should show a loading state while its form action is in progress. Use `useFormStatus` from `react-dom` in your Button component to auto-detect pending forms — the button shows a spinner automatically when it's inside a `<form>` with a pending action:
1370
1438
 
1371
- Prefer file-level `"use server"` (a dedicated file like `src/actions.tsx`) over inline `"use server"` inside function bodies. Inline is fine for simple form actions defined directly in a server component page, but if you find yourself passing actions as props to client components, import them from a `"use server"` file instead — it keeps action logic centralized and reusable. The inline examples below are kept short for readability.
1439
+ Prefer file-level `"use server"` (a dedicated file like `src/actions.tsx`) over inline `"use server"` inside function bodies. Inline is fine for simple form actions defined directly in a server component page, or when the action needs the handler context `redirect`. If you find yourself passing actions as props to client components, import them from a `"use server"` file instead — it keeps action logic centralized and reusable.
1372
1440
 
1373
1441
  ```tsx
1374
1442
  // src/app/button.tsx
@@ -1390,13 +1458,14 @@ Then use it in forms — no manual loading state needed. Use `parseFormData` to
1390
1458
 
1391
1459
  ```tsx
1392
1460
  import { z } from 'zod'
1393
- import { redirect, parseFormData } from 'spiceflow'
1461
+ import { parseFormData } from 'spiceflow'
1394
1462
  import { Button } from './app/button'
1395
1463
 
1396
1464
  const subscribeSchema = z.object({ email: z.string().email() })
1397
1465
  const fields = subscribeSchema.keyof().enum
1398
1466
 
1399
- .page('/subscribe', async () => {
1467
+ .page('/thank-you', async () => <ThankYou />)
1468
+ .page('/subscribe', async ({ redirect }) => {
1400
1469
  async function subscribe(formData: FormData) {
1401
1470
  'use server'
1402
1471
  const { email } = parseFormData(subscribeSchema, formData)
@@ -1640,43 +1709,37 @@ function DeleteButton({ id }: { id: string }) {
1640
1709
 
1641
1710
  ### Redirecting After Actions
1642
1711
 
1643
- When a server action needs to navigate to a different page (e.g. after creating a resource), use `throw redirect()` inside the action instead of `router.push()` on the client. Since every server action triggers a page re-render, calling `router.push()` after the action would briefly flash the re-rendered current page before navigating away.
1712
+ When a server action needs to navigate to a different page (e.g. after creating a resource), use the handler context `redirect` inside the action instead of `router.push()` on the client. Since every server action triggers a page re-render, calling `router.push()` after the action would briefly flash the re-rendered current page before navigating away.
1644
1713
 
1645
1714
  ```tsx
1646
- // src/actions.ts
1647
- 'use server'
1648
-
1715
+ import { Spiceflow, parseFormData } from 'spiceflow'
1649
1716
  import { z } from 'zod'
1650
- import { redirect, parseFormData } from 'spiceflow'
1651
-
1652
- export const projectSchema = z.object({ name: z.string().min(1) })
1653
-
1654
- export async function createProject(orgId: string, formData: FormData) {
1655
- const { name } = parseFormData(projectSchema, formData)
1656
- const project = await db.projects.create({ name, orgId })
1657
- throw redirect(`/orgs/${orgId}/projects/${project.id}`)
1658
- }
1659
- ```
1660
-
1661
- ```tsx
1662
- // src/app/create-project.tsx
1663
- 'use client'
1664
-
1665
- import { ErrorBoundary } from 'spiceflow/react'
1666
- import { createProject, projectSchema } from '../actions'
1667
1717
 
1718
+ const projectSchema = z.object({ name: z.string().min(1) })
1668
1719
  const fields = projectSchema.keyof().enum
1669
1720
 
1670
- export function CreateProjectForm({ orgId }: { orgId: string }) {
1671
- return (
1672
- <ErrorBoundary fallback={<ErrorBoundary.ErrorMessage />}>
1673
- <form action={createProject.bind(null, orgId)}>
1721
+ export const app = new Spiceflow()
1722
+ .page('/orgs/:orgId/projects/:projectId', async ({ params }) => {
1723
+ const project = await db.projects.find(params.projectId)
1724
+ return <ProjectPage project={project} />
1725
+ })
1726
+ .page('/orgs/:orgId/projects/new', async ({ params, redirect }) => {
1727
+ async function createProject(formData: FormData) {
1728
+ 'use server'
1729
+ const { name } = parseFormData(projectSchema, formData)
1730
+ const project = await db.projects.create({ name, orgId: params.orgId })
1731
+ throw redirect('/orgs/:orgId/projects/:projectId', {
1732
+ params: { orgId: params.orgId, projectId: project.id },
1733
+ })
1734
+ }
1735
+
1736
+ return (
1737
+ <form action={createProject}>
1674
1738
  <input name={fields.name} required />
1675
1739
  <button type="submit">Create</button>
1676
1740
  </form>
1677
- </ErrorBoundary>
1678
- )
1679
- }
1741
+ )
1742
+ })
1680
1743
  ```
1681
1744
 
1682
1745
  `router.push()`, `router.replace()`, `router.back()`, `router.forward()`, and `router.go()` are still the right choice for pure client-side navigation that doesn't involve a server action (e.g. tab switches, select dropdowns, back buttons). These APIs are all fire-and-forget — do not build awaitable wrappers around navigation commits and then call them inside a React client form action.
@@ -1872,7 +1935,7 @@ declare module 'spiceflow/react' {
1872
1935
  }
1873
1936
  ```
1874
1937
 
1875
- After this, **all typed APIs** are fully typed everywhere no generics needed:
1938
+ After this, **all typed APIs** are fully typed everywhere, no generics needed:
1876
1939
 
1877
1940
  ```tsx
1878
1941
  // spiceflow/react exports
@@ -2023,12 +2086,13 @@ Each yielded element — whether a text paragraph, a weather card, or a stock ch
2023
2086
 
2024
2087
  ### Redirects and Not Found
2025
2088
 
2026
- Use `redirect()` and `response.status` inside `.page()`, `.layout()`, and server action handlers to control navigation and HTTP status codes:
2089
+ Use the handler context `redirect` and `response.status` inside `.page()` and `.layout()` handlers to control navigation and HTTP status codes:
2027
2090
 
2028
2091
  ```tsx
2029
- import { Spiceflow, redirect } from 'spiceflow'
2092
+ import { Spiceflow } from 'spiceflow'
2030
2093
 
2031
2094
  export const app = new Spiceflow()
2095
+ .page('/login', async () => <Login />)
2032
2096
  .layout('/*', async ({ children, request }) => {
2033
2097
  // When no page matches, children is null — render a custom 404
2034
2098
  return (
@@ -2037,7 +2101,7 @@ export const app = new Spiceflow()
2037
2101
  </AppLayout>
2038
2102
  )
2039
2103
  })
2040
- .page('/dashboard', async ({ request }) => {
2104
+ .page('/dashboard', async ({ request, redirect }) => {
2041
2105
  const user = await getUser(request)
2042
2106
  if (!user) {
2043
2107
  throw redirect('/login')
@@ -2054,7 +2118,7 @@ export const app = new Spiceflow()
2054
2118
  })
2055
2119
  // Layouts can throw redirect — useful for auth guards that protect
2056
2120
  // an entire section of your app
2057
- .layout('/admin/*', async ({ children, request }) => {
2121
+ .layout('/admin/*', async ({ children, request, redirect }) => {
2058
2122
  const user = await getUser(request)
2059
2123
  if (!user?.isAdmin) {
2060
2124
  throw redirect('/login')
@@ -2065,15 +2129,19 @@ export const app = new Spiceflow()
2065
2129
  export type App = typeof app
2066
2130
  ```
2067
2131
 
2068
- `redirect()` accepts an optional second argument for custom status codes and headers:
2132
+ Context `redirect()` accepts an optional second argument for custom status codes and headers:
2069
2133
 
2070
2134
  ```tsx
2071
2135
  // 301 permanent redirect
2072
- throw redirect('/new-url', { status: 301 })
2136
+ .page('/old-login', async ({ redirect }) => {
2137
+ throw redirect('/login', { status: 301 })
2138
+ })
2073
2139
 
2074
2140
  // Redirect with custom headers
2075
- throw redirect('/login', {
2076
- headers: { 'set-cookie': 'session=; Max-Age=0' },
2141
+ .page('/logout', async ({ redirect }) => {
2142
+ throw redirect('/login', {
2143
+ headers: { 'set-cookie': 'session=; Max-Age=0' },
2144
+ })
2077
2145
  })
2078
2146
  ```
2079
2147
 
@@ -2084,25 +2152,25 @@ throw redirect('/login', {
2084
2152
 
2085
2153
  **Correct HTTP status codes.** Unlike Next.js, where redirects always return a 200 status with client-side handling, Spiceflow returns the actual HTTP status code in the response — `307` for redirects (with a `Location` header) and whatever you set via `response.status` for pages. This works even when the throw happens after an `await`, because the SSR layer intercepts the error from the RSC stream before flushing the HTML response. Search engines see correct status codes, and `fetch()` calls with `redirect: "manual"` get the real `307` response.
2086
2154
 
2087
- **Client-side navigation.** When a user clicks a `<Link>` that navigates to a page throwing `redirect()`, the router performs the redirect client-side without a full page reload.
2155
+ **Client-side navigation.** When a user clicks a `<Link>` that navigates to a page throwing context `redirect()`, the router performs the redirect client-side without a full page reload.
2088
2156
 
2089
2157
  </details>
2090
2158
 
2091
2159
  <details>
2092
2160
  <summary>Authentication: pages vs API routes</summary>
2093
2161
 
2094
- Pages and layouts should always `throw redirect('/login')` when the user is not authenticated. API routes (`.get()`, `.post()`, etc.) should return a JSON error with a 401 status instead. This keeps the experience clean: users visiting a protected page get redirected to login instead of seeing a raw JSON blob, while API consumers get a proper typed error response they can handle programmatically.
2162
+ Pages and layouts should always `throw redirect('/login')` from handler context when the user is not authenticated. API routes (`.get()`, `.post()`, etc.) should return a JSON error with a 401 status instead. This keeps the experience clean: users visiting a protected page get redirected to login instead of seeing a raw JSON blob, while API consumers get a proper typed error response they can handle programmatically.
2095
2163
 
2096
2164
  ```tsx
2097
2165
  // Page — redirect to login
2098
- .page('/dashboard', async ({ request }) => {
2166
+ .page('/dashboard', async ({ request, redirect }) => {
2099
2167
  const user = await getUser(request)
2100
2168
  if (!user) throw redirect('/login')
2101
2169
  return <Dashboard user={user} />
2102
2170
  })
2103
2171
 
2104
2172
  // Layout — redirect to login (protects all nested pages)
2105
- .layout('/app/*', async ({ children, request }) => {
2173
+ .layout('/app/*', async ({ children, request, redirect }) => {
2106
2174
  const user = await getUser(request)
2107
2175
  if (!user) throw redirect('/login')
2108
2176
  return <AppLayout>{children}</AppLayout>
@@ -353,14 +353,28 @@ test('Link: typed app validates href paths and requires params', () => {
353
353
  // @ts-expect-error - wrong param key rejected
354
354
  expectLink({ href: '/users/:id', params: { slug: '1' } });
355
355
  });
356
- test('redirect is typed through SpiceflowRegister', () => {
356
+ test('exported redirect accepts plain strings while context redirect is typed', () => {
357
357
  const diagnostics = getDiagnosticsForSnippet(`
358
358
  import { Spiceflow } from './spiceflow.tsx'
359
359
  import { redirect } from './react/index.ts'
360
360
 
361
361
  const app = new Spiceflow()
362
362
  .page('/login', async () => 'login')
363
- .page('/users/:id', async () => 'user')
363
+ .page('/users/:id', async ({ redirect: routeRedirect }) => {
364
+ routeRedirect('/login')
365
+ routeRedirect('/users/:id', { params: { id: '42' } })
366
+
367
+ // @ts-expect-error missing params
368
+ routeRedirect('/users/:id')
369
+
370
+ // @ts-expect-error wrong param key
371
+ routeRedirect('/users/:id', { params: { slug: '1' } })
372
+
373
+ // @ts-expect-error invalid literal path
374
+ routeRedirect('/missing')
375
+
376
+ return 'user'
377
+ })
364
378
 
365
379
  declare module './react/router.js' {
366
380
  interface SpiceflowRegister {
@@ -373,14 +387,8 @@ redirect('/users/:id', { params: { id: '42' } })
373
387
  const id = '42'
374
388
  redirect(\`/users/\${id}\`)
375
389
  redirect('https://example.com')
376
-
377
- // @ts-expect-error missing params
378
390
  redirect('/users/:id')
379
-
380
- // @ts-expect-error wrong param key
381
391
  redirect('/users/:id', { params: { slug: '1' } })
382
-
383
- // @ts-expect-error invalid path
384
392
  redirect('/missing')
385
393
  `);
386
394
  expect(diagnostics).toEqual([]);
@@ -1 +1 @@
1
- {"version":3,"file":"any-spiceflow-types.test.js","sourceRoot":"","sources":["../src/any-spiceflow-types.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"any-spiceflow-types.test.js","sourceRoot":"","sources":["../src/any-spiceflow-types.test.ts"],"names":[],"mappings":"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"}
package/dist/context.d.ts CHANGED
@@ -1,11 +1,17 @@
1
- import type { RouteSchema, Prettify, ResolvePath, SingletonBase, GetRequestSchema } from './types.js';
1
+ import type { RouteSchema, Prettify, ResolvePath, SingletonBase, GetRequestSchema, AllHrefPaths, ExtractParamsFromPath, PathParamsProp } from './types.js';
2
2
  import { SpiceflowRequest, WaitUntil } from './spiceflow.js';
3
3
  import type { SpiceflowSpan, SpiceflowTracer } from './instrumentation.js';
4
- type Redirect = (location: string, options?: {
4
+ type RedirectOptions = {
5
5
  status?: number;
6
6
  headers?: Record<string, string>;
7
+ };
8
+ type RedirectArgs<Path extends string> = [ExtractParamsFromPath<Path>] extends [undefined] ? [options?: RedirectOptions & PathParamsProp<Path>] : [options: RedirectOptions & PathParamsProp<Path>];
9
+ type RedirectAnyOptions = RedirectOptions & {
7
10
  params?: Record<string, string | number | boolean>;
8
- }) => Response;
11
+ };
12
+ type ExternalRedirectLocation = `${string}://${string}` | `//${string}` | `?${string}` | `#${string}`;
13
+ type DynamicStringRedirect = <Location extends string>(location: string extends Location ? Location : never, options?: RedirectAnyOptions) => Response;
14
+ type Redirect<Paths extends string = string> = string extends Paths ? (location: string, options?: RedirectAnyOptions) => Response : (<Location extends AllHrefPaths<Paths>>(location: Location, ...rest: RedirectArgs<Location>) => Response) & ((location: ExternalRedirectLocation, options?: RedirectOptions) => Response) & DynamicStringRedirect;
9
15
  export interface ContextResponse {
10
16
  headers: Headers;
11
17
  status: number;
@@ -14,12 +20,12 @@ export type ErrorContext<Path extends string = '', in out Route extends RouteSch
14
20
  state: {};
15
21
  derive: {};
16
22
  resolve: {};
17
- }> = Prettify<{
23
+ }, RedirectPaths extends string = string> = Prettify<{
18
24
  query: undefined extends Route['query'] ? Record<string, string> : Route['query'];
19
25
  params: undefined extends Route['params'] ? Path extends `${string}/${':' | '*'}${string}` ? ResolvePath<Path> : {
20
26
  [key in string]: string;
21
27
  } : Route['params'];
22
- redirect: Redirect;
28
+ redirect: Redirect<RedirectPaths>;
23
29
  /**
24
30
  * Path extracted from incoming URL
25
31
  *
@@ -45,10 +51,10 @@ export type SpiceflowContext<Path extends string = '', in out Route extends Rout
45
51
  state: {};
46
52
  derive: {};
47
53
  resolve: {};
48
- }, LoaderData = {}> = Prettify<{
54
+ }, LoaderData = {}, RedirectPaths extends string = string> = Prettify<{
49
55
  query: undefined extends Route['query'] ? Record<string, string> : Route['query'];
50
56
  params: undefined extends Route['params'] ? Path extends `${string}/${':' | '*'}${string}` ? ResolvePath<Path> : never : Route['params'];
51
- redirect: Redirect;
57
+ redirect: Redirect<RedirectPaths>;
52
58
  path: string;
53
59
  request: SpiceflowRequest<GetRequestSchema<Route>>;
54
60
  state: Singleton['state'];
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export declare const renderToReadableStream: any;
2
+ export declare const renderToStaticMarkup: (...args: any[]) => Promise<string>;
2
3
  export declare const encodeFederationPayload: (...args: any[]) => Promise<Response>;
3
4
  export declare const renderFlightPayload: (...args: any[]) => Promise<Response>;
4
5
  export declare const renderComponentPayload: (...args: any[]) => Promise<Response>;
@@ -1 +1 @@
1
- {"version":3,"file":"federation.default.d.ts","sourceRoot":"","sources":["../src/federation.default.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,sBAAsB,EAAE,GAAiB,CAAA;AACtD,eAAO,MAAM,uBAAuB,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,QAAQ,CAAe,CAAA;AACzF,eAAO,MAAM,mBAAmB,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,QAAQ,CAAe,CAAA;AACrF,eAAO,MAAM,sBAAsB,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,QAAQ,CAAe,CAAA"}
1
+ {"version":3,"file":"federation.default.d.ts","sourceRoot":"","sources":["../src/federation.default.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,sBAAsB,EAAE,GAAiB,CAAA;AACtD,eAAO,MAAM,oBAAoB,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,MAAM,CAAe,CAAA;AACpF,eAAO,MAAM,uBAAuB,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,QAAQ,CAAe,CAAA;AACzF,eAAO,MAAM,mBAAmB,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,QAAQ,CAAe,CAAA;AACrF,eAAO,MAAM,sBAAsB,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,QAAQ,CAAe,CAAA"}
@@ -5,6 +5,7 @@ function unavailable() {
5
5
  'encodeFederationPayload must be called from a spiceflow route handler inside a Vite RSC build.');
6
6
  }
7
7
  export const renderToReadableStream = unavailable;
8
+ export const renderToStaticMarkup = unavailable;
8
9
  export const encodeFederationPayload = unavailable;
9
10
  export const renderFlightPayload = unavailable;
10
11
  export const renderComponentPayload = unavailable;
@@ -1 +1 @@
1
- {"version":3,"file":"federation.default.js","sourceRoot":"","sources":["../src/federation.default.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,gCAAgC;AAEhC,SAAS,WAAW;IAClB,MAAM,IAAI,KAAK,CACb,kFAAkF;QAChF,gGAAgG,CACnG,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAQ,WAAW,CAAA;AACtD,MAAM,CAAC,MAAM,uBAAuB,GAA0C,WAAW,CAAA;AACzF,MAAM,CAAC,MAAM,mBAAmB,GAA0C,WAAW,CAAA;AACrF,MAAM,CAAC,MAAM,sBAAsB,GAA0C,WAAW,CAAA"}
1
+ {"version":3,"file":"federation.default.js","sourceRoot":"","sources":["../src/federation.default.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,gCAAgC;AAEhC,SAAS,WAAW;IAClB,MAAM,IAAI,KAAK,CACb,kFAAkF;QAChF,gGAAgG,CACnG,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAQ,WAAW,CAAA;AACtD,MAAM,CAAC,MAAM,oBAAoB,GAAwC,WAAW,CAAA;AACpF,MAAM,CAAC,MAAM,uBAAuB,GAA0C,WAAW,CAAA;AACzF,MAAM,CAAC,MAAM,mBAAmB,GAA0C,WAAW,CAAA;AACrF,MAAM,CAAC,MAAM,sBAAsB,GAA0C,WAAW,CAAA"}
@@ -1,5 +1,7 @@
1
+ import React from 'react';
1
2
  import { renderToReadableStream } from '#rsc-runtime';
2
3
  export { renderToReadableStream };
4
+ export declare function renderToStaticMarkup(value: React.ReactNode): Promise<string>;
3
5
  /**
4
6
  * Renders any Flight-serializable value to a federation Response in SSE format.
5
7
  *
@@ -1 +1 @@
1
- {"version":3,"file":"federation.rsc.d.ts","sourceRoot":"","sources":["../src/federation.rsc.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAIrD,OAAO,EAAE,sBAAsB,EAAE,CAAA;AAqMjC;;;;;;;;;;;GAWG;AACH,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAiE/E;AAED,eAAO,MAAM,mBAAmB,gCAA0B,CAAA;AAC1D,eAAO,MAAM,sBAAsB,gCAA0B,CAAA"}
1
+ {"version":3,"file":"federation.rsc.d.ts","sourceRoot":"","sources":["../src/federation.rsc.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAIrD,OAAO,EAAE,sBAAsB,EAAE,CAAA;AA2CjC,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,mBAIhE;AA0KD;;;;;;;;;;;GAWG;AACH,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAiE/E;AAED,eAAO,MAAM,mBAAmB,gCAA0B,CAAA;AAC1D,eAAO,MAAM,sBAAsB,gCAA0B,CAAA"}
@@ -28,6 +28,16 @@ async function streamToString({ stream, signal, }) {
28
28
  reader.releaseLock();
29
29
  }
30
30
  }
31
+ async function renderFlightStreamToHtml({ stream, signal, }) {
32
+ const flightPayload = await streamToString({ stream, signal });
33
+ const ssrModule = await import.meta.viteRsc.loadModule('ssr', 'index');
34
+ return await ssrModule.renderFlightToHtml(flightPayload);
35
+ }
36
+ export async function renderToStaticMarkup(value) {
37
+ return await renderFlightStreamToHtml({
38
+ stream: renderToReadableStream(value),
39
+ });
40
+ }
31
41
  function formatSSEEvent(event, data) {
32
42
  return `event: ${event}\ndata: ${data}\n\n`;
33
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"federation.rsc.js","sourceRoot":"","sources":["../src/federation.rsc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"federation.rsc.js","sourceRoot":"","sources":["../src/federation.rsc.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,6EAA6E;AAC7E,8EAA8E;AAC9E,gFAAgF;AAChF,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5C,OAAO,EAAE,sBAAsB,EAAE,CAAA;AAEjC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;AAEjC,KAAK,UAAU,cAAc,CAAC,EAC5B,MAAM,EACN,MAAM,GAIP;IACC,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;IACjC,MAAM,WAAW,GAAG,iBAAiB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IACzD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;IACjC,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,IAAI,CAAC;QACH,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;YAC3C,IAAI,IAAI;gBAAE,MAAK;YACf,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;QACnD,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAA;QAC1B,OAAO,MAAM,CAAA;IACf,CAAC;YAAS,CAAC;QACT,WAAW,EAAE,CAAA;QACb,MAAM,CAAC,WAAW,EAAE,CAAA;IACtB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,EACtC,MAAM,EACN,MAAM,GAIP;IACC,MAAM,aAAa,GAAG,MAAM,cAAc,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAC9D,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAEpD,KAAK,EAAE,OAAO,CAAC,CAAA;IACjB,OAAO,MAAM,SAAS,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAA;AAC1D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,KAAsB;IAC/D,OAAO,MAAM,wBAAwB,CAAC;QACpC,MAAM,EAAE,sBAAsB,CAAC,KAAK,CAAC;KACtC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAa,EAAE,IAAY;IACjD,OAAO,UAAU,KAAK,WAAW,IAAI,MAAM,CAAA;AAC7C,CAAC;AAED,KAAK,SAAS,CAAC,CAAC,gBAAgB,CAC9B,EACE,MAAM,EACN,MAAM,GAIP;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;IACjC,MAAM,WAAW,GAAG,iBAAiB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IACzD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;IACjC,IAAI,QAAQ,GAAG,EAAE,CAAA;IACjB,IAAI,QAAQ,GAAG,KAAK,CAAA;IAEpB,IAAI,CAAC;QACH,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;YAC3C,IAAI,IAAI,EAAE,CAAC;gBACT,QAAQ,GAAG,IAAI,CAAA;gBACf,MAAK;YACP,CAAC;YAED,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;YACnD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YACjC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,CAAA;YAE3B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI,CAAC,GAAG;oBAAE,SAAQ;gBAClB,MAAM,GAAG,CAAA;YACX,CAAC;QACH,CAAC;QAED,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAA;QAC5B,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,QAAQ,CAAA;QAChB,CAAC;IACH,CAAC;YAAS,CAAC;QACT,WAAW,EAAE,CAAA;QACb,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QAC9C,CAAC;QACD,MAAM,CAAC,WAAW,EAAE,CAAA;IACtB,CAAC;AACH,CAAC;AAcD,SAAS,QAAQ,CAAC,IAAY;IAC5B,MAAM,IAAI,GAAG,WAAW,EAAE,CAAA;IAC1B,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IAC/C,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACrC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC5E,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,IAAI,GAAG,IAAI,CAAA;AACpB,CAAC;AAED,KAAK,SAAS,CAAC,CAAC,6BAA6B,CAAC,EAC5C,KAAK,EACL,MAAM,GAIP;IACC,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IAE/D,MAAM,aAAa,GAAwD,EAAE,CAAA;IAC7E,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAA;IAErC,MAAM,YAAY,GAAG,sBAAsB,CACzC,KAAK,EACL,SAAS,EACT;QACE,iBAAiB,CAAC,QAIjB;YACC,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACpC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;YAChC,CAAC;YAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC;gBACxC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;qBACb,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;qBAC9C,GAAG,CAAC,QAAQ,CAAC;gBAClB,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;YAC3B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG;oBAC3B,MAAM;oBACN,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC;iBACrC,CAAA;YACH,CAAC;QACH,CAAC;KACF,CACF,CAAA;IAED,IAAI,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,aAAa,GAAG,MAAM,cAAc,CAAC;YACzC,MAAM,EAAE,YAAY;YACpB,MAAM;SACP,CAAC,CAAA;QACF,IAAI,OAAO,GAAG,EAAE,CAAA;QAChB,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAEpD,KAAK,EAAE,OAAO,CAAC,CAAA;YACjB,OAAO,GAAG,MAAM,SAAS,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAA;QAC7D,CAAC;QAAC,MAAM,CAAC;YACP,qEAAqE;YACrE,mEAAmE;QACrE,CAAC;QAED,MAAM;YACJ,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE;gBACP,QAAQ;gBACR,aAAa;gBACb,QAAQ,EAAE,CAAC,GAAG,WAAW,CAAC;aAC3B;SACF,CAAA;QACD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA;QAEvC,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAC5D,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,CAAA;QACxC,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;QACtB,OAAM;IACR,CAAC;IAED,MAAM;QACJ,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE;YACP,QAAQ;YACR,aAAa;YACb,QAAQ,EAAE,CAAC,GAAG,WAAW,CAAC;SAC3B;KACF,CAAA;IACD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;IAElC,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,gBAAgB,CAAC;QACvC,MAAM,EAAE,YAAY;QACpB,MAAM;KACP,CAAC,EAAE,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,CAAA;IACxC,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;AACxB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,KAAc;IAC1D,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAA;IAC7C,MAAM,QAAQ,GAAG,6BAA6B,CAAC;QAC7C,KAAK;QACL,MAAM,EAAE,eAAe,CAAC,MAAM;KAC/B,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAA;IAC1B,IAAI,MAAM,GAAG,KAAK,CAAA;IAElB,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;QACzB,IAAI,MAAM;YAAE,OAAM;QAClB,MAAM,GAAG,IAAI,CAAA;QACb,eAAe,CAAC,KAAK,EAAE,CAAA;QACvB,IAAI,CAAC,QAAQ,CAAC,MAAM;YAAE,OAAM;QAC5B,MAAM,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;IACzD,CAAC,CAAA;IAED,MAAM,IAAI,GAAG,IAAI,cAAc,CAAa;QAC1C,KAAK,CAAC,IAAI,CAAC,UAAU;YACnB,IAAI,MAAM,EAAE,CAAC;gBACX,UAAU,CAAC,KAAK,EAAE,CAAA;gBAClB,OAAM;YACR,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;gBAClC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACd,MAAM,OAAO,EAAE,CAAA;oBACf,UAAU,CAAC,KAAK,EAAE,CAAA;oBAClB,OAAM;gBACR,CAAC;gBAED,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE;oBACjB,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;wBACxB,KAAK,UAAU;4BACb,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;wBAC3C,KAAK,KAAK;4BACR,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;wBACrD,KAAK,QAAQ;4BACX,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAA;wBAC3B,KAAK,MAAM;4BACT,OAAO,EAAE,CAAA;oBACb,CAAC;gBACH,CAAC,CAAC,EAAE,CAAA;gBAEJ,UAAU,CAAC,OAAO,CAChB,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CACtD,CAAA;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,OAAO,EAAE,CAAA;gBACf,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACzB,CAAC;QACH,CAAC;QACD,KAAK,CAAC,MAAM;YACV,MAAM,OAAO,EAAE,CAAA;QACjB,CAAC;KACF,CAAC,CAAA;IAEF,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE;QACxB,OAAO,EAAE;YACP,cAAc,EAAE,kCAAkC;YAClD,kBAAkB,EAAE,MAAM;YAC1B,eAAe,EAAE,UAAU;YAC3B,6BAA6B,EAAE,GAAG;SACnC;KACF,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,uBAAuB,CAAA;AAC1D,MAAM,CAAC,MAAM,sBAAsB,GAAG,uBAAuB,CAAA"}
@@ -13,7 +13,7 @@ export declare function getPrerenderRoutes(): Promise<{
13
13
  path: string;
14
14
  method: import("../types.ts").HTTPMethod;
15
15
  type: import("../types.ts").ContentType;
16
- handler: import("../types.ts").InlineHandler<any, any, any, any>;
16
+ handler: import("../types.ts").InlineHandler<any, any, any, any, any, any, any>;
17
17
  hooks: import("../types.ts").LocalHook<any, any, any, any, any, any, any>;
18
18
  validateBody?: import("../types.ts").ValidationFunction;
19
19
  validateQuery?: import("../types.ts").ValidationFunction;
@@ -1,5 +1,3 @@
1
- import type { AllHrefPaths, ExtractParamsFromPath, PathParamsProp } from '../types.js';
2
- import type { RegisteredApp, RouterPaths } from './router.js';
3
1
  export interface ReactServerErrorContext {
4
2
  status: number;
5
3
  headers?: Record<string, string> | [string, string][];
@@ -8,22 +6,12 @@ type RedirectOptions = {
8
6
  status?: number;
9
7
  headers?: Record<string, string>;
10
8
  };
11
- type RedirectParamsOptions<Path extends string> = RedirectOptions & PathParamsProp<Path>;
12
- type RedirectArgs<Path extends string> = [ExtractParamsFromPath<Path>] extends [undefined] ? [options?: RedirectParamsOptions<Path>] : [options: RedirectParamsOptions<Path>];
13
9
  type RedirectAnyOptions = RedirectOptions & {
14
10
  params?: Record<string, string | number | boolean>;
15
11
  };
16
- type ExternalRedirectLocation = `${string}://${string}` | `//${string}` | `?${string}` | `#${string}`;
17
- type UnionToIntersection<U> = (U extends any ? (value: U) => void : never) extends (value: infer I) => void ? I : never;
18
- type RedirectPatternOverloads<Paths extends string> = UnionToIntersection<{
19
- [Path in Paths]: (location: Path, ...rest: RedirectArgs<Path>) => Response;
20
- }[Paths]>;
21
- type RedirectResolvedOverload<Paths extends string> = <Location extends AllHrefPaths<Paths>>(location: Location extends Paths ? never : Location, ...rest: RedirectArgs<Location>) => Response;
22
- type DynamicStringRedirect = <Location extends string>(location: string extends Location ? Location : never, options?: RedirectAnyOptions) => Response;
23
- type RedirectFn = string extends RouterPaths<RegisteredApp> ? (location: string, options?: RedirectAnyOptions) => Response : RedirectPatternOverloads<RouterPaths<RegisteredApp>> & RedirectResolvedOverload<RouterPaths<RegisteredApp>> & DynamicStringRedirect & ((location: ExternalRedirectLocation, options?: RedirectOptions) => Response);
24
12
  export declare function contextHeaders(ctx: ReactServerErrorContext): Record<string, string>;
25
13
  export declare function contextToHeaders(ctx: ReactServerErrorContext): Headers;
26
- export declare const redirect: RedirectFn;
14
+ export declare const redirect: (location: string, options?: RedirectAnyOptions) => Response;
27
15
  export declare function notFound(): Response;
28
16
  export declare function isRedirectError(ctx?: ReactServerErrorContext): false | {
29
17
  location: string;