routup 5.1.1 → 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,15 +1,15 @@
1
1
  <div align="center">
2
2
 
3
- [![Routup banner](./.github/assets/banner.png)](https://routup.net)
3
+ [![Routup banner](.github/assets/banner.png)](https://routup.dev)
4
4
 
5
5
  </div>
6
6
 
7
7
  # Routup 🧙‍
8
8
 
9
9
  [![npm version](https://badge.fury.io/js/routup.svg)](https://badge.fury.io/js/routup)
10
- [![main](https://github.com/Tada5hi/routup/actions/workflows/main.yml/badge.svg)](https://github.com/Tada5hi/routup/actions/workflows/main.yml)
11
- [![codecov](https://codecov.io/gh/tada5hi/routup/branch/master/graph/badge.svg?token=CLIA667K6V)](https://codecov.io/gh/tada5hi/routup)
12
- [![Known Vulnerabilities](https://snyk.io/test/github/Tada5hi/routup/badge.svg)](https://snyk.io/test/github/Tada5hi/routup)
10
+ [![main](https://github.com/routup/routup/actions/workflows/main.yml/badge.svg)](https://github.com/routup/routup/actions/workflows/main.yml)
11
+ [![codecov](https://codecov.io/gh/routup/routup/branch/master/graph/badge.svg?token=CLIA667K6V)](https://codecov.io/gh/routup/routup)
12
+ [![Known Vulnerabilities](https://snyk.io/test/github/routup/routup/badge.svg)](https://snyk.io/test/github/routup/routup)
13
13
  [![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-%23FE5196?logo=conventionalcommits&logoColor=white)](https://conventionalcommits.org)
14
14
 
15
15
  **Routup** is a minimalistic, runtime-agnostic HTTP routing framework for Node.js, Bun, Deno, and Cloudflare Workers.
@@ -21,7 +21,9 @@ Handlers return values directly — routup converts them to Web `Response` objec
21
21
  - [Features](#features)
22
22
  - [Documentation](#documentation)
23
23
  - [Usage](#usage)
24
+ - [Templates](#templates)
24
25
  - [Plugins](#plugins)
26
+ - [Comparison](#comparison)
25
27
  - [Contributing](#contributing)
26
28
  - [License](#license)
27
29
 
@@ -34,6 +36,7 @@ npm install routup --save
34
36
  ## Features
35
37
 
36
38
  - 🚀 **Runtime agnostic** — Node.js, Bun, Deno, Cloudflare Workers
39
+ - 🌐 **Web-standard APIs** — built on `Request` / `Response` for portability
37
40
  - 📝 **Return-based handlers** — return strings, objects, streams, or `Response` directly
38
41
  - ✨ **Async middleware** — onion model with `event.next()`
39
42
  - 📌 **Lifecycle hooks** — `request`, `response`, `error` for cross-cutting concerns
@@ -125,6 +128,20 @@ serve(router, { port: 3000 });
125
128
 
126
129
  For runtime-specific APIs (e.g. `toNodeHandler`), use the corresponding entrypoint like `routup/node`.
127
130
 
131
+ ## Templates
132
+
133
+ Scaffold a new project from any starter in [`routup/templates`](https://github.com/routup/templates) with [`degit`](https://github.com/Rich-Harris/degit):
134
+
135
+ ```bash
136
+ npx degit routup/templates/node-api my-app
137
+ ```
138
+
139
+ | Template | Runtime | Highlights |
140
+ |----------|---------|------------|
141
+ | [node-api](https://github.com/routup/templates/tree/master/node-api) | Node.js >=22 | JSON API with `@routup/body` |
142
+ | [cloudflare-worker](https://github.com/routup/templates/tree/master/cloudflare-worker) | Cloudflare Workers | Configured with `wrangler` |
143
+ | [bun-decorators](https://github.com/routup/templates/tree/master/bun-decorators) | Bun | Class-based routing via `@routup/decorators` |
144
+
128
145
  ## Plugins
129
146
 
130
147
  Routup is minimalistic by design. [Plugins](https://github.com/routup/plugins) extend the framework with additional functionality.
@@ -135,27 +152,48 @@ Routup is minimalistic by design. [Plugins](https://github.com/routup/plugins) e
135
152
  | [basic](https://github.com/routup/plugins/tree/master/packages/basic) | Bundle of body, cookie, and query plugins |
136
153
  | [body](https://github.com/routup/plugins/tree/master/packages/body) | Read and parse the request body |
137
154
  | [cookie](https://github.com/routup/plugins/tree/master/packages/cookie) | Read and parse request cookies |
155
+ | [cors](https://github.com/routup/plugins/tree/master/packages/cors) | Cross-Origin Resource Sharing (CORS) middleware |
138
156
  | [decorators](https://github.com/routup/plugins/tree/master/packages/decorators) | Class, method, and parameter decorators |
157
+ | [i18n](https://github.com/routup/plugins/tree/master/packages/i18n) | Translation and internationalization |
158
+ | [logger](https://github.com/routup/plugins/tree/master/packages/logger) | HTTP request logger with morgan-compatible tokens and presets |
139
159
  | [prometheus](https://github.com/routup/plugins/tree/master/packages/prometheus) | Collect and serve Prometheus metrics |
140
160
  | [query](https://github.com/routup/plugins/tree/master/packages/query) | Parse URL query strings |
141
161
  | [rate-limit](https://github.com/routup/plugins/tree/master/packages/rate-limit) | Rate limit incoming requests |
142
162
  | [rate-limit-redis](https://github.com/routup/plugins/tree/master/packages/rate-limit-redis) | Redis adapter for rate-limit |
143
- | [swagger](https://github.com/routup/plugins/tree/master/packages/swagger) | Serve Swagger/OpenAPI docs |
163
+ | [swagger-ui](https://github.com/routup/plugins/tree/master/packages/swagger-ui) | Mount swagger-ui-dist on any path |
164
+
165
+ ## Comparison
166
+
167
+ How routup stacks up against other popular Node.js routing frameworks. This is a best-effort summary; check each project's docs for the full picture.
168
+
169
+ | | routup | [Hono](https://hono.dev) | [Express](https://expressjs.com) | [Fastify](https://fastify.dev) |
170
+ |---------------------------------------|-------------------|--------------------------|----------------------------------|--------------------------------|
171
+ | **Runtimes** | Node, Bun, Deno, Cloudflare, Service Worker | Node, Bun, Deno, Cloudflare, Lambda, Vercel | Node | Node |
172
+ | **Web-standard `Request` / `Response`** | ✅ | ✅ | ❌ | ❌ |
173
+ | **Return-based handlers** | ✅ | ✅ | ❌ | ❌ |
174
+ | **TypeScript-first** | ✅ | ✅ | community types | ✅ |
175
+ | **Tree-shakeable helpers** | ✅ | ✅ | ❌ | ❌ |
176
+ | **Onion middleware (`next()`)** | ✅ | ✅ | linear `next()` | lifecycle hooks |
177
+ | **Class-based routes (decorators)** | ✅ via plugin | ❌ | ❌ | ❌ |
178
+ | **Express middleware bridge** | ✅ `fromNodeHandler` | ❌ | n/a | limited |
179
+ | **Per-handler timeout + `AbortSignal`** | ✅ | ❌ | ❌ | server-level |
180
+ | **Schema validation built-in** | ❌ | ❌ | ❌ | ✅ |
144
181
 
145
182
  ## Benchmarks
146
183
 
147
- > **Note:** These benchmarks were recorded with routup v4 (Node.js 18, Sep 2023). Updated v5 benchmarks will follow.
184
+ Recorded with routup v5.1 on Node.js 24, May 2026. `autocannon -c 100 -d 40 -p 10` (40s warm-up, 40s measure).
148
185
 
149
- | Package | Requests/s | Latency (ms) | Throughput/MB |
150
- |:-----------|:-----------:|-------------:|--------------:|
151
- | http | 61062 | 15.87 | 10.89 |
152
- | fastify | 59679 | 16.26 | 10.70 |
153
- | koa | 45763 | 21.35 | 8.16 |
154
- | **routup** | 44588 | 21.91 | 9.02 |
155
- | hapi | 41374 | 23.67 | 7.38 |
156
- | express | 13376 | 74.18 | 2.39 |
186
+ | Package | Requests/s | Latency (ms) | Throughput/MB |
187
+ |:-----------|:----------:|-------------:|--------------:|
188
+ | http | 167021 | 5.47 | 29.79 |
189
+ | fastify | 152567 | 6.02 | 27.35 |
190
+ | hono | 137181 | 6.81 | 22.50 |
191
+ | koa | 136575 | 6.79 | 24.36 |
192
+ | hapi | 118206 | 7.99 | 21.08 |
193
+ | express | 104533 | 9.06 | 18.64 |
194
+ | **routup** | 95979 | 9.93 | 18.67 |
157
195
 
158
- To run benchmarks yourself, see the [benchmarks](https://github.com/routup/benchmarks) repository.
196
+ Routup currently trails on raw req/s for the trivial `GET /` case — the focus of v5 has been runtime portability and ergonomics rather than micro-optimization. Throughput is competitive with express. To re-run the suite yourself, see the [benchmarks](https://github.com/routup/benchmarks) repository.
159
197
 
160
198
  ## Contributing
161
199
 
package/dist/bun.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { $ as RouterPathNode, $t as RoutupError, A as sendFile, At as Handler, B as EventStreamOptions, Bt as Path, C as sendRedirect, Ct as fromNodeHandler, D as SendFileDisposition, Dt as defineCoreHandler, E as SendFileContentOptions, Et as NodeMiddleware, F as setResponseHeaderInline, Ft as HandlerBaseOptions, G as setResponseCacheHeaders, Gt as RoutupEvent, H as EventStreamListener, Ht as PathMatcherOptions, I as appendResponseHeader, It as HandlerSymbol, J as Router, Jt as NextFn, K as isError, Kt as RoutupEventCreateContext, L as appendResponseHeaderDirective, Lt as HandlerType, M as sendAccepted, Mt as defineErrorHandler, N as setResponseHeaderContentType, Nt as ErrorHandler, O as SendFileOptions, Ot as CoreHandler, P as setResponseHeaderAttachment, Pt as ErrorHandlerOptions, Q as RouterOptionsInput, Qt as HTTPErrorInput, R as serializeEventStreamMessage, Rt as isPath, S as sendStream, St as WebHandlerProvider, T as SendFileContent, Tt as NodeHandler, U as EventStreamMessage, Ut as IDispatcher, V as createEventStream, Vt as PathMatcherExecResult, W as ResponseCacheHeadersOptions, Wt as IDispatcherEvent, X as IRouter, Xt as RoutupResponse, Y as DispatcherEvent, Yt as RoutupRequest, Z as RouterOptions, Zt as ErrorSymbol, _ as getRequestAcceptableContentTypes, _t as isHandlerOptions, a as RequestIpOptions, at as Plugin, b as toResponse, bt as fromWebHandler, c as getRequestHostName, ct as PluginNotInstalledError, d as getRequestAcceptableLanguages, dt as isPluginError, en as HeaderName, et as RouterPipelineContext, f as getRequestAcceptableEncoding, ft as PluginError, g as getRequestAcceptableContentType, gt as isHandler, h as getRequestAcceptableCharsets, ht as matchHandlerMethod, i as useRequestNegotiator, it as isPlugin, j as sendCreated, jt as HandlerOptions, k as SendFileStats, kt as CoreHandlerOptions, l as matchRequestContentType, lt as PluginInstallError, m as getRequestAcceptableCharset, mt as buildHandlerPathMatcher, n as RequestProtocolOptions, nt as StackHandlerEntry, o as getRequestIP, ot as PluginInstallContext, p as getRequestAcceptableEncodings, pt as PluginErrorCode, q as createError, qt as IRoutupEvent, r as getRequestProtocol, rt as StackRouterEntry, s as RequestHostNameOptions, st as PluginInstallFn, t as normalizeRouterOptions, tn as MethodName, tt as StackEntry, u as getRequestAcceptableLanguage, ut as PluginAlreadyInstalledError, v as getRequestHeader, vt as isWebHandler, w as sendFormat, wt as fromNodeMiddleware, x as setResponseContentTypeByFileName, xt as WebHandler, y as isRequestCacheable, yt as isWebHandlerProvider, z as EventStreamHandle, zt as PathMatcher } from "./index-CvJhS_a6.mjs";
1
+ import { $ as RouterPathNode, $t as RoutupError, A as sendFile, At as Handler, B as EventStreamOptions, Bt as Path, C as sendRedirect, Ct as fromNodeHandler, D as SendFileDisposition, Dt as defineCoreHandler, E as SendFileContentOptions, Et as NodeMiddleware, F as setResponseHeaderInline, Ft as HandlerBaseOptions, G as setResponseCacheHeaders, Gt as RoutupEvent, H as EventStreamListener, Ht as PathMatcherOptions, I as appendResponseHeader, It as HandlerSymbol, J as Router, Jt as NextFn, K as isError, Kt as RoutupEventCreateContext, L as appendResponseHeaderDirective, Lt as HandlerType, M as sendAccepted, Mt as defineErrorHandler, N as setResponseHeaderContentType, Nt as ErrorHandler, O as SendFileOptions, Ot as CoreHandler, P as setResponseHeaderAttachment, Pt as ErrorHandlerOptions, Q as RouterOptionsInput, Qt as HTTPErrorInput, R as serializeEventStreamMessage, Rt as isPath, S as sendStream, St as WebHandlerProvider, T as SendFileContent, Tt as NodeHandler, U as EventStreamMessage, Ut as IDispatcher, V as createEventStream, Vt as PathMatcherExecResult, W as ResponseCacheHeadersOptions, Wt as IDispatcherEvent, X as IRouter, Xt as RoutupResponse, Y as DispatcherEvent, Yt as RoutupRequest, Z as RouterOptions, Zt as ErrorSymbol, _ as getRequestAcceptableContentTypes, _t as isHandlerOptions, a as RequestIpOptions, at as Plugin, b as toResponse, bt as fromWebHandler, c as getRequestHostName, ct as PluginNotInstalledError, d as getRequestAcceptableLanguages, dt as isPluginError, en as HeaderName, et as RouterPipelineContext, f as getRequestAcceptableEncoding, ft as PluginError, g as getRequestAcceptableContentType, gt as isHandler, h as getRequestAcceptableCharsets, ht as matchHandlerMethod, i as useRequestNegotiator, it as isPlugin, j as sendCreated, jt as HandlerOptions, k as SendFileStats, kt as CoreHandlerOptions, l as matchRequestContentType, lt as PluginInstallError, m as getRequestAcceptableCharset, mt as buildHandlerPathMatcher, n as RequestProtocolOptions, nt as StackHandlerEntry, o as getRequestIP, ot as PluginInstallContext, p as getRequestAcceptableEncodings, pt as PluginErrorCode, q as createError, qt as IRoutupEvent, r as getRequestProtocol, rt as StackRouterEntry, s as RequestHostNameOptions, st as PluginInstallFn, t as normalizeRouterOptions, tn as MethodName, tt as StackEntry, u as getRequestAcceptableLanguage, ut as PluginAlreadyInstalledError, v as getRequestHeader, vt as isWebHandler, w as sendFormat, wt as fromNodeMiddleware, x as setResponseContentTypeByFileName, xt as WebHandler, y as isRequestCacheable, yt as isWebHandlerProvider, z as EventStreamHandle, zt as PathMatcher } from "./index-DdsCL8RI.mjs";
2
2
  import { Server, ServerOptions } from "srvx";
3
3
 
4
4
  //#region src/_entries/bun.d.ts
package/dist/bun.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { $ as setResponseHeaderAttachment, A as Handler, B as sendRedirect, C as fromWebHandler, D as fromNodeMiddleware, E as fromNodeHandler, F as HandlerSymbol, G as getRequestHeader, H as getRequestAcceptableContentType, I as HandlerType, J as sendAccepted, K as sendFile, L as DispatcherEvent, M as matchHandlerMethod, N as isPath, O as defineErrorHandler, P as PathMatcher, Q as setResponseHeaderContentType, R as RoutupEvent, S as isHandlerOptions, T as isWebHandlerProvider, U as getRequestAcceptableContentTypes, V as sendFormat, W as useRequestNegotiator, X as createError, Y as toResponse, Z as isError, _ as getRequestAcceptableEncodings, a as PluginInstallError, at as serializeEventStreamMessage, b as isRequestCacheable, c as isPluginError, ct as setResponseCacheHeaders, d as getRequestIP, et as setResponseHeaderInline, f as getRequestHostName, g as getRequestAcceptableEncoding, h as getRequestAcceptableLanguages, i as PluginNotInstalledError, it as createEventStream, j as buildHandlerPathMatcher, k as defineCoreHandler, l as PluginErrorCode, lt as HeaderName, m as getRequestAcceptableLanguage, n as normalizeRouterOptions, nt as appendResponseHeader, o as PluginAlreadyInstalledError, ot as ErrorSymbol, p as matchRequestContentType, q as sendCreated, r as isPlugin, rt as appendResponseHeaderDirective, s as PluginError, st as RoutupError, t as Router, tt as setResponseContentTypeByFileName, u as getRequestProtocol, ut as MethodName, v as getRequestAcceptableCharset, w as isWebHandler, x as isHandler, y as getRequestAcceptableCharsets, z as sendStream } from "./src-DFLGrih4.mjs";
1
+ import { $ as setResponseHeaderAttachment, A as Handler, B as sendRedirect, C as fromWebHandler, D as fromNodeMiddleware, E as fromNodeHandler, F as HandlerSymbol, G as getRequestHeader, H as getRequestAcceptableContentType, I as HandlerType, J as sendAccepted, K as sendFile, L as DispatcherEvent, M as matchHandlerMethod, N as isPath, O as defineErrorHandler, P as PathMatcher, Q as setResponseHeaderContentType, R as RoutupEvent, S as isHandlerOptions, T as isWebHandlerProvider, U as getRequestAcceptableContentTypes, V as sendFormat, W as useRequestNegotiator, X as createError, Y as toResponse, Z as isError, _ as getRequestAcceptableEncodings, a as PluginInstallError, at as serializeEventStreamMessage, b as isRequestCacheable, c as isPluginError, ct as setResponseCacheHeaders, d as getRequestIP, et as setResponseHeaderInline, f as getRequestHostName, g as getRequestAcceptableEncoding, h as getRequestAcceptableLanguages, i as PluginNotInstalledError, it as createEventStream, j as buildHandlerPathMatcher, k as defineCoreHandler, l as PluginErrorCode, lt as HeaderName, m as getRequestAcceptableLanguage, n as normalizeRouterOptions, nt as appendResponseHeader, o as PluginAlreadyInstalledError, ot as ErrorSymbol, p as matchRequestContentType, q as sendCreated, r as isPlugin, rt as appendResponseHeaderDirective, s as PluginError, st as RoutupError, t as Router, tt as setResponseContentTypeByFileName, u as getRequestProtocol, ut as MethodName, v as getRequestAcceptableCharset, w as isWebHandler, x as isHandler, y as getRequestAcceptableCharsets, z as sendStream } from "./src-DX0rndew.mjs";
2
2
  import { serve as serve$1 } from "srvx/bun";
3
3
  //#region src/_entries/bun.ts
4
4
  function serve(router, options) {
@@ -1,4 +1,4 @@
1
- import { $ as RouterPathNode, $t as RoutupError, A as sendFile, At as Handler, B as EventStreamOptions, Bt as Path, C as sendRedirect, Ct as fromNodeHandler, D as SendFileDisposition, Dt as defineCoreHandler, E as SendFileContentOptions, Et as NodeMiddleware, F as setResponseHeaderInline, Ft as HandlerBaseOptions, G as setResponseCacheHeaders, Gt as RoutupEvent, H as EventStreamListener, Ht as PathMatcherOptions, I as appendResponseHeader, It as HandlerSymbol, J as Router, Jt as NextFn, K as isError, Kt as RoutupEventCreateContext, L as appendResponseHeaderDirective, Lt as HandlerType, M as sendAccepted, Mt as defineErrorHandler, N as setResponseHeaderContentType, Nt as ErrorHandler, O as SendFileOptions, Ot as CoreHandler, P as setResponseHeaderAttachment, Pt as ErrorHandlerOptions, Q as RouterOptionsInput, Qt as HTTPErrorInput, R as serializeEventStreamMessage, Rt as isPath, S as sendStream, St as WebHandlerProvider, T as SendFileContent, Tt as NodeHandler, U as EventStreamMessage, Ut as IDispatcher, V as createEventStream, Vt as PathMatcherExecResult, W as ResponseCacheHeadersOptions, Wt as IDispatcherEvent, X as IRouter, Xt as RoutupResponse, Y as DispatcherEvent, Yt as RoutupRequest, Z as RouterOptions, Zt as ErrorSymbol, _ as getRequestAcceptableContentTypes, _t as isHandlerOptions, a as RequestIpOptions, at as Plugin, b as toResponse, bt as fromWebHandler, c as getRequestHostName, ct as PluginNotInstalledError, d as getRequestAcceptableLanguages, dt as isPluginError, en as HeaderName, et as RouterPipelineContext, f as getRequestAcceptableEncoding, ft as PluginError, g as getRequestAcceptableContentType, gt as isHandler, h as getRequestAcceptableCharsets, ht as matchHandlerMethod, i as useRequestNegotiator, it as isPlugin, j as sendCreated, jt as HandlerOptions, k as SendFileStats, kt as CoreHandlerOptions, l as matchRequestContentType, lt as PluginInstallError, m as getRequestAcceptableCharset, mt as buildHandlerPathMatcher, n as RequestProtocolOptions, nt as StackHandlerEntry, o as getRequestIP, ot as PluginInstallContext, p as getRequestAcceptableEncodings, pt as PluginErrorCode, q as createError, qt as IRoutupEvent, r as getRequestProtocol, rt as StackRouterEntry, s as RequestHostNameOptions, st as PluginInstallFn, t as normalizeRouterOptions, tn as MethodName, tt as StackEntry, u as getRequestAcceptableLanguage, ut as PluginAlreadyInstalledError, v as getRequestHeader, vt as isWebHandler, w as sendFormat, wt as fromNodeMiddleware, x as setResponseContentTypeByFileName, xt as WebHandler, y as isRequestCacheable, yt as isWebHandlerProvider, z as EventStreamHandle, zt as PathMatcher } from "./index-CvJhS_a6.mjs";
1
+ import { $ as RouterPathNode, $t as RoutupError, A as sendFile, At as Handler, B as EventStreamOptions, Bt as Path, C as sendRedirect, Ct as fromNodeHandler, D as SendFileDisposition, Dt as defineCoreHandler, E as SendFileContentOptions, Et as NodeMiddleware, F as setResponseHeaderInline, Ft as HandlerBaseOptions, G as setResponseCacheHeaders, Gt as RoutupEvent, H as EventStreamListener, Ht as PathMatcherOptions, I as appendResponseHeader, It as HandlerSymbol, J as Router, Jt as NextFn, K as isError, Kt as RoutupEventCreateContext, L as appendResponseHeaderDirective, Lt as HandlerType, M as sendAccepted, Mt as defineErrorHandler, N as setResponseHeaderContentType, Nt as ErrorHandler, O as SendFileOptions, Ot as CoreHandler, P as setResponseHeaderAttachment, Pt as ErrorHandlerOptions, Q as RouterOptionsInput, Qt as HTTPErrorInput, R as serializeEventStreamMessage, Rt as isPath, S as sendStream, St as WebHandlerProvider, T as SendFileContent, Tt as NodeHandler, U as EventStreamMessage, Ut as IDispatcher, V as createEventStream, Vt as PathMatcherExecResult, W as ResponseCacheHeadersOptions, Wt as IDispatcherEvent, X as IRouter, Xt as RoutupResponse, Y as DispatcherEvent, Yt as RoutupRequest, Z as RouterOptions, Zt as ErrorSymbol, _ as getRequestAcceptableContentTypes, _t as isHandlerOptions, a as RequestIpOptions, at as Plugin, b as toResponse, bt as fromWebHandler, c as getRequestHostName, ct as PluginNotInstalledError, d as getRequestAcceptableLanguages, dt as isPluginError, en as HeaderName, et as RouterPipelineContext, f as getRequestAcceptableEncoding, ft as PluginError, g as getRequestAcceptableContentType, gt as isHandler, h as getRequestAcceptableCharsets, ht as matchHandlerMethod, i as useRequestNegotiator, it as isPlugin, j as sendCreated, jt as HandlerOptions, k as SendFileStats, kt as CoreHandlerOptions, l as matchRequestContentType, lt as PluginInstallError, m as getRequestAcceptableCharset, mt as buildHandlerPathMatcher, n as RequestProtocolOptions, nt as StackHandlerEntry, o as getRequestIP, ot as PluginInstallContext, p as getRequestAcceptableEncodings, pt as PluginErrorCode, q as createError, qt as IRoutupEvent, r as getRequestProtocol, rt as StackRouterEntry, s as RequestHostNameOptions, st as PluginInstallFn, t as normalizeRouterOptions, tn as MethodName, tt as StackEntry, u as getRequestAcceptableLanguage, ut as PluginAlreadyInstalledError, v as getRequestHeader, vt as isWebHandler, w as sendFormat, wt as fromNodeMiddleware, x as setResponseContentTypeByFileName, xt as WebHandler, y as isRequestCacheable, yt as isWebHandlerProvider, z as EventStreamHandle, zt as PathMatcher } from "./index-DdsCL8RI.mjs";
2
2
  import { Server, ServerOptions } from "srvx";
3
3
 
4
4
  //#region src/_entries/cloudflare.d.ts
@@ -1,4 +1,4 @@
1
- import { $ as setResponseHeaderAttachment, A as Handler, B as sendRedirect, C as fromWebHandler, D as fromNodeMiddleware, E as fromNodeHandler, F as HandlerSymbol, G as getRequestHeader, H as getRequestAcceptableContentType, I as HandlerType, J as sendAccepted, K as sendFile, L as DispatcherEvent, M as matchHandlerMethod, N as isPath, O as defineErrorHandler, P as PathMatcher, Q as setResponseHeaderContentType, R as RoutupEvent, S as isHandlerOptions, T as isWebHandlerProvider, U as getRequestAcceptableContentTypes, V as sendFormat, W as useRequestNegotiator, X as createError, Y as toResponse, Z as isError, _ as getRequestAcceptableEncodings, a as PluginInstallError, at as serializeEventStreamMessage, b as isRequestCacheable, c as isPluginError, ct as setResponseCacheHeaders, d as getRequestIP, et as setResponseHeaderInline, f as getRequestHostName, g as getRequestAcceptableEncoding, h as getRequestAcceptableLanguages, i as PluginNotInstalledError, it as createEventStream, j as buildHandlerPathMatcher, k as defineCoreHandler, l as PluginErrorCode, lt as HeaderName, m as getRequestAcceptableLanguage, n as normalizeRouterOptions, nt as appendResponseHeader, o as PluginAlreadyInstalledError, ot as ErrorSymbol, p as matchRequestContentType, q as sendCreated, r as isPlugin, rt as appendResponseHeaderDirective, s as PluginError, st as RoutupError, t as Router, tt as setResponseContentTypeByFileName, u as getRequestProtocol, ut as MethodName, v as getRequestAcceptableCharset, w as isWebHandler, x as isHandler, y as getRequestAcceptableCharsets, z as sendStream } from "./src-DFLGrih4.mjs";
1
+ import { $ as setResponseHeaderAttachment, A as Handler, B as sendRedirect, C as fromWebHandler, D as fromNodeMiddleware, E as fromNodeHandler, F as HandlerSymbol, G as getRequestHeader, H as getRequestAcceptableContentType, I as HandlerType, J as sendAccepted, K as sendFile, L as DispatcherEvent, M as matchHandlerMethod, N as isPath, O as defineErrorHandler, P as PathMatcher, Q as setResponseHeaderContentType, R as RoutupEvent, S as isHandlerOptions, T as isWebHandlerProvider, U as getRequestAcceptableContentTypes, V as sendFormat, W as useRequestNegotiator, X as createError, Y as toResponse, Z as isError, _ as getRequestAcceptableEncodings, a as PluginInstallError, at as serializeEventStreamMessage, b as isRequestCacheable, c as isPluginError, ct as setResponseCacheHeaders, d as getRequestIP, et as setResponseHeaderInline, f as getRequestHostName, g as getRequestAcceptableEncoding, h as getRequestAcceptableLanguages, i as PluginNotInstalledError, it as createEventStream, j as buildHandlerPathMatcher, k as defineCoreHandler, l as PluginErrorCode, lt as HeaderName, m as getRequestAcceptableLanguage, n as normalizeRouterOptions, nt as appendResponseHeader, o as PluginAlreadyInstalledError, ot as ErrorSymbol, p as matchRequestContentType, q as sendCreated, r as isPlugin, rt as appendResponseHeaderDirective, s as PluginError, st as RoutupError, t as Router, tt as setResponseContentTypeByFileName, u as getRequestProtocol, ut as MethodName, v as getRequestAcceptableCharset, w as isWebHandler, x as isHandler, y as getRequestAcceptableCharsets, z as sendStream } from "./src-DX0rndew.mjs";
2
2
  import { serve as serve$1 } from "srvx/cloudflare";
3
3
  //#region src/_entries/cloudflare.ts
4
4
  function serve(router, options) {
package/dist/deno.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { $ as RouterPathNode, $t as RoutupError, A as sendFile, At as Handler, B as EventStreamOptions, Bt as Path, C as sendRedirect, Ct as fromNodeHandler, D as SendFileDisposition, Dt as defineCoreHandler, E as SendFileContentOptions, Et as NodeMiddleware, F as setResponseHeaderInline, Ft as HandlerBaseOptions, G as setResponseCacheHeaders, Gt as RoutupEvent, H as EventStreamListener, Ht as PathMatcherOptions, I as appendResponseHeader, It as HandlerSymbol, J as Router, Jt as NextFn, K as isError, Kt as RoutupEventCreateContext, L as appendResponseHeaderDirective, Lt as HandlerType, M as sendAccepted, Mt as defineErrorHandler, N as setResponseHeaderContentType, Nt as ErrorHandler, O as SendFileOptions, Ot as CoreHandler, P as setResponseHeaderAttachment, Pt as ErrorHandlerOptions, Q as RouterOptionsInput, Qt as HTTPErrorInput, R as serializeEventStreamMessage, Rt as isPath, S as sendStream, St as WebHandlerProvider, T as SendFileContent, Tt as NodeHandler, U as EventStreamMessage, Ut as IDispatcher, V as createEventStream, Vt as PathMatcherExecResult, W as ResponseCacheHeadersOptions, Wt as IDispatcherEvent, X as IRouter, Xt as RoutupResponse, Y as DispatcherEvent, Yt as RoutupRequest, Z as RouterOptions, Zt as ErrorSymbol, _ as getRequestAcceptableContentTypes, _t as isHandlerOptions, a as RequestIpOptions, at as Plugin, b as toResponse, bt as fromWebHandler, c as getRequestHostName, ct as PluginNotInstalledError, d as getRequestAcceptableLanguages, dt as isPluginError, en as HeaderName, et as RouterPipelineContext, f as getRequestAcceptableEncoding, ft as PluginError, g as getRequestAcceptableContentType, gt as isHandler, h as getRequestAcceptableCharsets, ht as matchHandlerMethod, i as useRequestNegotiator, it as isPlugin, j as sendCreated, jt as HandlerOptions, k as SendFileStats, kt as CoreHandlerOptions, l as matchRequestContentType, lt as PluginInstallError, m as getRequestAcceptableCharset, mt as buildHandlerPathMatcher, n as RequestProtocolOptions, nt as StackHandlerEntry, o as getRequestIP, ot as PluginInstallContext, p as getRequestAcceptableEncodings, pt as PluginErrorCode, q as createError, qt as IRoutupEvent, r as getRequestProtocol, rt as StackRouterEntry, s as RequestHostNameOptions, st as PluginInstallFn, t as normalizeRouterOptions, tn as MethodName, tt as StackEntry, u as getRequestAcceptableLanguage, ut as PluginAlreadyInstalledError, v as getRequestHeader, vt as isWebHandler, w as sendFormat, wt as fromNodeMiddleware, x as setResponseContentTypeByFileName, xt as WebHandler, y as isRequestCacheable, yt as isWebHandlerProvider, z as EventStreamHandle, zt as PathMatcher } from "./index-CvJhS_a6.mjs";
1
+ import { $ as RouterPathNode, $t as RoutupError, A as sendFile, At as Handler, B as EventStreamOptions, Bt as Path, C as sendRedirect, Ct as fromNodeHandler, D as SendFileDisposition, Dt as defineCoreHandler, E as SendFileContentOptions, Et as NodeMiddleware, F as setResponseHeaderInline, Ft as HandlerBaseOptions, G as setResponseCacheHeaders, Gt as RoutupEvent, H as EventStreamListener, Ht as PathMatcherOptions, I as appendResponseHeader, It as HandlerSymbol, J as Router, Jt as NextFn, K as isError, Kt as RoutupEventCreateContext, L as appendResponseHeaderDirective, Lt as HandlerType, M as sendAccepted, Mt as defineErrorHandler, N as setResponseHeaderContentType, Nt as ErrorHandler, O as SendFileOptions, Ot as CoreHandler, P as setResponseHeaderAttachment, Pt as ErrorHandlerOptions, Q as RouterOptionsInput, Qt as HTTPErrorInput, R as serializeEventStreamMessage, Rt as isPath, S as sendStream, St as WebHandlerProvider, T as SendFileContent, Tt as NodeHandler, U as EventStreamMessage, Ut as IDispatcher, V as createEventStream, Vt as PathMatcherExecResult, W as ResponseCacheHeadersOptions, Wt as IDispatcherEvent, X as IRouter, Xt as RoutupResponse, Y as DispatcherEvent, Yt as RoutupRequest, Z as RouterOptions, Zt as ErrorSymbol, _ as getRequestAcceptableContentTypes, _t as isHandlerOptions, a as RequestIpOptions, at as Plugin, b as toResponse, bt as fromWebHandler, c as getRequestHostName, ct as PluginNotInstalledError, d as getRequestAcceptableLanguages, dt as isPluginError, en as HeaderName, et as RouterPipelineContext, f as getRequestAcceptableEncoding, ft as PluginError, g as getRequestAcceptableContentType, gt as isHandler, h as getRequestAcceptableCharsets, ht as matchHandlerMethod, i as useRequestNegotiator, it as isPlugin, j as sendCreated, jt as HandlerOptions, k as SendFileStats, kt as CoreHandlerOptions, l as matchRequestContentType, lt as PluginInstallError, m as getRequestAcceptableCharset, mt as buildHandlerPathMatcher, n as RequestProtocolOptions, nt as StackHandlerEntry, o as getRequestIP, ot as PluginInstallContext, p as getRequestAcceptableEncodings, pt as PluginErrorCode, q as createError, qt as IRoutupEvent, r as getRequestProtocol, rt as StackRouterEntry, s as RequestHostNameOptions, st as PluginInstallFn, t as normalizeRouterOptions, tn as MethodName, tt as StackEntry, u as getRequestAcceptableLanguage, ut as PluginAlreadyInstalledError, v as getRequestHeader, vt as isWebHandler, w as sendFormat, wt as fromNodeMiddleware, x as setResponseContentTypeByFileName, xt as WebHandler, y as isRequestCacheable, yt as isWebHandlerProvider, z as EventStreamHandle, zt as PathMatcher } from "./index-DdsCL8RI.mjs";
2
2
  import { Server, ServerOptions } from "srvx";
3
3
 
4
4
  //#region src/_entries/deno.d.ts
package/dist/deno.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { $ as setResponseHeaderAttachment, A as Handler, B as sendRedirect, C as fromWebHandler, D as fromNodeMiddleware, E as fromNodeHandler, F as HandlerSymbol, G as getRequestHeader, H as getRequestAcceptableContentType, I as HandlerType, J as sendAccepted, K as sendFile, L as DispatcherEvent, M as matchHandlerMethod, N as isPath, O as defineErrorHandler, P as PathMatcher, Q as setResponseHeaderContentType, R as RoutupEvent, S as isHandlerOptions, T as isWebHandlerProvider, U as getRequestAcceptableContentTypes, V as sendFormat, W as useRequestNegotiator, X as createError, Y as toResponse, Z as isError, _ as getRequestAcceptableEncodings, a as PluginInstallError, at as serializeEventStreamMessage, b as isRequestCacheable, c as isPluginError, ct as setResponseCacheHeaders, d as getRequestIP, et as setResponseHeaderInline, f as getRequestHostName, g as getRequestAcceptableEncoding, h as getRequestAcceptableLanguages, i as PluginNotInstalledError, it as createEventStream, j as buildHandlerPathMatcher, k as defineCoreHandler, l as PluginErrorCode, lt as HeaderName, m as getRequestAcceptableLanguage, n as normalizeRouterOptions, nt as appendResponseHeader, o as PluginAlreadyInstalledError, ot as ErrorSymbol, p as matchRequestContentType, q as sendCreated, r as isPlugin, rt as appendResponseHeaderDirective, s as PluginError, st as RoutupError, t as Router, tt as setResponseContentTypeByFileName, u as getRequestProtocol, ut as MethodName, v as getRequestAcceptableCharset, w as isWebHandler, x as isHandler, y as getRequestAcceptableCharsets, z as sendStream } from "./src-DFLGrih4.mjs";
1
+ import { $ as setResponseHeaderAttachment, A as Handler, B as sendRedirect, C as fromWebHandler, D as fromNodeMiddleware, E as fromNodeHandler, F as HandlerSymbol, G as getRequestHeader, H as getRequestAcceptableContentType, I as HandlerType, J as sendAccepted, K as sendFile, L as DispatcherEvent, M as matchHandlerMethod, N as isPath, O as defineErrorHandler, P as PathMatcher, Q as setResponseHeaderContentType, R as RoutupEvent, S as isHandlerOptions, T as isWebHandlerProvider, U as getRequestAcceptableContentTypes, V as sendFormat, W as useRequestNegotiator, X as createError, Y as toResponse, Z as isError, _ as getRequestAcceptableEncodings, a as PluginInstallError, at as serializeEventStreamMessage, b as isRequestCacheable, c as isPluginError, ct as setResponseCacheHeaders, d as getRequestIP, et as setResponseHeaderInline, f as getRequestHostName, g as getRequestAcceptableEncoding, h as getRequestAcceptableLanguages, i as PluginNotInstalledError, it as createEventStream, j as buildHandlerPathMatcher, k as defineCoreHandler, l as PluginErrorCode, lt as HeaderName, m as getRequestAcceptableLanguage, n as normalizeRouterOptions, nt as appendResponseHeader, o as PluginAlreadyInstalledError, ot as ErrorSymbol, p as matchRequestContentType, q as sendCreated, r as isPlugin, rt as appendResponseHeaderDirective, s as PluginError, st as RoutupError, t as Router, tt as setResponseContentTypeByFileName, u as getRequestProtocol, ut as MethodName, v as getRequestAcceptableCharset, w as isWebHandler, x as isHandler, y as getRequestAcceptableCharsets, z as sendStream } from "./src-DX0rndew.mjs";
2
2
  import { serve as serve$1 } from "srvx/deno";
3
3
  //#region src/_entries/deno.ts
4
4
  function serve(router, options) {
@@ -1,4 +1,4 @@
1
- import { $ as RouterPathNode, $t as RoutupError, A as sendFile, At as Handler, B as EventStreamOptions, Bt as Path, C as sendRedirect, Ct as fromNodeHandler, D as SendFileDisposition, Dt as defineCoreHandler, E as SendFileContentOptions, Et as NodeMiddleware, F as setResponseHeaderInline, Ft as HandlerBaseOptions, G as setResponseCacheHeaders, Gt as RoutupEvent, H as EventStreamListener, Ht as PathMatcherOptions, I as appendResponseHeader, It as HandlerSymbol, J as Router, Jt as NextFn, K as isError, Kt as RoutupEventCreateContext, L as appendResponseHeaderDirective, Lt as HandlerType, M as sendAccepted, Mt as defineErrorHandler, N as setResponseHeaderContentType, Nt as ErrorHandler, O as SendFileOptions, Ot as CoreHandler, P as setResponseHeaderAttachment, Pt as ErrorHandlerOptions, Q as RouterOptionsInput, Qt as HTTPErrorInput, R as serializeEventStreamMessage, Rt as isPath, S as sendStream, St as WebHandlerProvider, T as SendFileContent, Tt as NodeHandler, U as EventStreamMessage, Ut as IDispatcher, V as createEventStream, Vt as PathMatcherExecResult, W as ResponseCacheHeadersOptions, Wt as IDispatcherEvent, X as IRouter, Xt as RoutupResponse, Y as DispatcherEvent, Yt as RoutupRequest, Z as RouterOptions, Zt as ErrorSymbol, _ as getRequestAcceptableContentTypes, _t as isHandlerOptions, a as RequestIpOptions, at as Plugin, b as toResponse, bt as fromWebHandler, c as getRequestHostName, ct as PluginNotInstalledError, d as getRequestAcceptableLanguages, dt as isPluginError, en as HeaderName, et as RouterPipelineContext, f as getRequestAcceptableEncoding, ft as PluginError, g as getRequestAcceptableContentType, gt as isHandler, h as getRequestAcceptableCharsets, ht as matchHandlerMethod, i as useRequestNegotiator, it as isPlugin, j as sendCreated, jt as HandlerOptions, k as SendFileStats, kt as CoreHandlerOptions, l as matchRequestContentType, lt as PluginInstallError, m as getRequestAcceptableCharset, mt as buildHandlerPathMatcher, n as RequestProtocolOptions, nt as StackHandlerEntry, o as getRequestIP, ot as PluginInstallContext, p as getRequestAcceptableEncodings, pt as PluginErrorCode, q as createError, qt as IRoutupEvent, r as getRequestProtocol, rt as StackRouterEntry, s as RequestHostNameOptions, st as PluginInstallFn, t as normalizeRouterOptions, tn as MethodName, tt as StackEntry, u as getRequestAcceptableLanguage, ut as PluginAlreadyInstalledError, v as getRequestHeader, vt as isWebHandler, w as sendFormat, wt as fromNodeMiddleware, x as setResponseContentTypeByFileName, xt as WebHandler, y as isRequestCacheable, yt as isWebHandlerProvider, z as EventStreamHandle, zt as PathMatcher } from "./index-CvJhS_a6.mjs";
1
+ import { $ as RouterPathNode, $t as RoutupError, A as sendFile, At as Handler, B as EventStreamOptions, Bt as Path, C as sendRedirect, Ct as fromNodeHandler, D as SendFileDisposition, Dt as defineCoreHandler, E as SendFileContentOptions, Et as NodeMiddleware, F as setResponseHeaderInline, Ft as HandlerBaseOptions, G as setResponseCacheHeaders, Gt as RoutupEvent, H as EventStreamListener, Ht as PathMatcherOptions, I as appendResponseHeader, It as HandlerSymbol, J as Router, Jt as NextFn, K as isError, Kt as RoutupEventCreateContext, L as appendResponseHeaderDirective, Lt as HandlerType, M as sendAccepted, Mt as defineErrorHandler, N as setResponseHeaderContentType, Nt as ErrorHandler, O as SendFileOptions, Ot as CoreHandler, P as setResponseHeaderAttachment, Pt as ErrorHandlerOptions, Q as RouterOptionsInput, Qt as HTTPErrorInput, R as serializeEventStreamMessage, Rt as isPath, S as sendStream, St as WebHandlerProvider, T as SendFileContent, Tt as NodeHandler, U as EventStreamMessage, Ut as IDispatcher, V as createEventStream, Vt as PathMatcherExecResult, W as ResponseCacheHeadersOptions, Wt as IDispatcherEvent, X as IRouter, Xt as RoutupResponse, Y as DispatcherEvent, Yt as RoutupRequest, Z as RouterOptions, Zt as ErrorSymbol, _ as getRequestAcceptableContentTypes, _t as isHandlerOptions, a as RequestIpOptions, at as Plugin, b as toResponse, bt as fromWebHandler, c as getRequestHostName, ct as PluginNotInstalledError, d as getRequestAcceptableLanguages, dt as isPluginError, en as HeaderName, et as RouterPipelineContext, f as getRequestAcceptableEncoding, ft as PluginError, g as getRequestAcceptableContentType, gt as isHandler, h as getRequestAcceptableCharsets, ht as matchHandlerMethod, i as useRequestNegotiator, it as isPlugin, j as sendCreated, jt as HandlerOptions, k as SendFileStats, kt as CoreHandlerOptions, l as matchRequestContentType, lt as PluginInstallError, m as getRequestAcceptableCharset, mt as buildHandlerPathMatcher, n as RequestProtocolOptions, nt as StackHandlerEntry, o as getRequestIP, ot as PluginInstallContext, p as getRequestAcceptableEncodings, pt as PluginErrorCode, q as createError, qt as IRoutupEvent, r as getRequestProtocol, rt as StackRouterEntry, s as RequestHostNameOptions, st as PluginInstallFn, t as normalizeRouterOptions, tn as MethodName, tt as StackEntry, u as getRequestAcceptableLanguage, ut as PluginAlreadyInstalledError, v as getRequestHeader, vt as isWebHandler, w as sendFormat, wt as fromNodeMiddleware, x as setResponseContentTypeByFileName, xt as WebHandler, y as isRequestCacheable, yt as isWebHandlerProvider, z as EventStreamHandle, zt as PathMatcher } from "./index-DdsCL8RI.mjs";
2
2
  import { Server, ServerOptions } from "srvx";
3
3
 
4
4
  //#region src/_entries/generic.d.ts
package/dist/generic.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { $ as setResponseHeaderAttachment, A as Handler, B as sendRedirect, C as fromWebHandler, D as fromNodeMiddleware, E as fromNodeHandler, F as HandlerSymbol, G as getRequestHeader, H as getRequestAcceptableContentType, I as HandlerType, J as sendAccepted, K as sendFile, L as DispatcherEvent, M as matchHandlerMethod, N as isPath, O as defineErrorHandler, P as PathMatcher, Q as setResponseHeaderContentType, R as RoutupEvent, S as isHandlerOptions, T as isWebHandlerProvider, U as getRequestAcceptableContentTypes, V as sendFormat, W as useRequestNegotiator, X as createError, Y as toResponse, Z as isError, _ as getRequestAcceptableEncodings, a as PluginInstallError, at as serializeEventStreamMessage, b as isRequestCacheable, c as isPluginError, ct as setResponseCacheHeaders, d as getRequestIP, et as setResponseHeaderInline, f as getRequestHostName, g as getRequestAcceptableEncoding, h as getRequestAcceptableLanguages, i as PluginNotInstalledError, it as createEventStream, j as buildHandlerPathMatcher, k as defineCoreHandler, l as PluginErrorCode, lt as HeaderName, m as getRequestAcceptableLanguage, n as normalizeRouterOptions, nt as appendResponseHeader, o as PluginAlreadyInstalledError, ot as ErrorSymbol, p as matchRequestContentType, q as sendCreated, r as isPlugin, rt as appendResponseHeaderDirective, s as PluginError, st as RoutupError, t as Router, tt as setResponseContentTypeByFileName, u as getRequestProtocol, ut as MethodName, v as getRequestAcceptableCharset, w as isWebHandler, x as isHandler, y as getRequestAcceptableCharsets, z as sendStream } from "./src-DFLGrih4.mjs";
1
+ import { $ as setResponseHeaderAttachment, A as Handler, B as sendRedirect, C as fromWebHandler, D as fromNodeMiddleware, E as fromNodeHandler, F as HandlerSymbol, G as getRequestHeader, H as getRequestAcceptableContentType, I as HandlerType, J as sendAccepted, K as sendFile, L as DispatcherEvent, M as matchHandlerMethod, N as isPath, O as defineErrorHandler, P as PathMatcher, Q as setResponseHeaderContentType, R as RoutupEvent, S as isHandlerOptions, T as isWebHandlerProvider, U as getRequestAcceptableContentTypes, V as sendFormat, W as useRequestNegotiator, X as createError, Y as toResponse, Z as isError, _ as getRequestAcceptableEncodings, a as PluginInstallError, at as serializeEventStreamMessage, b as isRequestCacheable, c as isPluginError, ct as setResponseCacheHeaders, d as getRequestIP, et as setResponseHeaderInline, f as getRequestHostName, g as getRequestAcceptableEncoding, h as getRequestAcceptableLanguages, i as PluginNotInstalledError, it as createEventStream, j as buildHandlerPathMatcher, k as defineCoreHandler, l as PluginErrorCode, lt as HeaderName, m as getRequestAcceptableLanguage, n as normalizeRouterOptions, nt as appendResponseHeader, o as PluginAlreadyInstalledError, ot as ErrorSymbol, p as matchRequestContentType, q as sendCreated, r as isPlugin, rt as appendResponseHeaderDirective, s as PluginError, st as RoutupError, t as Router, tt as setResponseContentTypeByFileName, u as getRequestProtocol, ut as MethodName, v as getRequestAcceptableCharset, w as isWebHandler, x as isHandler, y as getRequestAcceptableCharsets, z as sendStream } from "./src-DX0rndew.mjs";
2
2
  import { serve as serve$1 } from "srvx/generic";
3
3
  //#region src/_entries/generic.ts
4
4
  function serve(router, options) {
@@ -290,21 +290,13 @@ type HookErrorListener = (event: IDispatcherEvent) => Promise<unknown> | unknown
290
290
  type HookDefaultListener = (event: IDispatcherEvent) => Promise<unknown> | unknown;
291
291
  type HookListener = HookErrorListener | HookDefaultListener;
292
292
  type HookUnsubscribeFn = () => void;
293
- //#endregion
294
- //#region src/hook/module.d.ts
295
- type HookEntry = {
296
- fn: HookListener;
297
- priority: number;
298
- };
299
- declare class HookManager {
300
- protected items: Record<string, HookEntry[]>;
301
- constructor();
293
+ interface IHooks {
302
294
  addListener(name: HookName, fn: HookListener, priority?: number): HookUnsubscribeFn;
303
295
  removeListener(name: HookName): void;
304
296
  removeListener(name: HookName, fn: HookListener): void;
297
+ removeListener(name: HookName, fn?: HookListener): void;
298
+ clone(): IHooks;
305
299
  trigger(name: HookName, event: IDispatcherEvent): Promise<void>;
306
- private triggerListener;
307
- private isErrorListenerHook;
308
300
  }
309
301
  //#endregion
310
302
  //#region src/path/type.d.ts
@@ -385,7 +377,7 @@ type HandlerOptions = CoreHandlerOptions | ErrorHandlerOptions;
385
377
  //#region src/handler/module.d.ts
386
378
  declare class Handler implements IDispatcher {
387
379
  protected config: HandlerOptions;
388
- protected hookManager: HookManager;
380
+ protected hooks: IHooks;
389
381
  protected pathMatcher: PathMatcher | undefined;
390
382
  readonly method: MethodName | undefined;
391
383
  constructor(handler: HandlerOptions);
@@ -670,6 +662,8 @@ type RouterOptions = {
670
662
  type RouterOptionsInput = Omit<Partial<RouterOptions>, 'etag' | 'trustProxy'> & {
671
663
  etag?: EtagInput;
672
664
  trustProxy?: TrustProxyInput;
665
+ hooks?: IHooks;
666
+ plugins?: Map<string, string | undefined>;
673
667
  };
674
668
  type RouterPathNode = {
675
669
  readonly name?: string;
@@ -678,6 +672,11 @@ type RouterPathNode = {
678
672
  type StackRouterEntry = {
679
673
  type: typeof RouterStackEntryType.ROUTER;
680
674
  data: IRouter;
675
+ /**
676
+ * Original mount path the entry was registered with, retained so
677
+ * `Router.clone()` can re-register the entry via the public API.
678
+ */
679
+ path?: Path;
681
680
  /**
682
681
  * Mount-specific path matcher.
683
682
  *
@@ -689,6 +688,11 @@ type StackRouterEntry = {
689
688
  type StackHandlerEntry = {
690
689
  type: typeof RouterStackEntryType.HANDLER;
691
690
  data: Handler;
691
+ /**
692
+ * Original mount path the entry was registered with, retained so
693
+ * `Router.clone()` can re-register the entry via the public API.
694
+ */
695
+ path?: Path;
692
696
  /**
693
697
  * Mount-specific path matcher.
694
698
  *
@@ -727,6 +731,16 @@ interface IRouter extends IDispatcher {
727
731
  * Test if a path matches this router's mount path.
728
732
  */
729
733
  matchPath(path: string): boolean;
734
+ /**
735
+ * Return a new router that mirrors this one but owns independent
736
+ * mountable state — fresh stack of shallow-copied entries (handlers and
737
+ * child routers shared by reference), fresh `Hooks` seeded with the
738
+ * current listeners, shallow copy of options, and a fresh plugins map.
739
+ *
740
+ * Intended for mounting the same logical router under multiple paths
741
+ * without sharing mutable state across mount points.
742
+ */
743
+ clone(): IRouter;
730
744
  /**
731
745
  * Check if a plugin with the given name is installed on this router.
732
746
  */
@@ -848,11 +862,11 @@ declare class Router implements IRouter {
848
862
  */
849
863
  protected pathMatcher: PathMatcher | undefined;
850
864
  /**
851
- * A hook manager.
865
+ * Lifecycle hook registry.
852
866
  *
853
867
  * @protected
854
868
  */
855
- protected hookManager: HookManager;
869
+ protected hooks: IHooks;
856
870
  /**
857
871
  * Normalized options for this router instance.
858
872
  */
@@ -894,10 +908,10 @@ declare class Router implements IRouter {
894
908
  options(...handlers: (Handler | HandlerOptions)[]): this;
895
909
  options(path: Path, ...handlers: (Handler | HandlerOptions)[]): this;
896
910
  protected useForMethod(method: MethodName, ...input: (Path | Handler | HandlerOptions)[]): void;
897
- use(router: Router): this;
911
+ use(router: IRouter): this;
898
912
  use(handler: Handler | HandlerOptions): this;
899
913
  use(plugin: Plugin): this;
900
- use(path: Path, router: Router): this;
914
+ use(path: Path, router: IRouter): this;
901
915
  use(path: Path, handler: Handler | HandlerOptions): this;
902
916
  use(path: Path, plugin: Plugin): this;
903
917
  /**
@@ -910,6 +924,23 @@ declare class Router implements IRouter {
910
924
  */
911
925
  getPluginVersion(name: string): string | undefined;
912
926
  protected install(plugin: Plugin, context?: PluginInstallContext): this;
927
+ /**
928
+ * Return a new `Router` that mirrors this one but owns independent
929
+ * mountable state.
930
+ *
931
+ * The new router has:
932
+ * - a fresh `stack` array of shallow-copied entries (handlers and child
933
+ * routers are shared by reference; only the wrapping entries are new)
934
+ * - the same `pathMatcher` reference (it is stateless)
935
+ * - a fresh `Hooks` instance seeded with the current listeners
936
+ * - a shallow copy of `_options`
937
+ * - a fresh `plugins` map with the same entries
938
+ *
939
+ * Use this when the same logical router needs to be mounted under
940
+ * multiple paths — each mount can receive its own clone so subsequent
941
+ * mutations on one mount do not bleed into the others.
942
+ */
943
+ clone(): IRouter;
913
944
  /**
914
945
  * Add a hook listener.
915
946
  *
@@ -1125,4 +1156,4 @@ declare function getRequestProtocol(event: IRoutupEvent, options?: RequestProtoc
1125
1156
  declare function normalizeRouterOptions(input: RouterOptionsInput): Partial<RouterOptions>;
1126
1157
  //#endregion
1127
1158
  export { RouterPathNode as $, RoutupError as $t, sendFile as A, Handler as At, EventStreamOptions as B, Path as Bt, sendRedirect as C, fromNodeHandler as Ct, SendFileDisposition as D, defineCoreHandler as Dt, SendFileContentOptions as E, NodeMiddleware as Et, setResponseHeaderInline as F, HandlerBaseOptions as Ft, setResponseCacheHeaders as G, RoutupEvent as Gt, EventStreamListener as H, PathMatcherOptions as Ht, appendResponseHeader as I, HandlerSymbol as It, Router as J, NextFn as Jt, isError as K, RoutupEventCreateContext as Kt, appendResponseHeaderDirective as L, HandlerType as Lt, sendAccepted as M, defineErrorHandler as Mt, setResponseHeaderContentType as N, ErrorHandler as Nt, SendFileOptions as O, CoreHandler as Ot, setResponseHeaderAttachment as P, ErrorHandlerOptions as Pt, RouterOptionsInput as Q, HTTPErrorInput$1 as Qt, serializeEventStreamMessage as R, isPath as Rt, sendStream as S, WebHandlerProvider as St, SendFileContent as T, NodeHandler as Tt, EventStreamMessage as U, IDispatcher as Ut, createEventStream as V, PathMatcherExecResult as Vt, ResponseCacheHeadersOptions as W, IDispatcherEvent as Wt, IRouter as X, RoutupResponse as Xt, DispatcherEvent as Y, RoutupRequest as Yt, RouterOptions as Z, ErrorSymbol as Zt, getRequestAcceptableContentTypes as _, isHandlerOptions as _t, RequestIpOptions as a, Plugin as at, toResponse as b, fromWebHandler as bt, getRequestHostName as c, PluginNotInstalledError as ct, getRequestAcceptableLanguages as d, isPluginError as dt, HeaderName as en, RouterPipelineContext as et, getRequestAcceptableEncoding as f, PluginError as ft, getRequestAcceptableContentType as g, isHandler as gt, getRequestAcceptableCharsets as h, matchHandlerMethod as ht, useRequestNegotiator as i, isPlugin as it, sendCreated as j, HandlerOptions as jt, SendFileStats as k, CoreHandlerOptions as kt, matchRequestContentType as l, PluginInstallError as lt, getRequestAcceptableCharset as m, buildHandlerPathMatcher as mt, RequestProtocolOptions as n, StackHandlerEntry as nt, getRequestIP as o, PluginInstallContext as ot, getRequestAcceptableEncodings as p, PluginErrorCode as pt, createError as q, IRoutupEvent as qt, getRequestProtocol as r, StackRouterEntry as rt, RequestHostNameOptions as s, PluginInstallFn as st, normalizeRouterOptions as t, MethodName as tn, StackEntry as tt, getRequestAcceptableLanguage as u, PluginAlreadyInstalledError as ut, getRequestHeader as v, isWebHandler as vt, sendFormat as w, fromNodeMiddleware as wt, setResponseContentTypeByFileName as x, WebHandler as xt, isRequestCacheable as y, isWebHandlerProvider as yt, EventStreamHandle as z, PathMatcher as zt };
1128
- //# sourceMappingURL=index-CvJhS_a6.d.mts.map
1159
+ //# sourceMappingURL=index-DdsCL8RI.d.mts.map
package/dist/node.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { $ as RouterPathNode, $t as RoutupError, A as sendFile, At as Handler, B as EventStreamOptions, Bt as Path, C as sendRedirect, Ct as fromNodeHandler, D as SendFileDisposition, Dt as defineCoreHandler, E as SendFileContentOptions, Et as NodeMiddleware, F as setResponseHeaderInline, Ft as HandlerBaseOptions, G as setResponseCacheHeaders, Gt as RoutupEvent, H as EventStreamListener, Ht as PathMatcherOptions, I as appendResponseHeader, It as HandlerSymbol, J as Router, Jt as NextFn, K as isError, Kt as RoutupEventCreateContext, L as appendResponseHeaderDirective, Lt as HandlerType, M as sendAccepted, Mt as defineErrorHandler, N as setResponseHeaderContentType, Nt as ErrorHandler, O as SendFileOptions, Ot as CoreHandler, P as setResponseHeaderAttachment, Pt as ErrorHandlerOptions, Q as RouterOptionsInput, Qt as HTTPErrorInput, R as serializeEventStreamMessage, Rt as isPath, S as sendStream, St as WebHandlerProvider, T as SendFileContent, Tt as NodeHandler, U as EventStreamMessage, Ut as IDispatcher, V as createEventStream, Vt as PathMatcherExecResult, W as ResponseCacheHeadersOptions, Wt as IDispatcherEvent, X as IRouter, Xt as RoutupResponse, Y as DispatcherEvent, Yt as RoutupRequest, Z as RouterOptions, Zt as ErrorSymbol, _ as getRequestAcceptableContentTypes, _t as isHandlerOptions, a as RequestIpOptions, at as Plugin, b as toResponse, bt as fromWebHandler, c as getRequestHostName, ct as PluginNotInstalledError, d as getRequestAcceptableLanguages, dt as isPluginError, en as HeaderName, et as RouterPipelineContext, f as getRequestAcceptableEncoding, ft as PluginError, g as getRequestAcceptableContentType, gt as isHandler, h as getRequestAcceptableCharsets, ht as matchHandlerMethod, i as useRequestNegotiator, it as isPlugin, j as sendCreated, jt as HandlerOptions, k as SendFileStats, kt as CoreHandlerOptions, l as matchRequestContentType, lt as PluginInstallError, m as getRequestAcceptableCharset, mt as buildHandlerPathMatcher, n as RequestProtocolOptions, nt as StackHandlerEntry, o as getRequestIP, ot as PluginInstallContext, p as getRequestAcceptableEncodings, pt as PluginErrorCode, q as createError, qt as IRoutupEvent, r as getRequestProtocol, rt as StackRouterEntry, s as RequestHostNameOptions, st as PluginInstallFn, t as normalizeRouterOptions, tn as MethodName, tt as StackEntry, u as getRequestAcceptableLanguage, ut as PluginAlreadyInstalledError, v as getRequestHeader, vt as isWebHandler, w as sendFormat, wt as fromNodeMiddleware, x as setResponseContentTypeByFileName, xt as WebHandler, y as isRequestCacheable, yt as isWebHandlerProvider, z as EventStreamHandle, zt as PathMatcher } from "./index-CvJhS_a6.mjs";
1
+ import { $ as RouterPathNode, $t as RoutupError, A as sendFile, At as Handler, B as EventStreamOptions, Bt as Path, C as sendRedirect, Ct as fromNodeHandler, D as SendFileDisposition, Dt as defineCoreHandler, E as SendFileContentOptions, Et as NodeMiddleware, F as setResponseHeaderInline, Ft as HandlerBaseOptions, G as setResponseCacheHeaders, Gt as RoutupEvent, H as EventStreamListener, Ht as PathMatcherOptions, I as appendResponseHeader, It as HandlerSymbol, J as Router, Jt as NextFn, K as isError, Kt as RoutupEventCreateContext, L as appendResponseHeaderDirective, Lt as HandlerType, M as sendAccepted, Mt as defineErrorHandler, N as setResponseHeaderContentType, Nt as ErrorHandler, O as SendFileOptions, Ot as CoreHandler, P as setResponseHeaderAttachment, Pt as ErrorHandlerOptions, Q as RouterOptionsInput, Qt as HTTPErrorInput, R as serializeEventStreamMessage, Rt as isPath, S as sendStream, St as WebHandlerProvider, T as SendFileContent, Tt as NodeHandler, U as EventStreamMessage, Ut as IDispatcher, V as createEventStream, Vt as PathMatcherExecResult, W as ResponseCacheHeadersOptions, Wt as IDispatcherEvent, X as IRouter, Xt as RoutupResponse, Y as DispatcherEvent, Yt as RoutupRequest, Z as RouterOptions, Zt as ErrorSymbol, _ as getRequestAcceptableContentTypes, _t as isHandlerOptions, a as RequestIpOptions, at as Plugin, b as toResponse, bt as fromWebHandler, c as getRequestHostName, ct as PluginNotInstalledError, d as getRequestAcceptableLanguages, dt as isPluginError, en as HeaderName, et as RouterPipelineContext, f as getRequestAcceptableEncoding, ft as PluginError, g as getRequestAcceptableContentType, gt as isHandler, h as getRequestAcceptableCharsets, ht as matchHandlerMethod, i as useRequestNegotiator, it as isPlugin, j as sendCreated, jt as HandlerOptions, k as SendFileStats, kt as CoreHandlerOptions, l as matchRequestContentType, lt as PluginInstallError, m as getRequestAcceptableCharset, mt as buildHandlerPathMatcher, n as RequestProtocolOptions, nt as StackHandlerEntry, o as getRequestIP, ot as PluginInstallContext, p as getRequestAcceptableEncodings, pt as PluginErrorCode, q as createError, qt as IRoutupEvent, r as getRequestProtocol, rt as StackRouterEntry, s as RequestHostNameOptions, st as PluginInstallFn, t as normalizeRouterOptions, tn as MethodName, tt as StackEntry, u as getRequestAcceptableLanguage, ut as PluginAlreadyInstalledError, v as getRequestHeader, vt as isWebHandler, w as sendFormat, wt as fromNodeMiddleware, x as setResponseContentTypeByFileName, xt as WebHandler, y as isRequestCacheable, yt as isWebHandlerProvider, z as EventStreamHandle, zt as PathMatcher } from "./index-DdsCL8RI.mjs";
2
2
  import * as _$srvx_node0 from "srvx/node";
3
3
  import * as _$srvx from "srvx";
4
4
  import { Server, ServerOptions } from "srvx";
package/dist/node.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { $ as setResponseHeaderAttachment, A as Handler, B as sendRedirect, C as fromWebHandler, D as fromNodeMiddleware, E as fromNodeHandler, F as HandlerSymbol, G as getRequestHeader, H as getRequestAcceptableContentType, I as HandlerType, J as sendAccepted, K as sendFile, L as DispatcherEvent, M as matchHandlerMethod, N as isPath, O as defineErrorHandler, P as PathMatcher, Q as setResponseHeaderContentType, R as RoutupEvent, S as isHandlerOptions, T as isWebHandlerProvider, U as getRequestAcceptableContentTypes, V as sendFormat, W as useRequestNegotiator, X as createError, Y as toResponse, Z as isError, _ as getRequestAcceptableEncodings, a as PluginInstallError, at as serializeEventStreamMessage, b as isRequestCacheable, c as isPluginError, ct as setResponseCacheHeaders, d as getRequestIP, et as setResponseHeaderInline, f as getRequestHostName, g as getRequestAcceptableEncoding, h as getRequestAcceptableLanguages, i as PluginNotInstalledError, it as createEventStream, j as buildHandlerPathMatcher, k as defineCoreHandler, l as PluginErrorCode, lt as HeaderName, m as getRequestAcceptableLanguage, n as normalizeRouterOptions, nt as appendResponseHeader, o as PluginAlreadyInstalledError, ot as ErrorSymbol, p as matchRequestContentType, q as sendCreated, r as isPlugin, rt as appendResponseHeaderDirective, s as PluginError, st as RoutupError, t as Router, tt as setResponseContentTypeByFileName, u as getRequestProtocol, ut as MethodName, v as getRequestAcceptableCharset, w as isWebHandler, x as isHandler, y as getRequestAcceptableCharsets, z as sendStream } from "./src-DFLGrih4.mjs";
1
+ import { $ as setResponseHeaderAttachment, A as Handler, B as sendRedirect, C as fromWebHandler, D as fromNodeMiddleware, E as fromNodeHandler, F as HandlerSymbol, G as getRequestHeader, H as getRequestAcceptableContentType, I as HandlerType, J as sendAccepted, K as sendFile, L as DispatcherEvent, M as matchHandlerMethod, N as isPath, O as defineErrorHandler, P as PathMatcher, Q as setResponseHeaderContentType, R as RoutupEvent, S as isHandlerOptions, T as isWebHandlerProvider, U as getRequestAcceptableContentTypes, V as sendFormat, W as useRequestNegotiator, X as createError, Y as toResponse, Z as isError, _ as getRequestAcceptableEncodings, a as PluginInstallError, at as serializeEventStreamMessage, b as isRequestCacheable, c as isPluginError, ct as setResponseCacheHeaders, d as getRequestIP, et as setResponseHeaderInline, f as getRequestHostName, g as getRequestAcceptableEncoding, h as getRequestAcceptableLanguages, i as PluginNotInstalledError, it as createEventStream, j as buildHandlerPathMatcher, k as defineCoreHandler, l as PluginErrorCode, lt as HeaderName, m as getRequestAcceptableLanguage, n as normalizeRouterOptions, nt as appendResponseHeader, o as PluginAlreadyInstalledError, ot as ErrorSymbol, p as matchRequestContentType, q as sendCreated, r as isPlugin, rt as appendResponseHeaderDirective, s as PluginError, st as RoutupError, t as Router, tt as setResponseContentTypeByFileName, u as getRequestProtocol, ut as MethodName, v as getRequestAcceptableCharset, w as isWebHandler, x as isHandler, y as getRequestAcceptableCharsets, z as sendStream } from "./src-DX0rndew.mjs";
2
2
  import { serve as serve$1, toNodeHandler as toNodeHandler$1 } from "srvx/node";
3
3
  //#region src/_entries/node.ts
4
4
  function serve(router, options) {
@@ -1,4 +1,4 @@
1
- import { $ as RouterPathNode, $t as RoutupError, A as sendFile, At as Handler, B as EventStreamOptions, Bt as Path, C as sendRedirect, Ct as fromNodeHandler, D as SendFileDisposition, Dt as defineCoreHandler, E as SendFileContentOptions, Et as NodeMiddleware, F as setResponseHeaderInline, Ft as HandlerBaseOptions, G as setResponseCacheHeaders, Gt as RoutupEvent, H as EventStreamListener, Ht as PathMatcherOptions, I as appendResponseHeader, It as HandlerSymbol, J as Router, Jt as NextFn, K as isError, Kt as RoutupEventCreateContext, L as appendResponseHeaderDirective, Lt as HandlerType, M as sendAccepted, Mt as defineErrorHandler, N as setResponseHeaderContentType, Nt as ErrorHandler, O as SendFileOptions, Ot as CoreHandler, P as setResponseHeaderAttachment, Pt as ErrorHandlerOptions, Q as RouterOptionsInput, Qt as HTTPErrorInput, R as serializeEventStreamMessage, Rt as isPath, S as sendStream, St as WebHandlerProvider, T as SendFileContent, Tt as NodeHandler, U as EventStreamMessage, Ut as IDispatcher, V as createEventStream, Vt as PathMatcherExecResult, W as ResponseCacheHeadersOptions, Wt as IDispatcherEvent, X as IRouter, Xt as RoutupResponse, Y as DispatcherEvent, Yt as RoutupRequest, Z as RouterOptions, Zt as ErrorSymbol, _ as getRequestAcceptableContentTypes, _t as isHandlerOptions, a as RequestIpOptions, at as Plugin, b as toResponse, bt as fromWebHandler, c as getRequestHostName, ct as PluginNotInstalledError, d as getRequestAcceptableLanguages, dt as isPluginError, en as HeaderName, et as RouterPipelineContext, f as getRequestAcceptableEncoding, ft as PluginError, g as getRequestAcceptableContentType, gt as isHandler, h as getRequestAcceptableCharsets, ht as matchHandlerMethod, i as useRequestNegotiator, it as isPlugin, j as sendCreated, jt as HandlerOptions, k as SendFileStats, kt as CoreHandlerOptions, l as matchRequestContentType, lt as PluginInstallError, m as getRequestAcceptableCharset, mt as buildHandlerPathMatcher, n as RequestProtocolOptions, nt as StackHandlerEntry, o as getRequestIP, ot as PluginInstallContext, p as getRequestAcceptableEncodings, pt as PluginErrorCode, q as createError, qt as IRoutupEvent, r as getRequestProtocol, rt as StackRouterEntry, s as RequestHostNameOptions, st as PluginInstallFn, t as normalizeRouterOptions, tn as MethodName, tt as StackEntry, u as getRequestAcceptableLanguage, ut as PluginAlreadyInstalledError, v as getRequestHeader, vt as isWebHandler, w as sendFormat, wt as fromNodeMiddleware, x as setResponseContentTypeByFileName, xt as WebHandler, y as isRequestCacheable, yt as isWebHandlerProvider, z as EventStreamHandle, zt as PathMatcher } from "./index-CvJhS_a6.mjs";
1
+ import { $ as RouterPathNode, $t as RoutupError, A as sendFile, At as Handler, B as EventStreamOptions, Bt as Path, C as sendRedirect, Ct as fromNodeHandler, D as SendFileDisposition, Dt as defineCoreHandler, E as SendFileContentOptions, Et as NodeMiddleware, F as setResponseHeaderInline, Ft as HandlerBaseOptions, G as setResponseCacheHeaders, Gt as RoutupEvent, H as EventStreamListener, Ht as PathMatcherOptions, I as appendResponseHeader, It as HandlerSymbol, J as Router, Jt as NextFn, K as isError, Kt as RoutupEventCreateContext, L as appendResponseHeaderDirective, Lt as HandlerType, M as sendAccepted, Mt as defineErrorHandler, N as setResponseHeaderContentType, Nt as ErrorHandler, O as SendFileOptions, Ot as CoreHandler, P as setResponseHeaderAttachment, Pt as ErrorHandlerOptions, Q as RouterOptionsInput, Qt as HTTPErrorInput, R as serializeEventStreamMessage, Rt as isPath, S as sendStream, St as WebHandlerProvider, T as SendFileContent, Tt as NodeHandler, U as EventStreamMessage, Ut as IDispatcher, V as createEventStream, Vt as PathMatcherExecResult, W as ResponseCacheHeadersOptions, Wt as IDispatcherEvent, X as IRouter, Xt as RoutupResponse, Y as DispatcherEvent, Yt as RoutupRequest, Z as RouterOptions, Zt as ErrorSymbol, _ as getRequestAcceptableContentTypes, _t as isHandlerOptions, a as RequestIpOptions, at as Plugin, b as toResponse, bt as fromWebHandler, c as getRequestHostName, ct as PluginNotInstalledError, d as getRequestAcceptableLanguages, dt as isPluginError, en as HeaderName, et as RouterPipelineContext, f as getRequestAcceptableEncoding, ft as PluginError, g as getRequestAcceptableContentType, gt as isHandler, h as getRequestAcceptableCharsets, ht as matchHandlerMethod, i as useRequestNegotiator, it as isPlugin, j as sendCreated, jt as HandlerOptions, k as SendFileStats, kt as CoreHandlerOptions, l as matchRequestContentType, lt as PluginInstallError, m as getRequestAcceptableCharset, mt as buildHandlerPathMatcher, n as RequestProtocolOptions, nt as StackHandlerEntry, o as getRequestIP, ot as PluginInstallContext, p as getRequestAcceptableEncodings, pt as PluginErrorCode, q as createError, qt as IRoutupEvent, r as getRequestProtocol, rt as StackRouterEntry, s as RequestHostNameOptions, st as PluginInstallFn, t as normalizeRouterOptions, tn as MethodName, tt as StackEntry, u as getRequestAcceptableLanguage, ut as PluginAlreadyInstalledError, v as getRequestHeader, vt as isWebHandler, w as sendFormat, wt as fromNodeMiddleware, x as setResponseContentTypeByFileName, xt as WebHandler, y as isRequestCacheable, yt as isWebHandlerProvider, z as EventStreamHandle, zt as PathMatcher } from "./index-DdsCL8RI.mjs";
2
2
  import * as _$srvx from "srvx";
3
3
  import { ServerOptions } from "srvx";
4
4
  import * as _$srvx_service_worker0 from "srvx/service-worker";
@@ -1,4 +1,4 @@
1
- import { $ as setResponseHeaderAttachment, A as Handler, B as sendRedirect, C as fromWebHandler, D as fromNodeMiddleware, E as fromNodeHandler, F as HandlerSymbol, G as getRequestHeader, H as getRequestAcceptableContentType, I as HandlerType, J as sendAccepted, K as sendFile, L as DispatcherEvent, M as matchHandlerMethod, N as isPath, O as defineErrorHandler, P as PathMatcher, Q as setResponseHeaderContentType, R as RoutupEvent, S as isHandlerOptions, T as isWebHandlerProvider, U as getRequestAcceptableContentTypes, V as sendFormat, W as useRequestNegotiator, X as createError, Y as toResponse, Z as isError, _ as getRequestAcceptableEncodings, a as PluginInstallError, at as serializeEventStreamMessage, b as isRequestCacheable, c as isPluginError, ct as setResponseCacheHeaders, d as getRequestIP, et as setResponseHeaderInline, f as getRequestHostName, g as getRequestAcceptableEncoding, h as getRequestAcceptableLanguages, i as PluginNotInstalledError, it as createEventStream, j as buildHandlerPathMatcher, k as defineCoreHandler, l as PluginErrorCode, lt as HeaderName, m as getRequestAcceptableLanguage, n as normalizeRouterOptions, nt as appendResponseHeader, o as PluginAlreadyInstalledError, ot as ErrorSymbol, p as matchRequestContentType, q as sendCreated, r as isPlugin, rt as appendResponseHeaderDirective, s as PluginError, st as RoutupError, t as Router, tt as setResponseContentTypeByFileName, u as getRequestProtocol, ut as MethodName, v as getRequestAcceptableCharset, w as isWebHandler, x as isHandler, y as getRequestAcceptableCharsets, z as sendStream } from "./src-DFLGrih4.mjs";
1
+ import { $ as setResponseHeaderAttachment, A as Handler, B as sendRedirect, C as fromWebHandler, D as fromNodeMiddleware, E as fromNodeHandler, F as HandlerSymbol, G as getRequestHeader, H as getRequestAcceptableContentType, I as HandlerType, J as sendAccepted, K as sendFile, L as DispatcherEvent, M as matchHandlerMethod, N as isPath, O as defineErrorHandler, P as PathMatcher, Q as setResponseHeaderContentType, R as RoutupEvent, S as isHandlerOptions, T as isWebHandlerProvider, U as getRequestAcceptableContentTypes, V as sendFormat, W as useRequestNegotiator, X as createError, Y as toResponse, Z as isError, _ as getRequestAcceptableEncodings, a as PluginInstallError, at as serializeEventStreamMessage, b as isRequestCacheable, c as isPluginError, ct as setResponseCacheHeaders, d as getRequestIP, et as setResponseHeaderInline, f as getRequestHostName, g as getRequestAcceptableEncoding, h as getRequestAcceptableLanguages, i as PluginNotInstalledError, it as createEventStream, j as buildHandlerPathMatcher, k as defineCoreHandler, l as PluginErrorCode, lt as HeaderName, m as getRequestAcceptableLanguage, n as normalizeRouterOptions, nt as appendResponseHeader, o as PluginAlreadyInstalledError, ot as ErrorSymbol, p as matchRequestContentType, q as sendCreated, r as isPlugin, rt as appendResponseHeaderDirective, s as PluginError, st as RoutupError, t as Router, tt as setResponseContentTypeByFileName, u as getRequestProtocol, ut as MethodName, v as getRequestAcceptableCharset, w as isWebHandler, x as isHandler, y as getRequestAcceptableCharsets, z as sendStream } from "./src-DX0rndew.mjs";
2
2
  import { serve as serve$1 } from "srvx/service-worker";
3
3
  //#region src/_entries/service-worker.ts
4
4
  function serve(router, options) {